diff options
author | Phil Hughes <me@iamphill.com> | 2017-04-19 16:53:06 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-04-19 16:53:06 +0100 |
commit | 7d16537cac7eb808d8d18cd0b89475db4e4eeaaa (patch) | |
tree | 69ad2b7cc10d5626d5ed4fef6ef2017b26152676 /app/assets/javascripts | |
parent | a3506a228723d7e31fb37580dcd3b30245436f22 (diff) | |
download | gitlab-ce-7d16537cac7eb808d8d18cd0b89475db4e4eeaaa.tar.gz |
Created a plural filter
Added tests for the filter
[ci skip]
Diffstat (limited to 'app/assets/javascripts')
3 files changed, 6 insertions, 3 deletions
diff --git a/app/assets/javascripts/cycle_analytics/components/limit_warning_component.js b/app/assets/javascripts/cycle_analytics/components/limit_warning_component.js index a7b187a0a36..63e20478e94 100644 --- a/app/assets/javascripts/cycle_analytics/components/limit_warning_component.js +++ b/app/assets/javascripts/cycle_analytics/components/limit_warning_component.js @@ -11,7 +11,7 @@ export default { aria-hidden="true" title="Limited to showing 50 events at most" data-placement="top"></i> - {{ 'Showing 50 events' | translate }} + {{ 'Showing %d event' | translate-plural('Showing %d events', 50) }} </span> `, }; diff --git a/app/assets/javascripts/cycle_analytics/components/total_time_component.js b/app/assets/javascripts/cycle_analytics/components/total_time_component.js index e07963b1b45..a0d735f159c 100644 --- a/app/assets/javascripts/cycle_analytics/components/total_time_component.js +++ b/app/assets/javascripts/cycle_analytics/components/total_time_component.js @@ -12,9 +12,9 @@ global.cycleAnalytics.TotalTimeComponent = Vue.extend({ template: ` <span class="total-time"> <template v-if="Object.keys(time).length"> - <template v-if="time.days">{{ time.days }} <span>{{ time.days === 1 ? 'day' : 'days' | translate }}</span></template> + <template v-if="time.days">{{ time.days }} <span>{{ 'day' | translate-plural('days', time.days) }}</span></template> <template v-if="time.hours">{{ time.hours }} <span v-translate>hr</span></template> - <template v-if="time.mins && !time.days">{{ time.mins }} <span v-translate>mins</span></template> + <template v-if="time.mins && !time.days">{{ time.mins }} <span>{{ 'min' | translate-plural('mins', time.mins) }}</span></template> <template v-if="time.seconds && Object.keys(time).length === 1 || time.seconds === 0">{{ time.seconds }} <span>s</span></template> </template> <template v-else> diff --git a/app/assets/javascripts/vue_shared/translate.js b/app/assets/javascripts/vue_shared/translate.js index 88b7c0bb954..072828b310e 100644 --- a/app/assets/javascripts/vue_shared/translate.js +++ b/app/assets/javascripts/vue_shared/translate.js @@ -3,6 +3,9 @@ import locale from '../locale'; export default (Vue) => { Vue.filter('translate', text => locale.gettext(text)); + Vue.filter('translate-plural', (text, pluralText, count) => + locale.ngettext(text, pluralText, count).replace(/%d/g, count)); + Vue.directive('translate', { bind(el) { const $el = el; |