问题标签 [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.js - 如何使 Vuejs 中的路由与库 i18n 一起使用?
我正在制作一个页面,您可以在其中使用库 vue-i18n 选择语言。当我想要儿童路线时,问题就出现了。
它不加载子路由。但如果我在没有孩子的情况下这样做,它就会被加载。
另外显示的错误是:您正在使用仅运行时构建的 Vue,其中模板编译器不可用。要么将模板预编译为渲染函数,要么使用包含编译器的构建。
我搜索了这个错误,解决方案是:
但我不使用 webpack
这是我的代码(路由器)
应用程序.vue
我从 i18n 文档中看到的代码:https ://github.com/dobromir-hristov/vue-i18n-starter
vue.js - vue-i18n:带有 html 标签的组件插值
我正在使用此处描述的组件插值,但我的翻译字符串中还有一些 html 标记用于格式化目的。我应该如何处理?
我的 .yml 文件中的相应键如下所示:
javascript - 使用 Vue.extend 时使用来自 SFC 的 I18n 翻译消息
我正在开发一个要迁移到 VueJS 的应用程序,因此某些部分正在使用旧的 jQuery 代码。
所以我正在尝试使用 jQuery 附加一个 VueJS 组件,所以我做了
一切正常,但是当我进入附加此组件的页面时,i18n 返回错误
无法翻译 keypath 'tooltip.default' 的值。使用 keypath 的值作为默认值。
i18n
仅供参考,我的翻译消息是在我的 SFC 中使用关键字直接定义的
然后我直接在证监会内部使用this.$t('tooltip.default')
我的 i18n 像文档说的那样是导入的,但是在vue.js
我用来创建我的组件之后加载。
该vue.js
文件是我放置所有Vue.use()
定义、路由器和其他东西的文件,用于在另一个文件中创建 Vue 实例
你有解决这个问题的想法吗?
我尝试在 vue 组件之前加载 i18n 但没有成功,我看到很多 GitHub 问题与此错误有关,但与我的情况不同。
javascript - 如何使用 vee-validate 和 vue-i18n 翻译字段名称
在我看来,关于 i18n 与 vee-validate 集成的文档是不完整的。如果我将 i18n 与 vee-validate 一起使用,我仍然无法弄清楚如何翻译字段名称。
这是我的 main.js:
但问题是 - 我如何翻译属性?我试过了:
attributes.js 的内容:
输入:
但没有成功,即使消息没有被翻译,如果我添加:
代替:
vue.js - vue i18n 语言环境未更新
我对 Vue 很陌生。我想根据 env 文件中的值从 firebase 检索语言环境。我不清楚必须在哪里对 firebase 进行异步调用。(我正在使用 nuxt)
store/index.js
middleware/i18n.js
plugins/index.js
typescript - 如何将 vue-i18n 与 Vue 类组件一起使用?
以下代码:
引发错误:
[Vue warn]: Error in data(): "TypeError: i18n is undefined"
我确保使用Vue.use(VueI18n)
和初始化 Vue new Vue({ /* ... */, i18n })
。对象以这种i18n
方式初始化:
只要不立即调用翻译,就可以完美地工作,例如在模板或组件方法中。
这个vue-i18n 问题似乎暗示存在初始化问题。
我可以通过使用方法并仅在模板中进行翻译来解决此问题,但是有一个不受我控制的特定实例会发生这种立即调用:Vuetify input rules
。
这些规则会立即执行,即使lazy-validation
在Vuetify forms上也是如此。
我已经确定了两种可能的解决方案:
- 绕过 Vuetify
rules
系统并允许简单地返回要在模板本身内翻译的字符串; - 解决
$t
即时可用性问题。
可悲的是,我无法完成其中任何一项。
有没有办法解决这个问题?
vue.js - Vue - 单个文件组件中的翻译
我正在使用vue-i18n
我的翻译,效果很好!但是当我在单个文件组件的函数中使用该this.$t()
函数时data
,翻译不起作用。
但是,如果我data
只使用翻译键进行更改,然后在我的模板中使用例如{{ $t('footer.what_is_pinshop') }}
加载的翻译是正确的。为什么会这样?我正在使用beforeEnter
路由器保护来更改翻译。我遵循了这个例子。
更新
如果我将links
其作为计算属性,则翻译有效。那么为什么它不仅仅发生在data
财产中呢?我也试过了this.$i18n.t()
,但没有
javascript - 让 VueI18n 对路由器链接标签做出反应
我有这个 Vue 应用程序,它由一个简单的主页、一个标题和一个主页文本组成。你可以在我的JSFiddle上在线查看这个应用程序。这是代码:
HTML
JavaScript
问题
如您所见,没有可见的“路由器链接”链接,单击该链接不会重定向到所需的路由。
问题
是否可以让 VueI18n<router-link>
在指令中解释标签v-html
?
vue.js - 使用 vuex 翻译 v-html 指令 i18 vue 中的管道
我正在使用vuex-i18n包。基本上我正在通过过滤器管道翻译我的大部分内容,如下所示:
但有时我需要翻译实际上只是 html 的文本,然后像这样绑定它:
但这不适用于管道:
上例中的段落是:
<p class="balears__text">Jest największym miastem Majorki, kosmopolityczną stolicą Balearów i prężniedziałającym, śródziemnomorskim ośrodkiem turystycznym.</p><p class="balears__text"> Katedra La Seu to zdecydowanie najsłynniejsza budowla Palmy. Ta gotycka świątynia z elementami architektury zaprojektowanej przez słynnego Gaudiego stanowi wizytówkę miasta i jest symbolem całej wyspy. </p><p class="balears__text"> Nieopodal katedry znajduje się pałac królewski La Almudaina. Spacer po komnatach i dziedzińcu sprawi, że poczujesz się, jakbyś wędrował po tych zabudowaniach w czasach ich świetności. </p><p class="balears__text"> Doskonałym pomysłem na rodzinne popołudnie jest wizyta w jednym z największych kompleksów akwariowych na świecie. W Palma Aquarium możesz przeżyć niesamowitą przygodę, nurkując z rekinami w najgłębszym zbiorniku w Europie, tzw. Big Blue. </p>