A couple of days ago, an
appTranslator user reported a confusing behaviour of appTranslator when importing a Spanish translation into his project. "
Does Spanish mean Traditional or International Spanish ?", he asked.
Do you speak Traditional or Modern Spanish ?Hey, all alive languages evolve. Evolution is an intrinsic property of life after all. It reminds me this
Petit Robert (famous french dictionary) radio commercial a couple of years ago : "
Does your dictionary know that bugs are no longer only bugs and mice are no longer only mice ?"
But I didn't know that Spanish (I mean Castillian) had evolved so much to create the need for two different
Language Identifiers : Traditional Spanish and Modern Spanish.
Well, these are not different languages. The only difference is their respective sorting rules (explained
here by DrIntl).
Huh! Why use different LANGIDs to denote alternate sorts ?Good question. There is a
field in LCIDs that is devoted to specifying preferred sorting rules. So there doesn't seem to be any reason to use different LANGIDs.
Raymond Chen would probably answer : "
Because we have yet to invent time machines". It seems that LANGIDs were created before LCIDs and the problem (i.e. to maintain different sorts for one language) showed up with Spanish for the first time. Later on, the MS engineers created the SortId field in LCIDs to avoid future occurences of this problem (Source :
MichKa).
OK. But why do I get Traditional Spanish when the 'Show countries' box is cleared ?When it prompts you for a language,
appTranslator offers to simplify the list by clearing this 'Show countries' checkbox. This way you don't get 16 Arabic variations, 20 Spanish variations,... You get only one occurence of each language. Fine. But as far as Spanish is concerned, which one do you get ? Traditional or International ?
To answer this, I need to clarify yet another naming issue : There are four namings use for Spanish spoken in Spain: Spanish (Castillian), Spanish (Traditional), Spanish (Modern) and Spanish (International). The formers are synonyms (Castillian and Traditional). So are the latters (Modern and International).
BTW, Catalan and Basque are not Spanish ! They have their own primary language identifier.
To come back to our question about appTranslator: Well, you get Spanish Castillian, aka Spanish Traditional. (I'll change the name to Traditional in the next release BTW). OK, but DrIntl just said that Spanish Modern/International is preferred to Traditional/Castillian. And you can check it in practice : In the
Regional and Languages Options Control Panel applet, select Spanish (Spain) and click
'Customize...'. In the last page (
Sorting), see that
International is selected by default.
Yes, but appTranslator assumes the
default langid for a language is MAKELANGID(PrimaryLangId, SUBLANG_DEFAULT), which in the case of Spanish yields Spanish Traditional.
Again, I can change this in future versions (for future users. I can't modify LANGIDs in existing projects data). I still have to check that there aren't major compatibility issues.
Anyway, if you want to have Spanish International in your appTranslator projects, just tick the Show countries box and choose... Spanish (Modern).
Why is my Spanish version info only partially imported ?When you import your existing Spanish version into the project and choose Spanish (Modern), you might run into this problem: The strings in the version info resources are not imported.
This issue is worth an entire post. Most of that post will probably be a rant about version info resources. Don't get me wrong, version info resources are a must-have. But the way they were implemented is just overkill and leads to outrageously complicated code, concerns and complicated design decisions. I'll even show you that Visual Studio's resource compiler has a bug that can lead to corrupted version info resources. Amazing for such an apparently simple resource, isn't it !
For now, just remember that I'll change the behaviour of appTranslator to address this (somewhat minor) issue.
QuizWho said
a mess ? Well, not me ! But to those who read up to here (Congrats !), do you remember why we have all these problems ?
A: Because Spaniards changed their mind over time and most of them no longer want their phone book to sort
ch between
c and
d (and
ll between
l and
m)...