我正在使用纽特-i18n翻译我的页面,但是它找不到翻译字符串。
我的设置:
nuxt.config.js
modules: [
[
'nuxt-i18n', {
locales: [
{
code: 'en',
name: 'English',
iso: 'en-US',
langFile: 'en_US.js',
},
{
code: 'pt',
name: 'Português',
iso: 'pt-BR',
langFile: 'pt_BR.js',
},
],
loadLanguagesAsync: true,
langDir: 'locales/',
defaultLocale: 'en',
},
],
],locales/en_US.js
export default {
Greeting: 'Hello',
Sign_up: 'Sign up',
};file.vue
{{ $t('Greeting') }}控制台:
警告vue-i18n不能转换键盘'Login‘的值。使用键盘的值作为默认值。
发布于 2019-07-20 11:17:46
解决方案是将惰性属性值设置为true。下面是代码片段。
modules: [
[
'nuxt-i18n', {
lazy:true,
locales: [
{
code: 'en',
name: 'English',
iso: 'en-US',
langFile: 'en_US.js',
},
{
code: 'pt',
name: 'Português',
iso: 'pt-BR',
langFile: 'pt_BR.js',
},
],
loadLanguagesAsync: true,
langDir: 'locales/',
defaultLocale: 'en',
},
],
]发布于 2019-01-31 18:15:06
警告说明了一切--您没有在en_US.js文件中定义登录消息。
在您的应用程序中,您一定会调用{{ $t('Login') }}。
发布于 2020-10-31 12:57:03
我花了一个小时才知道你不能设置你的langDir: 'i18n/'。很明显有些东西搞砸了因为模块本身也是这样命名的..。将文件夹重命名为其他东西,例如"lang“修复了这个问题.
https://stackoverflow.com/questions/54289732
复制相似问题