Logical name
The logical name convention demands that all logical names are unique throughout the software.
The same logical name should not be used for two different functions and layouts, even though the string might be the same in English.
For example, On and Off are always the same in English. In Italian, "On" can be translated as Attivo, Attiva, Attive, Attivi, Attivato, Attivata, Attivate, Attivati, or Si. Respectively, the same number of translation options is applicable for the term "Off" - the translation depends on the context.
If you have to make decisions about the length of resource strings, allow at least 30 percent headroom for translated text in general, but if the string is a single word, allow for at least 100 percent expansion in the translation whenever possible. This is all because the development language is English, which itself uses reasonably short words.
String
Avoid dynamic or run-time concatenation of different strings to form new compound strings (e.g., composing messages by combining frequently used strings).
Example:
qtn_common_new "new"
qtn_msg_message " message"
qtn_msg_received " received"
In Finnish, "new message received" can be translated to "uusi viesti saapunut", but if the string qtn_common_new was used for "3 new messages received," the translation would not work, as it should read "3 uutta viestiä saapunut," that is, two of the words are inflated. Note that if the same string "new" is used in the beginning of a concatenated text, lowercase would simply be wrong in the beginning of the UI text item displayed in languages that make a distinction in casing.
Style
Avoid using a style of text for a particular purpose to make a definite distinction. Most non-Latin-based writing systems do not make a distinction between upper- and lowercase, or the italics typeface may be missing.
Do not use folding to achieve a lowercase or uppercase effect; instead,
use TChar::UpperCase or TChar::LowerCase for this purpose. Folding
removes case distinctions, and also, by default, does many other things such
as removing accents and changing Hiragana to Katakana, which may not be desired.
Text localized to a non-English language (for example, German) can easily expand up to 100 percent. The general recommendation is to allow at least 30-50 percent for horizontal expansion and 10-20 percent for vertical expansion.