在我的自定义基于Web的应用程序中,用户可以设置他/她自己的时区,区域设置,货币和语言(独立于他们使用的计算机)。
有没有办法在App级别为Angular设置这些参数,这样我就不必为页面中的每个货币或日期时间值设置它?
<!-- something like this: -->
<html ng-app="myApp" ng-currency-symbol="GBP" ng-locale="fr-FR" ng-timezone="-5">
<body ng-controller="MyAppController">
<div class="list-group">
<div class="list-group-entry">{{MyApp.SubTotal | currency}}</div>
<div class="list-group-entry">{{MyApp.Total | currency}}</div>
<!-- both would print the value like following:
(e.g: 5,000.32) as £5 000,32 -->
</div>
</body>
</html>
目标是使代码保持开发人员编写AngularJS的自然方式,但是能够全局设置正在浏览应用程序的用户的货币符号,区域设置和时区。
答案 0 :(得分:0)
Angular支持i18n
位置标准|全球化|国际化。在数字格式方面,Angular依赖于$locale
servic。例如,关于数字格式,此服务使用属性NUMBER_FORMATS
,定义货币符号本身不会更改编号格式,除非您更改“位置”。
以下是angular目前支持的位置列表:
http://cdnjs.com/libraries/angular-i18n/
以下是有关如何支持german locale的示例:
<html ng-app>
<head>
<script src="angular.js"></script>
<script src="i18n/angular-locale_de-de.js"></script>
</head>
</html>
如果你想深入了解它,你可以在上面提供的任何CDN中搜索NUMBER_FORMATS
,你会发现用什么角度来格式化你的数字,这是一个例子:
"NUMBER_FORMATS": {
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
...