vue-i18n-composable
Version:
Composition API for vue-i18n in Vue 2.x
60 lines (58 loc) • 2.35 kB
JavaScript
(() => {
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function(x) {
if (typeof require !== "undefined")
return require.apply(this, arguments);
throw new Error('Dynamic require of "' + x + '" is not supported');
});
var __reExport = (target, module, desc) => {
if (module && typeof module === "object" || typeof module === "function") {
for (let key of __getOwnPropNames(module))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module) => {
return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
};
// src/index.ts
var import_vue = __toModule(__require("vue"));
var import_vue_i18n = __toModule(__require("vue-i18n"));
var i18nInstance;
function createI18n(options) {
i18nInstance = new import_vue_i18n.default(options);
return i18nInstance;
}
function useI18n() {
if (!i18nInstance)
throw new Error("vue-i18n not initialized");
const i18n = i18nInstance;
const instance = (0, import_vue.getCurrentInstance)();
const vm = (instance == null ? void 0 : instance.proxy) || instance || new import_vue.default({});
const locale = (0, import_vue.computed)({
get() {
return i18n.locale;
},
set(v) {
i18n.locale = v;
}
});
return {
locale,
t: vm.$t.bind(vm),
tc: vm.$tc.bind(vm),
d: vm.$d.bind(vm),
te: vm.$te.bind(vm),
n: vm.$n.bind(vm)
};
}
})();