问题标签 [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 - 如何使用 VueI18n 进行基于组件实例的国际化?
我正在构建 Vue 应用程序而不使用 npm。由于涉及 npm 的指南太多,我无法正确遵循它们。所以,我只包括这样的脚本:
现在我正在尝试通过从 json 文件加载按钮来显示按钮列表。该文件包含带有按钮信息的对象数组,包括不同语言的文本。所以,现在我不明白如何让 vue-i18n 从那个文件中加载消息。基本代码:
按钮列表组件代码:
这里我在创建组件时读取 json 文件,所以当创建 bigButton 时,button
属性将包含所有必需的信息。bigButton 组件代码:
在这里,在created
函数中,我尝试将实例设置i18n.messages
为来自 json 文件的数据。基本上,这是可行的,除了它将messages
所有按钮重置为当前数据,最终所有按钮都具有相同的最后一个按钮的文本。是否可以在 vue-i18n 中使用组件实例?或者还有其他我想念的方式吗?
解决方案
我已将bigButton
组件代码更改为:
它奏效了!
regex - 使用 Nuxt.js 和 Vue-i18n 重定向到同一页面但切换了语言 URL
当用户单击特定按钮以更改应用程序的语言时,我试图通过一种方法重定向用户。
这些按钮是标准布局的一部分,项目的所有页面都是其中的一部分,因此 url 可以根据.vue
用户所在的页面而有所不同,但按钮始终相同,这意味着重定向必须是动态的。
例如网址:
应该通过方法(通过按下特定按钮)重定向到:
在项目中,页面位于文件夹内_locale
,并且也从该文件夹外的 .vue 文件导入,如 Nuxt 文档中所建议的使用 Vue-i18n 进行本地化https://nuxtjs.org/examples/i18n/
实现相同的方式、中间件、nuxt.config.js
插件和存储文件。i18n.js
i18n.js
index.js
由于它是一个Nuxt.js
应用程序而不仅仅是一个应用程序,因此仅Vue.js
通过更改(语言)的页面提交商店的突变locale
并不会实际更改语言,即使它确实(this.$i18n.locale = 'bg'
例如使用)它也只会更改它特定页面和下一个导航它再次使用它fallback locale
,所以我试图通过重定向来解决它,它确实使用.json
基于 url 的语言的正确文件。我只是想找到一种方法让这种重定向更加动态,而不是只导航回home
每种语言的页面。
如果需要 github 仓库:https ://github.com/alexgil1994/logistics-gls
需要的步骤:
能否以更好的方式完成?在这种情况下,有没有正则表达式的例子?有没有比正则表达式更简单的方法?
欢迎所有建议。
vue.js - 如何在 vue-i18n 翻译字符串中引用父道具值?
我正在尝试使 vuetify 文本字段可重用,并希望将一些道具数据从父组件传递到验证翻译字符串作为变量。这个道具是最大值。用于验证的字符值。
是否可以在翻译字符串中插入道具或数据值?就像是 ...
我试过了:
以下是完整的代码供参考:
vue.js - vue-i18n 使用多个单词翻译
也许标题不是很清楚,所以让我稍微解释一下。
我将vue-i18n与 Laravel 一起使用,并且也成功生成了翻译文件。
但在我的翻译文件中,我用了更多的词来翻译。我的消息快照
messages:{
"Your email"="Your email",
"Email"=>"Email"
}
与其他语言相同,例如泰语。
我使用时在Vue模板内部
{{ $t('messages.Email')}}
翻译有效,但当我使用
{{ $t('messages.Your email')}}
它显示messages.Your email
谁能帮我使用两个或多个单词的翻译?
注意:虽然这适用于 Laravel 刀片
{{ trans('messages.Your email') }}
javascript - Vue.js - 需要在不重新加载的情况下切换方向(rtl 到 ltr,反之亦然)
我正在使用 Vue.js 和 vue-i18n 在我的项目中切换语言,而无需刷新。但是,当我想在阿拉伯语和其他任何内容之间切换时,我需要将网站的设计从(从右到左)更改为(从左到右),反之亦然。
目前制作它是为了让我需要刷新才能加载我的 rtl.scss 文件:
这是在刷新时加载 css 的代码:
这是使页面刷新的代码:
javascript - Vue路由器翻译url
我在我的 vue.js 项目中使用 vue-router,并且我还在使用 vue-i18n 进行 fr 和 en 的国际化。一切正常,但我需要翻译 URL,但我什么也没找到。有人已经做过这样的事情了吗?
示例:/en/home -> /fr/accueil /en/about -> /fr/a-propos
javascript - 在 Vue-CLI 3 项目的 i18n 标签中添加 yaml-loader
使用 Vue-i18n 并按照本教程,我设法在 vue-cli 生成的项目中的 json 中添加标签。
在这个页面中,有一个编写 yaml 而不是 json 的示例。但是没有 Vue-Cli 3 Webpack 管理的例子。
所以我尝试了这个:
但我有这个错误
我不完全了解 webpack-chain 是如何工作的,我错过了什么?
vue.js - 如何工作 vue i18n 复数?
我有以下语言环境消息:
我的模板如下:
输出以下内容:
为什么??标签跨度必须有“50 таймингов”
vue.js - Vue-i18n 更改语言环境不更新所有内容
我是 vue-i18n 的新手,接缝很好,但可能会遇到一些挑战。
更改语言环境时,所有模板翻译都会按预期更新,但是当
脚本
模板
在职的
不工作
不工作
我已经尝试了很多东西,例如。延迟加载语言文件等,但没有运气。