TAPi18n:如何构造要动态翻译的密钥?
TAPi18n: how to construct the key to be translated dynamically?
我正在尝试为要翻译的键添加前缀。这是我的尝试之一:
<label for="{{n}}">{{_ 'input_label_{{n}}' }}</label>
<input name="{{n}}" placeholder="{{_ 'input_placeholder_{{n}}' }}">
显然它不起作用,因为您不能嵌套 {{ ... }}。
我也试过创建一个助手:
{{tr 'input_label' n}}
tr: function(prefix, fieldName) {
return TAPi18next.t(prefix + '_' + fieldName);
}
但返回时未翻译。我假设是因为我将 TAPi18n 称为静态而不是它的实例,但我不知道该怎么做。
这些只是众多尝试中的两个。
我将有数百个输入,我想避免将所有翻译键发送到输入模板,因为它是冗余信息。可以通过添加前缀轻松地进行关键变化。
你能想出任何动态生成键值的方法吗?
使用第二种方法,但使用 TAPi18n.__
而不是 TAPi18next.t
。
与 TAPi18next.t
不同,TAPi18n.__
会在用户的语言选择发生更改并且语言已完成下载时进行响应式更新。我猜问题是第一次呈现模板时语言选择还没有完全通过,所以 TAP18next.t
returns 默认语言(英语)的字符串,并且不会更新当语言改变时。使用 TAPi18n.__
来解决这个问题。
我正在尝试为要翻译的键添加前缀。这是我的尝试之一:
<label for="{{n}}">{{_ 'input_label_{{n}}' }}</label>
<input name="{{n}}" placeholder="{{_ 'input_placeholder_{{n}}' }}">
显然它不起作用,因为您不能嵌套 {{ ... }}。
我也试过创建一个助手:
{{tr 'input_label' n}}
tr: function(prefix, fieldName) {
return TAPi18next.t(prefix + '_' + fieldName);
}
但返回时未翻译。我假设是因为我将 TAPi18n 称为静态而不是它的实例,但我不知道该怎么做。
这些只是众多尝试中的两个。
我将有数百个输入,我想避免将所有翻译键发送到输入模板,因为它是冗余信息。可以通过添加前缀轻松地进行关键变化。
你能想出任何动态生成键值的方法吗?
使用第二种方法,但使用 TAPi18n.__
而不是 TAPi18next.t
。
与 TAPi18next.t
不同,TAPi18n.__
会在用户的语言选择发生更改并且语言已完成下载时进行响应式更新。我猜问题是第一次呈现模板时语言选择还没有完全通过,所以 TAP18next.t
returns 默认语言(英语)的字符串,并且不会更新当语言改变时。使用 TAPi18n.__
来解决这个问题。