diff options
| author | hallgren <hallgren@chalmers.se> | 2014-02-19 14:15:14 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2014-02-19 14:15:14 +0000 |
| commit | 62dcb1e14a791f1d7fa45693ab8feda4dd73cb07 (patch) | |
| tree | 2c9ff0183e9ab443642fbdb2d59f53afc747e95e /src/www/js/langcode.js | |
| parent | 1ec7065fb319314f183fb6bb244aacab1c0a67cd (diff) | |
src/www/js/langcode.js: functions for converting language codes
factored out from src/www/translator/translator.js
Diffstat (limited to 'src/www/js/langcode.js')
| -rw-r--r-- | src/www/js/langcode.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/www/js/langcode.js b/src/www/js/langcode.js new file mode 100644 index 000000000..5a41a59d3 --- /dev/null +++ b/src/www/js/langcode.js @@ -0,0 +1,27 @@ +// Language names and ISO-639 codes (both 3-letter and 2-letter codes) +// See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes + +function lang1(namecode2) { + function lang(code,name,code2) {return {code:code, name:name, code2:code2}} + var nc=namecode2.split(":") + var name=nc[0] + var ws=name.split("/") + var code2=nc.length>1 ? nc[1] : "" + return ws.length==1 ? lang(name.substr(0,3),name,code2) + : lang(ws[0],ws[1],code2) +} + +var languages = // [ISO-639-2 code "/"] language name ":" ISO 639-1 code + map(lang1,"Amharic:am Arabic:ar Bulgarian:bg Catalan:ca Chinese:zh Danish:da Dutch:nl English:en Finnish:fi French:fr German:de Greek:el Hindi:hi Ina/Interlingua:ia Italian:it Jpn/Japanese:ja Latin:la Norwegian:nb Polish:pl Ron/Romanian:ro Russian:ru Spanish:es Swedish:sv Thai:th Turkish:tr Urdu:ur".split(" ")) + +var langname={} +var langcode2={} +var langcode3={} +for(var i in languages) { + langname[languages[i].code]=languages[i].name + langcode2[languages[i].code]=languages[i].code2 + langcode3[languages[i].code2]=languages[i].code +} + +function concname(code) { return langname[code] || code; } +function alangcode(code) { return langcode2[code] || code; } |
