Strings are stored by blocks of 16, so if others strings in the same block are defined for Russian the resource loader won't fall back to English even if individual strings are missing.
So, what is the right way to add new string? 1) Add to every resource Bg,Cs,Da etc... untranslated to be sure that string will be loaded. 2) Add to En and Ru only. Then check return value of LoadString and if zero do LoadStringEx(...LANG_ENGLISH/SUBLANG_NEUTRAL) 3) other way?
Thanks in advance
-- Kirill K. Smirnov
"Kirill K. Smirnov" lich@math.spbu.ru wrote:
Strings are stored by blocks of 16, so if others strings in the same block are defined for Russian the resource loader won't fall back to English even if individual strings are missing.
So, what is the right way to add new string?
- Add to every resource Bg,Cs,Da etc... untranslated to be sure that string
will be loaded. 2) Add to En and Ru only. Then check return value of LoadString and if zero do LoadStringEx(...LANG_ENGLISH/SUBLANG_NEUTRAL) 3) other way?
I'd say 1) since 2) is not really an option (you can't add fallbacks to all places which use LoadString).
"Kirill K. Smirnov" lich@math.spbu.ru writes:
So, what is the right way to add new string?
- Add to every resource Bg,Cs,Da etc... untranslated to be sure that string
will be loaded. 2) Add to En and Ru only. Then check return value of LoadString and if zero do LoadStringEx(...LANG_ENGLISH/SUBLANG_NEUTRAL) 3) other way?
If you are adding multiple strings then the easiest is to start a new block. Otherwise if it's a single string, or it logically belongs to an existing block, then yes you have to add it everywhere if you want a fallback.