1

给定一个返回数字的表达式或变量,有没有办法为当前语言环境获取该数字的复数类别?

就像是

// people.length == 1
ngPluralize.getCategory(people.length) // returns 'one'
4

1 回答 1

1

$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>

当然,如果使用不同的语言环境,结果会有所不同。

于 2016-05-15T21:56:18.003 回答