>Im trying to get to grips with overlays. >Unfortunatly the ROMs web page is down so I cannot download european roms at >the moment to test what I am doing. > >What I dont understand is how to get the languages into the overlay PRC. > >I have just created a French overlay (frFR), which has all my english text >in. Am I supposed to manually edit this PRC file with the french, or am i >missing something here ?
There are three ways that I know of for 3rd parties to create localized overlays (internally Palm uses a special MPW tool to help automate the process): 1. You create the French (frFR) overlay from your English PRC, using PRC2OVL, then edit that overlay using Constructor. This is what you're describing above. It works, but whenever you change the structure of resource data (e.g. add a new button to a form) you'll have to repeat the process, which wastes a lot of time. 2. You can use Multilizer (http://www.multilizer.com) to build overlays for an English PRC, using its translation memory. You'll still need to touch up the UI layout (buttons widths, label placement, etc) but it's much easier to re-use previous translations for when the English PRC changes. 3. You have separate resource data (English & French) as part of your project (there are several ways to structure this - search the archives). It's up to you to make sure these two sets of data are in sync. You then build two versions of your PRC, one for English and one for French. You use PRC2OVL to create a French overlay from the French PRC. Finally, you use PRC2OVL's special -p (Patch Overlay) command to update the overlay resource in the French overlay with data from the English PRC. This last step is required because the overlay resource inside of the overlay PRC must match the resource data in the base PRC, which I'm assuming is English. Note that this process is described in the Development Tools Guide.pdf document. It would be nice if PalmRez could automate this option #3, but it doesn't, so you're currently stuck with manual munging of PRCs using PRC2OVL. BTW, regarding Aaron's previous comment about "overlays suck". Yes, they were designed for building multi-lingual ROMs (actually they were designed to speed up Palm's internal localization process, but wound up being used for EFIGS ROMs). So they have a number of limitations, the main one being that they only get opened automatically for you if the overlay's locale matches that of the device's current locale. But you can of course open any overlay yourself when the app starts up. You'd have to build your own UI for letting the user select the desired app language, based on the set of installed overlays. You'd also want to check that the overlay wasn't automatically opened, for the case where the user's selected UI language matches the device's current locale. Finally, it's up to you to ensure that the overlay data is in sync with the base app data (e.g. make sure the PRC header version numbers match). In the above scenario, you're not using any information found in the overlay resource, so the build process would be simplified if you directly created PRCs that contained localized resource data, and skipped the manual PRC2OVL process. Just make sure you don't use the 'ovly' type for these PRCs, as otherwise the OS will be very confused. This topic has come up a few times in the past - maybe I should add a KB entry. Or even write some code to implement an application language picker UI :) -- 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/support/forums/
