it-tools/src/plugins/i18n.plugin.ts
Amery2010 ac058ac87f Merge branch 'develop'
# Conflicts:
#	src/plugins/i18n.plugin.ts
#	src/tools/base64-file-converter/index.ts
#	src/tools/base64-string-converter/index.ts
#	src/tools/basic-auth-generator/index.ts
#	src/tools/bcrypt/index.ts
#	src/tools/benchmark-builder/index.ts
#	src/tools/bip39-generator/index.ts
#	src/tools/camera-recorder/index.ts
#	src/tools/case-converter/index.ts
#	src/tools/chmod-calculator/index.ts
#	src/tools/chronometer/index.ts
#	src/tools/color-converter/index.ts
#	src/tools/crontab-generator/index.ts
#	src/tools/date-time-converter/index.ts
#	src/tools/device-information/index.ts
#	src/tools/docker-run-to-docker-compose-converter/index.ts
#	src/tools/emoji-picker/index.ts
#	src/tools/encryption/index.ts
#	src/tools/eta-calculator/index.ts
#	src/tools/git-memo/index.ts
#	src/tools/hash-text/index.ts
#	src/tools/hmac-generator/index.ts
#	src/tools/html-entities/index.ts
#	src/tools/html-wysiwyg-editor/index.ts
#	src/tools/http-status-codes/index.ts
#	src/tools/iban-validator-and-parser/index.ts
#	src/tools/index.ts
#	src/tools/integer-base-converter/index.ts
#	src/tools/ipv4-address-converter/index.ts
#	src/tools/ipv4-range-expander/index.ts
#	src/tools/ipv4-subnet-calculator/index.ts
#	src/tools/ipv6-ula-generator/index.ts
#	src/tools/json-diff/index.ts
#	src/tools/json-minify/index.ts
#	src/tools/json-to-csv/index.ts
#	src/tools/json-to-toml/index.ts
#	src/tools/json-to-yaml-converter/index.ts
#	src/tools/json-viewer/index.ts
#	src/tools/jwt-parser/index.ts
#	src/tools/keycode-info/index.ts
#	src/tools/list-converter/index.ts
#	src/tools/lorem-ipsum-generator/index.ts
#	src/tools/mac-address-generator/index.ts
#	src/tools/mac-address-lookup/index.ts
#	src/tools/math-evaluator/index.ts
#	src/tools/meta-tag-generator/index.ts
#	src/tools/mime-types/index.ts
#	src/tools/numeronym-generator/index.ts
#	src/tools/otp-code-generator-and-validator/index.ts
#	src/tools/password-strength-analyser/index.ts
#	src/tools/pdf-signature-checker/index.ts
#	src/tools/percentage-calculator/index.ts
#	src/tools/phone-parser-and-formatter/index.ts
#	src/tools/qr-code-generator/index.ts
#	src/tools/random-port-generator/index.ts
#	src/tools/roman-numeral-converter/index.ts
#	src/tools/rsa-key-pair-generator/index.ts
#	src/tools/slugify-string/index.ts
#	src/tools/sql-prettify/index.ts
#	src/tools/string-obfuscator/index.ts
#	src/tools/svg-placeholder-generator/index.ts
#	src/tools/temperature-converter/index.ts
#	src/tools/text-diff/index.ts
#	src/tools/text-statistics/index.ts
#	src/tools/text-to-binary/index.ts
#	src/tools/text-to-nato-alphabet/index.ts
#	src/tools/token-generator/locales/en.yml
#	src/tools/toml-to-json/index.ts
#	src/tools/toml-to-yaml/index.ts
#	src/tools/ulid-generator/index.ts
#	src/tools/url-encoder/index.ts
#	src/tools/url-parser/index.ts
#	src/tools/user-agent-parser/index.ts
#	src/tools/uuid-generator/index.ts
#	src/tools/wifi-qr-code-generator/index.ts
#	src/tools/xml-formatter/index.ts
#	src/tools/yaml-to-json-converter/index.ts
#	src/tools/yaml-to-toml/index.ts
2024-02-21 17:58:57 +08:00

22 lines
585 B
TypeScript

import messages from '@intlify/unplugin-vue-i18n/messages';
import { get } from '@vueuse/core';
import type { Plugin } from 'vue';
import { createI18n } from 'vue-i18n';
const i18n = createI18n({
legacy: false,
locale: 'en',
fallbackLocale: 'en',
messages,
});
export const i18nPlugin: Plugin = {
install: (app) => {
app.use(i18n);
},
};
export const translate = function (localeKey: string, named: Record<string, unknown> = {}) {
const hasKey = i18n.global.te(localeKey, get(i18n.global.locale));
return hasKey ? i18n.global.t(localeKey, named) : localeKey;
};