如何按数组顺序翻译和使用值?
How to translate and use values in array order?
我有一个字符串 "Hello, my name is {0}. I'm from {1}" 和一个排序数组 ["Michael", "Berlin"].
我想将第一个数组元素放入 {0},第二个放入 {1},依此类推。如何使用 angular-translate 实现此目的?
您可以将要翻译的文字放在不同的字符串中,分别翻译。
var app = angular.module('moduleName', ['pascalprecht.translate']);
app.config(function ($translateProvider) {
$translateProvider.translations('en', {
'HELLO': 'Hello, my name is ',
'IM_FROM': 'Im from '
});
$translateProvider.translations('fr', {
//your translation in other languages
});
$translateProvider.preferredLanguage('en');
});
您可以在此处阅读文档:angular-translate
在你的控制器中定义你的数组:
vm.array = ["Michael", "Berlin"]
在你的 html:
<div translate="HELLO"></div>{{vm.array[0]}}.
<div translate="IM_FROM"></div>{{vm.array[1]}}
如果您可以将数组从简单的 "keyless" 排序转换为良好的 json 关联对象,那么使用
这样的模板会更容易
Hello, my name is {name}. I'm from {city}
然后让模块完成工作,例如通过指令(从另一个答案接管数组定义):
<span translate translate-values="{'name': vm.array[0], 'city': vm.array[1]}"></span>
使用这种方法,你会得到你想要的。但是最好在开头就采用结构化对象而不是简单的数组。
可以找到有关替换功能的文档here
我有一个字符串 "Hello, my name is {0}. I'm from {1}" 和一个排序数组 ["Michael", "Berlin"].
我想将第一个数组元素放入 {0},第二个放入 {1},依此类推。如何使用 angular-translate 实现此目的?
您可以将要翻译的文字放在不同的字符串中,分别翻译。
var app = angular.module('moduleName', ['pascalprecht.translate']);
app.config(function ($translateProvider) {
$translateProvider.translations('en', {
'HELLO': 'Hello, my name is ',
'IM_FROM': 'Im from '
});
$translateProvider.translations('fr', {
//your translation in other languages
});
$translateProvider.preferredLanguage('en');
});
您可以在此处阅读文档:angular-translate
在你的控制器中定义你的数组:
vm.array = ["Michael", "Berlin"]
在你的 html:
<div translate="HELLO"></div>{{vm.array[0]}}.
<div translate="IM_FROM"></div>{{vm.array[1]}}
如果您可以将数组从简单的 "keyless" 排序转换为良好的 json 关联对象,那么使用
这样的模板会更容易Hello, my name is {name}. I'm from {city}
然后让模块完成工作,例如通过指令(从另一个答案接管数组定义):
<span translate translate-values="{'name': vm.array[0], 'city': vm.array[1]}"></span>
使用这种方法,你会得到你想要的。但是最好在开头就采用结构化对象而不是简单的数组。
可以找到有关替换功能的文档here