UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

125 lines (113 loc) 1.95 kB
import { DEFAULT_LANG } from '@/const/locale'; import resources from './default'; export const locales = [ 'ar', 'bg-BG', 'de-DE', 'en-US', 'es-ES', 'fr-FR', 'ja-JP', 'ko-KR', 'pt-BR', 'ru-RU', 'tr-TR', 'zh-CN', 'zh-TW', 'vi-VN', 'fa-IR', ] as const; export type DefaultResources = typeof resources; export type NS = keyof DefaultResources; export type Locales = (typeof locales)[number]; export const normalizeLocale = (locale?: string): string => { if (!locale) return DEFAULT_LANG; if (locale.startsWith('ar')) return 'ar'; if (locale.startsWith('fa')) return 'fa-IR'; if (locale.startsWith('cn')) return 'zh-CN'; for (const l of locales) { if (l.startsWith(locale)) { return l; } } return DEFAULT_LANG; }; type LocaleOptions = { label: string; value: Locales; }[]; export const localeOptions: LocaleOptions = [ { label: 'English', value: 'en-US', }, { label: '简体中文', value: 'zh-CN', }, { label: '繁體中文', value: 'zh-TW', }, { label: '日本語', value: 'ja-JP', }, { label: '한국어', value: 'ko-KR', }, { label: 'Deutsch', value: 'de-DE', }, { label: 'Español', value: 'es-ES', }, { label: 'العربية', value: 'ar', }, { label: 'Français', value: 'fr-FR', }, { label: 'Português', value: 'pt-BR', }, { label: 'Русский', value: 'ru-RU', }, { label: 'Türkçe', value: 'tr-TR', }, { label: 'Polski', value: 'pl-PL', }, { label: 'Nederlands', value: 'nl-NL', }, { label: 'Italiano', value: 'it-IT', }, { label: 'Tiếng Việt', value: 'vi-VN', }, { label: 'Български', value: 'bg-BG', }, { label: 'فارسی', value: 'fa-IR', }, ] as LocaleOptions; export const supportLocales: string[] = [...locales, 'en', 'zh'];