Browse Source

Merge pull request #840 from transloadit/fix/translator-0

Fix Translator pluralization when counter is 0
Artur Paikin 7 years ago
parent
commit
33e494fcee
2 changed files with 4 additions and 4 deletions
  1. 1 1
      src/core/Translator.js
  2. 3 3
      src/core/Translator.test.js

+ 1 - 1
src/core/Translator.js

@@ -71,7 +71,7 @@ module.exports = class Translator {
    * @return {string} translated (and interpolated)
    */
   translate (key, options) {
-    if (options && options.smart_count) {
+    if (options && typeof options.smart_count !== 'undefined') {
       var plural = this.locale.pluralize(options.smart_count)
       return this.interpolate(this.opts.locale.strings[key][plural], options)
     }

+ 3 - 3
src/core/Translator.test.js

@@ -23,15 +23,15 @@ describe('core/translator', () => {
     it('should translate a string', () => {
       const core = new Core({ locale: russian })
       expect(
-        core.translator.translate('filesChosen', { smart_count: '18' })
+        core.translator.translate('filesChosen', { smart_count: 18 })
       ).toEqual('Выбрано 18 файлов')
 
       expect(
-        core.translator.translate('filesChosen', { smart_count: '1' })
+        core.translator.translate('filesChosen', { smart_count: 1 })
       ).toEqual('Выбран 1 файл')
 
       expect(
-        core.translator.translate('filesChosen', { smart_count: '0' })
+        core.translator.translate('filesChosen', { smart_count: 0 })
       ).toEqual('Выбрано 0 файлов')
     })
   })