问题标签 [vue-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 投票
2 回答
5594 浏览

vue.js - 在 Vuex 状态中使用 kazupon/vue-i18n

使用https://github.com/kazupon/vue-i18n进行本地化

Vue.t() || $t() || trans() 接收一个字符串,该字符串是 vue-i18n 翻译的键

大家好!我正在尝试以下代码:

那是我的 state.js,这是我的 VUEX 的状态!当我尝试使用 Vue.t 函数时,出现以下错误:

未捕获的类型错误:_vue2.default.t 不是函数

我的解决方案(我认为这不是最好的也有利于性能)

让我的state.js像这样:

我已经完成了以下吸气剂(vuex吸气剂)

任何人都知道如何使其工作的最佳方法是什么?

0 投票
1 回答
1601 浏览

vuejs2 - Combining Vue-i18n Single File Component syntax with root messages

I'm experimenting with the excellent vue-i18n plugin for Vue. It has a neat feature that allows me to embed translations directly into the template that needs them. However if I use them, I'm unable to access the root translation node. Is this model supported or am I just doing it wrong?

main.js

Sample.vue

0 投票
1 回答
412 浏览

vue.js - Vue.JS 检查是否安装了 vue-i18n

我遇到了一个小问题,我正在创建一个 vuejs 包,我在其中使用 vue-i18n 来翻译东西。

问题是,如果用户没有安装 vue-i18n,它会破坏包(显然因为我使用它)。

你知道防止这种情况的方法吗?

我的第一种方法是仅 v-if 模板中的翻译来检查 i18n 是否在窗口中注册,但如果用户以不同的方式命名对象,这显然不起作用。

0 投票
1 回答
4997 浏览

internationalization - Nuxt.js + vue-i18n + axios:无法访问页面中的数据

我很难在 i18n worflow 中的 NuxtJS 中显示数据。

这是两个文件,我肯定错过了配置中的一些内容:

插件 > i18n.js

页面 > blog.vue

你能知道这个问题吗?

0 投票
1 回答
829 浏览

javascript - Vue.js Avoriaz 单元测试在使用 vue-i18n 时产生翻译警告

概括

我将vue-i18n用于 i18n 并使用Avoriaz对我的 Vue.js 组件进行单元测试。由于未翻译的字符串,我收到很多警告,我无法修复。我怎样才能摆脱这些警告?

警告示例

'[vue-i18n] 无法翻译 keypath 'description.first' 的值。使用 keypath 的值作为默认值。

测试设置

被测组件

0 投票
2 回答
699 浏览

jquery - 是否可以使用 jQuery 解析 Vue.js 数据?

我有一行 jQuery 代码:

我想#showNames使用从我的vue-i18n实例中获取的值设置元素的文本,具体取决于用户本地化。当它以这种方式编写时,我得到了字面的小胡子语法内容。有什么方法可以显示值吗?

0 投票
1 回答
2148 浏览

vue.js - 如何在存储突变中获取全局变量

我收到关于使用 vue-i18n 依赖的错误。

我应该如何将const i18n从 main.js 获取到 root.js(存储)

我在用

  • Vuejs 2.X
  • Vue-i18n 最新
  • 适用于 Vuejs 2.X 的 Vuex

在 main.js (vue-cli)

在 root.js(存储)中

0 投票
1 回答
3040 浏览

internationalization - vue-i18n 中的动态定位

我想在 vue-i18n 中动态更新我的本地化消息。

我正在建立一个网上商店,其中每件商品都有更多语言的描述。所以我想要实现的是,当我从 REST API 获取网上商店项目时,我想将它们的名称、描述等放到 vue-i18n 中的消息对象中,以便它可以与它们一起使用。vue-i18n API 有什么可以处理的吗?我还从服务器获取数据(我得到了一个 Promise),那么当我最终得到响应并将数据添加到本地化时,如何确保它在浏览器视图中得到更新?

0 投票
3 回答
7285 浏览

vue.js - vue-i18n:如何在 vue 实例过滤器中使用

我想使用过滤器来执行翻译。
问题是“ this ”没有指向我的过滤器函数中的 vue 实例。

这是我目前拥有的。

在我的模板中,我有这个:

在我的组件中,我有这个:

我得到的错误是 this == undefined。
我如何将它指向我的过滤器函数中的 vue 实例?

0 投票
1 回答
5282 浏览

vue.js - 集成 vuex 后 vue-i18n 不更新语言环境

我还是 Vue 的新手,但我觉得我几乎掌握了它。我设法创建了一个可以翻译成不同语言的应用程序,其中的内容是从 LANG.json 文件加载的。问题是每当我改变一个新的观点时,它就会回到原来的翻译..

所以我尝试将 Vuex 集成到我的应用程序中,但我似乎无法让它工作..

我相信这是所有相关的代码:

src/i18n/index.js

src/store/index.js

src/main.js

src/components/randomfile.js

我猜这个问题要么与这一行有关:locale: store.state.Language,要么是因为我在调度方面做错了,因为在我的一个视图中我写了{{$store.state.Language}},它呈现到en页面加载,但在我点击按钮后消失了调用调度方法。

我用它来调用翻译,{{ $t('views.home.title') }}但我很确定在集成 vuex(存储)之后仍然应该调用它们,并且翻译确实按应有的方式显示,只是在单击发送 changeLanguage 的按钮后它们不会更新。

任何帮助将非常感激


编辑:实际上,似乎我翻译的方式确实有所不同..在将其更改为{{ $t('views.home.title', $store.state.Language) }} (也许应该是this.$store.state.Language?)之后,翻译又开始工作了..但翻译状态仍然不是持久的(意味着如果我刷新页面或者打开一个新的网址,然后它会变回英文翻译...

任何想法为什么会这样?