Lookup of localised language name by ISO 639 language code

Pander <[email protected]> Thu, 23 Apr 2009 17:39:37 +0200
Newsgroups gmane.comp.python.internationalization
Message-ID <[email protected]>
Hi all,

Does a module exist that can look up localised language names for ISO
639 language codes? If not, could one be constructed according to (sort
of) the following specifications?

1) Look up a localised language name for an ISO 639-1 language code for
a required parameter named code, providing the language code, and an
optional parameter named lang, providing the output language code, which
by default is set to 'en'. Example input and output would would be:

iso6391name(code='en') => 'English'
iso6391name(code='zu', lang='en') => 'Zulu'
iso6391name(code='zu', lang='nl') => 'Zoeloe'
iso6391name(code='nl', lang='en') => 'Dutch'

2) Reverse lookup of 1) from localised language to language code, e.g.:
iso6391code(name='English') => 'en'
iso6391code(name='Zulu', lang='en') => 'zu'
iso6391code(name='Zoeloe', lang='nl') => 'zu'
iso6391code(name='Dutch', lang='en') => 'nl'

3) Look up native language name for an ISO 639-1 language code for a
required parameter named code, providing the language code. Example
input and output would would be:

iso6391native(code='en') => 'English'
iso6391native(code='nl) => 'Nederlands'

4) Retrieving a tuple with all language codes. Example output would be:

iso6391codes() => ('aa', 'ab', ..., 'zu')

5) Retrieving a tuple with all localised language names for an optional
parameter named lang, providing the output language code, which by
default is set to 'en'. Example input and output would be:

iso6391names() => ('Afar', 'Abkhazian', ..., 'Zulu')
iso6391names(lang='nl') => ('Afar', 'Abchazisch', ..., 'Zoeloe')

6), 7), 8), 9), 10) Something similar for ISO 639-2 language codes

11), 12), 13), 14), 15) Something similar for ISO 639-2 language codes

sources:
http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
http://nl.wikipedia.org/wiki/Lijst_van_ISO_639-1-codes

I have a very simple implementation for English and Dutch but figured
that such a module should be available for all developers in all
languages. Hence this request to build something from scratch in the
Python localisation community.

Please reply to this list for constructive feedback.

Thanks,

Pander