问题标签 [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.
vue-i18n - 推荐如何在 vue-18n 中查找缺失的翻译?
是否有建议如何为特定语言环境文件中缺少的模板中使用的缺失字符串创建单元测试?我正在使用 vue-18n。
vue.js - 使用 vue js 从 vue-i18n 文件中获取属性
需要通过在 customer.vue 文件中引用它来从我的 locale.js 文件中获取值。
这是代码片段的:
locale.js
客户.vue
main.js
我得到的错误是"this.$i18n.t('messages.errormessages.invaliddate')"这是语句没有给出locale.js中可用的数据。但我可以在模板中使用这个值,但在 js 块中它失败了。
vue.js - Vue-i18n - 无法读取未定义的属性“配置”
首先,我向您展示什么是有效的(在 App.js 中)
但是如果我想将 lang.js 中的代码分开
这样我就可以在 App.js 中编写
但不知何故,即使 routes.js 的构建完全相同,这也不起作用。
我的 bootstrap.js 看起来像这样,如果知道重要的话。
很抱歉代码很长,但不知何故,错误在于 import i18n from './lang.js'; 我收到消息:未捕获的类型错误:无法读取未定义的属性“配置”
json - 使用 vue-i18n 和 nuxtjs 的每种语言的多个翻译文件
我使用 nuxtjs 和 i18n 来构建一个多语言的静态网站。目前我每种语言都有一个 json 文件。为了更好的结构,我想将文件拆分为每种语言的多个文件。我怎样才能做到这一点?有没有一种方法可以让 i18n 明确告诉它应该将哪个 json 文件用于页面?还是我必须将 jsons 文件连接到一个?
我用这个例子来构建我的翻译https://nuxtjs.org/examples/i18n/
javascript - 如何只用 v-bind 绑定属性一次?
我正在使用vue-i18n进行本地化。当我想翻译输入占位符时,如:
<input type="text" v-model="someValue" :placeholder="$t('translation.string')">
我必须使用$t()
在每次重新渲染时执行的函数(库文档也提到)。这在我的简单预订表单中添加了数千个不必要的函数调用,我想避免这种情况。
有没有办法只绑定一次属性?翻译后的值在 Vue 实例的整个生命周期中不会改变。v-once
不是我想要的,因为我想保持组件/节点的反应性,并且只对属性进行“硬编码”。
我知道我可以通过简单地将翻译后的字符串存储在数据对象中来实现我所需要的,但我想知道是否有替代的、更简单的解决方案(不需要大量的代码重复)。
vue-i18n - 您如何处理列表,例如国家/地区
我的用户需要选择一个国家作为注册的一部分,所以我在我的翻译文件中添加了一个国家列表。例如
countries: {
AF: 'Afghanistan',
AL: 'Albania',
AM: 'Armenia',
AN: 'Netherlands Antilles',
AW: 'Aruba',
MF: 'Saint Martin (French part)',
AO: 'Angola',
AQ: 'Antarctica',
AR: 'Argentina',
AU: 'Australia',
CC: 'Cocos (Keeling) Islands',
CX: 'Christmas Island',
KI: 'Kiribati',
NF: 'Norfolk Island',
...
}
但是,当我尝试检索国家/地区列表(以便我可以枚举它们)时,我收到错误消息[vue-i18n] Value of key 'countries' is not a string!
。我假设我不是第一个尝试这样做的人。
您是否找到了这样做的方法,或者我是否通过尝试使用 vue-i18n 来执行此操作从错误的方向来?谢谢...
vue.js - vue, vuex, vue-i18n 更改语言按钮事件
为什么更改突变不会以新语言更新页面?
main.js :这里我用 vue 实现了 vue-i18n:
App.vue:然后用两个按钮改变语言:
sotre >culture.js:然后使用 store、getter、actions 和 mutation 改变语言,
我在 chrome 中使用 vue 开发工具进行了检查,文化发生了变化,但问题是 {{ $t("example")}} 的标题不会随着突变的变化而变化。我知道我的代码中有一些基本的错误,请您帮忙。提前谢谢了。
javascript - 如何根据语言环境导入/使用翻译文件
因此,我列出了三种不同语言的国家/地区列表:
我想仅根据所选语言在我的组件中要求这些文件。
目前我正在做:
这显然有效,但我不喜欢我必须事先导入这三个文件,如果我添加 100 种语言,那么我将不得不这样做。
所以,我的问题是:如何根据当前语言环境导入文件?
我可以在<script>
and 导入之前执行 if/else ,但这似乎不是导入它的理想方式。
vue.js - 消息更改时 Vue I18n 不重新呈现
嗨,看看这段代码,如果我在解析新数据时异步设置消息,它不会重新呈现翻译。
更新
我目前的解决方法是定义一个返回 Promise 的方法和保存文本的变量。承诺解决后,我设置翻译。
intellij-idea - WebStorm Vue-i18n,无论如何要获得编辑器自动完成支持?
我正在使用vue-i18n本地化 webapp 。无论如何让 WebStorm 识别以$t
点符号路径引用为前缀的函数中的字符串?
$t('messages.some.key')
在我的 en.js 文件中,它看起来像:
如果它为我提供了自动完成功能,并且如果密钥不存在,还提供语法高亮显示,那就太好了。