From b6a841e975cff923c15bec92bdfbe3f45545368a Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 21 Nov 2024 15:21:35 +0500 Subject: [PATCH] docs(i18n): display supported languages in a cards (#2709) --- .../components/content/SupportedLanguages.vue | 57 +- docs/nuxt.config.ts | 3 +- docs/server/api/locales.json.get.ts | 505 ++++++++++++++++++ 3 files changed, 530 insertions(+), 35 deletions(-) create mode 100644 docs/server/api/locales.json.get.ts diff --git a/docs/app/components/content/SupportedLanguages.vue b/docs/app/components/content/SupportedLanguages.vue index 87bd9967..924c5aa5 100644 --- a/docs/app/components/content/SupportedLanguages.vue +++ b/docs/app/components/content/SupportedLanguages.vue @@ -1,8 +1,9 @@ @@ -20,38 +30,17 @@ const localesList = getLocaleKeys.map<[LocaleKey, Locale]>(locale => [locale, lo By default, the {{ props.default }} locale is used. - - - - - Language - - - Code - - - Direction - - - - - - - {{ locale.name }} - - - - {{ locale.code }} - - - - - {{ locale.dir }} - - - - - +
+
+
+ +
+
{{ locale.name }}
+
Code: {{ locale.code }}
+
+
+
+
If you need additional languages, you can contribute by creating a PR to add a new locale in src/runtime/locale/. diff --git a/docs/nuxt.config.ts b/docs/nuxt.config.ts index 932e48c0..664cb9bd 100644 --- a/docs/nuxt.config.ts +++ b/docs/nuxt.config.ts @@ -76,7 +76,8 @@ export default defineNuxtConfig({ prerender: { routes: [ '/getting-started', - '/api/countries.json' + '/api/countries.json', + '/api/locales.json' // '/api/releases.json', // '/api/pulls.json' ], diff --git a/docs/server/api/locales.json.get.ts b/docs/server/api/locales.json.get.ts new file mode 100644 index 00000000..5dc49c1c --- /dev/null +++ b/docs/server/api/locales.json.get.ts @@ -0,0 +1,505 @@ +const locales: Record = { + 'aa': '🇪🇷', + 'aa-ER': '🇪🇷', + 'af': '🇳🇦', + 'af-NA': '🇳🇦', + 'af-ZA': '🇿🇦', + 'am': '🇪🇹', + 'am-ET': '🇪🇹', + 'ar': '🇪🇬', + 'ar-AE': '🇦🇪', + 'ar-BH': '🇧🇭', + 'ar-DJ': '🇩🇯', + 'ar-DZ': '🇩🇿', + 'ar-EG': '🇪🇬', + 'ar-ER': '🇪🇷', + 'ar-IL': '🇮🇱', + 'ar-IQ': '🇮🇶', + 'ar-JO': '🇯🇴', + 'ar-KM': '🇰🇲', + 'ar-KW': '🇰🇼', + 'ar-LB': '🇱🇧', + 'ar-LY': '🇱🇾', + 'ar-MA': '🇲🇦', + 'ar-MR': '🇲🇷', + 'ar-OM': '🇴🇲', + 'ar-PS': '🇵🇸', + 'ar-QA': '🇶🇦', + 'ar-SA': '🇸🇦', + 'ar-SD': '🇸🇩', + 'ar-SO': '🇸🇴', + 'ar-SY': '🇸🇾', + 'ar-TD': '🇹🇩', + 'ar-TN': '🇹🇳', + 'ar-YE': '🇾🇪', + 'ay': '🇧🇴', + 'ay-BO': '🇧🇴', + 'az': '🇦🇿', + 'az-AZ': '🇦🇿', + 'be': '🇧🇾', + 'be-BY': '🇧🇾', + 'bg': '🇧🇬', + 'bg-BG': '🇧🇬', + 'bi': '🇻🇺', + 'bi-VU': '🇻🇺', + 'bn': '🇧🇩', + 'bn-BD': '🇧🇩', + 'bs': '🇧🇦', + 'bs-BA': '🇧🇦', + 'bs-ME': '🇲🇪', + 'byn': '🇪🇷', + 'byn-ER': '🇪🇷', + 'ca': '🇦🇩', + 'ca-AD': '🇦🇩', + 'ch': '🇬🇺', + 'ch-GU': '🇬🇺', + 'ch-MP': '🇲🇵', + 'cs': '🇨🇿', + 'cs-CZ': '🇨🇿', + 'da': '🇩🇰', + 'da-DK': '🇩🇰', + 'de': '🇩🇪', + 'de-AT': '🇦🇹', + 'de-BE': '🇧🇪', + 'de-CH': '🇨🇭', + 'de-DE': '🇩🇪', + 'de-LI': '🇱🇮', + 'de-LU': '🇱🇺', + 'de-VA': '🇻🇦', + 'dv': '🇲🇻', + 'dv-MV': '🇲🇻', + 'dz': '🇧🇹', + 'dz-BT': '🇧🇹', + 'el': '🇬🇷', + 'el-CY': '🇨🇾', + 'el-GR': '🇬🇷', + 'en': '🇬🇧', + 'en-AG': '🇦🇬', + 'en-AI': '🇦🇮', + 'en-AQ': '🇦🇶', + 'en-AS': '🇦🇸', + 'en-AU': '🇦🇺', + 'en-BB': '🇧🇧', + 'en-BM': '🇧🇲', + 'en-BS': '🇧🇸', + 'en-BW': '🇧🇼', + 'en-BZ': '🇧🇿', + 'en-CA': '🇨🇦', + 'en-CC': '🇨🇨', + 'en-CK': '🇨🇰', + 'en-CM': '🇨🇲', + 'en-CW': '🇨🇼', + 'en-CX': '🇨🇽', + 'en-DM': '🇩🇲', + 'en-ER': '🇪🇷', + 'en-FJ': '🇫🇯', + 'en-FK': '🇫🇰', + 'en-FM': '🇫🇲', + 'en-GB': '🇬🇧', + 'en-GD': '🇬🇩', + 'en-GG': '🇬🇬', + 'en-GH': '🇬🇭', + 'en-GI': '🇬🇮', + 'en-GM': '🇬🇲', + 'en-GS': '🇬🇸', + 'en-GU': '🇬🇺', + 'en-GY': '🇬🇾', + 'en-HK': '🇭🇰', + 'en-HM': '🇭🇲', + 'en-IE': '🇮🇪', + 'en-IM': '🇮🇲', + 'en-IN': '🇮🇳', + 'en-IO': '🇮🇴', + 'en-JE': '🇯🇪', + 'en-JM': '🇯🇲', + 'en-KE': '🇰🇪', + 'en-KI': '🇰🇮', + 'en-KN': '🇰🇳', + 'en-KY': '🇰🇾', + 'en-LC': '🇱🇨', + 'en-LR': '🇱🇷', + 'en-LS': '🇱🇸', + 'en-MF': '🇲🇫', + 'en-MH': '🇲🇭', + 'en-MP': '🇲🇵', + 'en-MS': '🇲🇸', + 'en-MT': '🇲🇹', + 'en-MU': '🇲🇺', + 'en-MW': '🇲🇼', + 'en-NA': '🇳🇦', + 'en-NF': '🇳🇫', + 'en-NG': '🇳🇬', + 'en-NR': '🇳🇷', + 'en-NU': '🇳🇺', + 'en-NZ': '🇳🇿', + 'en-PG': '🇵🇬', + 'en-PH': '🇵🇭', + 'en-PK': '🇵🇰', + 'en-PN': '🇵🇳', + 'en-PR': '🇵🇷', + 'en-PW': '🇵🇼', + 'en-RW': '🇷🇼', + 'en-SB': '🇸🇧', + 'en-SC': '🇸🇨', + 'en-SD': '🇸🇩', + 'en-SG': '🇸🇬', + 'en-SH': '🇸🇭', + 'en-SL': '🇸🇱', + 'en-SS': '🇸🇸', + 'en-SX': '🇸🇽', + 'en-SZ': '🇸🇿', + 'en-TC': '🇹🇨', + 'en-TK': '🇹🇰', + 'en-TO': '🇹🇴', + 'en-TT': '🇹🇹', + 'en-TV': '🇹🇻', + 'en-TZ': '🇹🇿', + 'en-UG': '🇺🇬', + 'en-UM': '🇺🇲', + 'en-US': '🇺🇸', + 'en-VC': '🇻🇨', + 'en-VG': '🇻🇬', + 'en-VI': '🇻🇮', + 'en-VU': '🇻🇺', + 'en-WS': '🇼🇸', + 'en-ZA': '🇿🇦', + 'en-ZM': '🇿🇲', + 'en-ZW': '🇿🇼', + 'es': '🇪🇸', + 'es-AR': '🇦🇷', + 'es-BO': '🇧🇴', + 'es-BZ': '🇧🇿', + 'es-CL': '🇨🇱', + 'es-CO': '🇨🇴', + 'es-CR': '🇨🇷', + 'es-CU': '🇨🇺', + 'es-DO': '🇩🇴', + 'es-EC': '🇪🇨', + 'es-EH': '🇪🇭', + 'es-ES': '🇪🇸', + 'es-GQ': '🇬🇶', + 'es-GT': '🇬🇹', + 'es-GU': '🇬🇺', + 'es-HN': '🇭🇳', + 'es-MX': '🇲🇽', + 'es-NI': '🇳🇮', + 'es-PA': '🇵🇦', + 'es-PE': '🇵🇪', + 'es-PR': '🇵🇷', + 'es-PY': '🇵🇾', + 'es-SV': '🇸🇻', + 'es-UY': '🇺🇾', + 'es-VE': '🇻🇪', + 'et': '🇪🇪', + 'et-EE': '🇪🇪', + 'fa': '🇮🇷', + 'fa-IR': '🇮🇷', + 'fan': '🇬🇶', + 'fan-GQ': '🇬🇶', + 'ff': '🇧🇫', + 'ff-BF': '🇧🇫', + 'ff-GN': '🇬🇳', + 'fi': '🇫🇮', + 'fi-FI': '🇫🇮', + 'fj': '🇫🇯', + 'fj-FJ': '🇫🇯', + 'fo': '🇫🇴', + 'fo-FO': '🇫🇴', + 'fr': '🇫🇷', + 'fr-BE': '🇧🇪', + 'fr-BF': '🇧🇫', + 'fr-BI': '🇧🇮', + 'fr-BJ': '🇧🇯', + 'fr-BL': '🇧🇱', + 'fr-CA': '🇨🇦', + 'fr-CD': '🇨🇩', + 'fr-CF': '🇨🇫', + 'fr-CG': '🇨🇬', + 'fr-CH': '🇨🇭', + 'fr-CI': '🇨🇮', + 'fr-CM': '🇨🇲', + 'fr-DJ': '🇩🇯', + 'fr-FR': '🇫🇷', + 'fr-GA': '🇬🇦', + 'fr-GF': '🇬🇫', + 'fr-GG': '🇬🇬', + 'fr-GN': '🇬🇳', + 'fr-GP': '🇬🇵', + 'fr-GQ': '🇬🇶', + 'fr-HT': '🇭🇹', + 'fr-JE': '🇯🇪', + 'fr-KM': '🇰🇲', + 'fr-LB': '🇱🇧', + 'fr-LU': '🇱🇺', + 'fr-MC': '🇲🇨', + 'fr-MF': '🇲🇫', + 'fr-MG': '🇲🇬', + 'fr-ML': '🇲🇱', + 'fr-MQ': '🇲🇶', + 'fr-NC': '🇳🇨', + 'fr-NE': '🇳🇪', + 'fr-PF': '🇵🇫', + 'fr-PM': '🇵🇲', + 'fr-RE': '🇷🇪', + 'fr-RW': '🇷🇼', + 'fr-SC': '🇸🇨', + 'fr-SN': '🇸🇳', + 'fr-TD': '🇹🇩', + 'fr-TF': '🇹🇫', + 'fr-TG': '🇹🇬', + 'fr-VA': '🇻🇦', + 'fr-VU': '🇻🇺', + 'fr-WF': '🇼🇫', + 'fr-YT': '🇾🇹', + 'ga': '🇮🇪', + 'ga-IE': '🇮🇪', + 'gn': '🇦🇷', + 'gn-AR': '🇦🇷', + 'gn-PY': '🇵🇾', + 'gv': '🇮🇲', + 'gv-IM': '🇮🇲', + 'he': '🇮🇱', + 'he-IL': '🇮🇱', + 'hi': '🇮🇳', + 'hi-IN': '🇮🇳', + 'hif': '🇫🇯', + 'hif-FJ': '🇫🇯', + 'hr': '🇭🇷', + 'hr-BA': '🇧🇦', + 'hr-HR': '🇭🇷', + 'hr-ME': '🇲🇪', + 'ht': '🇭🇹', + 'ht-HT': '🇭🇹', + 'hu': '🇭🇺', + 'hu-HU': '🇭🇺', + 'hy': '🇦🇲', + 'hy-AM': '🇦🇲', + 'hy-CY': '🇨🇾', + 'id': '🇮🇩', + 'id-ID': '🇮🇩', + 'is': '🇮🇸', + 'is-IS': '🇮🇸', + 'it': '🇮🇹', + 'it-CH': '🇨🇭', + 'it-IT': '🇮🇹', + 'it-SM': '🇸🇲', + 'it-VA': '🇻🇦', + 'ja': '🇯🇵', + 'ja-JP': '🇯🇵', + 'ka': '🇬🇪', + 'ka-GE': '🇬🇪', + 'kg': '🇨🇩', + 'kg-CD': '🇨🇩', + 'kk': '🇰🇿', + 'kk-KZ': '🇰🇿', + 'kl': '🇬🇱', + 'kl-GL': '🇬🇱', + 'km': '🇰🇭', + 'km-KH': '🇰🇭', + 'ko': '🇰🇵', + 'ko-KP': '🇰🇵', + 'ko-KR': '🇰🇷', + 'ku': '🇮🇶', + 'ku-IQ': '🇮🇶', + 'kun': '🇪🇷', + 'kun-ER': '🇪🇷', + 'ky': '🇰🇬', + 'ky-KG': '🇰🇬', + 'la': '🇻🇦', + 'la-VA': '🇻🇦', + 'lb': '🇱🇺', + 'lb-LU': '🇱🇺', + 'ln': '🇨🇩', + 'ln-CD': '🇨🇩', + 'ln-CG': '🇨🇬', + 'lo': '🇱🇦', + 'lo-LA': '🇱🇦', + 'lt': '🇱🇹', + 'lt-LT': '🇱🇹', + 'lu': '🇨🇩', + 'lu-CD': '🇨🇩', + 'lv': '🇱🇻', + 'lv-LV': '🇱🇻', + 'mg': '🇲🇬', + 'mg-MG': '🇲🇬', + 'mh': '🇲🇭', + 'mh-MH': '🇲🇭', + 'mi': '🇳🇿', + 'mi-NZ': '🇳🇿', + 'mk': '🇲🇰', + 'mk-MK': '🇲🇰', + 'mn': '🇲🇳', + 'mn-MN': '🇲🇳', + 'ms': '🇧🇳', + 'ms-BN': '🇧🇳', + 'ms-MY': '🇲🇾', + 'ms-SG': '🇸🇬', + 'mt': '🇲🇹', + 'mt-MT': '🇲🇹', + 'my': '🇲🇲', + 'my-MM': '🇲🇲', + 'na': '🇳🇷', + 'na-NR': '🇳🇷', + 'nb': '🇧🇻', + 'nb-BV': '🇧🇻', + 'nb-NO': '🇳🇴', + 'nd': '🇿🇼', + 'nd-ZW': '🇿🇼', + 'ne': '🇳🇵', + 'ne-NP': '🇳🇵', + 'nl': '🇳🇱', + 'nl-AW': '🇦🇼', + 'nl-BE': '🇧🇪', + 'nl-BQ': '🇧🇶', + 'nl-CW': '🇨🇼', + 'nl-MF': '🇲🇫', + 'nl-NL': '🇳🇱', + 'nl-SR': '🇸🇷', + 'nl-SX': '🇸🇽', + 'nn': '🇧🇻', + 'nn-BV': '🇧🇻', + 'nn-NO': '🇳🇴', + 'no': '🇳🇴', + 'no-BV': '🇧🇻', + 'no-NO': '🇳🇴', + 'no-SJ': '🇸🇯', + 'nr': '🇿🇦', + 'nr-ZA': '🇿🇦', + 'nrb': '🇪🇷', + 'nrb-ER': '🇪🇷', + 'ny': '🇲🇼', + 'ny-MW': '🇲🇼', + 'pa': '🇦🇼', + 'pa-AW': '🇦🇼', + 'pa-CW': '🇨🇼', + 'pl': '🇵🇱', + 'pl-PL': '🇵🇱', + 'ps': '🇦🇫', + 'ps-AF': '🇦🇫', + 'pt': '🇵🇹', + 'pt-AO': '🇦🇴', + 'pt-BR': '🇧🇷', + 'pt-CV': '🇨🇻', + 'pt-GQ': '🇬🇶', + 'pt-GW': '🇬🇼', + 'pt-MO': '🇲🇴', + 'pt-MZ': '🇲🇿', + 'pt-PT': '🇵🇹', + 'pt-ST': '🇸🇹', + 'pt-TL': '🇹🇱', + 'qu': '🇧🇴', + 'qu-BO': '🇧🇴', + 'rar': '🇨🇰', + 'rar-CK': '🇨🇰', + 'rm': '🇨🇭', + 'rm-CH': '🇨🇭', + 'rn': '🇧🇮', + 'rn-BI': '🇧🇮', + 'ro': '🇷🇴', + 'ro-MD': '🇲🇩', + 'ro-RO': '🇷🇴', + 'rtm': '🇫🇯', + 'rtm-FJ': '🇫🇯', + 'ru': '🇷🇺', + 'ru-AQ': '🇦🇶', + 'ru-BY': '🇧🇾', + 'ru-KG': '🇰🇬', + 'ru-KZ': '🇰🇿', + 'ru-RU': '🇷🇺', + 'ru-TJ': '🇹🇯', + 'ru-TM': '🇹🇲', + 'ru-UZ': '🇺🇿', + 'rw': '🇷🇼', + 'rw-RW': '🇷🇼', + 'sg': '🇨🇫', + 'sg-CF': '🇨🇫', + 'si': '🇱🇰', + 'si-LK': '🇱🇰', + 'sk': '🇸🇰', + 'sk-CZ': '🇨🇿', + 'sk-SK': '🇸🇰', + 'sl': '🇸🇮', + 'sl-SI': '🇸🇮', + 'sm': '🇦🇸', + 'sm-AS': '🇦🇸', + 'sm-WS': '🇼🇸', + 'sn': '🇿🇼', + 'sn-ZW': '🇿🇼', + 'so': '🇸🇴', + 'so-SO': '🇸🇴', + 'sq': '🇦🇱', + 'sq-AL': '🇦🇱', + 'sq-ME': '🇲🇪', + 'sq-XK': '🇽🇰', + 'sr': '🇧🇦', + 'sr-BA': '🇧🇦', + 'sr-ME': '🇲🇪', + 'sr-RS': '🇷🇸', + 'sr-XK': '🇽🇰', + 'ss': '🇸🇿', + 'ss-SZ': '🇸🇿', + 'ss-ZA': '🇿🇦', + 'ssy': '🇪🇷', + 'ssy-ER': '🇪🇷', + 'st': '🇱🇸', + 'st-LS': '🇱🇸', + 'st-ZA': '🇿🇦', + 'sv': '🇦🇽', + 'sv-AX': '🇦🇽', + 'sv-FI': '🇫🇮', + 'sv-SE': '🇸🇪', + 'sw': '🇨🇩', + 'sw-CD': '🇨🇩', + 'sw-KE': '🇰🇪', + 'sw-TZ': '🇹🇿', + 'sw-UG': '🇺🇬', + 'ta': '🇸🇬', + 'ta-LK': '🇱🇰', + 'ta-SG': '🇸🇬', + 'tg': '🇹🇯', + 'tg-TJ': '🇹🇯', + 'th': '🇹🇭', + 'th-TH': '🇹🇭', + 'ti': '🇪🇷', + 'ti-ER': '🇪🇷', + 'tig': '🇪🇷', + 'tig-ER': '🇪🇷', + 'tk': '🇦🇫', + 'tk-AF': '🇦🇫', + 'tk-TM': '🇹🇲', + 'tn': '🇧🇼', + 'tn-BW': '🇧🇼', + 'tn-ZA': '🇿🇦', + 'to': '🇹🇴', + 'to-TO': '🇹🇴', + 'tr': '🇹🇷', + 'tr-CY': '🇨🇾', + 'tr-TR': '🇹🇷', + 'ts': '🇿🇦', + 'ts-ZA': '🇿🇦', + 'uk': '🇺🇦', + 'uk-UA': '🇺🇦', + 'ur': '🇵🇰', + 'ur-PK': '🇵🇰', + 'uz': '🇺🇿', + 'uz-AF': '🇦🇫', + 'uz-UZ': '🇺🇿', + 've': '🇿🇦', + 've-ZA': '🇿🇦', + 'vi': '🇻🇳', + 'vi-VN': '🇻🇳', + 'xh': '🇿🇦', + 'xh-ZA': '🇿🇦', + 'zh': '🇨🇳', + 'zh-CN': '🇨🇳', + 'zh-HK': '🇭🇰', + 'zh-Hans': '🇨🇳', + 'zh-Hant': '🇨🇳', + 'zh-MO': '🇲🇴', + 'zh-SG': '🇸🇬', + 'zh-TW': '🇹🇼', + 'zu': '🇿🇦', + 'zu-ZA': '🇿🇦' +} + +export default eventHandler(async () => locales)