On 15/06/10 20:26, Michael Stefaniuc wrote:
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.
OK, that makes sense. If no resources for that LANG/SUBLANG is available it falls back to LANG_ENGLISH SUBLANG_DEFAULT.. that's fine. And so it's safe to say that SUBLANG_DEFAULT is US English (the translation page says it is) and the other sublangs pick up SUBLANG_NEUTRAL (I don't know where this is defined but testing the patches agrees with what the translation stats page says).
So, the only time SUBLANG_NEUTRAL needs to be added is if the language varies from US English (such as colour, favour, minimise, etc.).
ENGLISH_CAN then picks up NEUTRAL but sometimes the language varies again, so that needs to be added to correct that.
Also, ENGLISH_PHILIPPINES always uses US English, so should pick up DEFAULT by default to reduce the amount of translation required (Bug 23124).
And of course if there are any other sublangs that differ from the NEUTRAL they should be added too (most follow the same rules so this will probably never be necessary).
This is how I originally did it but I got phased my the translation stats. I'll do a couple of small patches later to see if I can get it right this time!
I've got a couple of Welsh and Gaelic patches too, but they are very small.
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.
I read all that before but it didn't make any sense until now. Thanks for clarifying.
bye michael
So whoever accepts or rejects the patches, you may as well reject all of mine (if you haven't already). I'll send them again once I'm on the right track.
Thanks all.