DFX*_*yễn 6 javascript python internationalization vue.js vue-i18n
在正常情况下,我们只需将翻译属性附加到变量上,例如:
this.name = this.$t('language.name');
Run Code Online (Sandbox Code Playgroud)
但我想有时用一种特定的语言来具体说明(例如:法语)。我们可以在 中做这样的事情vue.js
吗?
this.name = this.$t('language.name', locale: fr);
Run Code Online (Sandbox Code Playgroud)
使用旧包kazupon/vue-i18n
,应该可以执行以下操作:
$t(key, locale)
Run Code Online (Sandbox Code Playgroud)
使用后继包时intlify/vue-i18n-next
,答案取决于您使用的是 Vue I18n 的Legacy API还是较新的Composition API:
使用按照正常设置指南中所述旧版 API ,此处t()
说明了该函数的用法。
这意味着您仍然可以使用以下调用将密钥转换为特定区域设置(例如“fr”):
$t(key, locale)
Run Code Online (Sandbox Code Playgroud)
例子:
$t('message.key', 'fr')
Run Code Online (Sandbox Code Playgroud)
通过使用选项调用来使用组合 API(如此处所述),函数的用法与此处所述不同。您不能再将区域设置字符串作为第二个参数传递,但区域设置可以在createI18n()
legacy: false
t()
TranslateOptions
您不能再将语言环境字符串作为第二个参数传递,但可以在对象。不幸的是,没有t(key,TranslateOptions
) 变体,只有以下变体:
$t(key, plural, TranslateOptions)
$t(key, defaultMsg, TranslateOptions)
$t(key, interpolations, TranslateOptions)
Run Code Online (Sandbox Code Playgroud)
所以最简单的解决方案是例如:
$t('message.key', 1, { locale: 'fr' })
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3133 次 |
最近记录: |