vue-app-sdk
Version:
28 lines (27 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const index = require("../../utils/index2.cjs");
require("../../vendors/nice-fns/dist/compactObject.cjs");
require("../../vendors/nice-fns/dist/pascalCase.cjs");
const vue = require("vue");
const isString = require("../../vendors/lodash-es/isString.cjs");
const isObject = require("../../vendors/lodash-es/isObject.cjs");
function createTranslator(localeGetter) {
return function translator(message = "", locale = "") {
if (isString.default(message) || !message)
return message;
if (!locale) {
let baseLocale = vue.toValue(localeGetter);
if (isObject.default(baseLocale) && "global" in baseLocale) {
index.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;
exports.createLocaleText = createLocaleText;
exports.createTranslator = createTranslator;