typescript @nuxt/i18 n安装/配置问题

vqlkdk9b  于 2022-12-14  发布在  TypeScript
关注(0)|答案(1)|浏览(445)

我试着在我的项目上安装@nuxt/i18n,但是它不工作。我执行了命令npm install @nuxtjs/i18n,没有问题。然后我在我的nuxt.config.ts文件中添加了一些代码行:

['@nuxtjs/i18n', {
    locales: [
        {
            code: 'it',
            iso: 'it-IT',
            file: 'it-IT.js'
        }
    ],
    defaultLocale: 'it'
}]

tsconfig.json中,我添加了以下内容:

"compilerOptions": {
    "types": [
        "@nuxt/types",
        "@nuxtjs/i18n",
    ]
}

现在,当我建置方案时,会收到这个错误:

Cannot start nuxt:  Cannot read properties of undefined (reading 'options')
at _default (____________/node_modules/@nuxtjs/i18n/src/index.js:13:92)
at installModule (____________/node_modules/@nuxt/kit/dist/index.mjs:416:9)
at async initNuxt (____________/node_modules/nuxt/dist/index.mjs:1823:7)
at async load (____________/node_modules/nuxt/node_modules/nuxi/dist/chunks/dev.mjs:6779:9)
at async Object.invoke (____________/node_modules/nuxt/node_modules/nuxi/dist/chunks/dev.mjs:6840:5)
at async _main (____________/node_modules/nuxt/node_modules/nuxi/dist/cli.mjs:50:20)

我按照指南在这个链接:https://i18n.nuxtjs.org/setup
在没有localesdefaultLocale的情况下,问题仍然存在。我的配置有什么问题?缺少什么?

zzlelutf

zzlelutf1#

您需要将i18n配置添加到您的插件文件夹(/plugins/i18n.ts)。
以下是插件配置的一个示例

import { createI18n } from 'vue-i18n'

export default defineNuxtPlugin(({ vueApp }) => {
    const i18n = createI18n({
        legacy: false,
        globalInjection: true,
        locale: 'it',
        messages: {
            en: {
                test: 'Hello, {name}!'
            },
            it: {
                test: 'Ciao, {name}!'
            }
        }
    })

    vueApp.use(i18n)
})

nuxt.config.ts文件应如下所示:

modules: [
        ...
        '@nuxtjs/i18n',
        ...
],

要在模板中使用标签,可以使用以下语法:

<h1>{{ $t('test', { name: 'vue-i18n' }) }}</h1>

如果你需要更多的细节,你改变了检查这篇文章.

相关问题