UNPKG

vue-app-sdk

Version:
28 lines (27 loc) 1.01 kB
import { logger } from "../../utils/index2.js"; import "../../vendors/nice-fns/dist/compactObject.js"; import "../../vendors/nice-fns/dist/pascalCase.js"; import { toValue } from "vue"; import isString from "../../vendors/lodash-es/isString.js"; import isObject from "../../vendors/lodash-es/isObject.js"; function createTranslator(localeGetter) { return function translator(message = "", locale = "") { if (isString(message) || !message) return message; if (!locale) { let baseLocale = toValue(localeGetter); if (isObject(baseLocale) && "global" in baseLocale) { logger.warn("localeGetter 后续将不再支持 i18n 实例,请使用 MaybeRefOrGetter<string> 类型值替代!"); const i18n = baseLocale; baseLocale = i18n.mode === "legacy" ? i18n.global.locale : i18n.global.locale.value; } locale = baseLocale; } return message[locale]; }; } const createLocaleText = createTranslator; export { createLocaleText, createTranslator };