On 06/15/2010 08:53 PM, Ken Sharp wrote:
On 15/06/10 10:28, Michael Stefaniuc wrote:
That's just an artifact of how the translation statistics tool works. But Wine will use LANG_ENGLISH SUBLANG_DEFAULT if there is no SUBLANG_NEUTRAL translation. Duplicating unneeded resources makes them prone for bitrotting.
I was told that US English = Default and British English = Neutral, and that all the other English sublangs pick up Neutral except en_US.
So, are you saying what actually happens is that it first looks for NEUTRAL, and if it doesn't find that it looks for DEFAULT? And that NEUTRAL should be British English? If so, why is there a DEFAULT at all?
I was saying that LANG_ENGLISH SUBLANG_DEFAULT is special aka the ultimate fallback for *all* other languages. So if a resource isn't available in a language (neither in the country specific sublang nor in the neutral sublang) it will eventually fall back to LANG_ENGLISH SUBLANG_DEFAULT. That includes also the other English sublangs; thus there is no point in duplicating the LANG_ENGLISH SUBLANG_DEFAULT resources in LANG_ENGLISH SUBLANG_NEUTRAL as the result is the exact same, achieved with less code.
I wondered why there was also a ENGLISH_US in kernel32/nls.
The NLS files are not really a translation, they are the "localization" part even though they do contain some translations.
If it actually looks for NEUTRAL first it would save a lot of duplication and would make the translations easier.
Hope that makes sense.
Not really. Please have a look at http://wiki.winehq.org/SublangNeutral it describes how the fallback works in Windows. Why they did it that way you probably have to ask them; Wine just has to follow it.
bye michael