mirror of
https://github.com/Yidadaa/ChatGPT-Next-Web.git
synced 2025-08-09 17:56:43 +08:00
feat: support i18n
This commit is contained in:
30
app/locales/index.ts
Normal file
30
app/locales/index.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import CN from './cn'
|
||||
import EN from './en'
|
||||
|
||||
export type { LocaleType } from './cn'
|
||||
|
||||
type Lang = 'en' | 'cn'
|
||||
|
||||
const LANG_KEY = 'lang'
|
||||
export function getLang(): Lang {
|
||||
const savedLang = localStorage?.getItem(LANG_KEY)
|
||||
|
||||
if (['en', 'cn'].includes(savedLang ?? '')) {
|
||||
return savedLang as Lang
|
||||
}
|
||||
|
||||
const lang = navigator.language.toLowerCase()
|
||||
|
||||
if (lang.includes('zh') || lang.includes('cn')) {
|
||||
return 'cn'
|
||||
} else {
|
||||
return 'en'
|
||||
}
|
||||
}
|
||||
|
||||
export function changeLang(lang: Lang) {
|
||||
localStorage.setItem(LANG_KEY, lang)
|
||||
location.reload()
|
||||
}
|
||||
|
||||
export default { en: EN, cn: CN }[getLang()]
|
Reference in New Issue
Block a user