问题标签 [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.
javascript - 你如何在 vuejs 中提取翻译后的键/值文本
我有一个 json 文件,里面装满了我正在尝试使用这些翻译的翻译。
首先,这就是我试图调用翻译的方式。
从 './i18n/messages.json 导入消息
但是为了做到这一点,我不知道如何this.messages('TOKEN')
工作。
我从来没有处理过翻译代码,所以我问你是否只是翻译列表(messages.json)文件,你将如何从中检索数据以显示文本?
javascript - 如何访问在 vuejs 中导出的“this.”
我有一些返回简单数据的文件,例如 vuex 的 mutation.js,但通常它们是这样的:
现在,我想访问this.
,所以我可以使用 vue-i18n 翻译,this.$t('TRANS_TOKEN')
但由于某种原因我无法使用this.
我正在考虑将 vue 包含在这个文件中:如果它有效import vue from 'vue'
,可能会这样做,但我试过了vue.$t(..)
它没有
javascript - vue.js:597 [Vue 警告]:未定义属性或方法“$t”
我正在尝试实现 vue-i18n Vue-i18n Github,但出现错误:
vue.js:597 [Vue 警告]:未定义属性或方法“$t”
我的 vuejs 2 应用程序运行良好,直到我添加了加注星标的代码,我哪里错了?提前致谢
vue.js - Vue.js vuetify i18n:如何动态翻译工具栏项目?
我在本地化组件和视图字符串方面没有任何问题,但我锁定了一种方法来动态本地化工具栏项目(当然还有导航抽屉中的相同项目..
目前它们在 App.vue 中显示为 menuItems[i].title
使用脚本:
我应该使用计算值吗?还是直接在模板中使用 $t() ?
反馈,建议和链接表示赞赏
更新
main.js
语言环境/i18n/en_US
javascript - 在 vue.js 中使用语言环境为路由添加前缀(使用 vue-i18n)
我有一个locale.js
负责定义用户语言环境的文件。这里是:
我还有一个i18n.js
文件负责制作i18n
我在初始化我的应用程序时使用的实例。
现在我认为让 URL 以 locale 为前缀会更方便,比如/en/profile
or /ru/profile
。这样我就可以与已经设置的语言环境共享一个链接。
不知道如何做到这一点。将所有路由设置为子路由并放置/:locale?
并不方便,因为路由器尚未初始化(我在初始化根应用程序实例时同时传递i18n
和router
实例)。
我怎样才能做到这一点,最好的方法是什么?
symfony - 如何在 @symfony/webpack-encore 上加载 vue-i18n-loader
我在带有 webpack 的 symfony 4 应用程序上使用 Vue,并且 vue-18n 工作正常。但我想把翻译放在每个文件组件上
我的问题是加载 de 是加载 我尝试加载的vue-i18n-loader可能的方式....有人这样做过吗?谢谢
我的 webpack 文件:
vue.js - 推送路由(从 vueJS 移动到 nuxtJS)
我正在将 VueJS 项目转换为 Nuxt.js,但我无法理解 nuxt 如何处理路由。它的文档没有说明推送路线。
使用 VueJS 我在一个组件中有以下内容。
但这在 Nuxt 中没有任何作用。发出警报('hi);在 submitSearch 内触发很好,但我从未被重定向到该路线。
这里的目标是当用户在搜索栏中按下回车键时,重定向到 /search?q=blablabla
编辑:
问题是用户被重定向到/?q=blablabla
而不是/search?
..
我刚刚意识到这是因为多语言路线有不同的名称。
我将如何推送到动态search
命名而不是 ' '的路由名称search__en
?
vuejs2 - Vue I18n - 类型错误:无法重新定义属性:$i18n
所以我对此有点疯狂。我真的不明白。
这是我的 app.js 文件的最小版本:
如您所见,我只在代码中添加了 Vue.use(VueI18n)。我在用着:
现在我收到此错误:
类型错误:无法重新定义属性:$i18n
出现此错误的行是源代码中的此函数:
我添加了两个 console.log("VUE:PROTOTYPE") ,令人惊讶的是,第一个返回“未定义”,而第二个由于错误而从未到达。
怎么了?有人有线索吗?
vue.js - VueJS:在计算道具和数据道具中使用时 i18n 不更新
我安装了 vue-i18n ( http://kazupon.github.io/vue-i18n/en/ ) 库以在 VueJS 项目中进行本地化。
所以我现在正在尝试使用它,当在语言之间切换时,要更新数据。所以这是我尝试使用它的方式:
示例 1:
示例 2:
组件中的代码如下所示:
示例 1 按预期工作,但我对示例 2 感兴趣。为此,我尝试了两种方案(在代码中的注释中进行了描述),但它们都没有按预期工作。我更感兴趣的是让它在“计算属性”场景中工作。
javascript - 使用未捆绑的外部全局变量文件
我有一个用于国际化的 JS 文件。我希望能够将此 JS 文件传递给客户端以供他们编辑,而无需我重建整个项目。
目前我将此文件保存在静态文件夹中,以便在构建后将其转移到我的 dist 文件夹中(我使用的是 vue-cli-webpack 模板)。
翻译.js
我将它导入到我的 main.js 中,如下所示:
虽然在我的开发环境中,这正是我想要的热重载(更改 translation.js 中的字符串并更新我的应用程序),但是一旦我构建了应用程序并将其放在生产站点上,它将不再热重载。
我怎样才能实现这一目标?