Consider 2 languages defined in JSON:
jp.json
{
"hello": "こんにちは"
}
ge.json
{
"hello": "hallo",
"world": "welt"
}
Now, let's pass the languages to create an i18n object:
import { createI18n } from 'vue-i18n'
import jp from '@/i18n/jp.json'
import ge from '@/i18n/ge.json'
type Schema = typeof jp
const i18n = createI18n<[Schema], 'jp' | 'ge', false>({
legacy: false,
locale: 'jp',
fallbackLocale: 'jp',
messages: {
jp,
ge
}
})
I would like jp.json to be the source of truth language schema, but the way described above does not check for excess properties contained in ge.json ("world": "welt") and does not throw an error. Is there a way to do so?
Note: the language files are quite big and I need to import them.