Tho*_*sch 72
看一下angular-translate:https://github.com/angular-translate/angular-translate
适合所有DIY人士:
你可以找到角度的本地化文件:这里
这些文件将帮助您使用内置角度过滤器:日期,货币和数字.太棒了......到目前为止.
现在你想使用你自己的文本,而你所需要的只是angular.js依赖注入的力量.创建一个新文件,如:"myTexts_en_us.js"并使用$ provide.value,如下所示:
$provide.value("myTexts", {firstText : "This is my localized text"});
Run Code Online (Sandbox Code Playgroud)
详情请见:http:
//jsfiddle.net/4tRBY/24/
对于实际使用,您应该添加一个过滤器:http: //jsfiddle.net/4tRBY/41/
提示:
Ben*_*esh 17
您正在寻找的是$ locale.
实际上有一个关于angularjs主页的一半的例子.
他们的例子中的一个片段:
function BeerCounter($scope, $locale) {
$scope.beers = [0, 1, 2, 3, 4, 5, 6];
if ($locale.id == 'en-us') {
$scope.beerForms = {
0: 'no beers',
one: '{} beer',
other: '{} beers'
};
} else {
$scope.beerForms = {
0: 'žiadne pivo',
one: '{} pivo',
few: '{} pivá',
other: '{} pív'
};
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定它是否是一个"标准"的说法......但它是一个开始.如果你有很多本地化要做的事情,我想我会创建一个服务来注入我的控制器...像这样的伪代码:
app.service('myLocalization', ['$locale', function($locale) {
var res = {
'help' : {
'en-us': 'help',
'es-mx': 'ayudame'
},
'beer' : {
'en-us': 'beer',
'es-mx': 'cerveza'
}
}
return {
getString: function(key) {
return res[key][$locale.id];
}
}
});
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个专门用于本地化目的的模块 - https://github.com/4vanger/angular-l10n 它支持消息本地化,参数替换,更改航班上的区域设置并提供一些方便的使用方法 - 过滤器,指令等.
| 归档时间: |
|
| 查看次数: |
72632 次 |
| 最近记录: |