FIX: Use correct plural rules for Russian (#19467)

Previously this didn't work because Transifex didn't support "many".
This commit is contained in:
Gerhard Schlager
2022-12-14 18:56:46 +01:00
committed by GitHub
parent f77660b047
commit 4e42759caa
4 changed files with 13 additions and 7 deletions

View File

@ -84,13 +84,14 @@ RSpec.describe I18n::Backend::DiscourseI18n do
it 'uses fallback locales when a pluralization key is missing' do
SiteSetting.default_locale = 'ru'
backend.store_translations(:ru, items: { one: '%{count} Russian item', other: '%{count} Russian items' })
backend.store_translations(:ru, items: { one: '%{count} Russian item', many: '%{count} Russian items are many', other: '%{count} Russian items' })
expect(backend.translate(:ru, :items, count: 1)).to eq('1 Russian item')
expect(backend.translate(:ru, :items, count: 2)).to eq('2 items')
expect(backend.translate(:ru, :items, count: 5)).to eq('5 Russian items')
expect(backend.translate(:ru, :items, count: 5)).to eq('5 Russian items are many')
expect(backend.translate(:ru, :items, count: 10.2)).to eq('10.2 Russian items')
backend.store_translations(:ru, items: { one: '%{count} Russian item', few: '%{count} Russian items are a few', other: '%{count} Russian items' })
backend.store_translations(:ru, items: { one: '%{count} Russian item', few: '%{count} Russian items are a few', many: '%{count} Russian items are many', other: '%{count} Russian items' })
expect(backend.translate(:ru, :items, count: 2)).to eq('2 Russian items are a few')
backend.store_translations(:en, airplanes: { one: '%{count} airplane' })