/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Internationalt!
Fra : Kasper \(TSW\)


Dato : 12-07-01 16:15

Hej alle...

Hvad er i grunden den bedste måde at gøre et stort program "internationalt"
på? Altså sådan så et program kan oversættes af andre, fx ved hjælp af en
fil med al tekst, der så kan oversættes fra engelsk til svensk, norsk osv?
Jeg har jo allerede lavet programmet (på dansk), men kunne godt tænke mig at
lave en international version. Hvordan gør man det smartest? Der er jo tale
om _virkelig_ mange strings, så noget med at gå ind og lave en variabel til
dem alle, og så udskrive dem i labels osv. i runtime er lidt noget rod! Kan
det gøres smartere?

Håber jeg har gjort mig nogenlunde forståelig, ellers må i lige råbe højt


--
Med Venlig Hilsen

Kasper (TSW)

www.tsw.dk - The SoftWare You Need!
www.udvikleren.dk - What Developers Need!



 
 
Niels (12-07-2001)
Kommentar
Fra : Niels


Dato : 12-07-01 16:27

Just as I expected, Kasper (TSW) came up with this:

>Hvad er i grunden den bedste måde at gøre et stort program "internationalt"
>på?

Det har du spurgt om før (ca. et år siden eller sådan?)...

>Altså sådan så et program kan oversættes af andre, fx ved hjælp af en
>fil med al tekst, der så kan oversættes fra engelsk til svensk, norsk osv?

Ja, f.eks.

>Jeg har jo allerede lavet programmet (på dansk), men kunne godt tænke mig at
>lave en international version. Hvordan gør man det smartest?

Jeg vil sige tre muligheder:

1. En tekstfil med alle strings
2. En resource-DLL hvor strings bliver loadet fra
3. Lave alle strings til resourcer i EXE filen og så ændre dem

>Der er jo tale
>om _virkelig_ mange strings, så noget med at gå ind og lave en variabel til
>dem alle, og så udskrive dem i labels osv. i runtime er lidt noget rod! Kan
>det gøres smartere?

Jeg vil mene du skal lave en standard-funktion der, med en parameter,
finder den rigtige string og returnerer den. Når du craeter en form må
du så loade alle statiske tekster ind, og hver gang du skal bruge en
string et andet sted loader du også den.
Den smarteste måde at identificere teksterne på er nok en lang række
konstanter, en for hver string. Og tag endelig et rigtig stort kig på
Format() funktionen!! Den er virkelig en hjælp til sådan nogen ting.

Niels
--
http://www.niller.f2s.com/ - niLLer's pages, that's my software
http://g4s.dnsq.org/ - when I'm online
g4s ad post dot ocm - new email! (note: it's .com !)
ICQ#: 50187323

Kasper \(TSW\) (12-07-2001)
Kommentar
Fra : Kasper \(TSW\)


Dato : 12-07-01 16:51

>>Hvad er i grunden den bedste måde at gøre et stort program
"internationalt" på?
>Det har du spurgt om før (ca. et år siden eller sådan?)...

Njarh, det var vist ikke helt det samme, så vidt jeg husker

>Jeg vil sige tre muligheder:

Hmmm, det må jo umiddelbart være nemmest (for alle parter) med en txt fil,
men hvordan er det rent performance mæssigt, i forhold til de andre
muligheder?

>Jeg vil mene du skal lave en standard-funktion der, med en parameter,
finder den rigtige string og returnerer den.

Hmmm hvordan skulle det fungere? Der bliver jo som sagt virkelig mange
strings! Det er jo ikke det store problem at hente en bestemt string, og
smide den ned i en bestemt label, men det er jo ekstremt omfattende!

>Den smarteste måde at identificere teksterne på er nok en lang række
konstanter, en for hver string.

Jeps, tror jeg også!

>Og tag endelig et rigtig stort kig på Format() funktionen!! Den er virkelig
en hjælp til sådan nogen ting.

Ok tjekker den.

Er der nogen andre der har forslag?

--
Med Venlig Hilsen

Kasper (TSW)

www.tsw.dk - The SoftWare You Need!
www.udvikleren.dk - What Developers Need!



FA (13-07-2001)
Kommentar
Fra : FA


Dato : 13-07-01 08:36

> Hmmm, det ma jo umiddelbart vare nemmest (for alle parter) med en txt fil,
> men hvordan er det rent performance massigt, i forhold til de andre
> muligheder?
Det virker da fint. Nar programmet loader henter du filen. Sa er
linie1=lblInkaEventyretsLand.Caption osv.

> Hmmm hvordan skulle det fungere? Der bliver jo som sagt virkelig mange
> strings! Det er jo ikke det store problem at hente en bestemt string, og
> smide den ned i en bestemt label, men det er jo ekstremt omfattende!
Jeps, men mit bud er at sadan gor de andre ogsa. Det tager noget tid at
lave, men det er jo programmering:)





Christian Iversen (13-07-2001)
Kommentar
Fra : Christian Iversen


Dato : 13-07-01 15:44

> Jeps, tror jeg også!
>
> >Og tag endelig et rigtig stort kig på Format() funktionen!! Den er
virkelig
> en hjælp til sådan nogen ting.
>
> Ok tjekker den.
>
> Er der nogen andre der har forslag?


Ja, du kunne ved opstart gennemgå alle komponenter (med tag = 1),
og slå deres navn op i en tabel. Denne tabel skulle så indeholde
alle lokaliserede strings. Enkelt, simpelt og hurtigt!

--
Regards, Christian Iversen [FIDUSO]
Flawless.Dk: [http://www.flawless.dk]
Do you have a (broken?) IBM75GXP Drive?
Please go to [http://ibm.flawless.dk]



R. A. Larsen (13-07-2001)
Kommentar
Fra : R. A. Larsen


Dato : 13-07-01 08:21

"Kasper \(TSW\)" <kasper@tsw.dk> wrote:
>
> >>Hvad er i grunden den bedste måde at gøre et stort program
> "internationalt" på?
>
[stort klip]
>
> Er der nogen andre der har forslag?

Lave filen med teksterne ligesom en INI-fil? Så er det både nemt at indlæse og
nemt for andre at lave en eventuelt oversættelse. F.eks.

[Form1]
Komponentnavn1.Caption=tekst
Komponentnavn2.Text=tekst

Det største problem er nok, at teksterne kan blive både længere og kortere ved
at blive oversat til et andet sprog.

MVH, René
--
Using Virtual Access
http://www.vamail.com


Michael Rasmussen (13-07-2001)
Kommentar
Fra : Michael Rasmussen


Dato : 13-07-01 12:54

I artikel <VA.00000101.0003181b@r_larsen>, skrev "Unknown"
<r_larsen@image.dk>:


> "Kasper \(TSW\)" <kasper@tsw.dk> wrote:
>>
>> >>Hvad er i grunden den bedste måde at gøre et stort program
>> "internationalt" på?
>>
> [stort klip]
>> Er der nogen andre der har forslag?
> Lave filen med teksterne ligesom en INI-fil? Så er det både nemt at
> indlæse og nemt for andre at lave en eventuelt oversættelse. F.eks.
> [Form1]
> Komponentnavn1.Caption=tekst
> Komponentnavn2.Text=tekst
> Det største problem er nok, at teksterne kan blive både længere og
> kortere ved at blive oversat til et andet sprog.
> MVH, René

Det er da uden betydning, rent programmeringsmæssigt, hvis man benytter
nul-terminerede strenge.


--
Hilsen/Sincerely

Michael Rasmussen

Uffe Kousgaard (13-07-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 13-07-01 13:33

> > Det største problem er nok, at teksterne kan blive både længere og
> > kortere ved at blive oversat til et andet sprog.
> > MVH, René
>
> Det er da uden betydning, rent programmeringsmæssigt, hvis man benytter
> nul-terminerede strenge.
>
Det gik vist også mere på bredde af labels m.v.

Hilsen
Uffe




R. A. Larsen (13-07-2001)
Kommentar
Fra : R. A. Larsen


Dato : 13-07-01 21:20

"Uffe Kousgaard" <uffe@routeware.dk> wrote:
>
> Det gik vist også mere på bredde af labels m.v.
>
> Hilsen
> Uffe

Netop.

MVH, René
--
Using Virtual Access
http://www.vamail.com


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste