UNPKG

alchemymvc

Version:
271 lines (255 loc) 8.14 kB
'use strict'; var Language = {}, allLanguages = {}, byName = {}; /** * List taken from https://github.com/joker-x/languages.js */ allLanguages = { "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"] }; var locale, entry, split, list, text, lang, i, j; /** * Generate a byLocale object */ for (locale in allLanguages) { list = allLanguages[locale]; for (i = 0; i < list.length; i++) { // Get the language text text = list[i]; split = text.split('/'); for (j = 0; j < split.length; j++) { lang = split[j].trim().toLowerCase(); byName[lang] = locale; } } } /** * Get a language name by its locale. * Returns the English name by default. * * @author Jelle De Loecker <jelle@elevenways.be> * @since 0.0.1 * @version 0.0.1 * * @param {string} locale The short, 2-character locale code * @param {boolean} ownLanguage Return the name in its own language? */ Language.get = function getLanguage(locale, ownLanguage) { var item = allLanguages[locale], result = 'unknown language'; if (locale.length > 2) { return Language.getByName(locale); } if (item) { if (ownLanguage) { result = item[1]; } else { result = item[0]; } } return result; }; /** * Get the locale for the given language * * @author Jelle De Loecker <jelle@elevenways.be> * @since 0.0.1 * @version 0.0.1 * * @param {string} language The full language name (english or own) */ Language.getByName = function getByName(language) { language = language.toLowerCase(); return byName[language]; }; global.Language = Language;