Перейти к содержимому


Ads
Фотография
- - - - -

таймер локализовать

javascript angular angular-timer

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Sergey Kalinin

Sergey Kalinin

    Ампиратор

  • Забанен
  • 3 429 сообщений

Отправлено 19.09.2016, 22:17

Помогите пожалуйста локализовать таймер.
 
Я подключил плагин таймера angular-timer. В пределах одной странички я вывел два таймера: с RU локализацией
.russian_localization
и с EN локализацией
.england_localization
Для EN локализации единицы(дни, часы и т. д.) выводятся корректно(с учётом склонения), а для RU локализации не корректно.
 
 
html:
<div ng-app="HelloUserApp">
    <div ng-controller="HelloUserController">
        {{qw}}
    </div>

    <hr>

    <div ng-controller="countdownController">
        <timer end-time="1475488800000" max-time-unit="'day'" language="ru" finish-callback="timerFinished()">
            <div class="russian_localization">
                <div>
                    <div>
                        <span class="value">{{days}}</span>
                        <span class="label">{{daysS}}</span>
                    </div>
                </div>

                <div>
                    <div>
                        <span class="value">{{hours}}</span>
                        <span class="label">{{hoursS}}</span>
                    </div>
                </div>

                <div>
                    <div>
                        <span class="value">{{minutes}}</span>
                        <span class="label">{{minutesS}}</span>
                    </div>
                </div>

                <div>
                    <div>
                        <span class="value">{{seconds}}</span>
                        <span class="label">{{secondsS}}</span>
                    </div>
                </div>  
            </div>  

            <hr>

            <div class="england_localization">
                {{days}} day{{daysS}}<br>                       
                {{hours}} hour{{hoursS}}<br>                        
                {{mminutes}} minute{{minutesS}}<br>                     
                {{sseconds}} second{{secondsS}}<br>
            </div>
        </timer>
    </div>          
</div>

js:

angular.module('HelloUserApp', ['timer'])
    .controller('HelloUserController', function($scope) {
        $scope.qw = 'contdown';
    })
    .controller('countdownController', function ($scope) {
        $scope.timerRunning = true;

        $scope.timerFinished = function () {
          console.log('timer is finished');
        };
    });   

В документации таймера описана возможность выводить всю дату полностью с корректными русскими склонениями через yearUnit. Но меня такое решение не устраивает потому что в этом случае стилизовать можно только весь вывод:

<div class="bla">2 years, 1 month, 5 days, 6 hours, 9 minutes, 16 seconds</div>

А мне нужно приблизительно так:

<div class="bla">2</div> <div class="bla">years</div>, <div class="bla">1</div> <div class="bla">month</div>, <div class="bla">5</div> <div class="bla">days</div>, <div class="bla">6</div> <div class="bla">hours</div>, <div class="bla">9</div> <div class="bla">minutes</div>, <div class="bla">16</div> <div class="bla">seconds</div>

 


"Людей я люблю, но их надо п****ть"©Александр Баширов





Темы с аналогичным тегами javascript, angular, angular-timer

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей