diff options
author | Ruben Davila <rdavila84@gmail.com> | 2017-04-20 23:31:15 +0300 |
---|---|---|
committer | Ruben Davila <rdavila84@gmail.com> | 2017-04-20 23:31:15 +0300 |
commit | 086700fa5b8438ea04cab6f3fccc5da181bb16e8 (patch) | |
tree | abd0926d3d74394d4c27d3f65fc3a067a791d330 /app/assets/javascripts/vue_shared | |
parent | 7ceb0efc6c6016e055ec6862759ff5f442551c4a (diff) | |
parent | 7d16537cac7eb808d8d18cd0b89475db4e4eeaaa (diff) |
Merge branch 'js-translations' into 28433-internationalise-cycle-analytics-page
Conflicts:
config/webpack.config.js
Diffstat (limited to 'app/assets/javascripts/vue_shared')
-rw-r--r-- | app/assets/javascripts/vue_shared/translate.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_shared/translate.js b/app/assets/javascripts/vue_shared/translate.js new file mode 100644 index 00000000000..072828b310e --- /dev/null +++ b/app/assets/javascripts/vue_shared/translate.js @@ -0,0 +1,17 @@ +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; + const text = $el.textContent.trim(); + + $el.textContent = locale.gettext(text); + }, + }); +}; |