Подтвердить что ты не робот

Angularjs фильтр 'date' и $locale service

кажется, что angularjs встраивают некоторые интернационализированные ресурсы:

Angular поддерживает i18n/l10n для фильтров даты, числа и валюты. Кроме того, Angular поддерживает локализуемую поддержку плюрализации через директиву ngPluralize. Все локализуемые компоненты Angularзависят от локальных наборов правил, управляемых сервисом $locale.

Если найдена $locale служба, но не задайте, как указать локаль в fr-fr...

Следующий код:

{{article.date_collected | date:'EEEE dd MMMM yyyy'}}

Дает:

Понедельник 06 Октябрь 2014

Но я хочу:

Lundi 06 Octobre 2014

Любые предложения?

4b9b3361

Ответ 1

Наконец, я нашел ответ на странице angular github: https://github.com/angular/bower-angular-i18n#bower-angular-i18n

EDIT: больше информации о том, что сработало для меня

В корневом каталоге приложений установите ресурсы из bower

bower install angular-i18n

Добавьте <script> в ваш index.html между этими тегами комментариев, если вы используете bower/buildjs, чтобы скомпилировать все ваши скрипты в файл vendor.js:

<!-- endbower -->
<script src="bower_components/angular-i18n/angular-locale_fr-fr.js"></script>
<!-- endbuild -->

Что это.

Ответ 2

Пример использования, согласно https://docs.angularjs.org/guide/i18n

1) получить требуемую локалью из репозитория angular или через беседу, например. //raw.githubusercontent.com/ angular/bower- angular -i18n/ведущий/angular -locale_fr-fr.js

2) включают его после библиотеки angular, например

<script src="vendor/angular.min.js"></script>
<script src="vendor/angular-locale_fr-fr.js"></script>

3) теперь, когда вы показываете дату с использованием фильтра даты ng, это будет во французско-французском, а не в американском английском формате, например.

{{date | date: 'fullDate'}}

Там также должен быть способ обращаться с несколькими местными жителями программно, это делается на домашней странице AngularJS "пивной счетчик", с

angular.module('app-us', ['app', 'ngLocal.us']);
angular.module('app-sk', ['app', 'ngLocal.sk']);

и

<script src="//code.angularjs.org/1.4.4/i18n/angular-locale_sk.js"></script>
<script>
angular.module('ngLocal.sk', [])._configBlocks.push(angular.module('ngLocale')._configBlocks[0]);
</script>
<script src="//code.angularjs.org/1.4.4/i18n/angular-locale_en-us.js"></script>
<script>
angular.module('ngLocal.us', [])._configBlocks.push(angular.module('ngLocale')._configBlocks[0]);
angular.bootstrap(document, ['ngRoute', 'homepage', 'ngLocal.us']);
</script>

И вот более чистый способ сделать это: https://github.com/lgalfaso/angular-dynamic-locale