给定一个返回数字的表达式或变量,有没有办法为当前语言环境获取该数字的复数类别?
就像是
// people.length == 1
ngPluralize.getCategory(people.length) // returns 'one'
给定一个返回数字的表达式或变量,有没有办法为当前语言环境获取该数字的复数类别?
就像是
// people.length == 1
ngPluralize.getCategory(people.length) // returns 'one'
$locale
有相当小的公共API 。但是,有一种$locale.pluralCat
方法,因此您可以使用它。
angular.module('app', [])
.controller('LocaleCtrl', function($scope, $locale) {
$scope.locale = $locale.id;
$scope.getCategory = function(count) {
return $locale.pluralCat(count);
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.5.5/angular-locale_pl-pl.js"></script>
<div ng-app="app">
<div ng-controller="LocaleCtrl">
<h1>ng-pluralize category for locale {{ locale }}</h1>
<ul>
<li ng-repeat="count in [0, 1, 2, 3, 4, 5, 6]">
category for {{count}} is {{ getCategory(count) }}
</li>
</ul>
</div>
</div>
当然,如果使用不同的语言环境,结果会有所不同。