问题标签 [nuxt-i18n]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
169 浏览

nuxt.js - 生成页面 vue-i18n nuxt

我正在尝试为多语言网站(de 和 en)运行“nuxt generate”,但出现以下错误:ERROR Error generating route "/de": This page could not be found

我只有在设置时才会收到错误defaultLocale: 'de'defaultLocale: 'en'它运行良好。我尝试使用插件配置但无济于事。

这是我的配置: 配置

这些是生成的页面: 生成的页面

如果 defaultLocale: 'en',它不会尝试为例如“/en”生成页面</p>

从我在 /dist 文件夹中看到的内容来看,如果默认区域设置在“de”上,它会创建根页面,为英文页面创建一个文件夹“en”,它会尝试创建另一个文件夹“de”-> 失败。这对于设置为“en”的默认区域设置是不可复制的,它会为德语创建根页面和文件夹“de”,而没有任何新的“en”文件夹。

0 投票
2 回答
416 浏览

javascript - 无法读取未定义的属性 '$options' 为头选项制作外部 js 文件

我需要在 Nuxt 中为我的应用程序设置全局头,一些子页面会覆盖它。那些全局头需要包含翻译的数据。

seoHead.js用代码创建了文件:

我在我的index.vue页面和其他页面中导入并使用这些数据,如下所示:

不幸的是,我面临Cannot read property '$options' of undefined错误。这对我来说很奇怪,因为我已经export const $t = (sign) => Vue.prototype.$nuxt.$options.i18n.t(sign);在另一个 js 文件中使用了代码。有谁知道为什么会出现这个错误?您知道翻译全局头部选项的最佳方式吗?

0 投票
1 回答
917 浏览

vue.js - Nuxt 中同一级别的多个动态路由可能吗?

NuxtJS 中是否可以在同一级别上拥有多个动态路由?

我试过这个但它不起作用:

我正在使用 Nuxt Content 并希望在同一页面级别上以独特的布局/设计动态加载不同的内容。

0 投票
1 回答
1093 浏览

nuxt.js - 如何为静态资产文件配置 nuxt-i18n?

请注意,我在根“静态”目录中包含一些 js 文件,如下所示。

配置i18n如下

使用 en 加载我的 js 文件没有问题,但是当我从 en 切换到 ar 时,浏览器控制台为我提供了静态目录中所有包含文件的以下错误。

在此处输入图像描述

0 投票
2 回答
919 浏览

vue.js - Nuxt:中间件中的 i18n.localePath 访问

我为 Nuxt 定义了一个命名空间中间件,如下所示:

如果用户通过身份验证,他们将被重定向到身份验证页面,位于/auth. 但是,这是一个多语言站点,所以我需要生成当前语言环境对应的路径。通常我会使用$i18n.localePath或在这种情况下使用 Nuxt 的context来执行此操作,app.i18n.localePath()但是我收到此错误:

我不知道为什么,因为有一个上下文,并console.log(app.i18n)告诉我 app.i18n.localePath一个函数:

有什么建议么?谢谢!

0 投票
1 回答
494 浏览

nuxt.js - Nuxt 使用 vuex 和多语言站点生成

我目前正在使用 nuxt 和无头 Wordpress 作为 CMS 构建我的第一个(静态生成的)网站。我还使用该模块nuxt-i18n支持多语言:德语(默认)和英语。

设置

要从多语言 Wordpress 中获取数据,我使用该模块wp-nuxt,然后将来自 CMS 的数据存储在vuex存储中。依赖于客户端浏览器语言或当用户手动更改语言时,$wp( wp-nuxt) 的端点会更改,因此将获取适当的内容并将其存储在存储中。

现在,NuxtServerInit()从 CMS 中获取路由定义的区域设置的一些基本数据(例如http://myserver/en/news,将从英语 CMS 端点获取基本数据http://wphost/mycms/en/wp-json/wp/v2/...,请参见/en/端点)。asyncData()对于每个布局/页面,通过和获取更多内容fetch(),当然,对于当前语言环境也是如此。

问题

这工作正常,只要 nuxt 通过nuxt dev. asyncData()如果用户切换了区域设置,则其他区域设置的提取将由fetch()客户端处理。

nuxt generate也适用于站点首次加载的语言环境,但是在切换语言环境时会出现问题:在商店中找不到数据。

我的猜测是:在generatenuxt 上调用nuxtServerInit()asyncData()并且fetch()对于每条路线。这将使用路线区域设置数据填充每条路线的存储。对于 DE-Routes(例如myserver/impressum)德语内容,对于 EN-routes(例如myserver/en/site-notice)英语内容。但是如果用户更改了 locale,这些路由的 stores 只包含当前 locale 的内容,asyncData()并且fetch()不会被调用来填充 store(当然,这是设计的generate)。

因此,在我看来,nuxt 正在为不同的路由存储不同的“vuex 存储实例”,并且无法在用户启动的区域设置切换时切换到存储。

可能的解决方法

我已经尝试了一些简单的解决方法,似乎可以解决问题,但远非完美:

  1. 在语言切换时触发重新加载,因此网站被重新加载,并且 nuxt 正在为具有正确语言环境的路线加载商店。- 我不喜欢它,它感觉很hacky。

  2. nuxtServerInit()通过获取两个 CMS 端点,用两种语言的数据填充存储。- 我也不喜欢它,它感觉很老套,虽然它可能适用于两种语言,但开销很大,但 CMS 的内容越多。

我希望我能够恰当地描述这个问题。有什么我想念的吗?到目前为止,我还没有找到任何关于此的内容。如果您对此有任何想法,我将不胜感激。

谢谢,瓦伦丁

0 投票
2 回答
453 浏览

nuxt.js - Nuxt Lang 属性配置

试图用 nuxt 指定我的语言,

结果很奇怪:

配置很简单,但不起作用:

},

任何想法 ?

0 投票
2 回答
209 浏览

vue.js - 如何在 nuxt 中实现多语言切换?

社区,

现在我正在使用 nuxt.js 开发一个多语言网站。我知道有一个名为 i18n 的解决方案。但我的计划不是将例如英语术语翻译成西班牙语。我正在尝试为不同目录中的不同语言创建不同的页面。我的计划是将默认设置为英语并创建一个名为es包含我所有西班牙语页面的目录。目录可能是这样的:

英文的默认页面是xx.comand xx.com/somepage,而西班牙文的主页是xx.com/esand xx.com/es/somepage。如何添加下拉菜单以让用户切换语言?你能帮我弄清楚吗?我搜索了很多,但几乎所有的解决方案都是关于使用 i18n。或者i18n可以处理这种情况吗?先感谢您。

0 投票
1 回答
601 浏览

nuxt.js - nuxt-i18n 的问题和 nuxt 的 404 重定向

我正在开发一个带有自定义 404 页面的 nuxt 项目。当我安装模块 nuxt-i18n 以使我的网站使用法语和英语时,我遇到了为 404 页面创建的自定义路由的问题。

  • 当我让我的自定义路由进入extendRoutes时,我无法访问像“page/en/”这样的路由,它被重定向到404。
  • 当我禁用此自定义路由时,我没有问题,我的 nuxt-i18n 配置正确。

我该如何管理两者?

这是我的 nuxt.config.js 文件:

0 投票
1 回答
282 浏览

javascript - 带有西里尔 URI 的 Nuxt 完全静态生成的页面问题

在我的带有静态目标的多语言 nuxt 应用程序中,我遇到了与生成的静态页面相关的问题:

需要通过 asyncData 和 ciryllic endocoedURI 生成动态数据的页面,它们可以在最终 dist 中以 2 种方式访问​​:

http://localhost:3000/bg/%D0%B2%D0%B8%D0%BB%D0%B8-%D1%85%D0%B0%D0%BB%D0%BA%D0%B8%D0% B4%D0%B8%D0%BA%D0%B8 此 URL 回退到 SPA 页面(问题)

http://localhost:3000/bg/%D0%B2%D0%B8%D0%BB%D0%B8-%D1%85%D0%B0%D0%BB%D0%BA%D0%B8%D0% B4%D0%B8%D0%BA%D0%B8/ 这是完整的静态页面

问题是第二个链接末尾的“/”,我不知道为什么会这样。

我在我的项目(最新版本)上使用了 nuxt-i18n 我的组件内部的路径配置如下:

在 .env 文件中,我有这些值:

在 nuxt.config.js 内部:

老实说,我不知道如何解决这个问题。我做了一个测试,在所有路径上添加了最后一个斜杠,但它不起作用。在此先感谢您的帮助。

下面是完整的 nuxt.config.js