- Separate language sets (limitlanguages=) as high as reasonable possible in the language file. Make an early split between frontend (website) and backend (interface) translation groups.
- Group related texts in such a way that if a page, widget or application is removed, you can simply remove a part of the tree without worrying about shared texts
- Keep filetype and application titles inside their group - do not use a global 'module' or 'filetypes' group
- In XML files, set a 'gid' as high as possible, avoid too many subgids. (Siteprofiles added full support for a toplevel gid= in WebHare 4.17)
- When in doubt, base your gid on the path of the current file (eg, use 'gid="tolliumapps.langedit" for mod::tollium/tolliumapps/langedit/langedit.xml)
- Use "~texts" (~ is short for tollium:tilde) for common texts such as 'add'.
- Avoid directly modifying language files. If you have to, rewrite them using the language file editor
When updating/restructuring language files, you can use the 'import missing from' feature in the language editor to quickly populate a new group if the untranslated texts are already somewhere else in the tree