diff --git a/README.md b/README.md index acd9f06..d3f76ed 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,19 @@ jQuery Universal Language Selector -================================= +================================== Universal Language Selector +Introduction +------------- + + + +Preparing language data +------------------------ + +The language names, autonyms, region informations are present in src/jquery.uls.data.js. +But this file is auto generated from data/langdb.yaml. If you want to make any changes to the +language data, edit data/langdb.yaml and generate the src/jquery.uls.data.js using + +```bash +php ulsdata2json.php +``` diff --git a/data/jquery.uls.data.js b/data/jquery.uls.data.js deleted file mode 100644 index 9b6c696..0000000 --- a/data/jquery.uls.data.js +++ /dev/null @@ -1,895 +0,0 @@ -// This file is generated from data/langdb.yaml by ulsdata2json.php -(function ($) { - $.uls = {}; - $.uls.data = { - "languages": { - "aa": ["Latn", ["AF"]], - "ab": ["Cyrl", ["EU"]], - "ace": ["Latn", ["AS", "PA"]], - "ady-cyrl": ["Cyrl", ["EU"]], - "ady-latn": ["Latn", ["EU"]], - "ady": ["Cyrl", ["EU"]], - "aeb": ["Arab", ["AF"]], - "af": ["Latn", ["AF"]], - "ahr": ["Deva", ["AS"]], - "ak": ["Latn", ["AF"]], - "akz": ["Latn", ["NA"]], - "aln": ["Latn", ["EU"]], - "am": ["Ethi", ["AF"]], - "an": ["Latn", ["EU"]], - "ang": ["Latn", ["EU"]], - "anp": ["Deva", ["AS"]], - "ar": ["Arab", ["ME"]], - "arc": ["Syrc", ["ME"]], - "arn": ["Latn", ["SA"]], - "aro": ["Latn", ["LA"]], - "arq": ["Latn", ["AF"]], - "ary": ["Latn", ["ME"]], - "arz": ["Arab", ["ME"]], - "as": ["Beng", ["AS"]], - "ase": ["Sgnw", ["NA"]], - "ast": ["Latn", ["EU"]], - "av": ["Cyrl", ["EU"]], - "avk": ["Latn", ["WW"]], - "ay": ["Latn", ["SA"]], - "az": ["Latn", ["EU", "ME"]], - "ba": ["Cyrl", ["EU"]], - "bar": ["Latn", ["EU"]], - "bbc-latn": ["Latn", ["AS"]], - "bbc": ["Batk", ["AS"]], - "bcc": ["Arab", ["AS", "ME"]], - "bcl": ["Latn", ["AS"]], - "be-tarask": ["Cyrl", ["EU"]], - "be-x-old": ["Cyrl", ["EU"]], - "be": ["Cyrl", ["EU"]], - "bew": ["Latn", ["AS"]], - "bfq": ["Taml", ["AS"]], - "bg": ["Cyrl", ["EU"]], - "bh": ["Deva", ["AS"]], - "bho": ["Deva", ["AS"]], - "bi": ["Latn", ["PA"]], - "bjn": ["Latn", ["AS"]], - "bm": ["Latn", ["AF"]], - "bn": ["Beng", ["AS"]], - "bo": ["Tibt", ["AS"]], - "bpy": ["Beng", ["AS"]], - "bqi": ["Arab", ["ME"]], - "br": ["Latn", ["EU"]], - "brh": ["Latn", ["ME", "AS"]], - "bs": ["Latn", ["EU"]], - "bto": ["Latn", ["AS"]], - "bug": ["Bugi", ["AS"]], - "bxr": ["Cyrl", ["AS"]], - "ca": ["Latn", ["EU"]], - "cbk-zam": ["Latn", ["AS"]], - "cdo": ["Latn", ["AS"]], - "ce": ["Cyrl", ["EU"]], - "ceb": ["Latn", ["AS"]], - "ch": ["Latn", ["PA"]], - "cho": ["Latn", ["NA"]], - "chr": ["Cher", ["NA"]], - "chy": ["Latn", ["NA"]], - "ckb": ["Arab", ["ME"]], - "co": ["Latn", ["EU"]], - "cps": ["Latn", ["AS"]], - "cr": ["Cans", ["NA"]], - "crh-cyrl": ["Cyrl", ["EU"]], - "crh-latn": ["Latn", ["EU"]], - "crh": ["Latn", ["EU"]], - "cs": ["Latn", ["EU"]], - "csb": ["Latn", ["EU"]], - "cu": ["Cyrl", ["EU"]], - "cv": ["Cyrl", ["EU"]], - "cy": ["Latn", ["EU"]], - "da": ["Latn", ["EU"]], - "de-at": ["Latn", ["EU"]], - "de-ch": ["Latn", ["EU"]], - "de-formal": ["Latn", ["EU"]], - "de": ["Latn", ["EU"]], - "diq": ["Latn", ["EU", "AS"]], - "dsb": ["Latn", ["EU"]], - "dtp": ["Latn", ["AS"]], - "dv": ["Thaa", ["AS"]], - "dz": ["Tibt", ["AS"]], - "ee": ["Latn", ["AF"]], - "egl": ["Latn", ["EU"]], - "el": ["Grek", ["EU"]], - "eml": ["Latn", ["EU"]], - "en-ca": ["Latn", ["NA"]], - "en-gb": ["Latn", ["EU", "AS", "AU"]], - "en": ["Latn", ["EU", "NA", "AU", "AF", "ME", "AS", "PA", "WW"]], - "eo": ["Latn", ["WW"]], - "es-419": ["Latn", ["LA"]], - "es-formal": ["Latn", ["EU", "NA", "LA", "SA", "AF", "WW"]], - "es": ["Latn", ["EU", "NA", "LA", "SA", "AF", "WW"]], - "esu": ["Latn", ["NA"]], - "et": ["Latn", ["EU"]], - "eu": ["Latn", ["EU"]], - "ext": ["Latn", ["EU"]], - "fa": ["Arab", ["ME"]], - "ff": ["Latn", ["AF"]], - "fi": ["Latn", ["EU"]], - "fit": ["Latn", ["EU"]], - "fj": ["Latn", ["PA"]], - "fo": ["Latn", ["EU"]], - "fr": ["Latn", ["EU"]], - "frc": ["Latn", ["EU"]], - "frp": ["Latn", ["EU"]], - "frr": ["Latn", ["EU"]], - "fur": ["Latn", ["EU"]], - "fy": ["Latn", ["EU"]], - "ga": ["Latn", ["EU"]], - "gag": ["Latn", ["EU"]], - "gah": ["Latn", ["AS"]], - "gan-hans": ["Hans", ["AS"]], - "gan-hant": ["Hant", ["AS"]], - "gan": ["Hant", ["AS"]], - "gbz": ["Latn", ["AS"]], - "gcf": ["Latn", ["LA"]], - "gd": ["Latn", ["EU"]], - "gl": ["Latn", ["EU"]], - "glk": ["Arab", ["ME"]], - "gn": ["Latn", ["LA"]], - "gom-deva": ["Deva", ["AS"]], - "gom-latn": ["Latn", ["AS"]], - "gom": ["Deva", ["AS"]], - "got": ["Goth", ["EU"]], - "grc": ["Grek", ["EU"]], - "gsw": ["Latn", ["EU"]], - "gu": ["Gujr", ["AS"]], - "guc": ["Latn", ["LA"]], - "gur": ["Latn", ["AF"]], - "gv": ["Latn", ["EU"]], - "ha": ["Latn", ["AF"]], - "hak": ["Latn", ["AS"]], - "haw": ["Latn", ["NA", "PA"]], - "he": ["Hebr", ["ME"]], - "hi": ["Deva", ["AS"]], - "hif-deva": ["Deva", ["AS"]], - "hif-latn": ["Latn", ["PA", "AU", "AS"]], - "hif": ["Latn", ["PA", "AU", "AS"]], - "hil": ["Latn", ["AS"]], - "hne": ["Deva", ["AS"]], - "ho": ["Latn", ["PA"]], - "hr": ["Latn", ["EU"]], - "hsb": ["Latn", ["EU"]], - "hsn": ["Hans", ["AS"]], - "ht": ["Latn", ["NA"]], - "hu-formal": ["Latn", ["EU"]], - "hu": ["Latn", ["EU"]], - "hy": ["Armn", ["EU", "ME"]], - "hz": ["Latn", ["AF"]], - "ia": ["Latn", ["WW"]], - "id": ["Latn", ["AS"]], - "ie": ["Latn", ["WW"]], - "ig": ["Latn", ["AF"]], - "ii": ["Yiii", ["AS"]], - "ik": ["Latn", ["NA"]], - "ike-cans": ["Cans", ["NA"]], - "ike-latn": ["Latn", ["NA"]], - "ike": ["Latn", ["NA"]], - "ilo": ["Latn", ["AS"]], - "inh": ["Cyrl", ["EU"]], - "io": ["Latn", ["WW"]], - "is": ["Latn", ["EU"]], - "it": ["Latn", ["EU"]], - "iu": ["Cans", ["NA"]], - "ja": ["Jpan", ["AS"]], - "jam": ["Latn", ["NA"]], - "jbo": ["Latn", ["WW"]], - "jut": ["Latn", ["EU"]], - "jv": ["Latn", ["AS", "PA"]], - "ka": ["Geor", ["EU"]], - "kaa": ["Latn", ["AS"]], - "kab": ["Latn", ["AF", "EU"]], - "kbd-cyrl": ["Cyrl", ["EU", "ME"]], - "kbd-latn": ["Latn", ["EU"]], - "kbd": ["Cyrl", ["EU", "ME"]], - "kea": ["Latn", ["AF"]], - "kg": ["Latn", ["AF"]], - "kgp": ["Latn", ["LA"]], - "khw": ["Arab", ["ME", "AS"]], - "ki": ["Latn", ["AF"]], - "kiu": ["Latn", ["EU", "ME"]], - "kj": ["Latn", ["AF"]], - "kk-arab": ["Arab", ["EU", "AS"]], - "kk-cn": ["Arab", ["EU", "AS", "ME"]], - "kk-cyrl": ["Cyrl", ["EU", "AS"]], - "kk-kz": ["Cyrl", ["EU", "AS"]], - "kk-latn": ["Latn", ["EU", "AS", "ME"]], - "kk-tr": ["Latn", ["EU", "AS", "ME"]], - "kk": ["Cyrl", ["EU", "AS"]], - "kl": ["Latn", ["NA", "EU"]], - "km": ["Khmr", ["AS"]], - "kn": ["Knda", ["AS"]], - "ko-kp": ["Kore", ["AS"]], - "ko": ["Kore", ["AS"]], - "koi": ["Cyrl", ["EU"]], - "kr": ["Latn", ["AF"]], - "krc": ["Cyrl", ["EU"]], - "kri": ["Latn", ["AF"]], - "krj": ["Latn", ["ME", "EU"]], - "krl": ["Latn", ["EU"]], - "ks-arab": ["Arab", ["AS"]], - "ks-deva": ["Deva", ["AS"]], - "ks": ["Arab", ["AS"]], - "ksf": ["Latn", ["AF"]], - "ksh": ["Latn", ["EU"]], - "ku-arab": ["Arab", ["EU", "ME"]], - "ku-latn": ["Latn", ["EU", "ME"]], - "ku": ["Latn", ["EU", "ME"]], - "kv": ["Cyrl", ["EU"]], - "kw": ["Latn", ["EU"]], - "ky": ["Cyrl", ["AS"]], - "la": ["Latn", ["EU"]], - "lad": ["Latn", ["ME", "EU", "LA"]], - "lb": ["Latn", ["EU"]], - "lbe": ["Cyrl", ["EU"]], - "lez": ["Cyrl", ["EU"]], - "lfn": ["Latn", ["WW"]], - "lg": ["Latn", ["AF"]], - "li": ["Latn", ["EU"]], - "lij": ["Latn", ["EU"]], - "liv": ["Latn", ["EU"]], - "lld": ["Latn", ["EU"]], - "lmo": ["Latn", ["EU"]], - "ln": ["Latn", ["AF"]], - "lo": ["Laoo", ["AS"]], - "loz": ["Latn", ["AF"]], - "lt": ["Latn", ["EU"]], - "ltg": ["Latn", ["EU"]], - "lus": ["Latn", ["AS"]], - "lv": ["Latn", ["EU"]], - "lzh": ["Hant", ["AS"]], - "lzz": ["Latn", ["EU", "ME"]], - "mai": ["Deva", ["AS"]], - "map-bms": ["Latn", ["AS"]], - "mdf": ["Cyrl", ["EU"]], - "mfe": ["Latn", ["LA"]], - "mg": ["Latn", ["AF"]], - "mh": ["Latn", ["PA"]], - "mhr": ["Cyrl", ["EU"]], - "mi": ["Latn", ["PA", "AU"]], - "mic": ["Latn", ["NA"]], - "min": ["Latn", ["AS"]], - "mk": ["Cyrl", ["EU"]], - "ml": ["Mlym", ["AS", "ME"]], - "mn": ["Cyrl", ["AS"]], - "mnc": ["Mong", ["AS"]], - "mni": ["Beng", ["AS"]], - "mnw": ["Mymr", ["AS"]], - "mo": ["Cyrl", ["EU"]], - "mr": ["Deva", ["AS", "ME"]], - "mrj": ["Cyrl", ["EU"]], - "ms": ["Latn", ["AS"]], - "mt": ["Latn", ["EU"]], - "mui": ["Latn", ["AS"]], - "mus": ["Latn", ["NA"]], - "mwl": ["Latn", ["EU"]], - "mwv": ["Latn", ["AS"]], - "my": ["Mymr", ["AS"]], - "myv": ["Cyrl", ["EU"]], - "mzn": ["Arab", ["ME", "AS"]], - "na": ["Latn", ["PA", "AU"]], - "nah": ["Latn", ["NA", "LA"]], - "nan": ["Latn", ["AS"]], - "nap": ["Latn", ["EU"]], - "nb": ["Latn", ["EU"]], - "nds-nl": ["Latn", ["EU"]], - "nds": ["Latn", ["EU"]], - "ne": ["Deva", ["AS"]], - "new": ["Deva", ["AS"]], - "ng": ["Latn", ["AF"]], - "niu": ["Latn", ["PA"]], - "njo": ["Latn", ["AS"]], - "nl-informal": ["Latn", ["EU", "SA"]], - "nl": ["Latn", ["EU", "SA"]], - "nn": ["Latn", ["EU"]], - "no": ["Latn", ["EU"]], - "nov": ["Latn", ["WW"]], - "nqo": ["Nkoo", ["AF"]], - "nrm": ["Latn", ["EU"]], - "nso": ["Latn", ["AF"]], - "nv": ["Latn", ["NA"]], - "ny": ["Latn", ["AF"]], - "oc": ["Latn", ["EU"]], - "om": ["Latn", ["AF"]], - "or": ["Orya", ["AS"]], - "os": ["Cyrl", ["EU"]], - "pa": ["Guru", ["AS"]], - "pag": ["Latn", ["AS"]], - "pam": ["Latn", ["AS"]], - "pap": ["Latn", ["LA"]], - "pcd": ["Latn", ["EU"]], - "pdc": ["Latn", ["EU", "NA", "SA"]], - "pdt": ["Latn", ["EU", "NA", "SA"]], - "pfl": ["Latn", ["EU"]], - "pi": ["Deva", ["AS"]], - "pih": ["Latn", ["PA"]], - "pis": ["Latn", ["PA"]], - "pko": ["Latn", ["AF"]], - "pl": ["Latn", ["EU"]], - "pms": ["Latn", ["EU"]], - "pnb": ["Arab", ["AS", "ME"]], - "pnt": ["Grek", ["EU"]], - "ppl": ["Latn", ["LA"]], - "prg": ["Latn", ["EU"]], - "pru": ["Latn", ["EU"]], - "ps": ["Arab", ["AS", "ME"]], - "pt-br": ["Latn", ["SA", "LA"]], - "pt": ["Latn", ["EU", "LA", "AS", "PA", "AF"]], - "qu": ["Latn", ["SA"]], - "qug": ["Latn", ["SA"]], - "rap": ["Latn", ["LA"]], - "rgn": ["Latn", ["EU"]], - "rif": ["Latn", ["AF"]], - "rki": ["Mymr", ["AS"]], - "rm": ["Latn", ["EU"]], - "rmy": ["Latn", ["EU"]], - "rn": ["Latn", ["AF"]], - "ro": ["Latn", ["EU"]], - "roa-rup": ["Latn", ["EU"]], - "roa-tara": ["Latn", ["EU"]], - "rtm": ["Latn", ["PA"]], - "ru": ["Cyrl", ["EU", "AS", "ME"]], - "rue": ["Cyrl", ["EU"]], - "rup": ["Latn", ["EU"]], - "ruq": ["Latn", ["EU"]], - "ruq-cyrl": ["Cyrl", ["EU"]], - "ruq-grek": ["Grek", ["EU"]], - "ruq-latn": ["Latn", ["EU"]], - "rw": ["Latn", ["AF"]], - "ryu": ["Kana", ["AS"]], - "sa": ["Deva", ["AS"]], - "sah": ["Cyrl", ["EU", "AS"]], - "sat": ["Latn", ["AS"]], - "saz": ["Saur", ["AS"]], - "sc": ["Latn", ["EU"]], - "scn": ["Latn", ["EU"]], - "sco": ["Latn", ["EU"]], - "sd": ["Arab", ["AS"]], - "sdc": ["Latn", ["EU"]], - "se": ["Latn", ["EU"]], - "sei": ["Latn", ["NA", "LA"]], - "sg": ["Latn", ["AF"]], - "sgs": ["Latn", ["EU"]], - "sh": ["Latn", ["EU"]], - "shi-latn": ["Latn", ["AF"]], - "shi-tfng": ["Tfng", ["AF"]], - "shi": ["Latn", ["AF"]], - "shn": ["Mymr", ["AS"]], - "si": ["Sinh", ["AS"]], - "simple": ["Latn", ["WW"]], - "sk": ["Latn", ["EU"]], - "sl": ["Latn", ["EU"]], - "sli": ["Latn", ["EU"]], - "slr": ["Latn", ["AS"]], - "sly": ["Latn", ["AS"]], - "sm": ["Latn", ["PA"]], - "sma": ["Latn", ["EU"]], - "sn": ["Latn", ["AF"]], - "so": ["Latn", ["AF"]], - "sq": ["Latn", ["EU"]], - "sr-ec": ["Cyrl", ["EU"]], - "sr-el": ["Latn", ["EU"]], - "sr": ["Cyrl", ["EU"]], - "srn": ["Latn", ["SA", "NA", "EU"]], - "ss": ["Latn", ["AF"]], - "st": ["Latn", ["AF"]], - "stq": ["Latn", ["EU"]], - "su": ["Latn", ["AS"]], - "sv": ["Latn", ["EU"]], - "sw": ["Latn", ["AF"]], - "swb": ["Latn", ["AF"]], - "sxu": ["Latn", ["EU"]], - "szl": ["Latn", ["EU"]], - "ta": ["Taml", ["AS"]], - "tcy": ["Knda", ["AS"]], - "te": ["Telu", ["AS"]], - "tet": ["Latn", ["AS", "PA"]], - "tg-cyrl": ["Cyrl", ["AS"]], - "tg-latn": ["Latn", ["AS"]], - "tg": ["Cyrl", ["AS"]], - "th": ["Thai", ["AS"]], - "ti": ["Ethi", ["AF"]], - "tk": ["Latn", ["AS"]], - "tkr": ["Cyrl", ["AS"]], - "tl": ["Latn", ["AS"]], - "tly": ["Cyrl", ["EU", "AS", "ME"]], - "tn": ["Latn", ["AF"]], - "to": ["Latn", ["PA"]], - "tokipona": ["Latn", ["WW"]], - "tpi": ["Latn", ["PA", "AS"]], - "tr": ["Latn", ["EU", "ME"]], - "trp": ["Latn", ["AS"]], - "tru": ["Latn", ["AS"]], - "ts": ["Latn", ["AF"]], - "tsd": ["Grek", ["EU"]], - "tt-cyrl": ["Cyrl", ["EU"]], - "tt-latn": ["Latn", ["EU"]], - "tt": ["Cyrl", ["EU"]], - "ttt": ["Cyrl", ["AS"]], - "tum": ["Latn", ["AF"]], - "tw": ["Latn", ["AF"]], - "twd": ["Latn", ["EU"]], - "ty": ["Latn", ["PA"]], - "tyv": ["Cyrl", ["AS"]], - "tzm": ["Tfng", ["AF"]], - "udm": ["Cyrl", ["EU"]], - "ug-arab": ["Arab", ["AS"]], - "ug-latn": ["Latn", ["AS"]], - "ug": ["Arab", ["AS"]], - "uk": ["Cyrl", ["EU"]], - "ur": ["Arab", ["AS", "ME"]], - "uz": ["Latn", ["AS"]], - "ve": ["Latn", ["AF"]], - "vec": ["Latn", ["EU"]], - "vep": ["Latn", ["EU"]], - "vi": ["Latn", ["AS"]], - "vls": ["Latn", ["EU"]], - "vmf": ["Latn", ["EU"]], - "vo": ["Latn", ["WW"]], - "vot": ["Latn", ["EU"]], - "vro": ["Latn", ["EU"]], - "wa": ["Latn", ["EU"]], - "war": ["Latn", ["AS"]], - "wls": ["Latn", ["PA"]], - "wo": ["Latn", ["AF"]], - "wuu": ["Hans", ["EU"]], - "xal": ["Cyrl", ["EU"]], - "xh": ["Latn", ["AF"]], - "xmf": ["Geor", ["EU"]], - "ydd": ["Hebr", ["AS", "EU"]], - "yi": ["Hebr", ["ME", "EU", "NA", "SA"]], - "yo": ["Latn", ["AF"]], - "yrk": ["Cyrl", ["AS"]], - "yrl": ["Latn", ["LA"]], - "yua": ["Latn", ["NA", "LA"]], - "yue": ["Hant", ["AS"]], - "za": ["Latn", ["AS"]], - "zea": ["Latn", ["EU"]], - "zh-classical": ["Hant", ["AS"]], - "zh-cn": ["Hans", ["AS"]], - "zh-hans": ["Hans", ["AS"]], - "zh-hant": ["Hant", ["AS"]], - "zh-hk": ["Hant", ["AS"]], - "zh-min-nan": ["Latn", ["AS"]], - "zh-mo": ["Hant", ["AS"]], - "zh-my": ["Hans", ["AS"]], - "zh-sg": ["Hans", ["AS"]], - "zh-tw": ["Hant", ["AS"]], - "zh-yue": ["Hans", ["AS"]], - "zh": ["Hans", ["AS"]], - "zu": ["Latn", ["AF"]] - }, - "scriptgroups": { - "Cyrillic": ["Cyrl"], - "Arabic": ["Arab"], - "Greek": ["Grek"], - "Latin": ["Latn", "Goth"], - "WestCaucasian": ["Armn", "Geor"], - "MiddleEastern": ["Hebr", "Syrc"], - "African": ["Ethi", "Nkoo", "Tfng"], - "SouthAsian": ["Beng", "Deva", "Gujr", "Guru", "Knda", "Mlym", "Orya", "Saur", "Sinh", "Taml", "Telu", "Tibt", "Thaa"], - "SouthEastAsian": ["Batk", "Bugi", "Java", "Khmr", "Laoo", "Mymr", "Thai"], - "Mongolian": ["Mong"], - "SignWriting": ["Sgnw"], - "CJK": ["Hans", "Hant", "Kana", "Kore", "Jpan", "Yiii"], - "NativeAmerican": ["Cher", "Cans"] - }, - "regiongroups": { - "NA": 1, - "LA": 1, - "SA": 1, - "EU": 2, - "ME": 2, - "AF": 2, - "AS": 3, - "PA": 3, - "AU": 3, - "WW": 4 - }, - "importanceInRegions": { - "fi": { - "FI": 100, - "SE": 10 - }, - "ru": { - "RU": 100, - "FI": 40 - } - } - }; - $.uls.data.autonyms = { - "qqq": "Message documentation", - "aa": "Qaf\u00e1r af", - "ab": "\u0410\u04a7\u0441\u0448\u04d9\u0430", - "ace": "Ac\u00e8h", - "af": "Afrikaans", - "ak": "Akan", - "aln": "Geg\u00eb", - "als": "Alemannisch", - "am": "\u12a0\u121b\u122d\u129b", - "an": "aragon\u00e9s", - "ang": "\u00c6nglisc", - "anp": "\u0905\u0919\u094d\u0917\u093f\u0915\u093e", - "ar": "\u0627\u0644\u0639\u0631\u0628\u064a\u0629", - "arc": "\u0710\u072a\u0721\u071d\u0710", - "arn": "mapudungun", - "ary": "Ma\u0121ribi", - "arz": "\u0645\u0635\u0631\u0649", - "as": "\u0985\u09b8\u09ae\u09c0\u09df\u09be", - "ast": "asturianu", - "av": "\u0410\u0432\u0430\u0440", - "avk": "Kotava", - "ay": "Aymar aru", - "az": "az\u0259rbaycanca", - "ba": "\u0411\u0430\u0448\u04a1\u043e\u0440\u0442\u0441\u0430", - "bar": "Boarisch", - "bat-smg": "\u017demait\u0117\u0161ka", - "bcc": "\u0628\u0644\u0648\u0686\u06cc \u0645\u06a9\u0631\u0627\u0646\u06cc", - "bcl": "Bikol Central", - "be": "\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f", - "be-tarask": "\u202a\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)\u202c", - "be-x-old": "\u202a\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)\u202c", - "bg": "\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438", - "bh": "\u092d\u094b\u091c\u092a\u0941\u0930\u0940", - "bho": "\u092d\u094b\u091c\u092a\u0941\u0930\u0940", - "bi": "Bislama", - "bjn": "Bahasa Banjar", - "bm": "bamanankan", - "bn": "\u09ac\u09be\u0982\u09b2\u09be", - "bo": "\u0f56\u0f7c\u0f51\u0f0b\u0f61\u0f72\u0f42", - "bpy": "\u09ac\u09bf\u09b7\u09cd\u09a3\u09c1\u09aa\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09ae\u09a3\u09bf\u09aa\u09c1\u09b0\u09c0", - "bqi": "\u0628\u062e\u062a\u064a\u0627\u0631\u064a", - "br": "brezhoneg", - "brh": "Br\u00e1hu\u00ed", - "bs": "bosanski", - "bug": "\u1a05\u1a14 \u1a15\u1a18\u1a01\u1a17", - "bxr": "\u0411\u0443\u0440\u044f\u0430\u0434", - "ca": "catal\u00e0", - "cbk-zam": "Chavacano de Zamboanga", - "cdo": "M\u00ecng-d\u0115\u0324ng-ng\u1e73\u0304", - "ce": "\u041d\u043e\u0445\u0447\u0438\u0439\u043d", - "ceb": "Cebuano", - "ch": "Chamoru", - "cho": "Choctaw", - "chr": "\u13e3\u13b3\u13a9", - "chy": "Tsets\u00eahest\u00e2hese", - "ckb": "\u06a9\u0648\u0631\u062f\u06cc", - "co": "corsu", - "cps": "Capice\u00f1o", - "cr": "N\u0113hiyaw\u0113win \/ \u14c0\u1426\u1403\u152d\u140d\u140f\u1423", - "crh": "Q\u0131r\u0131mtatarca", - "crh-latn": "\u202aQ\u0131r\u0131mtatarca (Latin)\u202c", - "crh-cyrl": "\u202a\u041a\u044a\u044b\u0440\u044b\u043c\u0442\u0430\u0442\u0430\u0440\u0434\u0436\u0430 (\u041a\u0438\u0440\u0438\u043b\u043b)\u202c", - "cs": "\u010desky", - "csb": "kasz\u00ebbsczi", - "cu": "\u0441\u043b\u043e\u0432\u0463\u0301\u043d\u044c\u0441\u043a\u044a \/ \u2c14\u2c0e\u2c11\u2c02\u2c21\u2c10\u2c20\u2c14\u2c0d\u2c1f", - "cv": "\u0427\u04d1\u0432\u0430\u0448\u043b\u0430", - "cy": "Cymraeg", - "da": "dansk", - "de": "Deutsch", - "de-at": "\u00d6sterreichisches Deutsch", - "de-ch": "Schweizer Hochdeutsch", - "de-formal": "\u202aDeutsch (Sie-Form)\u202c", - "diq": "Zazaki", - "dsb": "dolnoserbski", - "dtp": "Dusun Bundu-liwan", - "dv": "\u078b\u07a8\u0788\u07ac\u0780\u07a8\u0784\u07a6\u0790\u07b0", - "dz": "\u0f47\u0f7c\u0f44\u0f0b\u0f41", - "ee": "e\u028begbe", - "egl": "Emili\u00e0n", - "el": "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac", - "eml": "emili\u00e0n e rumagn\u00f2l", - "en": "English", - "en-ca": "Canadian English", - "en-gb": "British English", - "eo": "Esperanto", - "es": "espa\u00f1ol", - "et": "eesti", - "eu": "euskara", - "ext": "estreme\u00f1u", - "fa": "\u0641\u0627\u0631\u0633\u06cc", - "ff": "Fulfulde", - "fi": "suomi", - "fit": "me\u00e4nkieli", - "fiu-vro": "V\u00f5ro", - "fj": "Na Vosa Vakaviti", - "fo": "f\u00f8royskt", - "fr": "fran\u00e7ais", - "frc": "fran\u00e7ais cadien", - "frp": "arpetan", - "frr": "Nordfriisk", - "fur": "furlan", - "fy": "Frysk", - "ga": "Gaeilge", - "gag": "Gagauz", - "gan": "\u8d1b\u8a9e", - "gan-hans": "\u202a\u8d63\u8bed\uff08\u7b80\u4f53\uff09\u202c", - "gan-hant": "\u202a\u8d1b\u8a9e\uff08\u7e41\u9ad4\uff09\u202c", - "gd": "G\u00e0idhlig", - "gl": "galego", - "glk": "\u06af\u06cc\u0644\u06a9\u06cc", - "gn": "Ava\u00f1e'\u1ebd", - "got": "\ud800\udf32\ud800\udf3f\ud800\udf44\ud800\udf39\ud800\udf43\ud800\udf3a", - "grc": "\u1f08\u03c1\u03c7\u03b1\u03af\u03b1 \u1f11\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u1f74", - "gsw": "Alemannisch", - "gu": "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0", - "gv": "Gaelg", - "ha": "\u0647\u064e\u0648\u064f\u0633\u064e", - "hak": "Hak-k\u00e2-fa", - "haw": "Hawai`i", - "he": "\u05e2\u05d1\u05e8\u05d9\u05ea", - "hi": "\u0939\u093f\u0928\u094d\u0926\u0940", - "hif": "Fiji Hindi", - "hif-latn": "Fiji Hindi", - "hil": "Ilonggo", - "ho": "Hiri Motu", - "hr": "hrvatski", - "hsb": "hornjoserbsce", - "ht": "Krey\u00f2l ayisyen", - "hu": "magyar", - "hy": "\u0540\u0561\u0575\u0565\u0580\u0565\u0576", - "hz": "Otsiherero", - "ia": "interlingua", - "id": "Bahasa Indonesia", - "ie": "Interlingue", - "ig": "Igbo", - "ii": "\ua187\ua259", - "ik": "I\u00f1upiak", - "ike-cans": "\u1403\u14c4\u1483\u144e\u1450\u1466", - "ike-latn": "inuktitut", - "ilo": "Ilokano", - "inh": "\u0413\u04c0\u0430\u043b\u0433\u04c0\u0430\u0439", - "io": "Ido", - "is": "\u00edslenska", - "it": "italiano", - "iu": "\u1403\u14c4\u1483\u144e\u1450\u1466\/inuktitut", - "ja": "\u65e5\u672c\u8a9e", - "jam": "Patois", - "jbo": "Lojban", - "jut": "jysk", - "jv": "Basa Jawa", - "ka": "\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8", - "kaa": "Qaraqalpaqsha", - "kab": "Taqbaylit", - "kbd": "\u0410\u0434\u044b\u0433\u044d\u0431\u0437\u044d", - "kbd-cyrl": "\u0410\u0434\u044b\u0433\u044d\u0431\u0437\u044d", - "kg": "Kongo", - "khw": "\u06a9\u06be\u0648\u0627\u0631", - "ki": "G\u0129k\u0169y\u0169", - "kiu": "K\u0131rmancki", - "kj": "Kwanyama", - "kk": "\u049a\u0430\u0437\u0430\u049b\u0448\u0430", - "kk-arab": "\u202b\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062a\u0674\u0648\u062a\u06d5)\u202c", - "kk-cyrl": "\u202a\u049a\u0430\u0437\u0430\u049b\u0448\u0430 (\u043a\u0438\u0440\u0438\u043b)\u202c", - "kk-latn": "\u202aQazaq\u015fa (lat\u0131n)\u202c", - "kk-cn": "\u202b\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062c\u06c7\u0646\u06af\u0648)\u202c", - "kk-kz": "\u202a\u049a\u0430\u0437\u0430\u049b\u0448\u0430 (\u049a\u0430\u0437\u0430\u049b\u0441\u0442\u0430\u043d)\u202c", - "kk-tr": "\u202aQazaq\u015fa (T\u00fcrk\u00efya)\u202c", - "kl": "kalaallisut", - "km": "\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a", - "kn": "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1", - "ko": "\ud55c\uad6d\uc5b4", - "ko-kp": "\ud55c\uad6d\uc5b4 (\uc870\uc120)", - "koi": "\u041f\u0435\u0440\u0435\u043c \u041a\u043e\u043c\u0438", - "kr": "Kanuri", - "krc": "\u041a\u044a\u0430\u0440\u0430\u0447\u0430\u0439-\u041c\u0430\u043b\u043a\u044a\u0430\u0440", - "kri": "Krio", - "krj": "Kinaray-a", - "ks": "\u0915\u0949\u0936\u0941\u0930 \/ \u06a9\u0672\u0634\u064f\u0631", - "ks-arab": "\u06a9\u0672\u0634\u064f\u0631", - "ks-deva": "\u0915\u0949\u0936\u0941\u0930", - "ksh": "Ripoarisch", - "ku": "Kurd\u00ee", - "ku-latn": "\u202aKurd\u00ee (lat\u00een\u00ee)\u202c", - "ku-arab": "\u202b\u0643\u0648\u0631\u062f\u064a (\u0639\u06d5\u0631\u06d5\u0628\u06cc)\u202c", - "kv": "\u041a\u043e\u043c\u0438", - "kw": "kernowek", - "ky": "\u041a\u044b\u0440\u0433\u044b\u0437\u0447\u0430", - "la": "Latina", - "lad": "Ladino", - "lb": "L\u00ebtzebuergesch", - "lbe": "\u041b\u0430\u043a\u043a\u0443", - "lez": "\u041b\u0435\u0437\u0433\u0438", - "lfn": "Lingua Franca Nova", - "lg": "Luganda", - "li": "Limburgs", - "lij": "Ligure", - "liv": "L\u012bv\u00f5 k\u0113\u013c", - "lmo": "lumbaart", - "ln": "ling\u00e1la", - "lo": "\u0ea5\u0eb2\u0ea7", - "loz": "Silozi", - "lt": "lietuvi\u0173", - "ltg": "latga\u013cu", - "lus": "Mizo \u0163awng", - "lv": "latvie\u0161u", - "lzh": "\u6587\u8a00", - "lzz": "Lazuri", - "mai": "\u092e\u0948\u0925\u093f\u0932\u0940", - "map-bms": "Basa Banyumasan", - "mdf": "\u041c\u043e\u043a\u0448\u0435\u043d\u044c", - "mg": "Malagasy", - "mh": "Ebon", - "mhr": "\u041e\u043b\u044b\u043a \u041c\u0430\u0440\u0438\u0439", - "mi": "M\u0101ori", - "min": "Baso Minangkabau", - "mk": "\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438", - "ml": "\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02", - "mn": "\u043c\u043e\u043d\u0433\u043e\u043b", - "mo": "\u043c\u043e\u043b\u0434\u043e\u0432\u0435\u043d\u044f\u0441\u043a\u044d", - "mr": "\u092e\u0930\u093e\u0920\u0940", - "mrj": "\u041a\u044b\u0440\u044b\u043a \u043c\u0430\u0440\u044b", - "ms": "Bahasa Melayu", - "mt": "Malti", - "mus": "Mvskoke", - "mwl": "Mirand\u00e9s", - "my": "\u1019\u103c\u1014\u103a\u1019\u102c\u1018\u102c\u101e\u102c", - "myv": "\u042d\u0440\u0437\u044f\u043d\u044c", - "mzn": "\u0645\u0627\u0632\u0650\u0631\u0648\u0646\u06cc", - "na": "Dorerin Naoero", - "nah": "N\u0101huatl", - "nan": "B\u00e2n-l\u00e2m-g\u00fa", - "nap": "Nnapulitano", - "nb": "\u202anorsk (bokm\u00e5l)\u202c", - "nds": "Plattd\u00fc\u00fctsch", - "nds-nl": "Nedersaksisch", - "ne": "\u0928\u0947\u092a\u093e\u0932\u0940", - "new": "\u0928\u0947\u092a\u093e\u0932 \u092d\u093e\u0937\u093e", - "ng": "Oshiwambo", - "niu": "Niu\u0113", - "nl": "Nederlands", - "nl-informal": "\u202aNederlands (informeel)\u202c", - "nn": "\u202anorsk (nynorsk)\u202c", - "no": "\u202anorsk (bokm\u00e5l)\u202c", - "nov": "Novial", - "nrm": "Nouormand", - "nso": "Sesotho sa Leboa", - "nv": "Din\u00e9 bizaad", - "ny": "Chi-Chewa", - "oc": "occitan", - "om": "Oromoo", - "or": "\u0b13\u0b5c\u0b3f\u0b06", - "os": "\u0418\u0440\u043e\u043d", - "pa": "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40", - "pag": "Pangasinan", - "pam": "Kapampangan", - "pap": "Papiamentu", - "pcd": "Picard", - "pdc": "Deitsch", - "pdt": "Plautdietsch", - "pfl": "P\u00e4lzisch", - "pi": "\u092a\u093e\u0933\u093f", - "pih": "Norfuk \/ Pitkern", - "pl": "polski", - "pms": "Piemont\u00e8is", - "pnb": "\u067e\u0646\u062c\u0627\u0628\u06cc", - "pnt": "\u03a0\u03bf\u03bd\u03c4\u03b9\u03b1\u03ba\u03ac", - "prg": "Pr\u016bsiskan", - "ps": "\u067e\u069a\u062a\u0648", - "pt": "portugu\u00eas", - "pt-br": "portugu\u00eas do Brasil", - "qu": "Runa Simi", - "qug": "Runa shimi", - "rgn": "Rumagn\u00f4l", - "rif": "Tarifit", - "rm": "rumantsch", - "rmy": "Romani", - "rn": "Kirundi", - "ro": "rom\u00e2n\u0103", - "roa-rup": "Arm\u00e3neashce", - "roa-tara": "tarand\u00edne", - "ru": "\u0440\u0443\u0441\u0441\u043a\u0438\u0439", - "rue": "\u0440\u0443\u0441\u0438\u043d\u044c\u0441\u043a\u044b\u0439", - "rup": "Arm\u00e3neashce", - "ruq": "Vl\u0103he\u015fte", - "ruq-cyrl": "\u0412\u043b\u0430\u0445\u0435\u0441\u0442\u0435", - "ruq-latn": "Vl\u0103he\u015fte", - "rw": "Kinyarwanda", - "sa": "\u0938\u0902\u0938\u094d\u0915\u0943\u0924\u092e\u094d", - "sah": "\u0441\u0430\u0445\u0430 \u0442\u044b\u043b\u0430", - "sat": "Santali", - "sc": "sardu", - "scn": "sicilianu", - "sco": "Scots", - "sd": "\u0633\u0646\u068c\u064a", - "sdc": "Sassaresu", - "se": "s\u00e1megiella", - "sei": "Cmique Itom", - "sg": "S\u00e4ng\u00f6", - "sgs": "\u017eemait\u0117\u0161ka", - "sh": "srpskohrvatski \/ \u0441\u0440\u043f\u0441\u043a\u043e\u0445\u0440\u0432\u0430\u0442\u0441\u043a\u0438", - "shi": "Ta\u0161l\u1e25iyt\/\u2d5c\u2d30\u2d5b\u2d4d\u2d43\u2d49\u2d5c", - "shi-tfng": "\u2d5c\u2d30\u2d5b\u2d4d\u2d43\u2d49\u2d5c", - "shi-latn": "Ta\u0161l\u1e25iyt", - "si": "\u0dc3\u0dd2\u0d82\u0dc4\u0dbd", - "simple": "Simple English", - "sk": "sloven\u010dina", - "sl": "sloven\u0161\u010dina", - "sli": "Schl\u00e4sch", - "sm": "Gagana Samoa", - "sma": "\u00c5arjelsaemien", - "sn": "chiShona", - "so": "Soomaaliga", - "sq": "shqip", - "sr": "\u0441\u0440\u043f\u0441\u043a\u0438 \/ srpski", - "sr-ec": "\u202a\u0441\u0440\u043f\u0441\u043a\u0438 (\u045b\u0438\u0440\u0438\u043b\u0438\u0446\u0430)\u202c", - "sr-el": "\u202asrpski (latinica)\u202c", - "srn": "Sranantongo", - "ss": "SiSwati", - "st": "Sesotho", - "stq": "Seeltersk", - "su": "Basa Sunda", - "sv": "svenska", - "sw": "Kiswahili", - "szl": "\u015bl\u016fnski", - "ta": "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd", - "tcy": "\u0ca4\u0cc1\u0cb3\u0cc1", - "te": "\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41", - "tet": "tetun", - "tg": "\u0442\u043e\u04b7\u0438\u043a\u04e3", - "tg-cyrl": "\u0442\u043e\u04b7\u0438\u043a\u04e3", - "tg-latn": "tojik\u012b", - "th": "\u0e44\u0e17\u0e22", - "ti": "\u1275\u130d\u122d\u129b", - "tk": "T\u00fcrkmen\u00e7e", - "tl": "Tagalog", - "tly": "\u0442\u043e\u043b\u044b\u0448\u04d9 \u0437\u044b\u0432\u043e\u043d", - "tn": "Setswana", - "to": "lea faka-Tonga", - "tokipona": "Toki Pona", - "tpi": "Tok Pisin", - "tr": "T\u00fcrk\u00e7e", - "ts": "Xitsonga", - "tt": "\u0442\u0430\u0442\u0430\u0440\u0447\u0430\/tatar\u00e7a", - "tt-cyrl": "\u0442\u0430\u0442\u0430\u0440\u0447\u0430", - "tt-latn": "tatar\u00e7a", - "tum": "chiTumbuka", - "tw": "Twi", - "ty": "Reo M\u0101`ohi", - "tyv": "\u0422\u044b\u0432\u0430 \u0434\u044b\u043b", - "udm": "\u0423\u0434\u043c\u0443\u0440\u0442", - "ug": "\u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5 \/ Uyghurche", - "ug-arab": "\u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5", - "ug-latn": "Uyghurche", - "uk": "\u0443\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430", - "ur": "\u0627\u0631\u062f\u0648", - "uz": "O\u02bbzbekcha", - "ve": "Tshivenda", - "vec": "v\u00e8neto", - "vep": "Veps\u00e4n kel\u2019", - "vi": "Ti\u1ebfng Vi\u1ec7t", - "vls": "West-Vlams", - "vmf": "Mainfr\u00e4nkisch", - "vo": "Volap\u00fck", - "vot": "Va\u010f\u010fa", - "vro": "V\u00f5ro", - "wa": "walon", - "war": "Winaray", - "wo": "Wolof", - "wuu": "\u5434\u8bed", - "xal": "\u0425\u0430\u043b\u044c\u043c\u0433", - "xh": "isiXhosa", - "xmf": "\u10db\u10d0\u10e0\u10d2\u10d0\u10da\u10e3\u10e0\u10d8", - "yi": "\u05d9\u05d9\u05b4\u05d3\u05d9\u05e9", - "yo": "Yor\u00f9b\u00e1", - "yue": "\u7cb5\u8a9e", - "za": "Vahcuengh", - "zea": "Ze\u00eauws", - "zh": "\u4e2d\u6587", - "zh-classical": "\u6587\u8a00", - "zh-cn": "\u202a\u4e2d\u6587\uff08\u4e2d\u56fd\u5927\u9646\uff09\u202c", - "zh-hans": "\u202a\u4e2d\u6587\uff08\u7b80\u4f53\uff09\u202c", - "zh-hant": "\u202a\u4e2d\u6587\uff08\u7e41\u9ad4\uff09\u202c", - "zh-hk": "\u202a\u4e2d\u6587\uff08\u9999\u6e2f\uff09\u202c", - "zh-min-nan": "B\u00e2n-l\u00e2m-g\u00fa", - "zh-mo": "\u202a\u4e2d\u6587\uff08\u6fb3\u9580\uff09\u202c", - "zh-my": "\u202a\u4e2d\u6587\uff08\u9a6c\u6765\u897f\u4e9a\uff09\u202c", - "zh-sg": "\u202a\u4e2d\u6587\uff08\u65b0\u52a0\u5761\uff09\u202c", - "zh-tw": "\u202a\u4e2d\u6587\uff08\u53f0\u7063\uff09\u202c", - "zh-yue": "\u7cb5\u8a9e", - "zu": "isiZulu" - }; -})(jQuery); diff --git a/data/langdb.yaml b/data/langdb.yaml new file mode 100644 index 0000000..11954dd --- /dev/null +++ b/data/langdb.yaml @@ -0,0 +1,551 @@ +languages: + aa: [Latn, [AF], Qafár af] + ab: [Cyrl, [EU], Аҧсшәа] + ace: [Latn, [AS, PA], Acèh] + ady-cyrl: [Cyrl, [EU], Адыгэбзэ] + ady-latn: [Latn, [EU], Adygabze] + ady: [[Cyrl, Latn], [EU], [Адыгэбзэ, Adygabze]] + aeb: [Arab, [AF], زَوُن] + af: [Latn, [AF], Afrikaans] + ahr: [Deva, [AS], अहिराणी] + ak: [Latn, [AF], Akan] + akz: [Latn, [NA], Albaamo innaaɬiilka] + aln: [Latn, [EU], Gegë] + am: [Ethi, [AF], አማርኛ] + an: [Latn, [EU], aragonés] + ang: [Latn, [EU], Ænglisc] + anp: [Deva, [AS], अङ्गिका] + ar: [Arab, [ME], العربية] + arc: [Syrc, [ME], ܐܪܡܝܐ] + arn: [Latn, [SA], mapudungun] + aro: [Latn, [LA], Araona] + arq: [Latn, [AF], Dziri] + ary: [Latn, [ME], Maġribi] + arz: [Arab, [ME], مصرى] + as: [Beng, [AS], অসমীয়া] + ase: [Sgnw, [NA], American sign language] + ast: [Latn, [EU], asturianu] + av: [Cyrl, [EU], авар] + avk: [Latn, [WW], Kotava] + ay: [Latn, [SA], Aymar aru] + # also Arab, and in the past - Cyrl + az: [Latn, [EU, ME], azərbaycanca] + ba: [Cyrl, [EU], башҡортса] + bar: [Latn, [EU], Boarisch] + bbc-latn: [Latn, [AS], Batak Toba] + # FIXME + bbc: [Batk, [AS], Batak Toba/Batak autonym unknown] + bcc: [Arab, [AS, ME], بلوچی مکرانی] + bcl: [Latn, [AS], Bikol Central] +# FIXME: which is the correct code? + be-tarask: [Cyrl, [EU], беларуская (тарашкевіца)] + be-x-old: [Cyrl, [EU], беларуская (тарашкевіца)] + be: [Cyrl, [EU], беларуская] + bew: [Latn, [AS], Bahasa Betawi] + bfq: [Taml, [AS], படகா] + bg: [Cyrl, [EU], български] + bh: [Deva, [AS], भोजपुरी] + bho: [Deva, [AS], भोजपुरी] + bi: [Latn, [PA], Bislama] + bjn: [Latn, [AS], Bahasa Banjar] + bm: [Latn, [AF], bamanankan] + bn: [Beng, [AS], বাংলা] + bo: [Tibt, [AS], བོད་ཡིག] + bpy: [Beng, [AS], বিষ্ণুপ্রিয়া মণিপুরী] + bqi: [Arab, [ME], بختياري] + br: [Latn, [EU], brezhoneg] + brh: [Latn, [ME, AS], Bráhuí] + bs: [Latn, [EU], bosanski] + bto: [Latn, [AS], Iriga Bicolano] + bug: [Bugi, [AS], ᨅᨔ ᨕᨘᨁᨗ] + bxr: [Cyrl, [AS], буряад] + ca: [Latn, [EU], català] + cbk-zam: [Latn, [AS], Chavacano de Zamboanga] + cdo: [Latn, [AS], Mìng-dĕ̤ng-ngṳ̄] + ce: [Cyrl, [EU], нохчийн] + ceb: [Latn, [AS], Cebuano] + ch: [Latn, [PA], Chamoru] + cho: [Latn, [NA], Choctaw] + chr: [Cher, [NA], ᏣᎳᎩ] + chy: [Latn, [NA], Tsetsêhestâhese] + ckb: [Arab, [ME], کوردی] + co: [Latn, [EU], corsu] + cps: [Latn, [AS], Capiceño] + cr-cans: [Cans, [NA], ᓀᐦᐃᔭᐍᐏᐣ] + cr-latn: [Latn, [NA], Nēhiyawēwin] + cr: [[Latn, Cans], [NA], [Nēhiyawēwin, ᓀᐦᐃᔭᐍᐏᐣ]] + crh-cyrl: [Cyrl, [EU], къырымтатарджа (Кирилл)] + crh-latn: [Latn, [EU], qırımtatarca (Latin)] + # Latn is default, Cyrl is common IRL + crh: [[Curl, Latn], [EU], [къырымтатарджа, qırımtatarca]] + cs: [Latn, [EU], česky] + csb: [Latn, [EU], kaszëbsczi] +# FIXME: what script? + cu: [Cyrl, [EU], словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ] + cv: [Cyrl, [EU], Чӑвашла] + cy: [Latn, [EU], Cymraeg] + da: [Latn, [EU], dansk] + de-at: [Latn, [EU], Österreichisches Deutsch] + de-ch: [Latn, [EU], Schweizer Hochdeutsch] + de-formal: [Latn, [EU], Deutsch (Sie-Form)] + de: [Latn, [EU], Deutsch] + diq: [Latn, [EU, AS], Zazaki] + dsb: [Latn, [EU], dolnoserbski] + dtp: [Latn, [AS], Dusun Bundu-liwan] + dv: [Thaa, [AS], ދިވެހިބަސް] + dz: [Tibt, [AS], ཇོང་ཁ] + ee: [Latn, [AF], eʋegbe] + egl: [Latn, [EU], Emiliàn] + el: [Grek, [EU], Ελληνικά] + eml: [Latn, [EU], emiliàn e rumagnòl] + en-ca: [Latn, [NA], Canadian English] + en-gb: [Latn, [EU, AS, AU], British English] + # world? + en: [Latn, [EU, NA, AU, AF, ME, AS, PA, WW], English] + eo: [Latn, [WW], Esperanto] + es-419: [Latn, [LA], espanol de America Latina] + # world? + es-formal: [Latn, [EU, NA, LA, SA, AF, WW], Español (formal)] + # world? + es: [Latn, [EU, NA, LA, SA, AF, WW], español] + esu: [Latn, [NA], "Yup'ik"] + et: [Latn, [EU], eesti] + eu: [Latn, [EU], euskara] + ext: [Latn, [EU], estremeñu] + fa: [Arab, [ME], فارسی] + ff: [Latn, [AF], Fulfulde] + fi: [Latn, [EU], suomi] + fit: [Latn, [EU], meänkieli] + fj: [Latn, [PA], Na Vosa Vakaviti] + fo: [Latn, [EU], føroyskt] + fr: [Latn, [EU], français] + frc: [Latn, [EU], français cadien] + frp: [Latn, [EU], arpetan] + frr: [Latn, [EU], Nordfriisk] + fur: [Latn, [EU], furlan] + fy: [Latn, [EU], Frysk] + ga: [Latn, [EU], Gaeilge] + gag: [Latn, [EU], Gagauz] + gah: [Latn, [AS], Alekano] + gan-hans: [Hans, [AS], 赣语(简体)] + gan-hant: [Hant, [AS], 贛語(繁體)] + gan: [Hant, [AS], 贛語] + gbz: [Latn, [AS], Dari] + gcf: [Latn, [LA], Guadeloupean Creole French] + gd: [Latn, [EU], Gàidhlig] + gl: [Latn, [EU], galego] + glk: [Arab, [ME], گیلکی] + gn: [Latn, [LA], "Avañe'ẽ"] + gom-deva: [Deva, [AS], कोंकणी] + gom-latn: [Latn, [AS], Konknni] + gom: [[Deva, Latn], [AS], [कोंकणी, Konknni]] + # hmph?? + got: [Goth, [EU], 𐌲𐌿𐍄𐌹𐍃𐌺] + grc: [Grek, [EU], Ἀρχαία ἑλληνικὴ] + gsw: [Latn, [EU], Alemannisch] + gu: [Gujr, [AS], ગુજરાતી] + guc: [Latn, [LA], Wayúu] + gur: [Latn, [AF], Gurenɛ] + gv: [Latn, [EU], Gaelg] + # The name in Names.php is Arabic, but everything else is Latn + ha: [Latn, [AF], هَوُسَ] + hak: [Latn, [AS], Hak-kâ-fa] + haw: [Latn, [NA, PA], Hawai`i] + he: [Hebr, [ME], עברית] + # Or maybe world? + hi: [Deva, [AS], हिन्दी] + hif-deva: [Deva, [AS], फ़ीजी हिन्दी] + hif-latn: [Latn, [PA, AU, AS], Fiji Hindi] + hif: [[Deva, Latn[, [PA, AU, AS], [फ़ीजी हिन्दी, Fiji Hindi]] + hil: [Latn, [AS], Ilonggo] + hne: [Deva, [AS], छत्तीसगढ़ी] + ho: [Latn, [PA], Hiri Motu] + hr: [Latn, [EU], hrvatski] + hsb: [Latn, [EU], hornjoserbsce] + hsn: [Hans, [AS], 湘语] + # Haitian Creole. North America, right? + ht: [Latn, [NA], Kreyòl ayisyen] + hu-formal: [Latn, [EU], Magyar (magázó)] + hu: [Latn, [EU], magyar] + hy: [Armn, [EU, ME], Հայերեն] + hz: [Latn, [AF], Otsiherero] + ia: [Latn, [WW], interlingua] + id: [Latn, [AS], Bahasa Indonesia] + ie: [Latn, [WW], Interlingue] + ig: [Latn, [AF], Igbo] + ii: [Yiii, [AS], ꆇꉙ] + ik: [Latn, [NA], Iñupiak] + ike-cans: [Cans, [NA], ᐃᓄᒃᑎᑐᑦ] + ike-latn: [Latn, [NA], inuktitut] + ike: [[Cans, Latn], [NA], [ᐃᓄᒃᑎᑐᑦ, inuktitut]] + ilo: [Latn, [AS], Ilokano] + inh: [Cyrl, [EU], ГӀалгӀай] + io: [Latn, [WW], Ido] + is: [Latn, [EU], íslenska] + it: [Latn, [EU], italiano] +# FIXME: relation to ike? + iu: [Cans, [NA], ᐃᓄᒃᑎᑐᑦ/inuktitut] + ja: [Jpan, [AS], 日本語] + jam: [Latn, [NA], Patois] + jbo: [Latn, [WW], Lojban] + jut: [Latn, [EU], jysk] + # also in the Javanese script (Java), but the Wikipedia is in Latn + jv: [Latn, [AS, PA], Basa Jawa] + ka: [Geor, [EU], ქართული] + kaa: [Latn, [AS], Qaraqalpaqsha] + # Can also be Tfng, but the Wikipedia is mostly Latn + kab: [Latn, [AF, EU], Taqbaylit] + kbd-cyrl: [Cyrl, [EU, ME], Адыгэбзэ] + kbd-latn: [Latn, [EU], Qabardjajəbza] + kbd: [Cyrl, [EU, ME], Адыгэбзэ] + kea: [Latn, [AF], Kabuverdianu] + kg: [Latn, [AF], Kongo] + kgp: [Latn, [LA], Kaingáng] + khw: [Arab, [ME, AS], کھوار] + ki: [Latn, [AF], Gĩkũyũ] + kiu: [Latn, [EU, ME], Kırmancki] + kj: [Latn, [AF], Kwanyama] + kk-arab: [Arab, [EU, AS], قازاقشا (تٴوتە)] + kk-cn: [Arab, [EU, AS, ME], قازاقشا (جۇنگو)] + kk-cyrl: [Cyrl, [EU, AS], қазақша (кирил)] + kk-kz: [Cyrl, [EU, AS], қазақша (Қазақстан)] + kk-latn: [Latn, [EU, AS, ME], qazaqşa (latın)] + kk-tr: [Latn, [EU, AS, ME], qazaqşa (Türkïya)] + kk: [[Arab, Cyrl, Latn] [EU, AS], [قازاقشا, қазақша, qazaqşa]] + kl: [Latn, [NA, EU], kalaallisut] + km: [Khmr, [AS], ភាសាខ្មែរ] + kn: [Knda, [AS], ಕನ್ನಡ] + # Here Hang may be even more appropriate, because kp has more resistance to Han + ko-kp: [Kore, [AS], 한국어 (조선)] + # Kore is an alias for Hangul+Han. Maybe Hang is more appropriate? + ko: [Kore, [AS], 한국어] + koi: [Cyrl, [EU], Перем Коми] + kr: [Latn, [AF], Kanuri] + krc: [Cyrl, [EU], къарачай-малкъар] + kri: [Latn, [AF], Krio] + krj: [Latn, [ME, EU], Kinaray-a] + krl: [Latn, [EU], Karjala] + ks-arab: [Arab, [AS], کٲشُر] + ks-deva: [Deva, [AS], कॉशुर] + # Just because it's the current default in the Wikipedia. Deva may be needed, too. + ks: [[Deva, Arab], [AS], [कॉशुर, کٲشُر]] + ksf: [Latn, [AF], Bafia] + ksh: [Latn, [EU], Ripoarisch] + ku-arab: [Arab, [EU, ME], كوردي (عەرەبی)] + ku-latn: [Latn, [EU, ME], Kurdî (latînî)] + ku: [[Arab, Latn], [EU, ME], [كوردي , Kurdî]] + kv: [Cyrl, [EU], коми] + kw: [Latn, [EU], kernowek] + ky: [Cyrl, [AS], Кыргызча] + la: [Latn, [EU], Latina] + # Most identified with Turkey, Bulgaria, Greece, Spain and Israel, + # but also spoken in Latin America and elsewhere. + # Wikipedia is mostly in Latn, but also in Hebr. (Comparable to az.) + lad: [Latn, [ME, EU, LA], Ladino] + lb: [Latn, [EU], Lëtzebuergesch] + lbe: [Cyrl, [EU], лакку] + lez: [Cyrl, [EU], лезги] + lfn: [Latn, [WW], Lingua Franca Nova] + lg: [Latn, [AF], Luganda] + li: [Latn, [EU], Limburgs] + lij: [Latn, [EU], Ligure] + liv: [Latn, [EU], Līvõ kēļ] + lld: [Latn, [EU], Ladin] + lmo: [Latn, [EU], lumbaart] + ln: [Latn, [AF], lingála] + lo: [Laoo, [AS], ລາວ] + loz: [Latn, [AF], Silozi] + lt: [Latn, [EU], lietuvių] + ltg: [Latn, [EU], latgaļu] + lus: [Latn, [AS], Mizo ţawng] + lv: [Latn, [EU], latviešu] + lzh: [Hant, [AS], 文言] + # Also Geor, but the incubator is in Latn + lzz: [Latn, [EU, ME], Lazuri] + mai: [Deva, [AS], मैथिली] + map-bms: [Latn, [AS], Basa Banyumasan] + mdf: [Cyrl, [EU], мокшень] + mfe: [Latn, [LA], Morisyen] + mg: [Latn, [AF], Malagasy] + mh: [Latn, [PA], Ebon] + mhr: [Cyrl, [EU], олык марий] + mi: [Latn, [PA, AU], Māori] + mic: [Latn, [NA], "Mi'kmaq"] + min: [Latn, [AS], Baso Minangkabau] + mk: [Cyrl, [EU], македонски] + ml: [Mlym, [AS, ME], മലയാളം] + # Hmm, can also have Mong some day in some way + mn: [Cyrl, [AS], монгол] + mnc: [Mong, [AS], ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ] + mni: [Beng, [AS], মেইতেই লোন্] + mnw: [Mymr, [AS], ဘာသာ မန်] + mo: [Cyrl, [EU], молдовеняскэ] + mr: [Deva, [AS, ME], मराठी] + mrj: [Cyrl, [EU], кырык мары] + ms: [Latn, [AS], Bahasa Melayu] + mt: [Latn, [EU], Malti] + mui: [Latn, [AS], Musi] + mus: [Latn, [NA], Mvskoke] + mwl: [Latn, [EU], Mirandés] + mwv: [Latn, [AS], Behase Mentawei] + my: [Mymr, [AS], မြန်မာဘာသာ] + myv: [Cyrl, [EU], эрзянь] + mzn: [Arab, [ME, AS], مازِرونی] + na: [Latn, [PA, AU], Dorerin Naoero] + nah: [Latn, [NA, LA], Nāhuatl] + nan: [Latn, [AS], Bân-lâm-gú] + nap: [Latn, [EU], Nnapulitano] + nb: [Latn, [EU], norsk (bokmål)] + nds-nl: [Latn, [EU], Nedersaksisch] + nds: [Latn, [EU], Plattdüütsch] + ne: [Deva, [AS], नेपाली] + new: [Deva, [AS], नेपाल भाषा] + ng: [Latn, [AF], Oshiwambo] + niu: [Latn, [PA], ko e vagahau Niuē] + njo: [Latn, [AS], Ao] + nl-informal: [Latn, [EU, SA], Nederlands (informeel)] + nl: [Latn, [EU, SA], Nederlands] + nn: [Latn, [EU], norsk (nynorsk)] + "no": [Latn, [EU]] + nov: [Latn, [WW], Novial] + nqo: [Nkoo, [AF], ߒߞߏ] + nrm: [Latn, [EU], Nouormand] + nso: [Latn, [AF], Sesotho sa Leboa] + nv: [Latn, [NA], Diné bizaad] + ny: [Latn, [AF], Chi-Chewa] + oc: [Latn, [EU], occitan] + om: [Latn, [AF], Oromoo] + or: [Orya, [AS], ଓଡ଼ିଆ] + os: [Cyrl, [EU], Ирон] + pa: [Guru, [AS], ਪੰਜਾਬੀ] + pag: [Latn, [AS], Pangasinan] + pam: [Latn, [AS], Kapampangan] + pap: [Latn, [LA], Papiamentu] + pcd: [Latn, [EU], Picard] + pdc: [Latn, [EU, NA, SA], Deitsch] + pdt: [Latn, [EU, NA, SA], Plautdietsch] + pfl: [Latn, [EU], Pälzisch] + pi: [Deva, [AS], पाळि] + pih: [Latn, [PA], Norfuk / Pitkern] + pis: [Latn, [PA], Pijin] + pko: [Latn, [AF], Pökoot] + pl: [Latn, [EU], polski] + pms: [Latn, [EU], Piemontèis] + pnb: [Arab, [AS, ME], پنجابی] + pnt: [Grek, [EU], Ποντιακά] + ppl: [Latn, [LA], Nawat] + prg: [Latn, [EU], Prūsiskan] + pru: [Latn, [EU], Prūsiskan] + ps: [Arab, [AS, ME], پښتو] + pt-br: [Latn, [SA, LA], português do Brasil] + # world? + pt: [Latn, [EU, LA, AS, PA, AF], português] + qu: [Latn, [SA], Runa Simi] + qug: [Latn, [SA], Runa shimi] + rap: [Latn, [LA], arero rapa nui] + rgn: [Latn, [EU], Rumagnôl] + rif: [Latn, [AF], Tarifit] + rki: [Mymr, [AS], ရခိုင်] + rm: [Latn, [EU], rumantsch] + rmy: [Latn, [EU], Romani] + rn: [Latn, [AF], Kirundi] + ro: [Latn, [EU], română] + roa-rup: [Latn, [EU], Armãneashce] + roa-tara: [Latn, [EU], tarandíne] + rtm: [Latn, [PA], Faeag Rotuma] + # world? + ru: [Cyrl, [EU, AS, ME], русский] + rue: [Cyrl, [EU], русиньскый] + rup: [Latn, [EU], Armãneashce] + ruq: [Latn, [EU], Vlăheşte] + ruq-cyrl: [Cyrl, [EU], Влахесте] +# FIXME: broken autonym + ruq-grek: [Grek, [EU], Megleno-Romanian (Greek script)] + ruq-latn: [Latn, [EU], Vlăheşte] + rw: [Latn, [AF], Kinyarwanda] + ryu: [Kana, [AS], ʔucināguci] + sa: [Deva, [AS], संस्कृतम्] + # Russian Far East - Europe, Asia, or both? + sah: [Cyrl, [EU, AS], саха тыла] + # Currently Latn, potentially Olck + sat: [Latn, [AS], Santali] + saz: [Saur, [AS], ꢱꣃꢬꢵꢯ꣄ꢡ꣄ꢬꢵ] + sc: [Latn, [EU], sardu] + scn: [Latn, [EU], sicilianu] + sco: [Latn, [EU], Scots] + sd: [Arab, [AS], سنڌي] + sdc: [Latn, [EU], Sassaresu] + se: [Latn, [EU], sámegiella] + sei: [Latn, [NA, LA], Cmique Itom] + sg: [Latn, [AF], Sängö] + sgs: [Latn, [EU], žemaitėška] + sh-cyrl: [Cyrl, [EU], српскохрватски] + sh-latn: [Latn, [EU], srpskohrvatski] + sh: [[Latn, Cyrl], [EU], [srpskohrvatski, српскохрватски]] + shi-latn: [Latn, [AF], Tašlḥiyt] + shi-tfng: [Tfng, [AF], ⵜⴰⵛⵍⵃⵉⵜ] + shi: [[Latn, Tfng], [AF], [Tašlḥiyt, ⵜⴰⵛⵍⵃⵉⵜ]] + shn: [Mymr, [AS], လိၵ်ႈတႆး] + si: [Sinh, [AS], සිංහල] + simple: [Latn, [WW], Simple English] + sk: [Latn, [EU], slovenčina] + sl: [Latn, [EU], slovenščina] + sli: [Latn, [EU], Schläsch] + slr: [Latn, [AS], Salırça] + sly: [Latn, [AS], Bahasa Selayar] + sm: [Latn, [PA], Gagana Samoa] + sma: [Latn, [EU], Åarjelsaemien] + sn: [Latn, [AF], chiShona] + so: [Latn, [AF], Soomaaliga] + sq: [Latn, [EU], shqip] + sr-ec: [Cyrl, [EU], српски (ћирилица)] + sr-el: [Latn, [EU], srpski (latinica)] + sr: [[Cyrl, Latn], [EU], [српски, srpski]] + srn: [Latn, [SA, NA, EU], Sranantongo] + ss: [Latn, [AF], SiSwati] + st: [Latn, [AF], Sesotho] + stq: [Latn, [EU], Seeltersk] + su: [Latn, [AS], Basa Sunda] + sv: [Latn, [EU], svenska] + sw: [Latn, [AF], Kiswahili] + swb: [Latn, [AF], Shikomoro] + sxu: [Latn, [EU], Säggssch] + szl: [Latn, [EU], ślůnski] + ta: [Taml, [AS], தமிழ்] + tcy: [Knda, [AS], ತುಳು] + te: [Telu, [AS], తెలుగు] + tet: [Latn, [AS, PA], tetun] + tg-cyrl: [Cyrl, [AS], тоҷикӣ] + tg-latn: [Latn, [AS], tojikī] + tg: [Cyrl, [AS], тоҷикӣ] + th: [Thai, [AS], ไทย] + ti: [Ethi, [AF], ትግርኛ] + tk: [Latn, [AS], Türkmençe] + tkr: [Cyrl, [AS], ЦӀаьхна миз] + tl: [Latn, [AS], Tagalog] + # A very complicated case. Names.php is Cyrl. In TWN they argue about Cyrl, Latn, and Arab. I can't find reliable external sources. --Amir + tly: [Cyrl, [EU, AS, ME], толышә зывон] + tn: [Latn, [AF], Setswana] + to: [Latn, [PA], lea faka-Tonga] + tokipona: [Latn, [WW], Toki Pona] + tpi: [Latn, [PA, AS], Tok Pisin] + tr: [Latn, [EU, ME], Türkçe] + trp: [Latn, [AS], Kokborok (Tripuri)] + tru: [Latn, [AS], Ṫuroyo] + ts: [Latn, [AF], Xitsonga] + tsd: [Grek, [EU], Τσακωνικά] + tt-cyrl: [Cyrl, [EU], татарча] + tt-latn: [Latn, [EU], tatarça] + tt: [[Cyrl, Latn] [EU], [татарча, tatarça]] + ttt: [Cyrl, [AS], Tati] + tum: [Latn, [AF], chiTumbuka] + tw: [Latn, [AF], Twi] + twd: [Latn, [EU], Tweants] + ty: [Latn, [PA], Reo Mā`ohi] + tyv: [Cyrl, [AS], тыва дыл] + tzm: [Tfng, [AF], ⵜⴰⵎⴰⵣⵉⵖⵜ] + udm: [Cyrl, [EU], удмурт] + ug-arab: [Arab, [AS], ئۇيغۇرچە] + ug-latn: [Latn, [AS], Uyghurche] + ug: [[Arab, Latn], [AS], [ئۇيغۇرچە, Uyghurche]] + uk: [Cyrl, [EU], українська] + ur: [Arab, [AS, ME], اردو] + uz: [Latn, [AS], oʻzbekcha] + ve: [Latn, [AF], Tshivenda] + vec: [Latn, [EU], vèneto] + vep: [Latn, [EU], vepsän kel’] + vi: [Latn, [AS], Tiếng Việt] + vls: [Latn, [EU], West-Vlams] + vmf: [Latn, [EU], Mainfränkisch] + vo: [Latn, [WW], Volapük] + vot: [Latn, [EU], Vaďďa] + vro: [Latn, [EU], Võro] + wa: [Latn, [EU], walon] + war: [Latn, [AS], Winaray] + wls: [Latn, [PA], "Faka'uvea"] + wo: [Latn, [AF], Wolof] + wuu: [Hans, [EU], 吴语] + xal: [Cyrl, [EU], хальмг] + xh: [Latn, [AF], isiXhosa] + xmf: [Geor, [EU], მარგალური] + ydd: [Hebr, [AS, EU], Eastern Yiddish] + yi: [Hebr, [ME, EU, NA, SA], ייִדיש] + yo: [Latn, [AF], Yorùbá] + yrk: [Cyrl, [AS], Ненэцяʼ вада] + yrl: [Latn, [LA], "ñe'engatú"] + yua: [Latn, [NA, LA], "Maaya T'aan"] + # world? + yue: [Hant, [AS], 粵語] + za: [Latn, [AS], Vahcuengh] + zea: [Latn, [EU], Zeêuws] + zh-classical: [Hant, [AS], 文言] + zh-cn: [Hans, [AS], 中文(中国大陆)] + zh-hans: [Hans, [AS], 中文(简体)] + zh-hant: [Hant, [AS], 中文(繁體)] + zh-hk: [Hant, [AS], 中文(香港)] + zh-min-nan: [Latn, [AS], Bân-lâm-gú] + zh-mo: [Hant, [AS], 中文(澳門)] + zh-my: [Hans, [AS], 中文(马来西亚)] + zh-sg: [Hans, [AS], 中文(新加坡)] + zh-tw: [Hant, [AS], 中文(台灣)] + zh-yue: [Hans, [AS], 粵語] + zh: [Hans, [AS], 中文] + zu: [Latn, [AF], isiZulu] + + # The codes are taken from http://unicode.org/iso15924/iso15924-codes.html . + # + # The classification is roughly based on http://www.unicode.org/charts/ + # with some practical corrections. +scriptgroups: + # Other is reserved + # Large groups, one script in each + Cyrillic: [Cyrl] + Arabic: [Arab] + # It's probalby different enough from Latin and Cyrillic, but user testing + # may prove otherwise. + Greek: [Grek] + # Couldn't find a better place for Goth. + Latin: [Latn, Goth] + WestCaucasian: [Armn, Geor] + # Maybe it can be unified with Arabic. + # Maybe Thaana can be moved here from SouthAsian. + # Maybe it can be unified with African. + MiddleEastern: [Hebr, Syrc] + African: [Ethi, Nkoo, Tfng] + # India, Nepal, Bangladesh, Sri-Lanka, Bhutan, Maldives. + # + # Thaana (Thaa, the script of Maldives) is here, even though it's RTL, + # because it's closer geographically to India. Maybe it should be moved + # to MiddleEastern or to Arabic, if that would be easier to users. + # + # Tibetan (Tibt) is here, even though it's classified as "Central Asian" by + # Unicode, because linguistically and geographically it's closely related to + # the Brahmic family. + SouthAsian: [Beng, Deva, Gujr, Guru, Knda, Mlym, Orya, Saur, Sinh, Taml, Telu, Tibt, Thaa] + SouthEastAsian: [Batk, Bugi, Java, Khmr, Laoo, Mymr, Thai] + Mongolian: [Mong] + SignWriting: [Sgnw] + CJK: [Hans, Hant, Kana, Kore, Jpan, Yiii] + NativeAmerican: [Cher, Cans] + +regiongroups: + # north-america + NA: 1 + # latin-america + LA: 1 + # south-america + SA: 1 + # europe + EU: 2 + # middle-east + ME: 2 + # africa + AF: 2 + # asia + AS: 3 + # pacific + PA: 3 + # australia + AU: 3 + # world wide, international + WW: 4 diff --git a/data/spyc.php b/data/spyc.php new file mode 100644 index 0000000..47d5877 --- /dev/null +++ b/data/spyc.php @@ -0,0 +1,1046 @@ + + * @author Chris Wanstrath + * @link http://code.google.com/p/spyc/ + * @copyright Copyright 2005-2006 Chris Wanstrath, 2006-2011 Vlad Andersen + * @license http://www.opensource.org/licenses/mit-license.php MIT License + * @package Spyc + */ + +if (!function_exists('spyc_load')) { + /** + * Parses YAML to array. + * @param string $string YAML string. + * @return array + */ + function spyc_load ($string) { + return Spyc::YAMLLoadString($string); + } +} + +if (!function_exists('spyc_load_file')) { + /** + * Parses YAML to array. + * @param string $file Path to YAML file. + * @return array + */ + function spyc_load_file ($file) { + return Spyc::YAMLLoad($file); + } +} + +/** + * The Simple PHP YAML Class. + * + * This class can be used to read a YAML file and convert its contents + * into a PHP array. It currently supports a very limited subsection of + * the YAML spec. + * + * Usage: + * + * $Spyc = new Spyc; + * $array = $Spyc->load($file); + * + * or: + * + * $array = Spyc::YAMLLoad($file); + * + * or: + * + * $array = spyc_load_file($file); + * + * @package Spyc + */ +class Spyc { + + // SETTINGS + + const REMPTY = "\0\0\0\0\0"; + + /** + * Setting this to true will force YAMLDump to enclose any string value in + * quotes. False by default. + * + * @var bool + */ + public $setting_dump_force_quotes = false; + + /** + * Setting this to true will forse YAMLLoad to use syck_load function when + * possible. False by default. + * @var bool + */ + public $setting_use_syck_is_possible = false; + + + + /**#@+ + * @access private + * @var mixed + */ + private $_dumpIndent; + private $_dumpWordWrap; + private $_containsGroupAnchor = false; + private $_containsGroupAlias = false; + private $path; + private $result; + private $LiteralPlaceHolder = '___YAML_Literal_Block___'; + private $SavedGroups = array(); + private $indent; + /** + * Path modifier that should be applied after adding current element. + * @var array + */ + private $delayedPath = array(); + + /**#@+ + * @access public + * @var mixed + */ + public $_nodeId; + +/** + * Load a valid YAML string to Spyc. + * @param string $input + * @return array + */ + public function load ($input) { + return $this->__loadString($input); + } + + /** + * Load a valid YAML file to Spyc. + * @param string $file + * @return array + */ + public function loadFile ($file) { + return $this->__load($file); + } + + /** + * Load YAML into a PHP array statically + * + * The load method, when supplied with a YAML stream (string or file), + * will do its best to convert YAML in a file into a PHP array. Pretty + * simple. + * Usage: + * + * $array = Spyc::YAMLLoad('lucky.yaml'); + * print_r($array); + * + * @access public + * @return array + * @param string $input Path of YAML file or string containing YAML + */ + public static function YAMLLoad($input) { + $Spyc = new Spyc; + return $Spyc->__load($input); + } + + /** + * Load a string of YAML into a PHP array statically + * + * The load method, when supplied with a YAML string, will do its best + * to convert YAML in a string into a PHP array. Pretty simple. + * + * Note: use this function if you don't want files from the file system + * loaded and processed as YAML. This is of interest to people concerned + * about security whose input is from a string. + * + * Usage: + * + * $array = Spyc::YAMLLoadString("---\n0: hello world\n"); + * print_r($array); + * + * @access public + * @return array + * @param string $input String containing YAML + */ + public static function YAMLLoadString($input) { + $Spyc = new Spyc; + return $Spyc->__loadString($input); + } + + /** + * Dump YAML from PHP array statically + * + * The dump method, when supplied with an array, will do its best + * to convert the array into friendly YAML. Pretty simple. Feel free to + * save the returned string as nothing.yaml and pass it around. + * + * Oh, and you can decide how big the indent is and what the wordwrap + * for folding is. Pretty cool -- just pass in 'false' for either if + * you want to use the default. + * + * Indent's default is 2 spaces, wordwrap's default is 40 characters. And + * you can turn off wordwrap by passing in 0. + * + * @access public + * @return string + * @param array $array PHP array + * @param int $indent Pass in false to use the default, which is 2 + * @param int $wordwrap Pass in 0 for no wordwrap, false for default (40) + */ + public static function YAMLDump($array,$indent = false,$wordwrap = false) { + $spyc = new Spyc; + return $spyc->dump($array,$indent,$wordwrap); + } + + + /** + * Dump PHP array to YAML + * + * The dump method, when supplied with an array, will do its best + * to convert the array into friendly YAML. Pretty simple. Feel free to + * save the returned string as tasteful.yaml and pass it around. + * + * Oh, and you can decide how big the indent is and what the wordwrap + * for folding is. Pretty cool -- just pass in 'false' for either if + * you want to use the default. + * + * Indent's default is 2 spaces, wordwrap's default is 40 characters. And + * you can turn off wordwrap by passing in 0. + * + * @access public + * @return string + * @param array $array PHP array + * @param int $indent Pass in false to use the default, which is 2 + * @param int $wordwrap Pass in 0 for no wordwrap, false for default (40) + */ + public function dump($array,$indent = false,$wordwrap = false) { + // Dumps to some very clean YAML. We'll have to add some more features + // and options soon. And better support for folding. + + // New features and options. + if ($indent === false or !is_numeric($indent)) { + $this->_dumpIndent = 2; + } else { + $this->_dumpIndent = $indent; + } + + if ($wordwrap === false or !is_numeric($wordwrap)) { + $this->_dumpWordWrap = 40; + } else { + $this->_dumpWordWrap = $wordwrap; + } + + // New YAML document + $string = "---\n"; + + // Start at the base of the array and move through it. + if ($array) { + $array = (array)$array; + $previous_key = -1; + foreach ($array as $key => $value) { + if (!isset($first_key)) $first_key = $key; + $string .= $this->_yamlize($key,$value,0,$previous_key, $first_key, $array); + $previous_key = $key; + } + } + return $string; + } + + /** + * Attempts to convert a key / value array item to YAML + * @access private + * @return string + * @param $key The name of the key + * @param $value The value of the item + * @param $indent The indent of the current node + */ + private function _yamlize($key,$value,$indent, $previous_key = -1, $first_key = 0, $source_array = null) { + if (is_array($value)) { + if (empty ($value)) + return $this->_dumpNode($key, array(), $indent, $previous_key, $first_key, $source_array); + // It has children. What to do? + // Make it the right kind of item + $string = $this->_dumpNode($key, self::REMPTY, $indent, $previous_key, $first_key, $source_array); + // Add the indent + $indent += $this->_dumpIndent; + // Yamlize the array + $string .= $this->_yamlizeArray($value,$indent); + } elseif (!is_array($value)) { + // It doesn't have children. Yip. + $string = $this->_dumpNode($key, $value, $indent, $previous_key, $first_key, $source_array); + } + return $string; + } + + /** + * Attempts to convert an array to YAML + * @access private + * @return string + * @param $array The array you want to convert + * @param $indent The indent of the current level + */ + private function _yamlizeArray($array,$indent) { + if (is_array($array)) { + $string = ''; + $previous_key = -1; + foreach ($array as $key => $value) { + if (!isset($first_key)) $first_key = $key; + $string .= $this->_yamlize($key, $value, $indent, $previous_key, $first_key, $array); + $previous_key = $key; + } + return $string; + } else { + return false; + } + } + + /** + * Returns YAML from a key and a value + * @access private + * @return string + * @param $key The name of the key + * @param $value The value of the item + * @param $indent The indent of the current node + */ + private function _dumpNode($key, $value, $indent, $previous_key = -1, $first_key = 0, $source_array = null) { + // do some folding here, for blocks + if (is_string ($value) && ((strpos($value,"\n") !== false || strpos($value,": ") !== false || strpos($value,"- ") !== false || + strpos($value,"*") !== false || strpos($value,"#") !== false || strpos($value,"<") !== false || strpos($value,">") !== false || strpos ($value, ' ') !== false || + strpos($value,"[") !== false || strpos($value,"]") !== false || strpos($value,"{") !== false || strpos($value,"}") !== false) || strpos($value,"&") !== false || strpos($value, "'") !== false || strpos($value, "!") === 0 || + substr ($value, -1, 1) == ':') + ) { + $value = $this->_doLiteralBlock($value,$indent); + } else { + $value = $this->_doFolding($value,$indent); + } + + if ($value === array()) $value = '[ ]'; + if (in_array ($value, array ('true', 'TRUE', 'false', 'FALSE', 'y', 'Y', 'n', 'N', 'null', 'NULL'), true)) { + $value = $this->_doLiteralBlock($value,$indent); + } + if (trim ($value) != $value) + $value = $this->_doLiteralBlock($value,$indent); + + if (is_bool($value)) { + $value = ($value) ? "true" : "false"; + } + + if ($value === null) $value = 'null'; + if ($value === "'" . self::REMPTY . "'") $value = null; + + $spaces = str_repeat(' ',$indent); + + //if (is_int($key) && $key - 1 == $previous_key && $first_key===0) { + if (is_array ($source_array) && array_keys($source_array) === range(0, count($source_array) - 1)) { + // It's a sequence + $string = $spaces.'- '.$value."\n"; + } else { + // if ($first_key===0) throw new Exception('Keys are all screwy. The first one was zero, now it\'s "'. $key .'"'); + // It's mapped + if (strpos($key, ":") !== false || strpos($key, "#") !== false) { $key = '"' . $key . '"'; } + $string = rtrim ($spaces.$key.': '.$value)."\n"; + } + return $string; + } + + /** + * Creates a literal block for dumping + * @access private + * @return string + * @param $value + * @param $indent int The value of the indent + */ + private function _doLiteralBlock($value,$indent) { + if ($value === "\n") return '\n'; + if (strpos($value, "\n") === false && strpos($value, "'") === false) { + return sprintf ("'%s'", $value); + } + if (strpos($value, "\n") === false && strpos($value, '"') === false) { + return sprintf ('"%s"', $value); + } + $exploded = explode("\n",$value); + $newValue = '|'; + $indent += $this->_dumpIndent; + $spaces = str_repeat(' ',$indent); + foreach ($exploded as $line) { + $newValue .= "\n" . $spaces . ($line); + } + return $newValue; + } + + /** + * Folds a string of text, if necessary + * @access private + * @return string + * @param $value The string you wish to fold + */ + private function _doFolding($value,$indent) { + // Don't do anything if wordwrap is set to 0 + + if ($this->_dumpWordWrap !== 0 && is_string ($value) && strlen($value) > $this->_dumpWordWrap) { + $indent += $this->_dumpIndent; + $indent = str_repeat(' ',$indent); + $wrapped = wordwrap($value,$this->_dumpWordWrap,"\n$indent"); + $value = ">\n".$indent.$wrapped; + } else { + if ($this->setting_dump_force_quotes && is_string ($value) && $value !== self::REMPTY) + $value = '"' . $value . '"'; + } + + + return $value; + } + +// LOADING FUNCTIONS + + private function __load($input) { + $Source = $this->loadFromSource($input); + return $this->loadWithSource($Source); + } + + private function __loadString($input) { + $Source = $this->loadFromString($input); + return $this->loadWithSource($Source); + } + + private function loadWithSource($Source) { + if (empty ($Source)) return array(); + if ($this->setting_use_syck_is_possible && function_exists ('syck_load')) { + $array = syck_load (implode ('', $Source)); + return is_array($array) ? $array : array(); + } + + $this->path = array(); + $this->result = array(); + + $cnt = count($Source); + for ($i = 0; $i < $cnt; $i++) { + $line = $Source[$i]; + + $this->indent = strlen($line) - strlen(ltrim($line)); + $tempPath = $this->getParentPathByIndent($this->indent); + $line = self::stripIndent($line, $this->indent); + if (self::isComment($line)) continue; + if (self::isEmpty($line)) continue; + $this->path = $tempPath; + + $literalBlockStyle = self::startsLiteralBlock($line); + if ($literalBlockStyle) { + $line = rtrim ($line, $literalBlockStyle . " \n"); + $literalBlock = ''; + $line .= $this->LiteralPlaceHolder; + $literal_block_indent = strlen($Source[$i+1]) - strlen(ltrim($Source[$i+1])); + while (++$i < $cnt && $this->literalBlockContinues($Source[$i], $this->indent)) { + $literalBlock = $this->addLiteralLine($literalBlock, $Source[$i], $literalBlockStyle, $literal_block_indent); + } + $i--; + } + + while (++$i < $cnt && self::greedilyNeedNextLine($line)) { + $line = rtrim ($line, " \n\t\r") . ' ' . ltrim ($Source[$i], " \t"); + } + $i--; + + + + if (strpos ($line, '#')) { + if (strpos ($line, '"') === false && strpos ($line, "'") === false) + $line = preg_replace('/\s+#(.+)$/','',$line); + } + + $lineArray = $this->_parseLine($line); + + if ($literalBlockStyle) + $lineArray = $this->revertLiteralPlaceHolder ($lineArray, $literalBlock); + + $this->addArray($lineArray, $this->indent); + + foreach ($this->delayedPath as $indent => $delayedPath) + $this->path[$indent] = $delayedPath; + + $this->delayedPath = array(); + + } + return $this->result; + } + + private function loadFromSource ($input) { + if (!empty($input) && strpos($input, "\n") === false && file_exists($input)) + return file($input); + + return $this->loadFromString($input); + } + + private function loadFromString ($input) { + $lines = explode("\n",$input); + foreach ($lines as $k => $_) { + $lines[$k] = rtrim ($_, "\r"); + } + return $lines; + } + + /** + * Parses YAML code and returns an array for a node + * @access private + * @return array + * @param string $line A line from the YAML file + */ + private function _parseLine($line) { + if (!$line) return array(); + $line = trim($line); + if (!$line) return array(); + + $array = array(); + + $group = $this->nodeContainsGroup($line); + if ($group) { + $this->addGroup($line, $group); + $line = $this->stripGroup ($line, $group); + } + + if ($this->startsMappedSequence($line)) + return $this->returnMappedSequence($line); + + if ($this->startsMappedValue($line)) + return $this->returnMappedValue($line); + + if ($this->isArrayElement($line)) + return $this->returnArrayElement($line); + + if ($this->isPlainArray($line)) + return $this->returnPlainArray($line); + + + return $this->returnKeyValuePair($line); + + } + + /** + * Finds the type of the passed value, returns the value as the new type. + * @access private + * @param string $value + * @return mixed + */ + private function _toType($value) { + if ($value === '') return null; + $first_character = $value[0]; + $last_character = substr($value, -1, 1); + + $is_quoted = false; + do { + if (!$value) break; + if ($first_character != '"' && $first_character != "'") break; + if ($last_character != '"' && $last_character != "'") break; + $is_quoted = true; + } while (0); + + if ($is_quoted) + return strtr(substr ($value, 1, -1), array ('\\"' => '"', '\'\'' => '\'', '\\\'' => '\'')); + + if (strpos($value, ' #') !== false && !$is_quoted) + $value = preg_replace('/\s+#(.+)$/','',$value); + + if (!$is_quoted) $value = str_replace('\n', "\n", $value); + + if ($first_character == '[' && $last_character == ']') { + // Take out strings sequences and mappings + $innerValue = trim(substr ($value, 1, -1)); + if ($innerValue === '') return array(); + $explode = $this->_inlineEscape($innerValue); + // Propagate value array + $value = array(); + foreach ($explode as $v) { + $value[] = $this->_toType($v); + } + return $value; + } + + if (strpos($value,': ')!==false && $first_character != '{') { + $array = explode(': ',$value); + $key = trim($array[0]); + array_shift($array); + $value = trim(implode(': ',$array)); + $value = $this->_toType($value); + return array($key => $value); + } + + if ($first_character == '{' && $last_character == '}') { + $innerValue = trim(substr ($value, 1, -1)); + if ($innerValue === '') return array(); + // Inline Mapping + // Take out strings sequences and mappings + $explode = $this->_inlineEscape($innerValue); + // Propagate value array + $array = array(); + foreach ($explode as $v) { + $SubArr = $this->_toType($v); + if (empty($SubArr)) continue; + if (is_array ($SubArr)) { + $array[key($SubArr)] = $SubArr[key($SubArr)]; continue; + } + $array[] = $SubArr; + } + return $array; + } + + if ($value == 'null' || $value == 'NULL' || $value == 'Null' || $value == '' || $value == '~') { + return null; + } + + if ( is_numeric($value) && preg_match ('/^(-|)[1-9]+[0-9]*$/', $value) ){ + $intvalue = (int)$value; + if ($intvalue != PHP_INT_MAX) + $value = $intvalue; + return $value; + } + + if (in_array($value, + array('true', 'on', '+', 'yes', 'y', 'True', 'TRUE', 'On', 'ON', 'YES', 'Yes', 'Y'))) { + return true; + } + + if (in_array(strtolower($value), + array('false', 'off', '-', 'no', 'n'))) { + return false; + } + + if (is_numeric($value)) { + if ($value === '0') return 0; + if (rtrim ($value, 0) === $value) + $value = (float)$value; + return $value; + } + + return $value; + } + + /** + * Used in inlines to check for more inlines or quoted strings + * @access private + * @return array + */ + private function _inlineEscape($inline) { + // There's gotta be a cleaner way to do this... + // While pure sequences seem to be nesting just fine, + // pure mappings and mappings with sequences inside can't go very + // deep. This needs to be fixed. + + $seqs = array(); + $maps = array(); + $saved_strings = array(); + + // Check for strings + $regex = '/(?:(")|(?:\'))((?(1)[^"]+|[^\']+))(?(1)"|\')/'; + if (preg_match_all($regex,$inline,$strings)) { + $saved_strings = $strings[0]; + $inline = preg_replace($regex,'YAMLString',$inline); + } + unset($regex); + + $i = 0; + do { + + // Check for sequences + while (preg_match('/\[([^{}\[\]]+)\]/U',$inline,$matchseqs)) { + $seqs[] = $matchseqs[0]; + $inline = preg_replace('/\[([^{}\[\]]+)\]/U', ('YAMLSeq' . (count($seqs) - 1) . 's'), $inline, 1); + } + + // Check for mappings + while (preg_match('/{([^\[\]{}]+)}/U',$inline,$matchmaps)) { + $maps[] = $matchmaps[0]; + $inline = preg_replace('/{([^\[\]{}]+)}/U', ('YAMLMap' . (count($maps) - 1) . 's'), $inline, 1); + } + + if ($i++ >= 10) break; + + } while (strpos ($inline, '[') !== false || strpos ($inline, '{') !== false); + + $explode = explode(', ',$inline); + $stringi = 0; $i = 0; + + while (1) { + + // Re-add the sequences + if (!empty($seqs)) { + foreach ($explode as $key => $value) { + if (strpos($value,'YAMLSeq') !== false) { + foreach ($seqs as $seqk => $seq) { + $explode[$key] = str_replace(('YAMLSeq'.$seqk.'s'),$seq,$value); + $value = $explode[$key]; + } + } + } + } + + // Re-add the mappings + if (!empty($maps)) { + foreach ($explode as $key => $value) { + if (strpos($value,'YAMLMap') !== false) { + foreach ($maps as $mapk => $map) { + $explode[$key] = str_replace(('YAMLMap'.$mapk.'s'), $map, $value); + $value = $explode[$key]; + } + } + } + } + + + // Re-add the strings + if (!empty($saved_strings)) { + foreach ($explode as $key => $value) { + while (strpos($value,'YAMLString') !== false) { + $explode[$key] = preg_replace('/YAMLString/',$saved_strings[$stringi],$value, 1); + unset($saved_strings[$stringi]); + ++$stringi; + $value = $explode[$key]; + } + } + } + + $finished = true; + foreach ($explode as $key => $value) { + if (strpos($value,'YAMLSeq') !== false) { + $finished = false; break; + } + if (strpos($value,'YAMLMap') !== false) { + $finished = false; break; + } + if (strpos($value,'YAMLString') !== false) { + $finished = false; break; + } + } + if ($finished) break; + + $i++; + if ($i > 10) + break; // Prevent infinite loops. + } + + return $explode; + } + + private function literalBlockContinues ($line, $lineIndent) { + if (!trim($line)) return true; + if (strlen($line) - strlen(ltrim($line)) > $lineIndent) return true; + return false; + } + + private function referenceContentsByAlias ($alias) { + do { + if (!isset($this->SavedGroups[$alias])) { echo "Bad group name: $alias."; break; } + $groupPath = $this->SavedGroups[$alias]; + $value = $this->result; + foreach ($groupPath as $k) { + $value = $value[$k]; + } + } while (false); + return $value; + } + + private function addArrayInline ($array, $indent) { + $CommonGroupPath = $this->path; + if (empty ($array)) return false; + + foreach ($array as $k => $_) { + $this->addArray(array($k => $_), $indent); + $this->path = $CommonGroupPath; + } + return true; + } + + private function addArray ($incoming_data, $incoming_indent) { + + // print_r ($incoming_data); + + if (count ($incoming_data) > 1) + return $this->addArrayInline ($incoming_data, $incoming_indent); + + $key = key ($incoming_data); + $value = isset($incoming_data[$key]) ? $incoming_data[$key] : null; + if ($key === '__!YAMLZero') $key = '0'; + + if ($incoming_indent == 0 && !$this->_containsGroupAlias && !$this->_containsGroupAnchor) { // Shortcut for root-level values. + if ($key || $key === '' || $key === '0') { + $this->result[$key] = $value; + } else { + $this->result[] = $value; end ($this->result); $key = key ($this->result); + } + $this->path[$incoming_indent] = $key; + return; + } + + + + $history = array(); + // Unfolding inner array tree. + $history[] = $_arr = $this->result; + foreach ($this->path as $k) { + $history[] = $_arr = $_arr[$k]; + } + + if ($this->_containsGroupAlias) { + $value = $this->referenceContentsByAlias($this->_containsGroupAlias); + $this->_containsGroupAlias = false; + } + + + // Adding string or numeric key to the innermost level or $this->arr. + if (is_string($key) && $key == '<<') { + if (!is_array ($_arr)) { $_arr = array (); } + + $_arr = array_merge ($_arr, $value); + } elseif ($key || $key === '' || $key === '0') { + if (!is_array ($_arr)) + $_arr = array ($key=>$value); + else + $_arr[$key] = $value; + } else { + if (!is_array ($_arr)) { $_arr = array ($value); $key = 0; } + else { $_arr[] = $value; end ($_arr); $key = key ($_arr); } + } + + $reverse_path = array_reverse($this->path); + $reverse_history = array_reverse ($history); + $reverse_history[0] = $_arr; + $cnt = count($reverse_history) - 1; + for ($i = 0; $i < $cnt; $i++) { + $reverse_history[$i+1][$reverse_path[$i]] = $reverse_history[$i]; + } + $this->result = $reverse_history[$cnt]; + + $this->path[$incoming_indent] = $key; + + if ($this->_containsGroupAnchor) { + $this->SavedGroups[$this->_containsGroupAnchor] = $this->path; + if (is_array ($value)) { + $k = key ($value); + if (!is_int ($k)) { + $this->SavedGroups[$this->_containsGroupAnchor][$incoming_indent + 2] = $k; + } + } + $this->_containsGroupAnchor = false; + } + + } + + private static function startsLiteralBlock ($line) { + $lastChar = substr (trim($line), -1); + if ($lastChar != '>' && $lastChar != '|') return false; + if ($lastChar == '|') return $lastChar; + // HTML tags should not be counted as literal blocks. + if (preg_match ('#<.*?>$#', $line)) return false; + return $lastChar; + } + + private static function greedilyNeedNextLine($line) { + $line = trim ($line); + if (!strlen($line)) return false; + if (substr ($line, -1, 1) == ']') return false; + if ($line[0] == '[') return true; + if (preg_match ('#^[^:]+?:\s*\[#', $line)) return true; + return false; + } + + private function addLiteralLine ($literalBlock, $line, $literalBlockStyle, $indent = -1) { + $line = self::stripIndent($line, $indent); + if ($literalBlockStyle !== '|') { + $line = self::stripIndent($line); + } + $line = rtrim ($line, "\r\n\t ") . "\n"; + if ($literalBlockStyle == '|') { + return $literalBlock . $line; + } + if (strlen($line) == 0) + return rtrim($literalBlock, ' ') . "\n"; + if ($line == "\n" && $literalBlockStyle == '>') { + return rtrim ($literalBlock, " \t") . "\n"; + } + if ($line != "\n") + $line = trim ($line, "\r\n ") . " "; + return $literalBlock . $line; + } + + function revertLiteralPlaceHolder ($lineArray, $literalBlock) { + foreach ($lineArray as $k => $_) { + if (is_array($_)) + $lineArray[$k] = $this->revertLiteralPlaceHolder ($_, $literalBlock); + elseif (substr($_, -1 * strlen ($this->LiteralPlaceHolder)) == $this->LiteralPlaceHolder) + $lineArray[$k] = rtrim ($literalBlock, " \r\n"); + } + return $lineArray; + } + + private static function stripIndent ($line, $indent = -1) { + if ($indent == -1) $indent = strlen($line) - strlen(ltrim($line)); + return substr ($line, $indent); + } + + private function getParentPathByIndent ($indent) { + if ($indent == 0) return array(); + $linePath = $this->path; + do { + end($linePath); $lastIndentInParentPath = key($linePath); + if ($indent <= $lastIndentInParentPath) array_pop ($linePath); + } while ($indent <= $lastIndentInParentPath); + return $linePath; + } + + + private function clearBiggerPathValues ($indent) { + + + if ($indent == 0) $this->path = array(); + if (empty ($this->path)) return true; + + foreach ($this->path as $k => $_) { + if ($k > $indent) unset ($this->path[$k]); + } + + return true; + } + + + private static function isComment ($line) { + if (!$line) return false; + if ($line[0] == '#') return true; + if (trim($line, " \r\n\t") == '---') return true; + return false; + } + + private static function isEmpty ($line) { + return (trim ($line) === ''); + } + + + private function isArrayElement ($line) { + if (!$line) return false; + if ($line[0] != '-') return false; + if (strlen ($line) > 3) + if (substr($line,0,3) == '---') return false; + + return true; + } + + private function isHashElement ($line) { + return strpos($line, ':'); + } + + private function isLiteral ($line) { + if ($this->isArrayElement($line)) return false; + if ($this->isHashElement($line)) return false; + return true; + } + + + private static function unquote ($value) { + if (!$value) return $value; + if (!is_string($value)) return $value; + if ($value[0] == '\'') return trim ($value, '\''); + if ($value[0] == '"') return trim ($value, '"'); + return $value; + } + + private function startsMappedSequence ($line) { + return ($line[0] == '-' && substr ($line, -1, 1) == ':'); + } + + private function returnMappedSequence ($line) { + $array = array(); + $key = self::unquote(trim(substr($line,1,-1))); + $array[$key] = array(); + $this->delayedPath = array(strpos ($line, $key) + $this->indent => $key); + return array($array); + } + + private function returnMappedValue ($line) { + $array = array(); + $key = self::unquote (trim(substr($line,0,-1))); + $array[$key] = ''; + return $array; + } + + private function startsMappedValue ($line) { + return (substr ($line, -1, 1) == ':'); + } + + private function isPlainArray ($line) { + return ($line[0] == '[' && substr ($line, -1, 1) == ']'); + } + + private function returnPlainArray ($line) { + return $this->_toType($line); + } + + private function returnKeyValuePair ($line) { + $array = array(); + $key = ''; + if (strpos ($line, ':')) { + // It's a key/value pair most likely + // If the key is in double quotes pull it out + if (($line[0] == '"' || $line[0] == "'") && preg_match('/^(["\'](.*)["\'](\s)*:)/',$line,$matches)) { + $value = trim(str_replace($matches[1],'',$line)); + $key = $matches[2]; + } else { + // Do some guesswork as to the key and the value + $explode = explode(':',$line); + $key = trim($explode[0]); + array_shift($explode); + $value = trim(implode(':',$explode)); + } + // Set the type of the value. Int, string, etc + $value = $this->_toType($value); + if ($key === '0') $key = '__!YAMLZero'; + $array[$key] = $value; + } else { + $array = array ($line); + } + return $array; + + } + + + private function returnArrayElement ($line) { + if (strlen($line) <= 1) return array(array()); // Weird %) + $array = array(); + $value = trim(substr($line,1)); + $value = $this->_toType($value); + $array[] = $value; + return $array; + } + + + private function nodeContainsGroup ($line) { + $symbolsForReference = 'A-z0-9_\-'; + if (strpos($line, '&') === false && strpos($line, '*') === false) return false; // Please die fast ;-) + if ($line[0] == '&' && preg_match('/^(&['.$symbolsForReference.']+)/', $line, $matches)) return $matches[1]; + if ($line[0] == '*' && preg_match('/^(\*['.$symbolsForReference.']+)/', $line, $matches)) return $matches[1]; + if (preg_match('/(&['.$symbolsForReference.']+)$/', $line, $matches)) return $matches[1]; + if (preg_match('/(\*['.$symbolsForReference.']+$)/', $line, $matches)) return $matches[1]; + if (preg_match ('#^\s*<<\s*:\s*(\*[^\s]+).*$#', $line, $matches)) return $matches[1]; + return false; + + } + + private function addGroup ($line, $group) { + if ($group[0] == '&') $this->_containsGroupAnchor = substr ($group, 1); + if ($group[0] == '*') $this->_containsGroupAlias = substr ($group, 1); + //print_r ($this->path); + } + + private function stripGroup ($line, $group) { + $line = trim(str_replace($group, '', $line)); + return $line; + } +} + +// Enable use of Spyc from command line +// The syntax is the following: php spyc.php spyc.yaml + +define ('SPYC_FROM_COMMAND_LINE', false); + +do { + if (!SPYC_FROM_COMMAND_LINE) break; + if (empty ($_SERVER['argc']) || $_SERVER['argc'] < 2) break; + if (empty ($_SERVER['PHP_SELF']) || $_SERVER['PHP_SELF'] != 'spyc.php') break; + $file = $argv[1]; + printf ("Spyc loading file: %s\n", $file); + print_r (spyc_load_file ($file)); +} while (0); \ No newline at end of file diff --git a/data/ulsdata2json.php b/data/ulsdata2json.php new file mode 100644 index 0000000..0b5aeab --- /dev/null +++ b/data/ulsdata2json.php @@ -0,0 +1,34 @@ + - + diff --git a/src/jquery.uls.data.js b/src/jquery.uls.data.js new file mode 100644 index 0000000..c5f2524 --- /dev/null +++ b/src/jquery.uls.data.js @@ -0,0 +1,5 @@ +// Please do not edit. This file is generated from data/langdb.yaml by ulsdata2json.php +( function ( $ ) { + $.uls = $.uls || {}; + $.uls.data = {"languages":{"aa":["Latn",["AF"],"Qaf\u00e1r af"],"ab":["Cyrl",["EU"],"\u0410\u04a7\u0441\u0448\u04d9\u0430"],"ace":["Latn",["AS","PA"],"Ac\u00e8h"],"ady-cyrl":["Cyrl",["EU"],"\u0410\u0434\u044b\u0433\u044d\u0431\u0437\u044d"],"ady-latn":["Latn",["EU"]],"ady":[["Cyrl","Latn"],["EU"],["\u0410\u0434\u044b\u0433\u044d\u0431\u0437\u044d","Adygabze"]],"aeb":["Arab",["AF"],"\u0632\u064e\u0648\u064f\u0646"],"af":["Latn",["AF"],"Afrikaans"],"ahr":["Deva",["AS"],"\u0905\u0939\u093f\u0930\u093e\u0923\u0940"],"ak":["Latn",["AF"],"Akan"],"akz":["Latn",["NA"],"Albaamo innaa\u026ciilka"],"aln":["Latn",["EU"],"Geg\u00eb"],"am":["Ethi",["AF"],"\u12a0\u121b\u122d\u129b"],"an":["Latn",["EU"],"aragon\u00e9s"],"ang":["Latn",["EU"],"\u00c6nglisc"],"anp":["Deva",["AS"],"\u0905\u0919\u094d\u0917\u093f\u0915\u093e"],"ar":["Arab",["ME"],"\u0627\u0644\u0639\u0631\u0628\u064a\u0629"],"arc":["Syrc",["ME"],"\u0710\u072a\u0721\u071d\u0710"],"arn":["Latn",["SA"],"mapudungun"],"aro":["Latn",["LA"],"Araona"],"arq":["Latn",["AF"],"Dziri"],"ary":["Latn",["ME"],"Ma\u0121ribi"],"arz":["Arab",["ME"],"\u0645\u0635\u0631\u0649"],"as":["Beng",["AS"],"\u0985\u09b8\u09ae\u09c0\u09df\u09be"],"ase":["Sgnw",["NA"],"American sign language"],"ast":["Latn",["EU"],"asturianu"],"av":["Cyrl",["EU"],"\u0430\u0432\u0430\u0440"],"avk":["Latn",["WW"],"Kotava"],"ay":["Latn",["SA"],"Aymar aru"],"az":["Latn",["EU","ME"],"az\u0259rbaycanca"],"ba":["Cyrl",["EU"],"\u0431\u0430\u0448\u04a1\u043e\u0440\u0442\u0441\u0430"],"bar":["Latn",["EU"],"Boarisch"],"bbc-latn":["Latn",["AS"],"Batak Toba"],"bbc":["Batk",["AS"],"Batak Toba\/Batak autonym unknown"],"bcc":["Arab",["AS","ME"],"\u0628\u0644\u0648\u0686\u06cc \u0645\u06a9\u0631\u0627\u0646\u06cc"],"bcl":["Latn",["AS"],"Bikol Central"],"be-tarask":["Cyrl",["EU"],"\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)"],"be-x-old":["Cyrl",["EU"],"\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)"],"be":["Cyrl",["EU"],"\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f"],"bew":["Latn",["AS"],"Bahasa Betawi"],"bfq":["Taml",["AS"],"\u0baa\u0b9f\u0b95\u0bbe"],"bg":["Cyrl",["EU"],"\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438"],"bh":["Deva",["AS"],"\u092d\u094b\u091c\u092a\u0941\u0930\u0940"],"bho":["Deva",["AS"],"\u092d\u094b\u091c\u092a\u0941\u0930\u0940"],"bi":["Latn",["PA"],"Bislama"],"bjn":["Latn",["AS"],"Bahasa Banjar"],"bm":["Latn",["AF"],"bamanankan"],"bn":["Beng",["AS"],"\u09ac\u09be\u0982\u09b2\u09be"],"bo":["Tibt",["AS"],"\u0f56\u0f7c\u0f51\u0f0b\u0f61\u0f72\u0f42"],"bpy":["Beng",["AS"],"\u09ac\u09bf\u09b7\u09cd\u09a3\u09c1\u09aa\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09ae\u09a3\u09bf\u09aa\u09c1\u09b0\u09c0"],"bqi":["Arab",["ME"],"\u0628\u062e\u062a\u064a\u0627\u0631\u064a"],"br":["Latn",["EU"],"brezhoneg"],"brh":["Latn",["ME","AS"],"Br\u00e1hu\u00ed"],"bs":["Latn",["EU"],"bosanski"],"bto":["Latn",["AS"],"Iriga Bicolano"],"bug":["Bugi",["AS"],"\u1a05\u1a14 \u1a15\u1a18\u1a01\u1a17"],"bxr":["Cyrl",["AS"],"\u0431\u0443\u0440\u044f\u0430\u0434"],"ca":["Latn",["EU"],"catal\u00e0"],"cbk-zam":["Latn",["AS"],"Chavacano de Zamboanga"],"cdo":["Latn",["AS"],"M\u00ecng-d\u0115\u0324ng-ng\u1e73\u0304"],"ce":["Cyrl",["EU"],"\u043d\u043e\u0445\u0447\u0438\u0439\u043d"],"ceb":["Latn",["AS"],"Cebuano"],"ch":["Latn",["PA"],"Chamoru"],"cho":["Latn",["NA"],"Choctaw"],"chr":["Cher",["NA"],"\u13e3\u13b3\u13a9"],"chy":["Latn",["NA"],"Tsets\u00eahest\u00e2hese"],"ckb":["Arab",["ME"],"\u06a9\u0648\u0631\u062f\u06cc"],"co":["Latn",["EU"],"corsu"],"cps":["Latn",["AS"],"Capice\u00f1o"],"cr-cans":["Cans",["NA"],"\u14c0\u1426\u1403\u152d\u140d\u140f\u1423"],"cr-latn":["Latn",["NA"],"N\u0113hiyaw\u0113win"],"cr":[["Latn","Cans"],["NA"],["N\u0113hiyaw\u0113win","\u14c0\u1426\u1403\u152d\u140d\u140f\u1423"]],"crh-cyrl":["Cyrl",["EU"],"\u043a\u044a\u044b\u0440\u044b\u043c\u0442\u0430\u0442\u0430\u0440\u0434\u0436\u0430 (\u041a\u0438\u0440\u0438\u043b\u043b)"],"crh-latn":["Latn",["EU"],"q\u0131r\u0131mtatarca (Latin)"],"crh":[["Curl","Latn"],["EU"],["\u043a\u044a\u044b\u0440\u044b\u043c\u0442\u0430\u0442\u0430\u0440\u0434\u0436\u0430","q\u0131r\u0131mtatarca"]],"cs":["Latn",["EU"],"\u010desky"],"csb":["Latn",["EU"],"kasz\u00ebbsczi"],"cu":["Cyrl",["EU"],"\u0441\u043b\u043e\u0432\u0463\u0301\u043d\u044c\u0441\u043a\u044a \/ \u2c14\u2c0e\u2c11\u2c02\u2c21\u2c10\u2c20\u2c14\u2c0d\u2c1f"],"cv":["Cyrl",["EU"],"\u0427\u04d1\u0432\u0430\u0448\u043b\u0430"],"cy":["Latn",["EU"],"Cymraeg"],"da":["Latn",["EU"],"dansk"],"de-at":["Latn",["EU"],"\u00d6sterreichisches Deutsch"],"de-ch":["Latn",["EU"],"Schweizer Hochdeutsch"],"de-formal":["Latn",["EU"],"Deutsch (Sie-Form)"],"de":["Latn",["EU"],"Deutsch"],"diq":["Latn",["EU","AS"],"Zazaki"],"dsb":["Latn",["EU"],"dolnoserbski"],"dtp":["Latn",["AS"],"Dusun Bundu-liwan"],"dv":["Thaa",["AS"],"\u078b\u07a8\u0788\u07ac\u0780\u07a8\u0784\u07a6\u0790\u07b0"],"dz":["Tibt",["AS"],"\u0f47\u0f7c\u0f44\u0f0b\u0f41"],"ee":["Latn",["AF"],"e\u028begbe"],"egl":["Latn",["EU"],"Emili\u00e0n"],"el":["Grek",["EU"],"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac"],"eml":["Latn",["EU"],"emili\u00e0n e rumagn\u00f2l"],"en-ca":["Latn",["NA"],"Canadian English"],"en-gb":["Latn",["EU","AS","AU"],"British English"],"en":["Latn",["EU","NA","AU","AF","ME","AS","PA","WW"],"English"],"eo":["Latn",["WW"],"Esperanto"],"es-419":["Latn",["LA"],"espanol de America Latina"],"es-formal":["Latn",["EU","NA","LA","SA","AF","WW"],"Espa\u00f1ol (formal)"],"es":["Latn",["EU","NA","LA","SA","AF","WW"],"espa\u00f1ol"],"esu":["Latn",["NA"],"Yup'ik"],"et":["Latn",["EU"],"eesti"],"eu":["Latn",["EU"],"euskara"],"ext":["Latn",["EU"],"estreme\u00f1u"],"fa":["Arab",["ME"],"\u0641\u0627\u0631\u0633\u06cc"],"ff":["Latn",["AF"],"Fulfulde"],"fi":["Latn",["EU"],"suomi"],"fit":["Latn",["EU"],"me\u00e4nkieli"],"fj":["Latn",["PA"],"Na Vosa Vakaviti"],"fo":["Latn",["EU"],"f\u00f8royskt"],"fr":["Latn",["EU"],"fran\u00e7ais"],"frc":["Latn",["EU"],"fran\u00e7ais cadien"],"frp":["Latn",["EU"],"arpetan"],"frr":["Latn",["EU"],"Nordfriisk"],"fur":["Latn",["EU"],"furlan"],"fy":["Latn",["EU"],"Frysk"],"ga":["Latn",["EU"],"Gaeilge"],"gag":["Latn",["EU"],"Gagauz"],"gah":["Latn",["AS"],"Alekano"],"gan-hans":["Hans",["AS"],"\u8d63\u8bed\uff08\u7b80\u4f53\uff09"],"gan-hant":["Hant",["AS"],"\u8d1b\u8a9e\uff08\u7e41\u9ad4\uff09"],"gan":["Hant",["AS"],"\u8d1b\u8a9e"],"gbz":["Latn",["AS"],"Dari"],"gcf":["Latn",["LA"],"Guadeloupean Creole French"],"gd":["Latn",["EU"],"G\u00e0idhlig"],"gl":["Latn",["EU"],"galego"],"glk":["Arab",["ME"],"\u06af\u06cc\u0644\u06a9\u06cc"],"gn":["Latn",["LA"],"Ava\u00f1e'\u1ebd"],"gom-deva":["Deva",["AS"],"\u0915\u094b\u0902\u0915\u0923\u0940"],"gom-latn":["Latn",["AS"],"Konknni"],"gom":[["Deva","Latn"],["AS"],["\u0915\u094b\u0902\u0915\u0923\u0940","Konknni"]],"got":["Goth",["EU"],"\ud800\udf32\ud800\udf3f\ud800\udf44\ud800\udf39\ud800\udf43\ud800\udf3a"],"grc":["Grek",["EU"],"\u1f08\u03c1\u03c7\u03b1\u03af\u03b1 \u1f11\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u1f74"],"gsw":["Latn",["EU"],"Alemannisch"],"gu":["Gujr",["AS"],"\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0"],"guc":["Latn",["LA"],"Way\u00fau"],"gur":["Latn",["AF"],"Guren\u025b"],"gv":["Latn",["EU"],"Gaelg"],"ha":["Latn",["AF"],"\u0647\u064e\u0648\u064f\u0633\u064e"],"hak":["Latn",["AS"],"Hak-k\u00e2-fa"],"haw":["Latn",["NA","PA"],"Hawai`i"],"he":["Hebr",["ME"],"\u05e2\u05d1\u05e8\u05d9\u05ea"],"hi":["Deva",["AS"],"\u0939\u093f\u0928\u094d\u0926\u0940"],"hif-deva":["Deva",["AS"],"\u092b\u093c\u0940\u091c\u0940 \u0939\u093f\u0928\u094d\u0926\u0940"],"hif-latn":["Latn",["PA","AU","AS"],"Fiji Hindi"],"hif":["[Deva","Latn[",["PA","AU","AS"],["\u092b\u093c\u0940\u091c\u0940 \u0939\u093f\u0928\u094d\u0926\u0940","Fiji Hindi"]],"hil":["Latn",["AS"],"Ilonggo"],"hne":["Deva",["AS"],"\u091b\u0924\u094d\u0924\u0940\u0938\u0917\u0922\u093c\u0940"],"ho":["Latn",["PA"],"Hiri Motu"],"hr":["Latn",["EU"],"hrvatski"],"hsb":["Latn",["EU"],"hornjoserbsce"],"hsn":["Hans",["AS"],"\u6e58\u8bed"],"ht":["Latn",["NA"],"Krey\u00f2l ayisyen"],"hu-formal":["Latn",["EU"],"Magyar (mag\u00e1z\u00f3)"],"hu":["Latn",["EU"],"magyar"],"hy":["Armn",["EU","ME"],"\u0540\u0561\u0575\u0565\u0580\u0565\u0576"],"hz":["Latn",["AF"],"Otsiherero"],"ia":["Latn",["WW"],"interlingua"],"id":["Latn",["AS"],"Bahasa Indonesia"],"ie":["Latn",["WW"],"Interlingue"],"ig":["Latn",["AF"],"Igbo"],"ii":["Yiii",["AS"],"\ua187\ua259"],"ik":["Latn",["NA"],"I\u00f1upiak"],"ike-cans":["Cans",["NA"],"\u1403\u14c4\u1483\u144e\u1450\u1466"],"ike-latn":["Latn",["NA"],"inuktitut"],"ike":[["Cans","Latn"],["NA"],["\u1403\u14c4\u1483\u144e\u1450\u1466","inuktitut"]],"ilo":["Latn",["AS"],"Ilokano"],"inh":["Cyrl",["EU"],"\u0413\u04c0\u0430\u043b\u0433\u04c0\u0430\u0439"],"io":["Latn",["WW"],"Ido"],"is":["Latn",["EU"],"\u00edslenska"],"it":["Latn",["EU"],"italiano"],"iu":["Cans",["NA"],"\u1403\u14c4\u1483\u144e\u1450\u1466\/inuktitut"],"ja":["Jpan",["AS"],"\u65e5\u672c\u8a9e"],"jam":["Latn",["NA"],"Patois"],"jbo":["Latn",["WW"],"Lojban"],"jut":["Latn",["EU"],"jysk"],"jv":["Latn",["AS","PA"],"Basa Jawa"],"ka":["Geor",["EU"],"\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8"],"kaa":["Latn",["AS"],"Qaraqalpaqsha"],"kab":["Latn",["AF","EU"],"Taqbaylit"],"kbd-cyrl":["Cyrl",["EU","ME"],"\u0410\u0434\u044b\u0433\u044d\u0431\u0437\u044d"],"kbd-latn":["Latn",["EU"],"Qabardjaj\u0259bza"],"kbd":["Cyrl",["EU","ME"],"\u0410\u0434\u044b\u0433\u044d\u0431\u0437\u044d"],"kea":["Latn",["AF"],"Kabuverdianu"],"kg":["Latn",["AF"],"Kongo"],"kgp":["Latn",["LA"],"Kaing\u00e1ng"],"khw":["Arab",["ME","AS"],"\u06a9\u06be\u0648\u0627\u0631"],"ki":["Latn",["AF"],"G\u0129k\u0169y\u0169"],"kiu":["Latn",["EU","ME"],"K\u0131rmancki"],"kj":["Latn",["AF"],"Kwanyama"],"kk-arab":["Arab",["EU","AS"],"\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062a\u0674\u0648\u062a\u06d5)"],"kk-cn":["Arab",["EU","AS","ME"],"\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062c\u06c7\u0646\u06af\u0648)"],"kk-cyrl":["Cyrl",["EU","AS"],"\u049b\u0430\u0437\u0430\u049b\u0448\u0430 (\u043a\u0438\u0440\u0438\u043b)"],"kk-kz":["Cyrl",["EU","AS"],"\u049b\u0430\u0437\u0430\u049b\u0448\u0430 (\u049a\u0430\u0437\u0430\u049b\u0441\u0442\u0430\u043d)"],"kk-latn":["Latn",["EU","AS","ME"],"qazaq\u015fa (lat\u0131n)"],"kk-tr":["Latn",["EU","AS","ME"],"qazaq\u015fa (T\u00fcrk\u00efya)"],"kk":[["Arab","Cyrl","Latn] [EU","AS"],["\u0642\u0627\u0632\u0627\u0642\u0634\u0627","\u049b\u0430\u0437\u0430\u049b\u0448\u0430","qazaq\u015fa"]],"kl":["Latn",["NA","EU"],"kalaallisut"],"km":["Khmr",["AS"],"\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a"],"kn":["Knda",["AS"],"\u0c95\u0ca8\u0ccd\u0ca8\u0ca1"],"ko-kp":["Kore",["AS"],"\ud55c\uad6d\uc5b4 (\uc870\uc120)"],"ko":["Kore",["AS"],"\ud55c\uad6d\uc5b4"],"koi":["Cyrl",["EU"],"\u041f\u0435\u0440\u0435\u043c \u041a\u043e\u043c\u0438"],"kr":["Latn",["AF"],"Kanuri"],"krc":["Cyrl",["EU"],"\u043a\u044a\u0430\u0440\u0430\u0447\u0430\u0439-\u043c\u0430\u043b\u043a\u044a\u0430\u0440"],"kri":["Latn",["AF"],"Krio"],"krj":["Latn",["ME","EU"],"Kinaray-a"],"krl":["Latn",["EU"],"Karjala"],"ks-arab":["Arab",["AS"],"\u06a9\u0672\u0634\u064f\u0631"],"ks-deva":["Deva",["AS"],"\u0915\u0949\u0936\u0941\u0930"],"ks":[["Deva","Arab"],["AS"],["\u0915\u0949\u0936\u0941\u0930","\u06a9\u0672\u0634\u064f\u0631"]],"ksf":["Latn",["AF"],"Bafia"],"ksh":["Latn",["EU"],"Ripoarisch"],"ku-arab":["Arab",["EU","ME"],"\u0643\u0648\u0631\u062f\u064a (\u0639\u06d5\u0631\u06d5\u0628\u06cc)"],"ku-latn":["Latn",["EU","ME"],"Kurd\u00ee (lat\u00een\u00ee)"],"ku":[["Arab","Latn"],["EU","ME"],["\u0643\u0648\u0631\u062f\u064a ","Kurd\u00ee"]],"kv":["Cyrl",["EU"],"\u043a\u043e\u043c\u0438"],"kw":["Latn",["EU"],"kernowek"],"ky":["Cyrl",["AS"],"\u041a\u044b\u0440\u0433\u044b\u0437\u0447\u0430"],"la":["Latn",["EU"],"Latina"],"lad":["Latn",["ME","EU","LA"],"Ladino"],"lb":["Latn",["EU"],"L\u00ebtzebuergesch"],"lbe":["Cyrl",["EU"],"\u043b\u0430\u043a\u043a\u0443"],"lez":["Cyrl",["EU"],"\u043b\u0435\u0437\u0433\u0438"],"lfn":["Latn",["WW"],"Lingua Franca Nova"],"lg":["Latn",["AF"],"Luganda"],"li":["Latn",["EU"],"Limburgs"],"lij":["Latn",["EU"],"Ligure"],"liv":["Latn",["EU"],"L\u012bv\u00f5 k\u0113\u013c"],"lld":["Latn",["EU"],"Ladin"],"lmo":["Latn",["EU"],"lumbaart"],"ln":["Latn",["AF"],"ling\u00e1la"],"lo":["Laoo",["AS"],"\u0ea5\u0eb2\u0ea7"],"loz":["Latn",["AF"],"Silozi"],"lt":["Latn",["EU"],"lietuvi\u0173"],"ltg":["Latn",["EU"],"latga\u013cu"],"lus":["Latn",["AS"],"Mizo \u0163awng"],"lv":["Latn",["EU"],"latvie\u0161u"],"lzh":["Hant",["AS"],"\u6587\u8a00"],"lzz":["Latn",["EU","ME"],"Lazuri"],"mai":["Deva",["AS"],"\u092e\u0948\u0925\u093f\u0932\u0940"],"map-bms":["Latn",["AS"],"Basa Banyumasan"],"mdf":["Cyrl",["EU"],"\u043c\u043e\u043a\u0448\u0435\u043d\u044c"],"mfe":["Latn",["LA"],"Morisyen"],"mg":["Latn",["AF"],"Malagasy"],"mh":["Latn",["PA"],"Ebon"],"mhr":["Cyrl",["EU"],"\u043e\u043b\u044b\u043a \u043c\u0430\u0440\u0438\u0439"],"mi":["Latn",["PA","AU"],"M\u0101ori"],"mic":["Latn",["NA"],"Mi'kmaq"],"min":["Latn",["AS"],"Baso Minangkabau"],"mk":["Cyrl",["EU"],"\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438"],"ml":["Mlym",["AS","ME"],"\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02"],"mn":["Cyrl",["AS"],"\u043c\u043e\u043d\u0433\u043e\u043b"],"mnc":["Mong",["AS"],"\u182e\u1820\u1828\u1835\u1860 \u1864\u1873\u1830\u1860\u1828"],"mni":["Beng",["AS"],"\u09ae\u09c7\u0987\u09a4\u09c7\u0987 \u09b2\u09cb\u09a8\u09cd"],"mnw":["Mymr",["AS"],"\u1018\u102c\u101e\u102c \u1019\u1014\u103a"],"mo":["Cyrl",["EU"],"\u043c\u043e\u043b\u0434\u043e\u0432\u0435\u043d\u044f\u0441\u043a\u044d"],"mr":["Deva",["AS","ME"],"\u092e\u0930\u093e\u0920\u0940"],"mrj":["Cyrl",["EU"],"\u043a\u044b\u0440\u044b\u043a \u043c\u0430\u0440\u044b"],"ms":["Latn",["AS"],"Bahasa Melayu"],"mt":["Latn",["EU"],"Malti"],"mui":["Latn",["AS"],"Musi"],"mus":["Latn",["NA"],"Mvskoke"],"mwl":["Latn",["EU"],"Mirand\u00e9s"],"mwv":["Latn",["AS"],"Behase Mentawei"],"my":["Mymr",["AS"],"\u1019\u103c\u1014\u103a\u1019\u102c\u1018\u102c\u101e\u102c"],"myv":["Cyrl",["EU"],"\u044d\u0440\u0437\u044f\u043d\u044c"],"mzn":["Arab",["ME","AS"],"\u0645\u0627\u0632\u0650\u0631\u0648\u0646\u06cc"],"na":["Latn",["PA","AU"],"Dorerin Naoero"],"nah":["Latn",["NA","LA"],"N\u0101huatl"],"nan":["Latn",["AS"],"B\u00e2n-l\u00e2m-g\u00fa"],"nap":["Latn",["EU"],"Nnapulitano"],"nb":["Latn",["EU"],"norsk (bokm\u00e5l)"],"nds-nl":["Latn",["EU"],"Nedersaksisch"],"nds":["Latn",["EU"],"Plattd\u00fc\u00fctsch"],"ne":["Deva",["AS"],"\u0928\u0947\u092a\u093e\u0932\u0940"],"new":["Deva",["AS"],"\u0928\u0947\u092a\u093e\u0932 \u092d\u093e\u0937\u093e"],"ng":["Latn",["AF"],"Oshiwambo"],"niu":["Latn",["PA"],"ko e vagahau Niu\u0113"],"njo":["Latn",["AS"],"Ao"],"nl-informal":["Latn",["EU","SA"],"Nederlands (informeel)"],"nl":["Latn",["EU","SA"],"Nederlands"],"nn":["Latn",["EU"],"norsk (nynorsk)"],"no":["Latn",["EU"]],"nov":["Latn",["WW"],"Novial"],"nqo":["Nkoo",["AF"],"\u07d2\u07de\u07cf"],"nrm":["Latn",["EU"],"Nouormand"],"nso":["Latn",["AF"],"Sesotho sa Leboa"],"nv":["Latn",["NA"],"Din\u00e9 bizaad"],"ny":["Latn",["AF"],"Chi-Chewa"],"oc":["Latn",["EU"],"occitan"],"om":["Latn",["AF"],"Oromoo"],"or":["Orya",["AS"],"\u0b13\u0b5c\u0b3f\u0b06"],"os":["Cyrl",["EU"],"\u0418\u0440\u043e\u043d"],"pa":["Guru",["AS"],"\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40"],"pag":["Latn",["AS"],"Pangasinan"],"pam":["Latn",["AS"],"Kapampangan"],"pap":["Latn",["LA"],"Papiamentu"],"pcd":["Latn",["EU"],"Picard"],"pdc":["Latn",["EU","NA","SA"],"Deitsch"],"pdt":["Latn",["EU","NA","SA"],"Plautdietsch"],"pfl":["Latn",["EU"],"P\u00e4lzisch"],"pi":["Deva",["AS"],"\u092a\u093e\u0933\u093f"],"pih":["Latn",["PA"],"Norfuk \/ Pitkern"],"pis":["Latn",["PA"],"Pijin"],"pko":["Latn",["AF"],"P\u00f6koot"],"pl":["Latn",["EU"],"polski"],"pms":["Latn",["EU"],"Piemont\u00e8is"],"pnb":["Arab",["AS","ME"],"\u067e\u0646\u062c\u0627\u0628\u06cc"],"pnt":["Grek",["EU"],"\u03a0\u03bf\u03bd\u03c4\u03b9\u03b1\u03ba\u03ac"],"ppl":["Latn",["LA"],"Nawat"],"prg":["Latn",["EU"],"Pr\u016bsiskan"],"pru":["Latn",["EU"],"Pr\u016bsiskan"],"ps":["Arab",["AS","ME"],"\u067e\u069a\u062a\u0648"],"pt-br":["Latn",["SA","LA"],"portugu\u00eas do Brasil"],"pt":["Latn",["EU","LA","AS","PA","AF"],"portugu\u00eas"],"qu":["Latn",["SA"],"Runa Simi"],"qug":["Latn",["SA"],"Runa shimi"],"rap":["Latn",["LA"],"arero rapa nui"],"rgn":["Latn",["EU"],"Rumagn\u00f4l"],"rif":["Latn",["AF"],"Tarifit"],"rki":["Mymr",["AS"],"\u101b\u1001\u102d\u102f\u1004\u103a"],"rm":["Latn",["EU"],"rumantsch"],"rmy":["Latn",["EU"],"Romani"],"rn":["Latn",["AF"],"Kirundi"],"ro":["Latn",["EU"],"rom\u00e2n\u0103"],"roa-rup":["Latn",["EU"],"Arm\u00e3neashce"],"roa-tara":["Latn",["EU"],"tarand\u00edne"],"rtm":["Latn",["PA"],"Faeag Rotuma"],"ru":["Cyrl",["EU","AS","ME"],"\u0440\u0443\u0441\u0441\u043a\u0438\u0439"],"rue":["Cyrl",["EU"],"\u0440\u0443\u0441\u0438\u043d\u044c\u0441\u043a\u044b\u0439"],"rup":["Latn",["EU"],"Arm\u00e3neashce"],"ruq":["Latn",["EU"],"Vl\u0103he\u015fte"],"ruq-cyrl":["Cyrl",["EU"],"\u0412\u043b\u0430\u0445\u0435\u0441\u0442\u0435"],"ruq-grek":["Grek",["EU"],"Megleno-Romanian (Greek script)"],"ruq-latn":["Latn",["EU"],"Vl\u0103he\u015fte"],"rw":["Latn",["AF"],"Kinyarwanda"],"ryu":["Kana",["AS"],"\u0294ucin\u0101guci"],"sa":["Deva",["AS"],"\u0938\u0902\u0938\u094d\u0915\u0943\u0924\u092e\u094d"],"sah":["Cyrl",["EU","AS"],"\u0441\u0430\u0445\u0430 \u0442\u044b\u043b\u0430"],"sat":["Latn",["AS"],"Santali"],"saz":["Saur",["AS"],"\ua8b1\ua8c3\ua8ac\ua8b5\ua8af\ua8c4\ua8a1\ua8c4\ua8ac\ua8b5"],"sc":["Latn",["EU"],"sardu"],"scn":["Latn",["EU"],"sicilianu"],"sco":["Latn",["EU"],"Scots"],"sd":["Arab",["AS"],"\u0633\u0646\u068c\u064a"],"sdc":["Latn",["EU"],"Sassaresu"],"se":["Latn",["EU"],"s\u00e1megiella"],"sei":["Latn",["NA","LA"],"Cmique Itom"],"sg":["Latn",["AF"],"S\u00e4ng\u00f6"],"sgs":["Latn",["EU"],"\u017eemait\u0117\u0161ka"],"sh-cyrl":["Cyrl",["EU"],"\u0441\u0440\u043f\u0441\u043a\u043e\u0445\u0440\u0432\u0430\u0442\u0441\u043a\u0438"],"sh-latn":["Latn",["EU"],"srpskohrvatski"],"sh":[["Latn","Cyrl"],["EU"],["srpskohrvatski","\u0441\u0440\u043f\u0441\u043a\u043e\u0445\u0440\u0432\u0430\u0442\u0441\u043a\u0438"]],"shi-latn":["Latn",["AF"],"Ta\u0161l\u1e25iyt"],"shi-tfng":["Tfng",["AF"],"\u2d5c\u2d30\u2d5b\u2d4d\u2d43\u2d49\u2d5c"],"shi":[["Latn","Tfng"],["AF"],["Ta\u0161l\u1e25iyt","\u2d5c\u2d30\u2d5b\u2d4d\u2d43\u2d49\u2d5c"]],"shn":["Mymr",["AS"],"\u101c\u102d\u1075\u103a\u1088\u1010\u1086\u1038"],"si":["Sinh",["AS"],"\u0dc3\u0dd2\u0d82\u0dc4\u0dbd"],"simple":["Latn",["WW"],"Simple English"],"sk":["Latn",["EU"],"sloven\u010dina"],"sl":["Latn",["EU"],"sloven\u0161\u010dina"],"sli":["Latn",["EU"],"Schl\u00e4sch"],"slr":["Latn",["AS"],"Sal\u0131r\u00e7a"],"sly":["Latn",["AS"],"Bahasa Selayar"],"sm":["Latn",["PA"],"Gagana Samoa"],"sma":["Latn",["EU"],"\u00c5arjelsaemien"],"sn":["Latn",["AF"],"chiShona"],"so":["Latn",["AF"],"Soomaaliga"],"sq":["Latn",["EU"],"shqip"],"sr-ec":["Cyrl",["EU"],"\u0441\u0440\u043f\u0441\u043a\u0438 (\u045b\u0438\u0440\u0438\u043b\u0438\u0446\u0430)"],"sr-el":["Latn",["EU"],"srpski (latinica)"],"sr":[["Cyrl","Latn"],["EU"],["\u0441\u0440\u043f\u0441\u043a\u0438","srpski"]],"srn":["Latn",["SA","NA","EU"],"Sranantongo"],"ss":["Latn",["AF"],"SiSwati"],"st":["Latn",["AF"],"Sesotho"],"stq":["Latn",["EU"],"Seeltersk"],"su":["Latn",["AS"],"Basa Sunda"],"sv":["Latn",["EU"],"svenska"],"sw":["Latn",["AF"],"Kiswahili"],"swb":["Latn",["AF"],"Shikomoro"],"sxu":["Latn",["EU"],"S\u00e4ggssch"],"szl":["Latn",["EU"],"\u015bl\u016fnski"],"ta":["Taml",["AS"],"\u0ba4\u0bae\u0bbf\u0bb4\u0bcd"],"tcy":["Knda",["AS"],"\u0ca4\u0cc1\u0cb3\u0cc1"],"te":["Telu",["AS"],"\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41"],"tet":["Latn",["AS","PA"],"tetun"],"tg-cyrl":["Cyrl",["AS"],"\u0442\u043e\u04b7\u0438\u043a\u04e3"],"tg-latn":["Latn",["AS"],"tojik\u012b"],"tg":["Cyrl",["AS"],"\u0442\u043e\u04b7\u0438\u043a\u04e3"],"th":["Thai",["AS"],"\u0e44\u0e17\u0e22"],"ti":["Ethi",["AF"],"\u1275\u130d\u122d\u129b"],"tk":["Latn",["AS"],"T\u00fcrkmen\u00e7e"],"tkr":["Cyrl",["AS"],"\u0426\u04c0\u0430\u044c\u0445\u043d\u0430 \u043c\u0438\u0437"],"tl":["Latn",["AS"],"Tagalog"],"tly":["Cyrl",["EU","AS","ME"],"\u0442\u043e\u043b\u044b\u0448\u04d9 \u0437\u044b\u0432\u043e\u043d"],"tn":["Latn",["AF"],"Setswana"],"to":["Latn",["PA"],"lea faka-Tonga"],"tokipona":["Latn",["WW"],"Toki Pona"],"tpi":["Latn",["PA","AS"],"Tok Pisin"],"tr":["Latn",["EU","ME"],"T\u00fcrk\u00e7e"],"trp":["Latn",["AS"],"Kokborok (Tripuri)"],"tru":["Latn",["AS"],"\u1e6auroyo"],"ts":["Latn",["AF"],"Xitsonga"],"tsd":["Grek",["EU"],"\u03a4\u03c3\u03b1\u03ba\u03c9\u03bd\u03b9\u03ba\u03ac"],"tt-cyrl":["Cyrl",["EU"],"\u0442\u0430\u0442\u0430\u0440\u0447\u0430"],"tt-latn":["Latn",["EU"],"tatar\u00e7a"],"tt":[["Cyrl","Latn] [EU"],["\u0442\u0430\u0442\u0430\u0440\u0447\u0430","tatar\u00e7a"]],"ttt":["Cyrl",["AS"],"Tati"],"tum":["Latn",["AF"],"chiTumbuka"],"tw":["Latn",["AF"],"Twi"],"twd":["Latn",["EU"],"Tweants"],"ty":["Latn",["PA"],"Reo M\u0101`ohi"],"tyv":["Cyrl",["AS"],"\u0442\u044b\u0432\u0430 \u0434\u044b\u043b"],"tzm":["Tfng",["AF"],"\u2d5c\u2d30\u2d4e\u2d30\u2d63\u2d49\u2d56\u2d5c"],"udm":["Cyrl",["EU"],"\u0443\u0434\u043c\u0443\u0440\u0442"],"ug-arab":["Arab",["AS"],"\u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5"],"ug-latn":["Latn",["AS"],"Uyghurche"],"ug":[["Arab","Latn"],["AS"],["\u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5","Uyghurche"]],"uk":["Cyrl",["EU"],"\u0443\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430"],"ur":["Arab",["AS","ME"],"\u0627\u0631\u062f\u0648"],"uz":["Latn",["AS"],"o\u02bbzbekcha"],"ve":["Latn",["AF"],"Tshivenda"],"vec":["Latn",["EU"],"v\u00e8neto"],"vep":["Latn",["EU"],"veps\u00e4n kel\u2019"],"vi":["Latn",["AS"],"Ti\u1ebfng Vi\u1ec7t"],"vls":["Latn",["EU"],"West-Vlams"],"vmf":["Latn",["EU"],"Mainfr\u00e4nkisch"],"vo":["Latn",["WW"],"Volap\u00fck"],"vot":["Latn",["EU"],"Va\u010f\u010fa"],"vro":["Latn",["EU"],"V\u00f5ro"],"wa":["Latn",["EU"],"walon"],"war":["Latn",["AS"],"Winaray"],"wls":["Latn",["PA"],"Faka'uvea"],"wo":["Latn",["AF"],"Wolof"],"wuu":["Hans",["EU"],"\u5434\u8bed"],"xal":["Cyrl",["EU"],"\u0445\u0430\u043b\u044c\u043c\u0433"],"xh":["Latn",["AF"],"isiXhosa"],"xmf":["Geor",["EU"],"\u10db\u10d0\u10e0\u10d2\u10d0\u10da\u10e3\u10e0\u10d8"],"ydd":["Hebr",["AS","EU"],"Eastern Yiddish"],"yi":["Hebr",["ME","EU","NA","SA"],"\u05d9\u05d9\u05b4\u05d3\u05d9\u05e9"],"yo":["Latn",["AF"],"Yor\u00f9b\u00e1"],"yrk":["Cyrl",["AS"],"\u041d\u0435\u043d\u044d\u0446\u044f\u02bc \u0432\u0430\u0434\u0430"],"yrl":["Latn",["LA"],"\u00f1e'engat\u00fa"],"yua":["Latn",["NA","LA"],"Maaya T'aan"],"yue":["Hant",["AS"],"\u7cb5\u8a9e"],"za":["Latn",["AS"],"Vahcuengh"],"zea":["Latn",["EU"],"Ze\u00eauws"],"zh-classical":["Hant",["AS"],"\u6587\u8a00"],"zh-cn":["Hans",["AS"],"\u4e2d\u6587\uff08\u4e2d\u56fd\u5927\u9646\uff09"],"zh-hans":["Hans",["AS"],"\u4e2d\u6587\uff08\u7b80\u4f53\uff09"],"zh-hant":["Hant",["AS"],"\u4e2d\u6587\uff08\u7e41\u9ad4\uff09"],"zh-hk":["Hant",["AS"],"\u4e2d\u6587\uff08\u9999\u6e2f\uff09"],"zh-min-nan":["Latn",["AS"],"B\u00e2n-l\u00e2m-g\u00fa"],"zh-mo":["Hant",["AS"],"\u4e2d\u6587\uff08\u6fb3\u9580\uff09"],"zh-my":["Hans",["AS"],"\u4e2d\u6587\uff08\u9a6c\u6765\u897f\u4e9a\uff09"],"zh-sg":["Hans",["AS"],"\u4e2d\u6587\uff08\u65b0\u52a0\u5761\uff09"],"zh-tw":["Hant",["AS"],"\u4e2d\u6587\uff08\u53f0\u7063\uff09"],"zh-yue":["Hans",["AS"],"\u7cb5\u8a9e"],"zh":["Hans",["AS"],"\u4e2d\u6587"],"zu":["Latn",["AF"],"isiZulu"]},"scriptgroups":{"Cyrillic":["Cyrl"],"Arabic":["Arab"],"Greek":["Grek"],"Latin":["Latn","Goth"],"WestCaucasian":["Armn","Geor"],"MiddleEastern":["Hebr","Syrc"],"African":["Ethi","Nkoo","Tfng"],"SouthAsian":["Beng","Deva","Gujr","Guru","Knda","Mlym","Orya","Saur","Sinh","Taml","Telu","Tibt","Thaa"],"SouthEastAsian":["Batk","Bugi","Java","Khmr","Laoo","Mymr","Thai"],"Mongolian":["Mong"],"SignWriting":["Sgnw"],"CJK":["Hans","Hant","Kana","Kore","Jpan","Yiii"],"NativeAmerican":["Cher","Cans"]},"regiongroups":{"NA":1,"LA":1,"SA":1,"EU":2,"ME":2,"AF":2,"AS":3,"PA":3,"AU":3,"WW":4}}; +} )( jQuery ); diff --git a/src/jquery.uls.data.utils.js b/src/jquery.uls.data.utils.js index 2ccb5d0..8a4c319 100644 --- a/src/jquery.uls.data.utils.js +++ b/src/jquery.uls.data.utils.js @@ -44,7 +44,7 @@ * @return string */ $.uls.data.autonym = function( language ) { - return $.uls.data.autonyms[language]; + return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language; }; /**