Created
June 11, 2012 16:28
-
-
Save TheDeveloper/2911067 to your computer and use it in GitHub Desktop.
languageName
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var languages = { | |
AB:"Abkhazian", | |
AA:"Afar", | |
AF:"Afrikaans", | |
SQ:"Albanian", | |
AM:"Amharic", | |
AR:"Arabic", | |
HY:"Armenian", | |
AS:"Assamese", | |
AY:"Aymara", | |
AZ:"Azerbaijani", | |
BA:"Bashkir", | |
EU:"Basque", | |
BN:"Bengali", | |
DZ:"Bhutani", | |
BH:"Bihari", | |
BI:"Bislama", | |
BR:"Breton", | |
BG:"Bulgarian", | |
MY:"Burmese", | |
BE:"Byelorussian", | |
KM:"Cambodian", | |
CA:"Catalan", | |
ZH:"Chinese", | |
CO:"Corsican", | |
HR:"Croatian", | |
CS:"Czech", | |
DA:"Danish", | |
NL:"Dutch", | |
EN:"English", | |
EO:"Esperanto", | |
ET:"Estonian", | |
FO:"Faeroese", | |
FJ:"Fiji", | |
FI:"Finnish", | |
FR:"French", | |
FY:"Frisian", | |
GD:"Gaelic (Scots Gaelic)", | |
GL:"Galician", | |
KA:"Georgian", | |
DE:"German", | |
EL:"Greek", | |
KL:"Greenlandic", | |
GN:"Guarani", | |
GU:"Gujarati", | |
HA:"Hausa", | |
IW:"Hebrew", | |
HI:"Hindi", | |
HU:"Hungarian", | |
IS:"Icelandic", | |
IN:"Indonesian", | |
IA:"Interlingua", | |
IE:"Interlingue", | |
IK:"Inupiak", | |
GA:"Irish", | |
IT:"Italian", | |
JA:"Japanese", | |
JW:"Javanese", | |
KN:"Kannada", | |
KS:"Kashmiri", | |
KK:"Kazakh", | |
RW:"Kinyarwanda", | |
KY:"Kirghiz", | |
RN:"Kirundi", | |
KO:"Korean", | |
KU:"Kurdish", | |
LO:"Laothian", | |
LA:"Latin", | |
LV:"Latvian", | |
LN:"Lingala", | |
LT:"Lithuanian", | |
MK:"Macedonian", | |
MG:"Malagasy", | |
MS:"Malay", | |
ML:"Malayalam", | |
MT:"Maltese", | |
MI:"Maori", | |
MR:"Marathi", | |
MO:"Moldavian", | |
MN:"Mongolian", | |
NA:"Nauru", | |
NE:"Nepali", | |
NO:"Norwegian", | |
NB:"Norwegian", | |
OC:"Occitan", | |
OR:"Oriya", | |
OM:"Oromo", | |
PS:"Pashto", | |
FA:"Persian", | |
PL:"Polish", | |
PT:"Portuguese", | |
PA:"Punjabi", | |
QU:"Quechua", | |
RM:"Rhaeto-Romance", | |
RO:"Romanian", | |
RU:"Russian", | |
SM:"Samoan", | |
SG:"Sangro", | |
SA:"Sanskrit", | |
SR:"Serbian", | |
SH:"Serbo-Croatian", | |
ST:"Sesotho", | |
TN:"Setswana", | |
SN:"Shona", | |
SD:"Sindhi", | |
SI:"Singhalese", | |
SS:"Siswati", | |
SK:"Slovak", | |
SL:"Slovenian", | |
SO:"Somali", | |
ES:"Spanish", | |
SU:"Sudanese", | |
SW:"Swahili", | |
SV:"Swedish", | |
TL:"Tagalog", | |
TG:"Tajik", | |
TA:"Tamil", | |
TT:"Tatar", | |
TE:"Tegulu", | |
TH:"Thai", | |
BO:"Tibetan", | |
TI:"Tigrinya", | |
TO:"Tonga", | |
TS:"Tsonga", | |
TR:"Turkish", | |
TK:"Turkmen", | |
TW:"Twi", | |
UK:"Ukrainian", | |
UR:"Urdu", | |
UZ:"Uzbek", | |
VI:"Vietnamese", | |
VO:"Volapuk", | |
CY:"Welsh", | |
WO:"Wolof", | |
XH:"Xhosa", | |
JI:"Yiddish", | |
YO:"Yoruba", | |
ZU:"Zulu" | |
} | |
/** | |
* ## languageName | |
* | |
* Takes an IETF language tagm with optional country code suffix, and converts it | |
* to a human readable language string. | |
* | |
* For example: | |
* ``` | |
* languageName('fr'); // 'French' | |
* languageName('en-gb'); // 'English (United Kingdom)' | |
* ``` | |
* | |
* @param {string} code IETF language tag with optional country suffix | |
* @return {string} Readable language name string | |
*/ | |
function languageName(code){ | |
// If the code isn't specified, return "Unknown Language", localized | |
if(!code)return 'Unknown'; | |
// Uppercase and split into components | |
code = (''+code).toUpperCase(); | |
var bits = code.split('-'); | |
// Language tag, if it exists from language lookup table | |
var primary = languages[bits[0]]; | |
// If country suffix is specified, look it up and append it in brackets | |
if(bits.length>1){ | |
primary += ' (' + countryname(bits[1],'') + ')'; | |
} | |
return primary; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment