Spaces:
Sleeping
Sleeping
| export const SUPPORTED_LANGUAGES = [ | |
| { value: 'de', label: 'Deutsch', locale: 'de-DE' }, | |
| { value: 'en', label: 'English', locale: 'en-US' }, | |
| { value: 'es', label: 'Español', locale: 'es-ES' }, | |
| { value: 'fr', label: 'Français', locale: 'fr-FR' }, | |
| { value: 'hu', label: 'Magyar', locale: 'hu-HU' }, | |
| { value: 'nl', label: 'Nederlands', locale: 'nl-NL' }, | |
| { value: 'br', label: 'Português (Brasil)', locale: 'pt-BR' }, | |
| { value: 'cs', label: 'Česky', locale: 'cs-CZ' }, | |
| { value: 'pl', label: 'Polski', locale: 'pl-PL' }, | |
| { value: 'ru', label: 'Русский', locale: 'ru-RU' }, | |
| { value: 'zh', label: '简体中文', locale: 'zh-CN' }, | |
| { value: 'zh-TW', label: '繁體中文', locale: 'zh-TW' }, | |
| { value: 'it', label: 'Italiano', locale: 'it-IT' }, | |
| { value: 'tr', label: 'Türkçe', locale: 'tr-TR' }, | |
| { value: 'ar', label: 'العربية', locale: 'ar-SA' }, | |
| { value: 'id', label: 'Bahasa Indonesia', locale: 'id-ID' }, | |
| { value: 'ja', label: '日本語', locale: 'ja-JP' }, | |
| { value: 'ko', label: '한국어', locale: 'ko-KR' }, | |
| { value: 'uk', label: 'Українська', locale: 'uk-UA' }, | |
| { value: 'gr', label: 'Ελληνικά', locale: 'el-GR' }, | |
| ] as const; | |
| export type SupportedLanguageCode = | |
| (typeof SUPPORTED_LANGUAGES)[number]['value']; | |
| export const SUPPORTED_LANGUAGE_CODES: string[] = SUPPORTED_LANGUAGES.map( | |
| (l) => l.value, | |
| ); | |
| const LOCALES: Partial<Record<string, string>> = Object.fromEntries( | |
| SUPPORTED_LANGUAGES.map((l) => [l.value, l.locale]), | |
| ); | |
| // Languages displayed right-to-left. | |
| const RTL_LANGUAGES = new Set<string>(['ar']); | |
| export function getLocaleForLanguage(language: string): string { | |
| return LOCALES[language] ?? LOCALES['en'] ?? 'en-US'; | |
| } | |
| // Returns a BCP-47 tag suitable for Intl APIs. | |
| export function getIntlLanguage(language: string): string { | |
| if (language === 'br') return 'pt-BR'; | |
| return SUPPORTED_LANGUAGE_CODES.includes(language) ? language : 'en'; | |
| } | |
| export function isRtlLanguage(language: string): boolean { | |
| return RTL_LANGUAGES.has(language); | |
| } | |