mirror of
https://github.com/purocean/yn.git
synced 2026-09-24 15:46:02 +08:00
feat: add ctx.i18n.mergeLanguage method
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { getCurrentInstance, onBeforeUnmount } from 'vue'
|
||||
import { Language, MsgPath, translate } from '@share/i18n'
|
||||
import { Language, MsgPath, mergeLanguage as _mergeLanguage, translate } from '@share/i18n'
|
||||
import { registerHook, removeHook, triggerHook } from '@fe/core/hook'
|
||||
import * as storage from '@fe/utils/storage'
|
||||
import { LanguageName } from '@fe/types'
|
||||
@@ -42,6 +42,16 @@ export function setLanguage (language: LanguageName) {
|
||||
triggerHook('I18N_CHANGE_LANGUAGE', { lang })
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge natural language strings
|
||||
* @param lang
|
||||
* @param nls
|
||||
*/
|
||||
export function mergeLanguage (lang: Language, nls: Record<string, any>) {
|
||||
_mergeLanguage(lang, nls)
|
||||
triggerHook('I18N_CHANGE_LANGUAGE', { lang: getLanguage() })
|
||||
}
|
||||
|
||||
/**
|
||||
* For vue setup, auto refresh when language change.
|
||||
* @returns
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import get from 'lodash/get'
|
||||
import merge from 'lodash/merge'
|
||||
import en, { BaseLanguage } from './languages/en'
|
||||
import zhCN from './languages/zh-CN'
|
||||
|
||||
@@ -34,3 +35,7 @@ export function translate (lang: Language, path: MsgPath, ...args: string[]) {
|
||||
return args[idx] || ''
|
||||
})
|
||||
}
|
||||
|
||||
export function mergeLanguage (lang: Language, nls: Record<string, any>) {
|
||||
languages[lang] = merge(languages[lang], nls)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user