refactor: vue-i18n ts improvements

This commit is contained in:
Fabio Di Stasio 2022-08-05 12:57:56 +02:00
parent 104b7c928b
commit f4da28cca0
12 changed files with 45 additions and 25 deletions

View File

@ -1,4 +1,4 @@
module.exports = {
export const arSA = {
word: {
edit: 'تعديل',
save: 'حفظ',

View File

@ -1,4 +1,4 @@
module.exports = {
export const deDE = {
word: {
edit: 'Bearbeiten',
save: 'Speichern',

View File

@ -1,4 +1,4 @@
module.exports = {
export const enUS = {
word: {
edit: 'Edit',
save: 'Save',

View File

@ -1,4 +1,4 @@
module.exports = {
export const esES = {
word: {
edit: 'Editar',
save: 'Guardar',

View File

@ -1,4 +1,4 @@
module.exports = {
export const frFR = {
word: {
edit: 'Editer',
save: 'Sauver',

View File

@ -1,20 +1,40 @@
import { createI18n } from 'vue-i18n';
import { enUS } from './en-US';
import { itIT } from './it-IT';
import { arSA } from './ar-SA';
import { esES } from './es-ES';
import { frFR } from './fr-FR';
import { ptBR } from './pt-BR';
import { deDE } from './de-DE';
import { viVN } from './vi-VN';
import { jaJP } from './ja-JP';
import { zhCN } from './zh-CN';
import { ruRU } from './ru-RU';
const i18n = createI18n({
const messages = {
'en-US': enUS,
'it-IT': itIT,
'ar-SA': arSA,
'es-ES': esES,
'fr-FR': frFR,
'pt-BR': ptBR,
'de-DE': deDE,
'vi-VN': viVN,
'ja-JP': jaJP,
'zh-CN': zhCN,
'ru-RU': ruRU
};
type NestedPartial<T> = {
[K in keyof T]?: T[K] extends Array<infer R> ? Array<NestedPartial<R>> : (T[K] extends unknown ? unknown : NestedPartial<T[K]>)
};
type MessageSchema = typeof enUS
type AvailableLocales = keyof typeof messages
const i18n = createI18n<[NestedPartial<MessageSchema>], AvailableLocales>({
fallbackLocale: 'en-US',
legacy: false,
messages: {
'en-US': require('./en-US'),
'it-IT': require('./it-IT'),
'ar-SA': require('./ar-SA'),
'es-ES': require('./es-ES'),
'fr-FR': require('./fr-FR'),
'pt-BR': require('./pt-BR'),
'de-DE': require('./de-DE'),
'vi-VN': require('./vi-VN'),
'ja-JP': require('./ja-JP'),
'zh-CN': require('./zh-CN'),
'ru-RU': require('./ru-RU')
}
messages
});
export default i18n;

View File

@ -1,4 +1,4 @@
module.exports = {
export const itIT = {
word: {
edit: 'Modifica',
save: 'Salva',

View File

@ -1,4 +1,4 @@
module.exports = {
export const jaJP = {
word: {
edit: '編集',
save: '保存',

View File

@ -1,4 +1,4 @@
module.exports = {
export const ptBR = {
word: {
edit: 'Editar',
save: 'Salvar',

View File

@ -1,4 +1,4 @@
module.exports = {
export const ruRU = {
word: {
edit: 'Редактировать',
save: 'Сохранить',

View File

@ -1,4 +1,4 @@
module.exports = {
export const viVN = {
word: {
edit: 'Chỉnh sửa',
save: 'Lưu',

View File

@ -1,4 +1,4 @@
module.exports = {
export const zhCN = {
word: {
edit: '编辑',
save: '保存',