@matechat/core
Version:
前端智能化场景解决方案UI库,轻松构建你的AI应用。
65 lines (64 loc) • 1.78 kB
JavaScript
import { ref as u, reactive as l } from "vue";
function h(n) {
return new f(n);
}
let f = class {
constructor(r) {
this.locale = u("zh-cn"), this.messages = l({}), this.use = (e) => {
this.locale.value = e;
}, this.t = (e, s = {}) => {
const t = this.messages[this.locale.value];
return p(e, s, t);
}, this.mergeLocaleMessages = (e, s) => this.messages[e] ? (this.messages[e] = o(this.messages[e], s), o(this.messages[e], s)) : (this.messages[e] = s, this.messages), this.locale.value = r.locale, this.messages = l(r.messages);
}
};
function p(n, r, e) {
const s = n.split(".");
let t = e || {};
return s.forEach((c) => {
t = t[c] ?? n;
}), typeof t == "function" ? t(r) : t.replace(/{(\w+)}/g, (c, a) => r[a] ?? `{${a}}`);
}
function o(n, r) {
const e = { ...n };
for (const s in r)
if (Object.prototype.hasOwnProperty.call(r, s)) {
const t = r[s], c = n[s];
typeof t == "object" && t !== null ? typeof c == "object" && c !== null ? e[s] = o(c, t) : e[s] = { ...t } : e[s] = t;
}
return e;
}
const g = {
Input: {
send: "Send",
pauseAnswer: "Stop",
pleaseEnter: "Please enter your question...",
pleaseEnterPlaceholder: "Please enter your question and press {enterKey} to send, {shiftEnterKey} to wrap."
}
}, y = {
Input: {
send: "发送",
pauseAnswer: "停止回答",
pleaseEnter: "请输入您的问题...",
pleaseEnterPlaceholder: "请输入您的问题,并按{enterKey}发送,按{shiftEnterKey}换行"
}
}, M = {
"en-us": g,
"zh-cn": y
}, i = h({
locale: "zh-cn",
messages: M
});
function I() {
return i;
}
const E = {
install: (n) => {
n.config.globalProperties.McI18n = i;
}
};
export {
E as McLocale,
i as default,
I as useMcI18n
};