Re: Multilangual : how to?
From: Don Quijote de Nicaragua (BORRAESTOeldersoto_at_hotmail.com)
Date: 04/12/04
- Next message: Galen Somerville: "Re: Multilangual : how to?"
- Previous message: YYZ: "Re: VB6 and global variables"
- In reply to: Saga: "Re: Multilangual : how to?"
- Next in thread: Galen Somerville: "Re: Multilangual : how to?"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 12 Apr 2004 14:24:20 +0200
"Saga" <antiSpam@somewhere.com> escribió en el mensaje
news:uDq1F6LIEHA.3240@TK2MSFTNGP12.phx.gbl...
> Ouch!
>
> Then if I have 800 different messages, I have to define
> a constant for each one?
>
> What sort of overhead do resource files impose?
>
> For example, I have an Italian and English application.
> When I load each form, I have to check which language
> it should load, load it and then get the messages into
> the corresponding menu items, label, texts or whatever.
> Perhaps I could load them when the program starts and
> let the user stare at a splash screen while they all load, but
> I am not sure this is the best way to do it.
>
> I could also use a database and have a language table,
> but I still need to determine, load and then assign the
> messages. Would it be better/worse if I used a db instead?
>
> How about maintenance? If I misspell a word, or need to
> add a new message, do I need to recompile and distribute
> the application? Using a database does avoid having to
> recompile, but the matter of distribution is still an issue.
>
> Another idea would be to wrap a collection of messages
> around a class, then instantiate the right class for the selected
> language. I have to guess that that would be faster than
> going to a database, but it still leaves the problem of distribution,
> not to mention that the class would have to be recompiled,
> but if implemented as a DLL, at least it wouldn't involve
> recompiling the entire app.
>
> It seems that the issue, no matter what method is used,
> (even the textfile method) is the DLA factor (determine,
> load & assign). I guess it is just seeing which is better
> or more convenient.
>
> I know that resource files are the most applicable way
> of going multilingual, but I keep wondering if they are the best.
>
> Saga
> "Vikram Lele" <viklele@yahoo.com> wrote in message
> news:667002dd.0404120918.3d912b16@posting.google.com...
> > Instead of keeping the messages in the textfile, you can keep them in
> > the resource strings. You can add resource strings to your application
> > using "Resource Editor" add-in available under Tools menu in VB.
> >
> > You can separate equivalent messages of different languages by fixed
> > offsets. For example, if MSG1 in english is assigned resource ID 1000,
> > the corresponding french message could be at resource ID 2000, and
> > german message at resource ID 3000.
> >
> > In your application you should define constant for each messageID. For
> > example
> >
> > Public Const RES_MSG1 = 0
> > Public Const RES_MSG2 = 1
> >
> > etc...
> >
> > In your application, you can have a globally accessible variable which
> > sets the base offset (lets call this RES_BASE), and when you need to
> > read a message, you can use LoadResString call to load particular
> > message.
> >
> > for example, when your application is starting up for english, you
> > will set RES_BASE = 1000, and to load string corresponding to MSG1,
> > you will use the call LoadResString(RES_BASE + RES_MSG1).
> >
> > When your application starts up for french, you will set
> > RES_BASE=2000, but the rest of your application will not need to
> > change atall.
> >
> > One of our products, VLMenuPlus, a drop-in VB menu enhancer provides
> > multi-lingual menu support. We use a very similar scheme in there.
> >
> > HTH,
> >
> > Regards,
> > Vikram
> > ______________________________________
> > Components For Your Software Solutions
> > http://www.viklele.com
> >
> > "JohnK" <johnk@noreply.net> wrote in message
> news:<407aa73a$0$125$3a628fcd@reader3.nntp.hccnet.nl>...
> > > Hi,
> > >
> > > Is there a way to make an application multilangual? Until now I used a
> > > textfile with messages like: "M123=<text>" and than a textfile for
every
> > > language. I presume there is another way to accomplish this, i.e. by
> using a
> > > dll. I don't want the user to see textfiles and I want to manage the
> texts
> > > in an easy way.
> > > Now the app is reading the textfile completely when starting, but I
only
> > > want the messages (texts) when neede (=asked for). So I just want to
> create
> > > somethinmg like a language pack, but the app must remain the same all
> the
> > > time. (ofcourse after getting rid of the txt files)
> > > I hope somebody out ther has a solution and please an example.
> > >
> > > Thanks
> > > John
> > >
> > >
> > >
> > > ---
> > > Outgoing mail is certified Virus Free.
> > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > Version: 6.0.645 / Virus Database: 413 - Release Date: 28-3-2004
>
>
begin 666 Multi Idioma.rar
M4F%R(1H'`,^0<P``#0`````````BYG3@D#$````````````"`````/QRC# 4
M, P`$ ```$UU;'1I($ED:6]M80#PA-<78N=T() [`+("``#_!P```H.G+"G\
M<HPP'3,6`" ```!-=6QT:2!)9&EO;6%<1F]R;3$N9G)M`/!HB0D,&1#,S/T8
M$7O0+X.0^,D%%823CGXH$ C;CDK GY$4KO2 I(U,B)(H%%207V.](+X#0$HX
M(DFBBFTB[4ZA1>KX)-'<W-.9I.^.;F:M_96Z/B- S<S>.C3VRX^Q?)U=(+]U
M13W^[")L;P,N&[RD*Z"CPJ"10>IB"^89)*C7%G]<$XT(L!#$X\T0Z$;EUDCM
MRD<X,3QOF(;>8T25X>&^E$YQ?8U9>5WDX?:1]*D[]Z./J-HV:*[V^LIGKGT<
M=YY<;*>X(0*=H79"X*O:D>$1*SG7.ES!*;Z/]9(!H87/49M2O>:)XP`Y)R P
MN&0,K<0H71 1YTN$_Y*NU4?@OW]4:MD1MN\"D2[0L9)L1>4<5Q*FQ93B2<CM
M:_>JK=6^.I%Z,,)C'51_B;%MP4%2!L>!=(>Y$]BK)L;Z0%BK5;RRB0-BLK)Q
M[!;7MY,A8KGAWZMCXYG;9@XX'P^9'+9A=(C_]CY;=]-E8N>4+D(HL_%4_,':
M61_]VLU>ZFTZ!/0@=]?K*3P$)HA:FKLFHJ#W/[EN(12AM"RD+:%.!@H[0H0"
MD3H\8#&D5B$PCE[NZ:.YW%7A3K1.9PC 7* 5WPLT".7VT OV#8BB"8+#FQC]
M<0T)EP)_61HX6FSNL#C\GR2W:K)-J@_FB D:>''1F. N?,H"RS-G'_,70\,,
M`)> Z B@F9E5V0L?@[6C;_+R":"&3I_IF_,+WWE2>5\)*(]Q^/MCT@ET5&DN
M,$S\HCE+,^;$R!3U0;HWC_ST`MZ$FT:0G3YKB'E/5Y).!B),M/^\=%8)<<_M
M&\Y/D/P"?07T")=:^X^>IGOV]Q%CDI>?5513Y Q4U7(T.=,(-NJ/N(MQ06?P
M<TXGMF<+1?6L.TC=2;TT5/HM=U<>IKI0A:[-!ZY[M2JU37PG=KED<E+>0M$U
M/0NWDWDT;^D4LW0@D#P`= ```.@````"EOTX.UM)<S =,Q<`( ```$UU;'1I
M($ED:6]M85QI9&EO;6$N4D53`/ .)P<)5-$)/A$FC'+%,S@[Q12]+K<#.!*-
MZ$$5%%[[>!=6HBA-5@YP:!4/T2$Y?\\?*\$K5"JX$"I3S6NB5-"?R][39/0?
MWX%(Q#!>%#Z-"=PM/^8B"T8$60JCMNIWO/9Q6,CEOQCX7Z)U<VRPCQ>?K1D]
M4C_7Y,^Q=""0/@"7````P@````)HKD$Z]$AS,!TS&0`!````375L=&D@261I
M;VUA7$U34T-#4%)*+E-#0P#P#B<'"!40T+V4$3>@\'G L!WL03-Z(+KP3",8
MK,,EW"?".=[1U*W D8#J>#6584%>/<CJ@\%::/<2NW6V\,^:<GW]5O-/D&>,
M7)49(\J0$'#B;FO%1'NV^WDI,!T6=N+:[7SKP\W[$,4>% -K30<!]40D0[^D
MKG7'O(-!8/I_)0,IC89%,BK#I+P2]\\K,>]*9.863]]6:I ^$.X/=""0/P"\
M`0``K0(```)?YOVT_'*,,!TS&@`@````375L=&D@261I;VUA7%!R;WEE8W1O
M,2YV8G `\':P$ W9$,S,_1P1>] O@[#?&R@5!1N"\WPE3:M0%::$2KO"N\"F
MM49E2)0**<;M%]WH#D;D12ATIV2WPE! Y]IT[AQ+Q[ -_D'<PYH_9@^\,BW4
M!CR[0]?J=.B?&/KG:EWO']02@@#:J^]NGX_IOB86^C$W[F]^X3G]T]]T>_]X
M,+3>#BM-:?]\^KS[\6F'=2D)\6'3X4AY@4E,T>#/\\M[IJ2><B2G,.8I=+7B
MBX[Y9"K,UU98;];O:J]8WK['!884D0FJCT!\@FH&SWEH<5K@-)BPL2^2=9GF
M<BGEO7.Y:=M2]DKANZQ0MD1J_F/(%P\Q.RQO0",?.O64V^;%T["TK<^2A?SQ
MM2/)P+$N0X?"V<:&U^A54BVJ1*NH-XS!-NN;4+D7++45D$C\0.UGH\;.7\_\
M-TFRP^!>++5/`@_L3/S"97;<M!0[<@1U==I4IQ(^?IF+Y76[]8I^!ZC24N:P
MU?AG*6W\LQ^WS [-`=2D^B\CVCS1]#(&V$CL#.J&?616RG;"D!J70[P6#7:X
MM: ));:C/'V6$)W_,3:_;S&L4MU6D93Q?MFAO1((:DBCK[.]=&_O=*5_QG<I
MUCOW\<"Z=""0/P`T````- ````(<&692_7*,,!TP&@`@````375L=&D@261I
M;VUA7%!R;WEE8W1O,2YV8G<`L#B<'$9O<FTQ(#T@,34T+" Q-30L(#0U-BP@
D-3 P+"!:+" R,BP@,C(L(#0P-RP@,S8X+"!##0K$/7L`0 <`
`
end
- Next message: Galen Somerville: "Re: Multilangual : how to?"
- Previous message: YYZ: "Re: VB6 and global variables"
- In reply to: Saga: "Re: Multilangual : how to?"
- Next in thread: Galen Somerville: "Re: Multilangual : how to?"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|