new locale codes endpoint
This commit is contained in:
parent
fffff197c9
commit
7419867078
7 changed files with 606 additions and 662 deletions
|
@ -1,76 +1,513 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ISO 639-1 standard language codes
|
||||||
|
* https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||||
|
*
|
||||||
|
* Source:
|
||||||
|
* https://www.andiamo.co.uk/resources/iso-language-codes/
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'af', // Afrikaans
|
[
|
||||||
'ar', // Arabic
|
"code" => "af",
|
||||||
'as', // Assamese
|
"name" => "Afrikaans",
|
||||||
'az', // Azerbaijani
|
],
|
||||||
'be', // Belarusian
|
[
|
||||||
'bg', // Bulgarian
|
"code" => "ar-ae",
|
||||||
'bh', // Bihari
|
"name" => "Arabic (U.A.E.)",
|
||||||
'bn', // Bengali
|
],
|
||||||
'bs', // Bosnian
|
[
|
||||||
'ca', // Catalan
|
"code" => "ar-bh",
|
||||||
'cs', // Czech
|
"name" => "Arabic (Bahrain)",
|
||||||
'da', // Danish
|
],
|
||||||
'de', // German
|
[
|
||||||
'en', // English
|
"code" => "ar-dz",
|
||||||
'eo', // Esperanto
|
"name" => "Arabic (Algeria)",
|
||||||
'es', // Spanish
|
],
|
||||||
'fa', // Farsi/Persian
|
[
|
||||||
'fi', // Finnish
|
"code" => "ar-eg",
|
||||||
'fo', // Faroese
|
"name" => "Arabic (Egypt)",
|
||||||
'fr', // French
|
],
|
||||||
'el', // Greek
|
[
|
||||||
'ga', // Irish
|
"code" => "ar-iq",
|
||||||
'gu', // Gujrati
|
"name" => "Arabic (Iraq)",
|
||||||
'he', // Hebrew
|
],
|
||||||
'hi', // Hindi,
|
[
|
||||||
'hr', // Croatian
|
"code" => "ar-jo",
|
||||||
'hu', // Hungarian
|
"name" => "Arabic (Jordan)",
|
||||||
'hy', // Armenian
|
],
|
||||||
'id', // Indonesian
|
[
|
||||||
'is', // Icelandic
|
"code" => "ar-kw",
|
||||||
'it', // Italian
|
"name" => "Arabic (Kuwait)",
|
||||||
'ja', // Japanese
|
],
|
||||||
'jv', // Javanese
|
[
|
||||||
'kn', // Kannada
|
"code" => "ar-lb",
|
||||||
'km', // Khmer
|
"name" => "Arabic (Lebanon)",
|
||||||
'ko', // Korean
|
],
|
||||||
'la', // Latin
|
[
|
||||||
'lb', // Luxembourgish
|
"code" => "ar-ly",
|
||||||
'lt', // Lithuanian
|
"name" => "Arabic (Libya)",
|
||||||
'lv', // Latvian
|
],
|
||||||
'ml', // Malayalam
|
[
|
||||||
'mr', // Marathi
|
"code" => "ar-ma",
|
||||||
'ms', // Malay
|
"name" => "Arabic (Morocco)",
|
||||||
'nb', // Norwegian bokmål
|
],
|
||||||
'nl', // Dutch
|
[
|
||||||
'nn', // Norwegian nynorsk
|
"code" => "ar-om",
|
||||||
'ne', // Nepali
|
"name" => "Arabic (Oman)",
|
||||||
'or', // Oriya
|
],
|
||||||
'tl', // Filipino
|
[
|
||||||
'pl', // Polish
|
"code" => "ar-qa",
|
||||||
'pt-br', // Portuguese - Brazil
|
"name" => "Arabic (Qatar)",
|
||||||
'pt-pt', // Portuguese - Portugal
|
],
|
||||||
'pa', // Punjabi
|
[
|
||||||
'ro', // Romanian
|
"code" => "ar-sa",
|
||||||
'ru', // Russian
|
"name" => "Arabic (Saudi Arabia)",
|
||||||
'sa', //Sanskrit
|
],
|
||||||
'sd', // Sindhi
|
[
|
||||||
'si', // Sinhala
|
"code" => "ar-sy",
|
||||||
'sk', // Slovakia
|
"name" => "Arabic (Syria)",
|
||||||
'sl', // Slovenian
|
],
|
||||||
'sn', // Shona
|
[
|
||||||
'sq', // Albanian
|
"code" => "ar-tn",
|
||||||
'sv', // Swedish
|
"name" => "Arabic (Tunisia)",
|
||||||
'ta', // Tamil
|
],
|
||||||
'te', // Telugu
|
[
|
||||||
'th', // Thai
|
"code" => "ar-ye",
|
||||||
'tr', // Turkish
|
"name" => "Arabic (Yemen)",
|
||||||
'uk', // Ukrainian
|
],
|
||||||
'ur', // Urdu
|
[
|
||||||
'vi', // Vietnamese
|
"code" => "be",
|
||||||
'zh-cn', // Chinese - China
|
"name" => "Belarusian",
|
||||||
'zh-tw', // Chinese - Taiwan
|
],
|
||||||
|
[
|
||||||
|
"code" => "bg",
|
||||||
|
"name" => "Bulgarian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ca",
|
||||||
|
"name" => "Catalan",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "cs",
|
||||||
|
"name" => "Czech",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "cy",
|
||||||
|
"name" => "Welsh",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "da",
|
||||||
|
"name" => "Danish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "de",
|
||||||
|
"name" => "German (Standard)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "de-at",
|
||||||
|
"name" => "German (Austria)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "de-ch",
|
||||||
|
"name" => "German (Switzerland)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "de-li",
|
||||||
|
"name" => "German (Liechtenstein)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "de-lu",
|
||||||
|
"name" => "German (Luxembourg)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "el",
|
||||||
|
"name" => "Greek",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en",
|
||||||
|
"name" => "English",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-au",
|
||||||
|
"name" => "English (Australia)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-bz",
|
||||||
|
"name" => "English (Belize)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-ca",
|
||||||
|
"name" => "English (Canada)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-gb",
|
||||||
|
"name" => "English (United Kingdom)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-ie",
|
||||||
|
"name" => "English (Ireland)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-jm",
|
||||||
|
"name" => "English (Jamaica)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-nz",
|
||||||
|
"name" => "English (New Zealand)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-tt",
|
||||||
|
"name" => "English (Trinidad)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-us",
|
||||||
|
"name" => "English (United States)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "en-za",
|
||||||
|
"name" => "English (South Africa)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es",
|
||||||
|
"name" => "Spanish (Spain)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-ar",
|
||||||
|
"name" => "Spanish (Argentina)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-bo",
|
||||||
|
"name" => "Spanish (Bolivia)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-cl",
|
||||||
|
"name" => "Spanish (Chile)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-co",
|
||||||
|
"name" => "Spanish (Colombia)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-cr",
|
||||||
|
"name" => "Spanish (Costa Rica)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-do",
|
||||||
|
"name" => "Spanish (Dominican Republic)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-ec",
|
||||||
|
"name" => "Spanish (Ecuador)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-gt",
|
||||||
|
"name" => "Spanish (Guatemala)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-hn",
|
||||||
|
"name" => "Spanish (Honduras)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-mx",
|
||||||
|
"name" => "Spanish (Mexico)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-ni",
|
||||||
|
"name" => "Spanish (Nicaragua)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-pa",
|
||||||
|
"name" => "Spanish (Panama)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-pe",
|
||||||
|
"name" => "Spanish (Peru)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-pr",
|
||||||
|
"name" => "Spanish (Puerto Rico)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-py",
|
||||||
|
"name" => "Spanish (Paraguay)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-sv",
|
||||||
|
"name" => "Spanish (El Salvador)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-uy",
|
||||||
|
"name" => "Spanish (Uruguay)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "es-ve",
|
||||||
|
"name" => "Spanish (Venezuela)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "et",
|
||||||
|
"name" => "Estonian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "eu",
|
||||||
|
"name" => "Basque",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fa",
|
||||||
|
"name" => "Farsi",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fi",
|
||||||
|
"name" => "Finnish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fo",
|
||||||
|
"name" => "Faeroese",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fr",
|
||||||
|
"name" => "French (Standard)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fr-be",
|
||||||
|
"name" => "French (Belgium)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fr-ca",
|
||||||
|
"name" => "French (Canada)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fr-ch",
|
||||||
|
"name" => "French (Switzerland)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "fr-lu",
|
||||||
|
"name" => "French (Luxembourg)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ga",
|
||||||
|
"name" => "Irish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "gd",
|
||||||
|
"name" => "Gaelic (Scotland)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "he",
|
||||||
|
"name" => "Hebrew",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "hi",
|
||||||
|
"name" => "Hindi",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "hr",
|
||||||
|
"name" => "Croatian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "hu",
|
||||||
|
"name" => "Hungarian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "id",
|
||||||
|
"name" => "Indonesian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "is",
|
||||||
|
"name" => "Icelandic",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "it",
|
||||||
|
"name" => "Italian (Standard)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "it-ch",
|
||||||
|
"name" => "Italian (Switzerland)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ja",
|
||||||
|
"name" => "Japanese",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ji",
|
||||||
|
"name" => "Yiddish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ko",
|
||||||
|
"name" => "Korean",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ko",
|
||||||
|
"name" => "Korean (Johab)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ku",
|
||||||
|
"name" => "Kurdish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "lt",
|
||||||
|
"name" => "Lithuanian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "lv",
|
||||||
|
"name" => "Latvian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "mk",
|
||||||
|
"name" => "Macedonian (FYROM)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ml",
|
||||||
|
"name" => "Malayalam",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ms",
|
||||||
|
"name" => "Malaysian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "mt",
|
||||||
|
"name" => "Maltese",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "nb",
|
||||||
|
"name" => "Norwegian (Bokmål)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "nl",
|
||||||
|
"name" => "Dutch (Standard)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "nl-be",
|
||||||
|
"name" => "Dutch (Belgium)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "nn",
|
||||||
|
"name" => "Norwegian (Nynorsk)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "no",
|
||||||
|
"name" => "Norwegian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "pa",
|
||||||
|
"name" => "Punjabi",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "pl",
|
||||||
|
"name" => "Polish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "pt",
|
||||||
|
"name" => "Portuguese (Portugal)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "pt-br",
|
||||||
|
"name" => "Portuguese (Brazil)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "rm",
|
||||||
|
"name" => "Rhaeto-Romanic",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ro",
|
||||||
|
"name" => "Romanian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ro-md",
|
||||||
|
"name" => "Romanian (Republic of Moldova)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ru",
|
||||||
|
"name" => "Russian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ru-md",
|
||||||
|
"name" => "Russian (Republic of Moldova)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "sb",
|
||||||
|
"name" => "Sorbian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "sk",
|
||||||
|
"name" => "Slovak",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "sl",
|
||||||
|
"name" => "Slovenian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "sq",
|
||||||
|
"name" => "Albanian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "sr",
|
||||||
|
"name" => "Serbian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "sv",
|
||||||
|
"name" => "Swedish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "sv-fi",
|
||||||
|
"name" => "Swedish (Finland)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "th",
|
||||||
|
"name" => "Thai",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "tn",
|
||||||
|
"name" => "Tswana",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "tr",
|
||||||
|
"name" => "Turkish",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ts",
|
||||||
|
"name" => "Tsonga",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ua",
|
||||||
|
"name" => "Ukrainian",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ur",
|
||||||
|
"name" => "Urdu",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "ve",
|
||||||
|
"name" => "Venda",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "vi",
|
||||||
|
"name" => "Vietnamese",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "xh",
|
||||||
|
"name" => "Xhosa",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "zh-cn",
|
||||||
|
"name" => "Chinese (PRC)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "zh-hk",
|
||||||
|
"name" => "Chinese (Hong Kong)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "zh-sg",
|
||||||
|
"name" => "Chinese (Singapore)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "zh-tw",
|
||||||
|
"name" => "Chinese (Taiwan)",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code" => "zu",
|
||||||
|
"name" => "Zulu",
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,514 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ISO 639-1 standard language codes
|
|
||||||
*
|
|
||||||
* Source:
|
|
||||||
* https://www.andiamo.co.uk/resources/iso-language-codes/
|
|
||||||
*
|
|
||||||
* Country codes:
|
|
||||||
* https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
return [
|
|
||||||
[
|
|
||||||
"code" => "af",
|
|
||||||
"name" => "Afrikaans",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-ae",
|
|
||||||
"name" => "Arabic (U.A.E.)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-bh",
|
|
||||||
"name" => "Arabic (Bahrain)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-dz",
|
|
||||||
"name" => "Arabic (Algeria)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-eg",
|
|
||||||
"name" => "Arabic (Egypt)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-iq",
|
|
||||||
"name" => "Arabic (Iraq)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-jo",
|
|
||||||
"name" => "Arabic (Jordan)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-kw",
|
|
||||||
"name" => "Arabic (Kuwait)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-lb",
|
|
||||||
"name" => "Arabic (Lebanon)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-ly",
|
|
||||||
"name" => "Arabic (Libya)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-ma",
|
|
||||||
"name" => "Arabic (Morocco)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-om",
|
|
||||||
"name" => "Arabic (Oman)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-qa",
|
|
||||||
"name" => "Arabic (Qatar)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-sa",
|
|
||||||
"name" => "Arabic (Saudi Arabia)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-sy",
|
|
||||||
"name" => "Arabic (Syria)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-tn",
|
|
||||||
"name" => "Arabic (Tunisia)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ar-ye",
|
|
||||||
"name" => "Arabic (Yemen)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "be",
|
|
||||||
"name" => "Belarusian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "bg",
|
|
||||||
"name" => "Bulgarian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ca",
|
|
||||||
"name" => "Catalan",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "cs",
|
|
||||||
"name" => "Czech",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "cy",
|
|
||||||
"name" => "Welsh",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "da",
|
|
||||||
"name" => "Danish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "de",
|
|
||||||
"name" => "German (Standard)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "de-at",
|
|
||||||
"name" => "German (Austria)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "de-ch",
|
|
||||||
"name" => "German (Switzerland)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "de-li",
|
|
||||||
"name" => "German (Liechtenstein)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "de-lu",
|
|
||||||
"name" => "German (Luxembourg)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "el",
|
|
||||||
"name" => "Greek",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en",
|
|
||||||
"name" => "English",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-au",
|
|
||||||
"name" => "English (Australia)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-bz",
|
|
||||||
"name" => "English (Belize)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-ca",
|
|
||||||
"name" => "English (Canada)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-gb",
|
|
||||||
"name" => "English (United Kingdom)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-ie",
|
|
||||||
"name" => "English (Ireland)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-jm",
|
|
||||||
"name" => "English (Jamaica)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-nz",
|
|
||||||
"name" => "English (New Zealand)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-tt",
|
|
||||||
"name" => "English (Trinidad)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-us",
|
|
||||||
"name" => "English (United States)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "en-za",
|
|
||||||
"name" => "English (South Africa)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es",
|
|
||||||
"name" => "Spanish (Spain)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-ar",
|
|
||||||
"name" => "Spanish (Argentina)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-bo",
|
|
||||||
"name" => "Spanish (Bolivia)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-cl",
|
|
||||||
"name" => "Spanish (Chile)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-co",
|
|
||||||
"name" => "Spanish (Colombia)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-cr",
|
|
||||||
"name" => "Spanish (Costa Rica)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-do",
|
|
||||||
"name" => "Spanish (Dominican Republic)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-ec",
|
|
||||||
"name" => "Spanish (Ecuador)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-gt",
|
|
||||||
"name" => "Spanish (Guatemala)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-hn",
|
|
||||||
"name" => "Spanish (Honduras)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-mx",
|
|
||||||
"name" => "Spanish (Mexico)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-ni",
|
|
||||||
"name" => "Spanish (Nicaragua)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-pa",
|
|
||||||
"name" => "Spanish (Panama)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-pe",
|
|
||||||
"name" => "Spanish (Peru)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-pr",
|
|
||||||
"name" => "Spanish (Puerto Rico)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-py",
|
|
||||||
"name" => "Spanish (Paraguay)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-sv",
|
|
||||||
"name" => "Spanish (El Salvador)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-uy",
|
|
||||||
"name" => "Spanish (Uruguay)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "es-ve",
|
|
||||||
"name" => "Spanish (Venezuela)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "et",
|
|
||||||
"name" => "Estonian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "eu",
|
|
||||||
"name" => "Basque",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fa",
|
|
||||||
"name" => "Farsi",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fi",
|
|
||||||
"name" => "Finnish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fo",
|
|
||||||
"name" => "Faeroese",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fr",
|
|
||||||
"name" => "French (Standard)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fr-be",
|
|
||||||
"name" => "French (Belgium)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fr-ca",
|
|
||||||
"name" => "French (Canada)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fr-ch",
|
|
||||||
"name" => "French (Switzerland)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "fr-lu",
|
|
||||||
"name" => "French (Luxembourg)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ga",
|
|
||||||
"name" => "Irish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "gd",
|
|
||||||
"name" => "Gaelic (Scotland)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "he",
|
|
||||||
"name" => "Hebrew",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "hi",
|
|
||||||
"name" => "Hindi",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "hr",
|
|
||||||
"name" => "Croatian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "hu",
|
|
||||||
"name" => "Hungarian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "id",
|
|
||||||
"name" => "Indonesian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "is",
|
|
||||||
"name" => "Icelandic",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "it",
|
|
||||||
"name" => "Italian (Standard)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "it-ch",
|
|
||||||
"name" => "Italian (Switzerland)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ja",
|
|
||||||
"name" => "Japanese",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ji",
|
|
||||||
"name" => "Yiddish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ko",
|
|
||||||
"name" => "Korean",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ko",
|
|
||||||
"name" => "Korean (Johab)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ku",
|
|
||||||
"name" => "Kurdish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "lt",
|
|
||||||
"name" => "Lithuanian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "lv",
|
|
||||||
"name" => "Latvian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "mk",
|
|
||||||
"name" => "Macedonian (FYROM)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ml",
|
|
||||||
"name" => "Malayalam",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ms",
|
|
||||||
"name" => "Malaysian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "mt",
|
|
||||||
"name" => "Maltese",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "nb",
|
|
||||||
"name" => "Norwegian (Bokmål)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "nl",
|
|
||||||
"name" => "Dutch (Standard)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "nl-be",
|
|
||||||
"name" => "Dutch (Belgium)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "nn",
|
|
||||||
"name" => "Norwegian (Nynorsk)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "no",
|
|
||||||
"name" => "Norwegian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "pa",
|
|
||||||
"name" => "Punjabi",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "pl",
|
|
||||||
"name" => "Polish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "pt",
|
|
||||||
"name" => "Portuguese (Portugal)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "pt-br",
|
|
||||||
"name" => "Portuguese (Brazil)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "rm",
|
|
||||||
"name" => "Rhaeto-Romanic",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ro",
|
|
||||||
"name" => "Romanian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ro-md",
|
|
||||||
"name" => "Romanian (Republic of Moldova)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ru",
|
|
||||||
"name" => "Russian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ru-md",
|
|
||||||
"name" => "Russian (Republic of Moldova)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "sb",
|
|
||||||
"name" => "Sorbian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "sk",
|
|
||||||
"name" => "Slovak",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "sl",
|
|
||||||
"name" => "Slovenian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "sq",
|
|
||||||
"name" => "Albanian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "sr",
|
|
||||||
"name" => "Serbian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "sv",
|
|
||||||
"name" => "Swedish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "sv-fi",
|
|
||||||
"name" => "Swedish (Finland)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "th",
|
|
||||||
"name" => "Thai",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "tn",
|
|
||||||
"name" => "Tswana",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "tr",
|
|
||||||
"name" => "Turkish",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ts",
|
|
||||||
"name" => "Tsonga",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ua",
|
|
||||||
"name" => "Ukrainian",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ur",
|
|
||||||
"name" => "Urdu",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "ve",
|
|
||||||
"name" => "Venda",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "vi",
|
|
||||||
"name" => "Vietnamese",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "xh",
|
|
||||||
"name" => "Xhosa",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "zh-cn",
|
|
||||||
"name" => "Chinese (PRC)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "zh-hk",
|
|
||||||
"name" => "Chinese (Hong Kong)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "zh-sg",
|
|
||||||
"name" => "Chinese (Singapore)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "zh-tw",
|
|
||||||
"name" => "Chinese (Taiwan)",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"code" => "zu",
|
|
||||||
"name" => "Zulu",
|
|
||||||
],
|
|
||||||
];
|
|
|
@ -19,12 +19,11 @@ App::get('/v1/locale')
|
||||||
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
||||||
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
||||||
->label('sdk.response.model', Response::MODEL_LOCALE)
|
->label('sdk.response.model', Response::MODEL_LOCALE)
|
||||||
->label('sdk.offline.model', '/locale')
|
->label('sdk.offline.model', '/locale/localeCodes')
|
||||||
->label('sdk.offline.key', 'current')
|
->label('sdk.offline.key', 'current')
|
||||||
->inject('request')
|
->inject('request')
|
||||||
->inject('response')
|
->inject('response')
|
||||||
->inject('locale')
|
->inject('locale')
|
||||||
->inject('geodb')
|
|
||||||
->action(function (Request $request, Response $response, Locale $locale, Reader $geodb) {
|
->action(function (Request $request, Response $response, Locale $locale, Reader $geodb) {
|
||||||
$eu = Config::getParam('locale-eu');
|
$eu = Config::getParam('locale-eu');
|
||||||
$currencies = Config::getParam('locale-currencies');
|
$currencies = Config::getParam('locale-currencies');
|
||||||
|
@ -68,6 +67,28 @@ App::get('/v1/locale')
|
||||||
$response->dynamic(new Document($output), Response::MODEL_LOCALE);
|
$response->dynamic(new Document($output), Response::MODEL_LOCALE);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
App::get('/v1/locale/codes')
|
||||||
|
->desc('Get Locale Codes')
|
||||||
|
->groups(['api', 'locale'])
|
||||||
|
->label('scope', 'locale.read')
|
||||||
|
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
|
||||||
|
->label('sdk.namespace', 'locale')
|
||||||
|
->label('sdk.method', 'getCodes')
|
||||||
|
->label('sdk.description', '/docs/references/locale/get-locale-codes.md')
|
||||||
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
||||||
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
||||||
|
->label('sdk.response.model', Response::MODEL_LOCALE_CODE)
|
||||||
|
->label('sdk.offline.model', '/locale')
|
||||||
|
->label('sdk.offline.key', 'current')
|
||||||
|
->inject('response')
|
||||||
|
->action(function (Response $response) {
|
||||||
|
$codes = Config::getParam('locale-codes');
|
||||||
|
$response->dynamic(new Document([
|
||||||
|
'localeCodes' => $codes,
|
||||||
|
'total' => count($codes),
|
||||||
|
]), Response::MODEL_LOCALE_CODE_LIST);
|
||||||
|
});
|
||||||
|
|
||||||
App::get('/v1/locale/countries')
|
App::get('/v1/locale/countries')
|
||||||
->desc('List Countries')
|
->desc('List Countries')
|
||||||
->groups(['api', 'locale'])
|
->groups(['api', 'locale'])
|
||||||
|
|
|
@ -49,9 +49,10 @@ App::init()
|
||||||
->inject('dbForConsole')
|
->inject('dbForConsole')
|
||||||
->inject('user')
|
->inject('user')
|
||||||
->inject('locale')
|
->inject('locale')
|
||||||
|
->inject('localeCodes')
|
||||||
->inject('clients')
|
->inject('clients')
|
||||||
->inject('servers')
|
->inject('servers')
|
||||||
->action(function (App $utopia, Request $request, Response $response, Document $console, Document $project, Database $dbForConsole, Document $user, Locale $locale, array $clients, array $servers) {
|
->action(function (App $utopia, Request $request, Response $response, Document $console, Document $project, Database $dbForConsole, Document $user, Locale $locale, array $localeCodes, array $clients, array $servers) {
|
||||||
/*
|
/*
|
||||||
* Request format
|
* Request format
|
||||||
*/
|
*/
|
||||||
|
@ -135,7 +136,7 @@ App::init()
|
||||||
}
|
}
|
||||||
|
|
||||||
$localeParam = (string) $request->getParam('locale', $request->getHeader('x-appwrite-locale', ''));
|
$localeParam = (string) $request->getParam('locale', $request->getHeader('x-appwrite-locale', ''));
|
||||||
if (\in_array($localeParam, Config::getParam('locale-codes'))) {
|
if (\in_array($localeParam, $localeCodes)) {
|
||||||
$locale->setDefault($localeParam);
|
$locale->setDefault($localeParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
91
app/init.php
91
app/init.php
|
@ -661,78 +661,21 @@ $register->set('promiseAdapter', function () {
|
||||||
* Localization
|
* Localization
|
||||||
*/
|
*/
|
||||||
Locale::$exceptions = false;
|
Locale::$exceptions = false;
|
||||||
Locale::setLanguageFromJSON('af', __DIR__ . '/config/locale/translations/af.json');
|
|
||||||
Locale::setLanguageFromJSON('ar', __DIR__ . '/config/locale/translations/ar.json');
|
$locales = Config::getParam('locale-codes', []);
|
||||||
Locale::setLanguageFromJSON('as', __DIR__ . '/config/locale/translations/as.json');
|
|
||||||
Locale::setLanguageFromJSON('az', __DIR__ . '/config/locale/translations/az.json');
|
foreach($locales as $locale) {
|
||||||
Locale::setLanguageFromJSON('be', __DIR__ . '/config/locale/translations/be.json');
|
$code = $locale['code'];
|
||||||
Locale::setLanguageFromJSON('bg', __DIR__ . '/config/locale/translations/bg.json');
|
$path = __DIR__ . '/config/locale/translations/' . $code . '.json';
|
||||||
Locale::setLanguageFromJSON('bh', __DIR__ . '/config/locale/translations/bh.json');
|
|
||||||
Locale::setLanguageFromJSON('bn', __DIR__ . '/config/locale/translations/bn.json');
|
if(!\file_exists($path)) {
|
||||||
Locale::setLanguageFromJSON('bs', __DIR__ . '/config/locale/translations/bs.json');
|
$path = __DIR__ . '/config/locale/translations/' . \substr($code, 0, 2) . '.json';
|
||||||
Locale::setLanguageFromJSON('ca', __DIR__ . '/config/locale/translations/ca.json');
|
}
|
||||||
Locale::setLanguageFromJSON('cs', __DIR__ . '/config/locale/translations/cs.json');
|
|
||||||
Locale::setLanguageFromJSON('da', __DIR__ . '/config/locale/translations/da.json');
|
if(\file_exists($path)) {
|
||||||
Locale::setLanguageFromJSON('de', __DIR__ . '/config/locale/translations/de.json');
|
Locale::setLanguageFromJSON($code, $path);
|
||||||
Locale::setLanguageFromJSON('el', __DIR__ . '/config/locale/translations/el.json');
|
}
|
||||||
Locale::setLanguageFromJSON('en', __DIR__ . '/config/locale/translations/en.json');
|
}
|
||||||
Locale::setLanguageFromJSON('eo', __DIR__ . '/config/locale/translations/eo.json');
|
|
||||||
Locale::setLanguageFromJSON('es', __DIR__ . '/config/locale/translations/es.json');
|
|
||||||
Locale::setLanguageFromJSON('fa', __DIR__ . '/config/locale/translations/fa.json');
|
|
||||||
Locale::setLanguageFromJSON('fi', __DIR__ . '/config/locale/translations/fi.json');
|
|
||||||
Locale::setLanguageFromJSON('fo', __DIR__ . '/config/locale/translations/fo.json');
|
|
||||||
Locale::setLanguageFromJSON('fr', __DIR__ . '/config/locale/translations/fr.json');
|
|
||||||
Locale::setLanguageFromJSON('ga', __DIR__ . '/config/locale/translations/ga.json');
|
|
||||||
Locale::setLanguageFromJSON('gu', __DIR__ . '/config/locale/translations/gu.json');
|
|
||||||
Locale::setLanguageFromJSON('he', __DIR__ . '/config/locale/translations/he.json');
|
|
||||||
Locale::setLanguageFromJSON('hi', __DIR__ . '/config/locale/translations/hi.json');
|
|
||||||
Locale::setLanguageFromJSON('hr', __DIR__ . '/config/locale/translations/hr.json');
|
|
||||||
Locale::setLanguageFromJSON('hu', __DIR__ . '/config/locale/translations/hu.json');
|
|
||||||
Locale::setLanguageFromJSON('hy', __DIR__ . '/config/locale/translations/hy.json');
|
|
||||||
Locale::setLanguageFromJSON('id', __DIR__ . '/config/locale/translations/id.json');
|
|
||||||
Locale::setLanguageFromJSON('is', __DIR__ . '/config/locale/translations/is.json');
|
|
||||||
Locale::setLanguageFromJSON('it', __DIR__ . '/config/locale/translations/it.json');
|
|
||||||
Locale::setLanguageFromJSON('ja', __DIR__ . '/config/locale/translations/ja.json');
|
|
||||||
Locale::setLanguageFromJSON('jv', __DIR__ . '/config/locale/translations/jv.json');
|
|
||||||
Locale::setLanguageFromJSON('kn', __DIR__ . '/config/locale/translations/kn.json');
|
|
||||||
Locale::setLanguageFromJSON('km', __DIR__ . '/config/locale/translations/km.json');
|
|
||||||
Locale::setLanguageFromJSON('ko', __DIR__ . '/config/locale/translations/ko.json');
|
|
||||||
Locale::setLanguageFromJSON('la', __DIR__ . '/config/locale/translations/la.json');
|
|
||||||
Locale::setLanguageFromJSON('lb', __DIR__ . '/config/locale/translations/lb.json');
|
|
||||||
Locale::setLanguageFromJSON('lt', __DIR__ . '/config/locale/translations/lt.json');
|
|
||||||
Locale::setLanguageFromJSON('lv', __DIR__ . '/config/locale/translations/lv.json');
|
|
||||||
Locale::setLanguageFromJSON('ml', __DIR__ . '/config/locale/translations/ml.json');
|
|
||||||
Locale::setLanguageFromJSON('mr', __DIR__ . '/config/locale/translations/mr.json');
|
|
||||||
Locale::setLanguageFromJSON('ms', __DIR__ . '/config/locale/translations/ms.json');
|
|
||||||
Locale::setLanguageFromJSON('nb', __DIR__ . '/config/locale/translations/nb.json');
|
|
||||||
Locale::setLanguageFromJSON('ne', __DIR__ . '/config/locale/translations/ne.json');
|
|
||||||
Locale::setLanguageFromJSON('nl', __DIR__ . '/config/locale/translations/nl.json');
|
|
||||||
Locale::setLanguageFromJSON('nn', __DIR__ . '/config/locale/translations/nn.json');
|
|
||||||
Locale::setLanguageFromJSON('or', __DIR__ . '/config/locale/translations/or.json');
|
|
||||||
Locale::setLanguageFromJSON('pa', __DIR__ . '/config/locale/translations/pa.json');
|
|
||||||
Locale::setLanguageFromJSON('pl', __DIR__ . '/config/locale/translations/pl.json');
|
|
||||||
Locale::setLanguageFromJSON('pt-br', __DIR__ . '/config/locale/translations/pt-br.json');
|
|
||||||
Locale::setLanguageFromJSON('pt-pt', __DIR__ . '/config/locale/translations/pt-pt.json');
|
|
||||||
Locale::setLanguageFromJSON('ro', __DIR__ . '/config/locale/translations/ro.json');
|
|
||||||
Locale::setLanguageFromJSON('ru', __DIR__ . '/config/locale/translations/ru.json');
|
|
||||||
Locale::setLanguageFromJSON('sa', __DIR__ . '/config/locale/translations/sa.json');
|
|
||||||
Locale::setLanguageFromJSON('sd', __DIR__ . '/config/locale/translations/sd.json');
|
|
||||||
Locale::setLanguageFromJSON('si', __DIR__ . '/config/locale/translations/si.json');
|
|
||||||
Locale::setLanguageFromJSON('sk', __DIR__ . '/config/locale/translations/sk.json');
|
|
||||||
Locale::setLanguageFromJSON('sl', __DIR__ . '/config/locale/translations/sl.json');
|
|
||||||
Locale::setLanguageFromJSON('sn', __DIR__ . '/config/locale/translations/sn.json');
|
|
||||||
Locale::setLanguageFromJSON('sq', __DIR__ . '/config/locale/translations/sq.json');
|
|
||||||
Locale::setLanguageFromJSON('sv', __DIR__ . '/config/locale/translations/sv.json');
|
|
||||||
Locale::setLanguageFromJSON('ta', __DIR__ . '/config/locale/translations/ta.json');
|
|
||||||
Locale::setLanguageFromJSON('te', __DIR__ . '/config/locale/translations/te.json');
|
|
||||||
Locale::setLanguageFromJSON('th', __DIR__ . '/config/locale/translations/th.json');
|
|
||||||
Locale::setLanguageFromJSON('tl', __DIR__ . '/config/locale/translations/tl.json');
|
|
||||||
Locale::setLanguageFromJSON('tr', __DIR__ . '/config/locale/translations/tr.json');
|
|
||||||
Locale::setLanguageFromJSON('uk', __DIR__ . '/config/locale/translations/uk.json');
|
|
||||||
Locale::setLanguageFromJSON('ur', __DIR__ . '/config/locale/translations/ur.json');
|
|
||||||
Locale::setLanguageFromJSON('vi', __DIR__ . '/config/locale/translations/vi.json');
|
|
||||||
Locale::setLanguageFromJSON('zh-cn', __DIR__ . '/config/locale/translations/zh-cn.json');
|
|
||||||
Locale::setLanguageFromJSON('zh-tw', __DIR__ . '/config/locale/translations/zh-tw.json');
|
|
||||||
|
|
||||||
\stream_context_set_default([ // Set global user agent and http settings
|
\stream_context_set_default([ // Set global user agent and http settings
|
||||||
'http' => [
|
'http' => [
|
||||||
|
@ -759,6 +702,10 @@ App::setResource('register', fn() => $register);
|
||||||
|
|
||||||
App::setResource('locale', fn() => new Locale(App::getEnv('_APP_LOCALE', 'en')));
|
App::setResource('locale', fn() => new Locale(App::getEnv('_APP_LOCALE', 'en')));
|
||||||
|
|
||||||
|
App::setResource('localeCodes', function() {
|
||||||
|
return array_map(fn($locale) => $locale['code'], Config::getParam('locale-codes', []));
|
||||||
|
});
|
||||||
|
|
||||||
// Queues
|
// Queues
|
||||||
App::setResource('events', fn() => new Event('', ''));
|
App::setResource('events', fn() => new Event('', ''));
|
||||||
App::setResource('audits', fn() => new Audit());
|
App::setResource('audits', fn() => new Audit());
|
||||||
|
|
|
@ -73,6 +73,7 @@ use Appwrite\Utopia\Response\Model\HealthQueue;
|
||||||
use Appwrite\Utopia\Response\Model\HealthStatus;
|
use Appwrite\Utopia\Response\Model\HealthStatus;
|
||||||
use Appwrite\Utopia\Response\Model\HealthTime;
|
use Appwrite\Utopia\Response\Model\HealthTime;
|
||||||
use Appwrite\Utopia\Response\Model\HealthVersion;
|
use Appwrite\Utopia\Response\Model\HealthVersion;
|
||||||
|
use Appwrite\Utopia\Response\Model\LocaleCode;
|
||||||
use Appwrite\Utopia\Response\Model\Mock; // Keep last
|
use Appwrite\Utopia\Response\Model\Mock; // Keep last
|
||||||
use Appwrite\Utopia\Response\Model\Provider;
|
use Appwrite\Utopia\Response\Model\Provider;
|
||||||
use Appwrite\Utopia\Response\Model\Runtime;
|
use Appwrite\Utopia\Response\Model\Runtime;
|
||||||
|
@ -165,6 +166,8 @@ class Response extends SwooleResponse
|
||||||
|
|
||||||
// Locale
|
// Locale
|
||||||
public const MODEL_LOCALE = 'locale';
|
public const MODEL_LOCALE = 'locale';
|
||||||
|
public const MODEL_LOCALE_CODE = 'localeCode';
|
||||||
|
public const MODEL_LOCALE_CODE_LIST = 'localeCodeList';
|
||||||
public const MODEL_COUNTRY = 'country';
|
public const MODEL_COUNTRY = 'country';
|
||||||
public const MODEL_COUNTRY_LIST = 'countryList';
|
public const MODEL_COUNTRY_LIST = 'countryList';
|
||||||
public const MODEL_CONTINENT = 'continent';
|
public const MODEL_CONTINENT = 'continent';
|
||||||
|
@ -284,6 +287,7 @@ class Response extends SwooleResponse
|
||||||
->setModel(new BaseList('Phones List', self::MODEL_PHONE_LIST, 'phones', self::MODEL_PHONE))
|
->setModel(new BaseList('Phones List', self::MODEL_PHONE_LIST, 'phones', self::MODEL_PHONE))
|
||||||
->setModel(new BaseList('Metric List', self::MODEL_METRIC_LIST, 'metrics', self::MODEL_METRIC, true, false))
|
->setModel(new BaseList('Metric List', self::MODEL_METRIC_LIST, 'metrics', self::MODEL_METRIC, true, false))
|
||||||
->setModel(new BaseList('Variables List', self::MODEL_VARIABLE_LIST, 'variables', self::MODEL_VARIABLE))
|
->setModel(new BaseList('Variables List', self::MODEL_VARIABLE_LIST, 'variables', self::MODEL_VARIABLE))
|
||||||
|
->setModel(new BaseList('Locale codes list', self::MODEL_LOCALE_CODE_LIST, 'localeCodes', self::MODEL_LOCALE_CODE))
|
||||||
// Entities
|
// Entities
|
||||||
->setModel(new Database())
|
->setModel(new Database())
|
||||||
->setModel(new Collection())
|
->setModel(new Collection())
|
||||||
|
@ -316,6 +320,7 @@ class Response extends SwooleResponse
|
||||||
->setModel(new Token())
|
->setModel(new Token())
|
||||||
->setModel(new JWT())
|
->setModel(new JWT())
|
||||||
->setModel(new Locale())
|
->setModel(new Locale())
|
||||||
|
->setModel(new LocaleCode())
|
||||||
->setModel(new File())
|
->setModel(new File())
|
||||||
->setModel(new Bucket())
|
->setModel(new Bucket())
|
||||||
->setModel(new Team())
|
->setModel(new Team())
|
||||||
|
|
47
src/Appwrite/Utopia/Response/Model/LocaleCode.php
Normal file
47
src/Appwrite/Utopia/Response/Model/LocaleCode.php
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Appwrite\Utopia\Response\Model;
|
||||||
|
|
||||||
|
use Appwrite\Utopia\Response;
|
||||||
|
use Appwrite\Utopia\Response\Model;
|
||||||
|
|
||||||
|
class LocaleCode extends Model
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this
|
||||||
|
->addRule('code', [
|
||||||
|
'type' => self::TYPE_STRING,
|
||||||
|
'description' => 'Locale codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'en-us',
|
||||||
|
])
|
||||||
|
->addRule('name', [
|
||||||
|
'type' => self::TYPE_STRING,
|
||||||
|
'description' => 'Locale name',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'US',
|
||||||
|
])
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Name
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getName(): string
|
||||||
|
{
|
||||||
|
return 'LocaleCode';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Type
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getType(): string
|
||||||
|
{
|
||||||
|
return Response::MODEL_LOCALE_CODE;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue