I've just been doing some thinking about how my project will make the best use of localise.drupal.org etc in Drupal 7.
Up till now, it has been possible for Drupal site admins to choose the language code to represent a language on their system. This is a good thing, since the two-letter code that is mainly used is not enough to cover the approx 6000 languages in the world.
Typically in my project we will use the three letter code defined by ISO 639-3 (aka 'Ethnologue code', from the Ethnologue, an authoritative source on the languages of the world: http://www.ethnologue.org/codes/default.asp ). We will be hosting some of the first ever online material in a number of languages, so I expect we will also be making the first contributions to localise.drupal.org for those languages. However, we will also be making use of some more major languages and I plan for us to be contributing to localise.drupal.org what our localising staff provide in those languages too.
I'm thinking that I will automate, or semi-automate, the process of submitting to ldo the localisation strings that we have sourced. I assume therefore that I will need to make a mechanism for specifying which language on ldo the strings taken from a language on my site refer to (i.e. to map 'fas' on my site to 'fa' on ldo, and so on).
But where will the mechanism be for specifying the language relationship on the download client that we worked on at the sprint? What I'm saying is that if I create 'fas' on my site, I want to be able to tell the system to go and download strings from the 'fa' section on ldo. I don't recall that we planned to allow for that kind of mapping.
This is making me wonder whether it is time for Drupal to fix an authoritative list of language codes for all the languages of the world. The ISO 639-3 specification is an obvious candidate, but there may be others. In any case, if there was a system which covered all the languages that were needed, then there would be no need for any mapping between local and ldo language codes.
What do you think?