UNPKG

languages

Version:

A basic and lightweight replacement for Globalize. Store ISO 639-1 language database in a JSON object, accesible as node module or by browser javascript interpret. No dependencies.

254 lines (244 loc) 9.12 kB
/* * Copyright 2012 * Iván Eixarch <ivan@sinanimodelucro.org> * https://github.com/joker-x/languages.js * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ ;(function(exports){ /* PRIVATE */ //embed object json //no accesible directly, you must use isValid, getAllLanguageCode or getLanguageInfo var langs = { "attribute": {"name":0, "nativeName":1}, "rtl": {"ar":1,"dv":1,"fa":1,"ha":1,"he":1,"ks":1,"ku":1,"ps":1,"ur":1,"yi":1}, "lang": { "aa":["Afar","Afar"], "ab":["Abkhazian","Аҧсуа"], "af":["Afrikaans","Afrikaans"], "ak":["Akan","Akana"], "am":["Amharic","አማርኛ"], "an":["Aragonese","Aragonés"], "ar":["Arabic","العربية"], "as":["Assamese","অসমীয়া"], "av":["Avar","Авар"], "ay":["Aymara","Aymar"], "az":["Azerbaijani","Azərbaycanca / آذربايجان"], "ba":["Bashkir","Башҡорт"], "be":["Belarusian","Беларуская"], "bg":["Bulgarian","Български"], "bh":["Bihari","भोजपुरी"], "bi":["Bislama","Bislama"], "bm":["Bambara","Bamanankan"], "bn":["Bengali","বাংলা"], "bo":["Tibetan","བོད་ཡིག / Bod skad"], "br":["Breton","Brezhoneg"], "bs":["Bosnian","Bosanski"], "ca":["Catalan","Català"], "ce":["Chechen","Нохчийн"], "ch":["Chamorro","Chamoru"], "co":["Corsican","Corsu"], "cr":["Cree","Nehiyaw"], "cs":["Czech","Česky"], "cu":["Old Church Slavonic / Old Bulgarian","словѣньскъ / slověnĭskŭ"], "cv":["Chuvash","Чăваш"], "cy":["Welsh","Cymraeg"], "da":["Danish","Dansk"], "de":["German","Deutsch"], "dv":["Divehi","ދިވެހިބަސް"], "dz":["Dzongkha","ཇོང་ཁ"], "ee":["Ewe","Ɛʋɛ"], "el":["Greek","Ελληνικά"], "en":["English","English"], "eo":["Esperanto","Esperanto"], "es":["Spanish","Español"], "et":["Estonian","Eesti"], "eu":["Basque","Euskara"], "fa":["Persian","فارسی"], "ff":["Peul","Fulfulde"], "fi":["Finnish","Suomi"], "fj":["Fijian","Na Vosa Vakaviti"], "fo":["Faroese","Føroyskt"], "fr":["French","Français"], "fy":["West Frisian","Frysk"], "ga":["Irish","Gaeilge"], "gd":["Scottish Gaelic","Gàidhlig"], "gl":["Galician","Galego"], "gn":["Guarani","Avañe'ẽ"], "gu":["Gujarati","ગુજરાતી"], "gv":["Manx","Gaelg"], "ha":["Hausa","هَوُسَ"], "he":["Hebrew","עברית"], "hi":["Hindi","हिन्दी"], "ho":["Hiri Motu","Hiri Motu"], "hr":["Croatian","Hrvatski"], "ht":["Haitian","Krèyol ayisyen"], "hu":["Hungarian","Magyar"], "hy":["Armenian","Հայերեն"], "hz":["Herero","Otsiherero"], "ia":["Interlingua","Interlingua"], "id":["Indonesian","Bahasa Indonesia"], "ie":["Interlingue","Interlingue"], "ig":["Igbo","Igbo"], "ii":["Sichuan Yi","ꆇꉙ / 四川彝语"], "ik":["Inupiak","Iñupiak"], "io":["Ido","Ido"], "is":["Icelandic","Íslenska"], "it":["Italian","Italiano"], "iu":["Inuktitut","ᐃᓄᒃᑎᑐᑦ"], "ja":["Japanese","日本語"], "jv":["Javanese","Basa Jawa"], "ka":["Georgian","ქართული"], "kg":["Kongo","KiKongo"], "ki":["Kikuyu","Gĩkũyũ"], "kj":["Kuanyama","Kuanyama"], "kk":["Kazakh","Қазақша"], "kl":["Greenlandic","Kalaallisut"], "km":["Cambodian","ភាសាខ្មែរ"], "kn":["Kannada","ಕನ್ನಡ"], "ko":["Korean","한국어"], "kr":["Kanuri","Kanuri"], "ks":["Kashmiri","कश्मीरी / كشميري"], "ku":["Kurdish","Kurdî / كوردی"], "kv":["Komi","Коми"], "kw":["Cornish","Kernewek"], "ky":["Kirghiz","Kırgızca / Кыргызча"], "la":["Latin","Latina"], "lb":["Luxembourgish","Lëtzebuergesch"], "lg":["Ganda","Luganda"], "li":["Limburgian","Limburgs"], "ln":["Lingala","Lingála"], "lo":["Laotian","ລາວ / Pha xa lao"], "lt":["Lithuanian","Lietuvių"], "lv":["Latvian","Latviešu"], "mg":["Malagasy","Malagasy"], "mh":["Marshallese","Kajin Majel / Ebon"], "mi":["Maori","Māori"], "mk":["Macedonian","Македонски"], "ml":["Malayalam","മലയാളം"], "mn":["Mongolian","Монгол"], "mo":["Moldovan","Moldovenească"], "mr":["Marathi","मराठी"], "ms":["Malay","Bahasa Melayu"], "mt":["Maltese","bil-Malti"], "my":["Burmese","Myanmasa"], "na":["Nauruan","Dorerin Naoero"], "nd":["North Ndebele","Sindebele"], "ne":["Nepali","नेपाली"], "ng":["Ndonga","Oshiwambo"], "nl":["Dutch","Nederlands"], "nn":["Norwegian Nynorsk","Norsk (nynorsk)"], "no":["Norwegian","Norsk (bokmål / riksmål)"], "nr":["South Ndebele","isiNdebele"], "nv":["Navajo","Diné bizaad"], "ny":["Chichewa","Chi-Chewa"], "oc":["Occitan","Occitan"], "oj":["Ojibwa","ᐊᓂᔑᓈᐯᒧᐎᓐ / Anishinaabemowin"], "om":["Oromo","Oromoo"], "or":["Oriya","ଓଡ଼ିଆ"], "os":["Ossetian / Ossetic","Иронау"], "pa":["Panjabi / Punjabi","ਪੰਜਾਬੀ / पंजाबी / پنجابي"], "pi":["Pali","Pāli / पाऴि"], "pl":["Polish","Polski"], "ps":["Pashto","پښتو"], "pt":["Portuguese","Português"], "qu":["Quechua","Runa Simi"], "rm":["Raeto Romance","Rumantsch"], "rn":["Kirundi","Kirundi"], "ro":["Romanian","Română"], "ru":["Russian","Русский"], "rw":["Rwandi","Kinyarwandi"], "sa":["Sanskrit","संस्कृतम्"], "sc":["Sardinian","Sardu"], "sd":["Sindhi","सिनधि"], "se":["Northern Sami","Sámegiella"], "sg":["Sango","Sängö"], "sh":["Serbo-Croatian","Srpskohrvatski / Српскохрватски"], "si":["Sinhalese","සිංහල"], "sk":["Slovak","Slovenčina"], "sl":["Slovenian","Slovenščina"], "sm":["Samoan","Gagana Samoa"], "sn":["Shona","chiShona"], "so":["Somalia","Soomaaliga"], "sq":["Albanian","Shqip"], "sr":["Serbian","Српски"], "ss":["Swati","SiSwati"], "st":["Southern Sotho","Sesotho"], "su":["Sundanese","Basa Sunda"], "sv":["Swedish","Svenska"], "sw":["Swahili","Kiswahili"], "ta":["Tamil","தமிழ்"], "te":["Telugu","తెలుగు"], "tg":["Tajik","Тоҷикӣ"], "th":["Thai","ไทย / Phasa Thai"], "ti":["Tigrinya","ትግርኛ"], "tk":["Turkmen","Туркмен / تركمن"], "tl":["Tagalog / Filipino","Tagalog"], "tn":["Tswana","Setswana"], "to":["Tonga","Lea Faka-Tonga"], "tr":["Turkish","Türkçe"], "ts":["Tsonga","Xitsonga"], "tt":["Tatar","Tatarça"], "tw":["Twi","Twi"], "ty":["Tahitian","Reo Mā`ohi"], "ug":["Uyghur","Uyƣurqə / ئۇيغۇرچە"], "uk":["Ukrainian","Українська"], "ur":["Urdu","اردو"], "uz":["Uzbek","Ўзбек"], "ve":["Venda","Tshivenḓa"], "vi":["Vietnamese","Tiếng Việt"], "vo":["Volapük","Volapük"], "wa":["Walloon","Walon"], "wo":["Wolof","Wollof"], "xh":["Xhosa","isiXhosa"], "yi":["Yiddish","ייִדיש"], "yo":["Yoruba","Yorùbá"], "za":["Zhuang","Cuengh / Tôô / 壮语"], "zh":["Chinese","中文"], "zu":["Zulu","isiZulu"] } }; //return string "ltr" if the language is written from left to right or "rtl" in other case var getLangDirection = function(langcode) { return (langs.rtl[langcode]) ? 'rtl' : 'ltr'; } /* PUBLIC */ //return boolean value, true if langcode is supported exports.isValid = function(langcode) { return langs.lang.hasOwnProperty(langcode); }; //return array with all the language codes supported exports.getAllLanguageCode = function() { var result = []; for (langcode in langs.lang) { result.push(langcode); } return result; }; //return object {"name": name of the language in English, "nativeName", "direction"} //if langcode isn't supported return {} exports.getLanguageInfo = function(langcode) { var result = {}; if (exports.isValid(langcode)) { var lang = langs.lang[langcode]; result['name']=lang[0]; result['nativeName']=lang[1]; result['direction']=getLangDirection(langcode); } return result; }; //allow executing by nodejs in the server or by javascript in the browser })(typeof exports === 'undefined'? this['languages']={}: exports);