diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ce932c06..34a40e1d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ - Romanian (ro): am/pm - Swedish (sv sv-FI sv-SE): am/pm - Welsh (cy): Move the keys to right place and add missing keys +- Add ordinalization for many locales (be, bs, cs, da, de-AT, de-CH, de-DE, eo, et, fa, fi, hr, hu, is, ka, + lb, lt, lv, mk, nb, ne, nn, pl, sk, sl, sq, sr, sw, tr) #1109 ## 7.0.8 (2023-08-15) diff --git a/rails/ordinals/be.yml b/rails/ordinals/be.yml new file mode 100644 index 000000000..f342bde91 --- /dev/null +++ b/rails/ordinals/be.yml @@ -0,0 +1,6 @@ +--- +be: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/bs.yml b/rails/ordinals/bs.yml new file mode 100644 index 000000000..902054fed --- /dev/null +++ b/rails/ordinals/bs.yml @@ -0,0 +1,6 @@ +--- +bs: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/cs.yml b/rails/ordinals/cs.yml new file mode 100644 index 000000000..b5d380090 --- /dev/null +++ b/rails/ordinals/cs.yml @@ -0,0 +1,6 @@ +--- +cs: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/da.yml b/rails/ordinals/da.yml new file mode 100644 index 000000000..5dee8207c --- /dev/null +++ b/rails/ordinals/da.yml @@ -0,0 +1,6 @@ +--- +da: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/de-AT.rb b/rails/ordinals/de-AT.rb deleted file mode 100644 index c32493d87..000000000 --- a/rails/ordinals/de-AT.rb +++ /dev/null @@ -1,15 +0,0 @@ -{ - de: { - number: { - nth: { - ordinals: -> (_key, number:, **_options) { - '.' - }, - - ordinalized: -> (_key, number:, **_options) { - "#{number}#{ActiveSupport::Inflector.ordinal(number)}" - } - } - } - } -} diff --git a/rails/ordinals/de-AT.yml b/rails/ordinals/de-AT.yml new file mode 100644 index 000000000..52862b16d --- /dev/null +++ b/rails/ordinals/de-AT.yml @@ -0,0 +1,6 @@ +--- +de-AT: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/de-CH.rb b/rails/ordinals/de-CH.rb deleted file mode 100644 index c32493d87..000000000 --- a/rails/ordinals/de-CH.rb +++ /dev/null @@ -1,15 +0,0 @@ -{ - de: { - number: { - nth: { - ordinals: -> (_key, number:, **_options) { - '.' - }, - - ordinalized: -> (_key, number:, **_options) { - "#{number}#{ActiveSupport::Inflector.ordinal(number)}" - } - } - } - } -} diff --git a/rails/ordinals/de-CH.yml b/rails/ordinals/de-CH.yml new file mode 100644 index 000000000..b61abb321 --- /dev/null +++ b/rails/ordinals/de-CH.yml @@ -0,0 +1,6 @@ +--- +de-CH: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/de-DE.rb b/rails/ordinals/de-DE.rb deleted file mode 100644 index c32493d87..000000000 --- a/rails/ordinals/de-DE.rb +++ /dev/null @@ -1,15 +0,0 @@ -{ - de: { - number: { - nth: { - ordinals: -> (_key, number:, **_options) { - '.' - }, - - ordinalized: -> (_key, number:, **_options) { - "#{number}#{ActiveSupport::Inflector.ordinal(number)}" - } - } - } - } -} diff --git a/rails/ordinals/de-DE.yml b/rails/ordinals/de-DE.yml new file mode 100644 index 000000000..ed676a0fd --- /dev/null +++ b/rails/ordinals/de-DE.yml @@ -0,0 +1,6 @@ +--- +de-DE: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/de.rb b/rails/ordinals/de.rb deleted file mode 100644 index c32493d87..000000000 --- a/rails/ordinals/de.rb +++ /dev/null @@ -1,15 +0,0 @@ -{ - de: { - number: { - nth: { - ordinals: -> (_key, number:, **_options) { - '.' - }, - - ordinalized: -> (_key, number:, **_options) { - "#{number}#{ActiveSupport::Inflector.ordinal(number)}" - } - } - } - } -} diff --git a/rails/ordinals/de.yml b/rails/ordinals/de.yml new file mode 100644 index 000000000..f3f8bb521 --- /dev/null +++ b/rails/ordinals/de.yml @@ -0,0 +1,6 @@ +--- +de: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/eo.yml b/rails/ordinals/eo.yml new file mode 100644 index 000000000..cb8110f3b --- /dev/null +++ b/rails/ordinals/eo.yml @@ -0,0 +1,6 @@ +--- +eo: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/et.yml b/rails/ordinals/et.yml new file mode 100644 index 000000000..2b3903572 --- /dev/null +++ b/rails/ordinals/et.yml @@ -0,0 +1,6 @@ +--- +et: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/fa.yml b/rails/ordinals/fa.yml new file mode 100644 index 000000000..0a43c0ba9 --- /dev/null +++ b/rails/ordinals/fa.yml @@ -0,0 +1,6 @@ +--- +fa: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/fi.yml b/rails/ordinals/fi.yml new file mode 100644 index 000000000..0bc18abc5 --- /dev/null +++ b/rails/ordinals/fi.yml @@ -0,0 +1,6 @@ +--- +fi: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/hr.yml b/rails/ordinals/hr.yml new file mode 100644 index 000000000..d705d9541 --- /dev/null +++ b/rails/ordinals/hr.yml @@ -0,0 +1,6 @@ +--- +hr: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/hu.yml b/rails/ordinals/hu.yml new file mode 100644 index 000000000..a5bf5ec3b --- /dev/null +++ b/rails/ordinals/hu.yml @@ -0,0 +1,6 @@ +--- +hu: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/is.yml b/rails/ordinals/is.yml new file mode 100644 index 000000000..a17e2b1c3 --- /dev/null +++ b/rails/ordinals/is.yml @@ -0,0 +1,6 @@ +--- +is: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/ka.yml b/rails/ordinals/ka.yml new file mode 100644 index 000000000..7ba4867cf --- /dev/null +++ b/rails/ordinals/ka.yml @@ -0,0 +1,6 @@ +--- +ka: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/lb.yml b/rails/ordinals/lb.yml new file mode 100644 index 000000000..c478f90b9 --- /dev/null +++ b/rails/ordinals/lb.yml @@ -0,0 +1,6 @@ +--- +lb: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/lt.yml b/rails/ordinals/lt.yml new file mode 100644 index 000000000..477c20a71 --- /dev/null +++ b/rails/ordinals/lt.yml @@ -0,0 +1,6 @@ +--- +lt: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/lv.yml b/rails/ordinals/lv.yml new file mode 100644 index 000000000..89e80474c --- /dev/null +++ b/rails/ordinals/lv.yml @@ -0,0 +1,6 @@ +--- +lv: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/mk.yml b/rails/ordinals/mk.yml new file mode 100644 index 000000000..3be5de56b --- /dev/null +++ b/rails/ordinals/mk.yml @@ -0,0 +1,6 @@ +--- +mk: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/nb.yml b/rails/ordinals/nb.yml new file mode 100644 index 000000000..48fe934ca --- /dev/null +++ b/rails/ordinals/nb.yml @@ -0,0 +1,6 @@ +--- +nb: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/ne.yml b/rails/ordinals/ne.yml new file mode 100644 index 000000000..b6438bca7 --- /dev/null +++ b/rails/ordinals/ne.yml @@ -0,0 +1,6 @@ +--- +ne: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/nn.yml b/rails/ordinals/nn.yml new file mode 100644 index 000000000..22c7e0682 --- /dev/null +++ b/rails/ordinals/nn.yml @@ -0,0 +1,6 @@ +--- +nn: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/pl.yml b/rails/ordinals/pl.yml new file mode 100644 index 000000000..f40536f91 --- /dev/null +++ b/rails/ordinals/pl.yml @@ -0,0 +1,6 @@ +--- +pl: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/sk.yml b/rails/ordinals/sk.yml new file mode 100644 index 000000000..896e21e52 --- /dev/null +++ b/rails/ordinals/sk.yml @@ -0,0 +1,6 @@ +--- +sk: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/sl.yml b/rails/ordinals/sl.yml new file mode 100644 index 000000000..7c16e4323 --- /dev/null +++ b/rails/ordinals/sl.yml @@ -0,0 +1,6 @@ +--- +sl: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/sq.yml b/rails/ordinals/sq.yml new file mode 100644 index 000000000..50c20cf93 --- /dev/null +++ b/rails/ordinals/sq.yml @@ -0,0 +1,6 @@ +--- +sq: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/sr.yml b/rails/ordinals/sr.yml new file mode 100644 index 000000000..bd409ddd2 --- /dev/null +++ b/rails/ordinals/sr.yml @@ -0,0 +1,6 @@ +--- +sr: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/sw.yml b/rails/ordinals/sw.yml new file mode 100644 index 000000000..e7be06a04 --- /dev/null +++ b/rails/ordinals/sw.yml @@ -0,0 +1,6 @@ +--- +sw: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/rails/ordinals/tr.yml b/rails/ordinals/tr.yml new file mode 100644 index 000000000..d69113ca8 --- /dev/null +++ b/rails/ordinals/tr.yml @@ -0,0 +1,6 @@ +--- +tr: + number: + nth: + ordinals: "." + ordinalized: "%{number}." diff --git a/spec/unit/ordinals_spec.rb b/spec/unit/ordinals_spec.rb index af4669629..4f96e7747 100644 --- a/spec/unit/ordinals_spec.rb +++ b/spec/unit/ordinals_spec.rb @@ -5,9 +5,10 @@ # Mock Rails app in order to trigger the Railtie let(:app) { double :app, config: config } let(:config) { double :config, eager_load_namespaces: [], i18n: I18n, rails_i18n: RailsI18n } + let(:period_locales) { %w[be bs cs da de de-AT de-CH de-DE eo et fa fi hr hu is ka lb lt lv mk nb ne nn pl sk sl sq sr sw tr] } before do - I18n.available_locales = %w[fr en fr-CA fr-CH fr-FR gd] + I18n.available_locales = %w[fr en fr-CA fr-CH fr-FR gd] + period_locales RailsI18n::Railtie.initializers.each { |init| init.run(app) } I18n.backend.reload! @@ -45,4 +46,15 @@ end end end + + describe 'locales with period-suffix' do + it 'uses the custom rule' do + period_locales.each do |locale| + I18n.with_locale(locale) do + ActiveSupport::Inflector.ordinalize(1).should == "1." + ActiveSupport::Inflector.ordinalize(2).should == "2." + end + end + end + end end