>I am currently developping an application that should support multiple >languages and would like to submit some thoughts. > >I need the language to be selected by the user. So I wonder wether the >overlay manager supports that the language be input separately than the >locale returned by FtrGet sothat multiple languages be available on the >same device.
No, the Overlay Mgr always uses the current device locale. >Also, would the PalmOSGlue lib allow this to be backward >compatible up to OS3.0? No, the Overlay Mgr is only available on versions of Palm OS >= 3.5. There are two common techniques used to solve your problem. The first is to mimic the Overlay Mgr functionality. You'd create separate PRCs, one for each target language, and have all of your localizable resource data live in these PRCs. Then at launch time your app would open up the appropriate PRC based on the user's language selection. The second approach is to segment resources by ID ranges. For example, all of the French data would be in the range 3000...3999. Then you use helper routines or macros to adjust the base resource ID (e.g. 1000) by some offset that's calculated based on the user's language selection. The second approach avoids the problem of users needing to install multiple PRCs (and associated issues with beaming on pre-4.0 devices). On the other hand, your code will need to deal with resource ID remapping for form elements, which can get messy. >My resources consist in strings, int, float and date types combined in >C structs. Do i need to create a custom resource type to read it from >memory, or should I rely on existing types (eg tSTR)? You should use the existing resource types. This allows the data to be localized by others using Constructor or other resource editing tools. >As I assume I only >will have to localize the strings another question is: can a single >resource be read partly from the base database (say the int, float, etc) >and partly from an overlay database (the strings) No. >or do I need to read >them separately and combine them in a single C struct? You should read them separately and combine them at run-time. >I recently bought a Palm Vx in the US. It has OS3.5, but doesn't appear >to have its basic applications localized. A hard reset doesn't allow to >choose from different user languages. Is there any particular >interaction between the localization feature and the place of sail? Yes. AFAIK, the multi-lingual (EFIGS) ROM is only shipped with devices sold in Europe. >Finally, would the pilrc & prc2ovl applications allow to build such a >PDB resource file, or what other application do you recommend? PRC2OVL is only useful for overlays, which don't seem to be a viable solution to your problem. PilRC or PalmRez can both be used to compile your resource data. Or you could try out Multilizer as a localization tool. -- Ken Ken Krugler TransPac Software, Inc. <http://www.transpac.com> +1 530-470-9200 -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
