diff --git a/app/config/languages.php b/app/config/languages.php new file mode 100644 index 000000000..5f0434b4d --- /dev/null +++ b/app/config/languages.php @@ -0,0 +1,936 @@ + "aa", + "name" => "Afar", + "nativeName" => "Afar" + ], + [ + "code" => "ab", + "name" => "Abkhazian", + "nativeName" => "Аҧсуа" + ], + [ + "code" => "af", + "name" => "Afrikaans", + "nativeName" => "Afrikaans" + ], + [ + "code" => "ak", + "name" => "Akan", + "nativeName" => "Akana" + ], + [ + "code" => "am", + "name" => "Amharic", + "nativeName" => "አማርኛ" + ], + [ + "code" => "an", + "name" => "Aragonese", + "nativeName" => "Aragonés" + ], + [ + "code" => "ar", + "name" => "Arabic", + "nativeName" => "العربية" + ], + [ + "code" => "as", + "name" => "Assamese", + "nativeName" => "অসমীয়া" + ], + [ + "code" => "av", + "name" => "Avar", + "nativeName" => "Авар" + ], + [ + "code" => "ay", + "name" => "Aymara", + "nativeName" => "Aymar" + ], + [ + "code" => "az", + "name" => "Azerbaijani", + "nativeName" => "Azərbaycanca / آذربايجان" + ], + [ + "code" => "ba", + "name" => "Bashkir", + "nativeName" => "Башҡорт" + ], + [ + "code" => "be", + "name" => "Belarusian", + "nativeName" => "Беларуская" + ], + [ + "code" => "bg", + "name" => "Bulgarian", + "nativeName" => "Български" + ], + [ + "code" => "bh", + "name" => "Bihari", + "nativeName" => "भोजपुरी" + ], + [ + "code" => "bi", + "name" => "Bislama", + "nativeName" => "Bislama" + ], + [ + "code" => "bm", + "name" => "Bambara", + "nativeName" => "Bamanankan" + ], + [ + "code" => "bn", + "name" => "Bengali", + "nativeName" => "বাংলা" + ], + [ + "code" => "bo", + "name" => "Tibetan", + "nativeName" => "བོད་ཡིག / Bod skad" + ], + [ + "code" => "br", + "name" => "Breton", + "nativeName" => "Brezhoneg" + ], + [ + "code" => "bs", + "name" => "Bosnian", + "nativeName" => "Bosanski" + ], + [ + "code" => "ca", + "name" => "Catalan", + "nativeName" => "Català" + ], + [ + "code" => "ce", + "name" => "Chechen", + "nativeName" => "Нохчийн" + ], + [ + "code" => "ch", + "name" => "Chamorro", + "nativeName" => "Chamoru" + ], + [ + "code" => "co", + "name" => "Corsican", + "nativeName" => "Corsu" + ], + [ + "code" => "cr", + "name" => "Cree", + "nativeName" => "Nehiyaw" + ], + [ + "code" => "cs", + "name" => "Czech", + "nativeName" => "Česky" + ], + [ + "code" => "cu", + "name" => "Old Church Slavonic / Old Bulgarian", + "nativeName" => "словѣньскъ / slověnĭskŭ" + ], + [ + "code" => "cv", + "name" => "Chuvash", + "nativeName" => "Чăваш" + ], + [ + "code" => "cy", + "name" => "Welsh", + "nativeName" => "Cymraeg" + ], + [ + "code" => "da", + "name" => "Danish", + "nativeName" => "Dansk" + ], + [ + "code" => "de", + "name" => "German", + "nativeName" => "Deutsch" + ], + [ + "code" => "dv", + "name" => "Divehi", + "nativeName" => "ދިވެހިބަސް" + ], + [ + "code" => "dz", + "name" => "Dzongkha", + "nativeName" => "ཇོང་ཁ" + ], + [ + "code" => "ee", + "name" => "Ewe", + "nativeName" => "Ɛʋɛ" + ], + [ + "code" => "el", + "name" => "Greek", + "nativeName" => "Ελληνικά" + ], + [ + "code" => "en", + "name" => "English", + "nativeName" => "English" + ], + [ + "code" => "eo", + "name" => "Esperanto", + "nativeName" => "Esperanto" + ], + [ + "code" => "es", + "name" => "Spanish", + "nativeName" => "Español" + ], + [ + "code" => "et", + "name" => "Estonian", + "nativeName" => "Eesti" + ], + [ + "code" => "eu", + "name" => "Basque", + "nativeName" => "Euskara" + ], + [ + "code" => "fa", + "name" => "Persian", + "nativeName" => "فارسی" + ], + [ + "code" => "ff", + "name" => "Peul", + "nativeName" => "Fulfulde" + ], + [ + "code" => "fi", + "name" => "Finnish", + "nativeName" => "Suomi" + ], + [ + "code" => "fj", + "name" => "Fijian", + "nativeName" => "Na Vosa Vakaviti" + ], + [ + "code" => "fo", + "name" => "Faroese", + "nativeName" => "Føroyskt" + ], + [ + "code" => "fr", + "name" => "French", + "nativeName" => "Français" + ], + [ + "code" => "fy", + "name" => "West Frisian", + "nativeName" => "Frysk" + ], + [ + "code" => "ga", + "name" => "Irish", + "nativeName" => "Gaeilge" + ], + [ + "code" => "gd", + "name" => "Scottish Gaelic", + "nativeName" => "Gàidhlig" + ], + [ + "code" => "gl", + "name" => "Galician", + "nativeName" => "Galego" + ], + [ + "code" => "gn", + "name" => "Guarani", + "nativeName" => "Avañe'ẽ" + ], + [ + "code" => "gu", + "name" => "Gujarati", + "nativeName" => "ગુજરાતી" + ], + [ + "code" => "gv", + "name" => "Manx", + "nativeName" => "Gaelg" + ], + [ + "code" => "ha", + "name" => "Hausa", + "nativeName" => "هَوُسَ" + ], + [ + "code" => "he", + "name" => "Hebrew", + "nativeName" => "עברית" + ], + [ + "code" => "hi", + "name" => "Hindi", + "nativeName" => "हिन्दी" + ], + [ + "code" => "ho", + "name" => "Hiri Motu", + "nativeName" => "Hiri Motu" + ], + [ + "code" => "hr", + "name" => "Croatian", + "nativeName" => "Hrvatski" + ], + [ + "code" => "ht", + "name" => "Haitian", + "nativeName" => "Krèyol ayisyen" + ], + [ + "code" => "hu", + "name" => "Hungarian", + "nativeName" => "Magyar" + ], + [ + "code" => "hy", + "name" => "Armenian", + "nativeName" => "Հայերեն" + ], + [ + "code" => "hz", + "name" => "Herero", + "nativeName" => "Otsiherero" + ], + [ + "code" => "ia", + "name" => "Interlingua", + "nativeName" => "Interlingua" + ], + [ + "code" => "id", + "name" => "Indonesian", + "nativeName" => "Bahasa Indonesia" + ], + [ + "code" => "ie", + "name" => "Interlingue", + "nativeName" => "Interlingue" + ], + [ + "code" => "ig", + "name" => "Igbo", + "nativeName" => "Igbo" + ], + [ + "code" => "ii", + "name" => "Sichuan Yi", + "nativeName" => "ꆇꉙ / 四川彝语" + ], + [ + "code" => "ik", + "name" => "Inupiak", + "nativeName" => "Iñupiak" + ], + [ + "code" => "io", + "name" => "Ido", + "nativeName" => "Ido" + ], + [ + "code" => "is", + "name" => "Icelandic", + "nativeName" => "Íslenska" + ], + [ + "code" => "it", + "name" => "Italian", + "nativeName" => "Italiano" + ], + [ + "code" => "iu", + "name" => "Inuktitut", + "nativeName" => "ᐃᓄᒃᑎᑐᑦ" + ], + [ + "code" => "ja", + "name" => "Japanese", + "nativeName" => "日本語" + ], + [ + "code" => "jv", + "name" => "Javanese", + "nativeName" => "Basa Jawa" + ], + [ + "code" => "ka", + "name" => "Georgian", + "nativeName" => "ქართული" + ], + [ + "code" => "kg", + "name" => "Kongo", + "nativeName" => "KiKongo" + ], + [ + "code" => "ki", + "name" => "Kikuyu", + "nativeName" => "Gĩkũyũ" + ], + [ + "code" => "kj", + "name" => "Kuanyama", + "nativeName" => "Kuanyama" + ], + [ + "code" => "kk", + "name" => "Kazakh", + "nativeName" => "Қазақша" + ], + [ + "code" => "kl", + "name" => "Greenlandic", + "nativeName" => "Kalaallisut" + ], + [ + "code" => "km", + "name" => "Cambodian", + "nativeName" => "ភាសាខ្មែរ" + ], + [ + "code" => "kn", + "name" => "Kannada", + "nativeName" => "ಕನ್ನಡ" + ], + [ + "code" => "ko", + "name" => "Korean", + "nativeName" => "한국어" + ], + [ + "code" => "kr", + "name" => "Kanuri", + "nativeName" => "Kanuri" + ], + [ + "code" => "ks", + "name" => "Kashmiri", + "nativeName" => "कश्मीरी / كشميري" + ], + [ + "code" => "ku", + "name" => "Kurdish", + "nativeName" => "Kurdî / كوردی" + ], + [ + "code" => "kv", + "name" => "Komi", + "nativeName" => "Коми" + ], + [ + "code" => "kw", + "name" => "Cornish", + "nativeName" => "Kernewek" + ], + [ + "code" => "ky", + "name" => "Kirghiz", + "nativeName" => "Kırgızca / Кыргызча" + ], + [ + "code" => "la", + "name" => "Latin", + "nativeName" => "Latina" + ], + [ + "code" => "lb", + "name" => "Luxembourgish", + "nativeName" => "Lëtzebuergesch" + ], + [ + "code" => "lg", + "name" => "Ganda", + "nativeName" => "Luganda" + ], + [ + "code" => "li", + "name" => "Limburgian", + "nativeName" => "Limburgs" + ], + [ + "code" => "ln", + "name" => "Lingala", + "nativeName" => "Lingála" + ], + [ + "code" => "lo", + "name" => "Laotian", + "nativeName" => "ລາວ / Pha xa lao" + ], + [ + "code" => "lt", + "name" => "Lithuanian", + "nativeName" => "Lietuvių" + ], + [ + "code" => "lu", + "name" => "Luba-Katanga", + "nativeName" => "Tshiluba" + ], + [ + "code" => "lv", + "name" => "Latvian", + "nativeName" => "Latviešu" + ], + [ + "code" => "mg", + "name" => "Malagasy", + "nativeName" => "Malagasy" + ], + [ + "code" => "mh", + "name" => "Marshallese", + "nativeName" => "Kajin Majel / Ebon" + ], + [ + "code" => "mi", + "name" => "Maori", + "nativeName" => "Māori" + ], + [ + "code" => "mk", + "name" => "Macedonian", + "nativeName" => "Македонски" + ], + [ + "code" => "ml", + "name" => "Malayalam", + "nativeName" => "മലയാളം" + ], + [ + "code" => "mn", + "name" => "Mongolian", + "nativeName" => "Монгол" + ], + [ + "code" => "mo", + "name" => "Moldovan", + "nativeName" => "Moldovenească" + ], + [ + "code" => "mr", + "name" => "Marathi", + "nativeName" => "मराठी" + ], + [ + "code" => "ms", + "name" => "Malay", + "nativeName" => "Bahasa Melayu" + ], + [ + "code" => "mt", + "name" => "Maltese", + "nativeName" => "bil-Malti" + ], + [ + "code" => "my", + "name" => "Burmese", + "nativeName" => "မြန်မာစာ" + ], + [ + "code" => "na", + "name" => "Nauruan", + "nativeName" => "Dorerin Naoero" + ], + [ + "code" => "nb", + "name" => "Norwegian Bokmål", + "nativeName" => "Norsk bokmål" + ], + [ + "code" => "nd", + "name" => "North Ndebele", + "nativeName" => "Sindebele" + ], + [ + "code" => "ne", + "name" => "Nepali", + "nativeName" => "नेपाली" + ], + [ + "code" => "ng", + "name" => "Ndonga", + "nativeName" => "Oshiwambo" + ], + [ + "code" => "nl", + "name" => "Dutch", + "nativeName" => "Nederlands" + ], + [ + "code" => "nn", + "name" => "Norwegian Nynorsk", + "nativeName" => "Norsk nynorsk" + ], + [ + "code" => "no", + "name" => "Norwegian", + "nativeName" => "Norsk" + ], + [ + "code" => "nr", + "name" => "South Ndebele", + "nativeName" => "isiNdebele" + ], + [ + "code" => "nv", + "name" => "Navajo", + "nativeName" => "Diné bizaad" + ], + [ + "code" => "ny", + "name" => "Chichewa", + "nativeName" => "Chi-Chewa" + ], + [ + "code" => "oc", + "name" => "Occitan", + "nativeName" => "Occitan" + ], + [ + "code" => "oj", + "name" => "Ojibwa", + "nativeName" => "ᐊᓂᔑᓈᐯᒧᐎᓐ / Anishinaabemowin" + ], + [ + "code" => "om", + "name" => "Oromo", + "nativeName" => "Oromoo" + ], + [ + "code" => "or", + "name" => "Oriya", + "nativeName" => "ଓଡ଼ିଆ" + ], + [ + "code" => "os", + "name" => "Ossetian / Ossetic", + "nativeName" => "Иронау" + ], + [ + "code" => "pa", + "name" => "Panjabi / Punjabi", + "nativeName" => "ਪੰਜਾਬੀ / पंजाबी / پنجابي" + ], + [ + "code" => "pi", + "name" => "Pali", + "nativeName" => "Pāli / पाऴि" + ], + [ + "code" => "pl", + "name" => "Polish", + "nativeName" => "Polski" + ], + [ + "code" => "ps", + "name" => "Pashto", + "nativeName" => "پښتو" + ], + [ + "code" => "pt", + "name" => "Portuguese", + "nativeName" => "Português" + ], + [ + "code" => "qu", + "name" => "Quechua", + "nativeName" => "Runa Simi" + ], + [ + "code" => "rm", + "name" => "Raeto Romance", + "nativeName" => "Rumantsch" + ], + [ + "code" => "rn", + "name" => "Kirundi", + "nativeName" => "Kirundi" + ], + [ + "code" => "ro", + "name" => "Romanian", + "nativeName" => "Română" + ], + [ + "code" => "ru", + "name" => "Russian", + "nativeName" => "Русский" + ], + [ + "code" => "rw", + "name" => "Rwandi", + "nativeName" => "Kinyarwandi" + ], + [ + "code" => "sa", + "name" => "Sanskrit", + "nativeName" => "संस्कृतम्" + ], + [ + "code" => "sc", + "name" => "Sardinian", + "nativeName" => "Sardu" + ], + [ + "code" => "sd", + "name" => "Sindhi", + "nativeName" => "सिनधि" + ], + [ + "code" => "se", + "name" => "Northern Sami", + "nativeName" => "Sámegiella" + ], + [ + "code" => "sg", + "name" => "Sango", + "nativeName" => "Sängö" + ], + [ + "code" => "sh", + "name" => "Serbo-Croatian", + "nativeName" => "Srpskohrvatski / Српскохрватски" + ], + [ + "code" => "si", + "name" => "Sinhalese", + "nativeName" => "සිංහල" + ], + [ + "code" => "sk", + "name" => "Slovak", + "nativeName" => "Slovenčina" + ], + [ + "code" => "sl", + "name" => "Slovenian", + "nativeName" => "Slovenščina" + ], + [ + "code" => "sm", + "name" => "Samoan", + "nativeName" => "Gagana Samoa" + ], + [ + "code" => "sn", + "name" => "Shona", + "nativeName" => "chiShona" + ], + [ + "code" => "so", + "name" => "Somalia", + "nativeName" => "Soomaaliga" + ], + [ + "code" => "sq", + "name" => "Albanian", + "nativeName" => "Shqip" + ], + [ + "code" => "sr", + "name" => "Serbian", + "nativeName" => "Српски" + ], + [ + "code" => "ss", + "name" => "Swati", + "nativeName" => "SiSwati" + ], + [ + "code" => "st", + "name" => "Southern Sotho", + "nativeName" => "Sesotho" + ], + [ + "code" => "su", + "name" => "Sundanese", + "nativeName" => "Basa Sunda" + ], + [ + "code" => "sv", + "name" => "Swedish", + "nativeName" => "Svenska" + ], + [ + "code" => "sw", + "name" => "Swahili", + "nativeName" => "Kiswahili" + ], + [ + "code" => "ta", + "name" => "Tamil", + "nativeName" => "தமிழ்" + ], + [ + "code" => "te", + "name" => "Telugu", + "nativeName" => "తెలుగు" + ], + [ + "code" => "tg", + "name" => "Tajik", + "nativeName" => "Тоҷикӣ" + ], + [ + "code" => "th", + "name" => "Thai", + "nativeName" => "ไทย / Phasa Thai" + ], + [ + "code" => "ti", + "name" => "Tigrinya", + "nativeName" => "ትግርኛ" + ], + [ + "code" => "tk", + "name" => "Turkmen", + "nativeName" => "Туркмен / تركمن" + ], + [ + "code" => "tl", + "name" => "Tagalog / Filipino", + "nativeName" => "Tagalog" + ], + [ + "code" => "tn", + "name" => "Tswana", + "nativeName" => "Setswana" + ], + [ + "code" => "to", + "name" => "Tonga", + "nativeName" => "Lea Faka-Tonga" + ], + [ + "code" => "tr", + "name" => "Turkish", + "nativeName" => "Türkçe" + ], + [ + "code" => "ts", + "name" => "Tsonga", + "nativeName" => "Xitsonga" + ], + [ + "code" => "tt", + "name" => "Tatar", + "nativeName" => "Tatarça" + ], + [ + "code" => "tw", + "name" => "Twi", + "nativeName" => "Twi" + ], + [ + "code" => "ty", + "name" => "Tahitian", + "nativeName" => "Reo Mā`ohi" + ], + [ + "code" => "ug", + "name" => "Uyghur", + "nativeName" => "Uyƣurqə / ئۇيغۇرچە" + ], + [ + "code" => "uk", + "name" => "Ukrainian", + "nativeName" => "Українська" + ], + [ + "code" => "ur", + "name" => "Urdu", + "nativeName" => "اردو" + ], + [ + "code" => "uz", + "name" => "Uzbek", + "nativeName" => "Ўзбек" + ], + [ + "code" => "ve", + "name" => "Venda", + "nativeName" => "Tshivenḓa" + ], + [ + "code" => "vi", + "name" => "Vietnamese", + "nativeName" => "Tiếng Việt" + ], + [ + "code" => "vo", + "name" => "Volapük", + "nativeName" => "Volapük" + ], + [ + "code" => "wa", + "name" => "Walloon", + "nativeName" => "Walon" + ], + [ + "code" => "wo", + "name" => "Wolof", + "nativeName" => "Wollof" + ], + [ + "code" => "xh", + "name" => "Xhosa", + "nativeName" => "isiXhosa" + ], + [ + "code" => "yi", + "name" => "Yiddish", + "nativeName" => "ייִדיש" + ], + [ + "code" => "yo", + "name" => "Yoruba", + "nativeName" => "Yorùbá" + ], + [ + "code" => "za", + "name" => "Zhuang", + "nativeName" => "Cuengh / Tôô / 壮语" + ], + [ + "code" => "zh", + "name" => "Chinese", + "nativeName" => "中文" + ], + [ + "code" => "zu", + "name" => "Zulu", + "nativeName" => "isiZulu" + ] +]; diff --git a/app/controllers/api/locale.php b/app/controllers/api/locale.php index 8f4f2e327..72da12222 100644 --- a/app/controllers/api/locale.php +++ b/app/controllers/api/locale.php @@ -165,3 +165,19 @@ $utopia->get('/v1/locale/currencies') $response->json($currencies); } ); + + +$utopia->get('/v1/locale/languages') + ->desc('List Languages') + ->label('scope', 'locale.read') + ->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER]) + ->label('sdk.namespace', 'locale') + ->label('sdk.method', 'getLanguages') + ->label('sdk.description', '/docs/references/locale/get-languages.md') + ->action( + function () use ($response) { + $currencies = include __DIR__.'/../../config/languages.php'; + + $response->json($currencies); + } + ); \ No newline at end of file diff --git a/docs/references/locale/get-languages.md b/docs/references/locale/get-languages.md new file mode 100644 index 000000000..b9d8302f9 --- /dev/null +++ b/docs/references/locale/get-languages.md @@ -0,0 +1 @@ +List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language. \ No newline at end of file