Forum .LRN Q&A: Re: Translating dotLRN on my own machine, synching with main tree.

Roberto,
directly from my memory - here is how it works. When you translate in the translation UI (or in translator mode) the new message is inserted to the database (lang_messages) and the cache is updated. The lookup procedure (lang::message::lookup or _ for short) only ever accesses the cache (you can update the whole cache manually with lang::message::cache but this shouldn't ever be necessary).

New messages aren't written automatically to the catalog files. As pointed out in this thread you currently need to do that package by package with a link called something like "export messages to file". Clearly what we need here is the ability to export all messages in the db to the catalog files. I have a page on the translation server that does that and all the page contains is:

foreach package_key [apm_enabled_packages] {
        lang::catalog::export_package_to_files $package_key
}
lang::message::cache

The only doc we have so far is i18n.xml in acs-core-docs and that document is not exactly complete. Converting adp:s to using the message catalog is fairly well documented inline in the APM UI though.