discourse/config/locales/plurals.rb
Loïc Guitaut 9c57be6403 DEV: Update Ruby I18n pluralization rules
The current pluralization rules used by the I18n system in Ruby are
obsolete and don’t follow the official rules available at
unicode.org/cldr/charts/45/supplemental/language_plural_rules.html.

Using https://github.com/ruby-i18n/ruby-cldr, new and updated ones have
been generated.
2024-07-29 15:44:52 +02:00

2574 lines
66 KiB
Ruby

# frozen_string_literal: true
# generated by https://github.com/ruby-i18n/ruby-cldr
# stree-ignore
{
af: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
ak: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
((n.to_f % 1).zero? && (0..1).include?(n.to_f)) ? :one : :other
end,
},
},
},
am: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
ar: {
i18n: {
plural: {
keys: %i[zero one two few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 0 ?
:zero :
n.to_f == 1 ?
:one :
n.to_f == 2 ?
:two :
(((n.to_f % 100) % 1).zero? && (3..10).include?(n.to_f % 100)) ?
:few :
(((n.to_f % 100) % 1).zero? && (11..99).include?(n.to_f % 100)) ? :many : :other
end,
},
},
},
asa: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
as: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
ast: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
az: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
bem: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
be: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_f % 10 == 1 && n.to_f % 100 != 11) ?
:one :
(
(((n.to_f % 10) % 1).zero? && (2..4).include?(n.to_f % 10)) &&
(((n.to_f % 100) % 1).zero? && !(12..14).include?(n.to_f % 100))
) ?
:few :
if (
n.to_f % 10 == 0 ||
(((n.to_f % 10) % 1).zero? && (5..9).include?(n.to_f % 10)) ||
(((n.to_f % 100) % 1).zero? && (11..14).include?(n.to_f % 100))
)
:many
else
:other
end
end,
},
},
},
bez: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
bg: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
bm: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
bn: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
bo: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
br: {
i18n: {
plural: {
keys: %i[one two few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_f % 10 == 1 && ![11, 71, 91].include?(n.to_f % 100)) ?
:one :
(n.to_f % 10 == 2 && ![12, 72, 92].include?(n.to_f % 100)) ?
:two :
(
(
(n.to_f % 10) == 9 ||
(((n.to_f % 10) % 1).zero? && (3..4).include?(n.to_f % 10))
) &&
(
(
((n.to_f % 100) % 1).zero? &&
(
!(10..19).include?(n.to_f % 100) || !(70..79).include?(n.to_f % 100) ||
!(90..99).include?(n.to_f % 100)
)
)
)
) ?
:few :
(n.to_f != 0 && n.to_f % 1_000_000 == 0) ? :many : :other
end,
},
},
},
brx: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
bs_BA: {
i18n: {
plural: {
keys: %i[one few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 1 &&
n.to_i % 100 != 11
) ||
(
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10 == 1 &&
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 != 11
)
) ?
:one :
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(2..4).include?(n.to_i % 10) && !(12..14).include?(n.to_i % 100)
) ||
(
(2..4).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10) &&
!(12..14).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100)
)
)
:few
else
:other
end
end,
},
},
},
ca: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
ceb: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
if (
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && [1, 2, 3].include?(n.to_i)) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
![4, 6, 9].include?(n.to_i % 10)
) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) != 0 &&
![4, 6, 9].include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10)
)
)
:one
else
:other
end
end,
},
},
},
ce: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
cgg: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
chr: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
ckb: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
cs: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:one :
((2..4).include?(n.to_i) && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:few :
((v = n.to_s.split(".")[1]) ? v.length : 0) != 0 ? :many : :other
end,
},
},
},
cy: {
i18n: {
plural: {
keys: %i[zero one two few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 0 ?
:zero :
n.to_f == 1 ?
:one :
n.to_f == 2 ? :two : n.to_f == 3 ? :few : n.to_f == 6 ? :many : :other
end,
},
},
},
da: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
if (
n.to_f == 1 ||
(
((t = n.to_s.split(".")[1]) ? t.gsub(/0+$/, "").to_i : 0) != 0 &&
[0, 1].include?(n.to_i)
)
)
:one
else
:other
end
end,
},
},
},
de: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
doi: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
dsb: {
i18n: {
plural: {
keys: %i[one two few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 100 == 1) ||
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 == 1
) ?
:one :
(
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 100 == 2) ||
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 == 2
) ?
:two :
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(3..4).include?(n.to_i % 100)
) || (3..4).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100)
)
:few
else
:other
end
end,
},
},
},
dz: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
ee: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
el: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
en: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
en_GB: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
eo: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
es: {
i18n: {
plural: {
keys: %i[one many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ?
:one :
if (
(
(e = 0) == 0 && n.to_i != 0 && n.to_i % 1_000_000 == 0 &&
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0
) || !(0..5).include?(e = 0)
)
:many
else
:other
end
end,
},
},
},
et: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
eu: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
fa_IR: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
ff: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
[0, 1].include?(n.to_i) ? :one : :other
end,
},
},
},
fil: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
if (
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && [1, 2, 3].include?(n.to_i)) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
![4, 6, 9].include?(n.to_i % 10)
) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) != 0 &&
![4, 6, 9].include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10)
)
)
:one
else
:other
end
end,
},
},
},
fi: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
fo: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
fr: {
i18n: {
plural: {
keys: %i[one many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
[0, 1].include?(n.to_i) ?
:one :
if (
(
(e = 0) == 0 && n.to_i != 0 && n.to_i % 1_000_000 == 0 &&
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0
) || !(0..5).include?(e = 0)
)
:many
else
:other
end
end,
},
},
},
fur: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
fy: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
ga: {
i18n: {
plural: {
keys: %i[one two few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ?
:one :
n.to_f == 2 ?
:two :
((n.to_f % 1).zero? && (3..6).include?(n.to_f)) ?
:few :
((n.to_f % 1).zero? && (7..10).include?(n.to_f)) ? :many : :other
end,
},
},
},
gd: {
i18n: {
plural: {
keys: %i[one two few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
[1, 11].include?(n.to_f) ?
:one :
[2, 12].include?(n.to_f) ?
:two :
if (((n.to_f % 1).zero? && ((3..10).include?(n.to_f) || (13..19).include?(n.to_f))))
:few
else
:other
end
end,
},
},
},
gl: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
gsw: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
gu: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
gv: {
i18n: {
plural: {
keys: %i[one two few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 1) ?
:one :
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 2) ?
:two :
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
[0, 20, 40, 60, 80].include?(n.to_i % 100)
) ?
:few :
((v = n.to_s.split(".")[1]) ? v.length : 0) != 0 ? :many : :other
end,
},
},
},
ha: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
haw: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
he: {
i18n: {
plural: {
keys: %i[one two many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:one :
(n.to_i == 2 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:two :
if (
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
((n.to_f % 1).zero? && !(0..10).include?(n.to_f)) && n.to_f % 10 == 0
)
:many
else
:other
end
end,
},
},
},
hi: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
hr: {
i18n: {
plural: {
keys: %i[one few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 1 &&
n.to_i % 100 != 11
) ||
(
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10 == 1 &&
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 != 11
)
) ?
:one :
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(2..4).include?(n.to_i % 10) && !(12..14).include?(n.to_i % 100)
) ||
(
(2..4).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10) &&
!(12..14).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100)
)
)
:few
else
:other
end
end,
},
},
},
hsb: {
i18n: {
plural: {
keys: %i[one two few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 100 == 1) ||
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 == 1
) ?
:one :
(
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 100 == 2) ||
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 == 2
) ?
:two :
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(3..4).include?(n.to_i % 100)
) || (3..4).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100)
)
:few
else
:other
end
end,
},
},
},
hu: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
hy: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
[0, 1].include?(n.to_i) ? :one : :other
end,
},
},
},
ia: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
id: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
ig: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
ii: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
is: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
if (
(
((t = n.to_s.split(".")[1]) ? t.gsub(/0+$/, "").to_i : 0) == 0 &&
n.to_i % 10 == 1 && n.to_i % 100 != 11
) || ((t = n.to_s.split(".")[1]) ? t.gsub(/0+$/, "").to_i : 0) != 0
)
:one
else
:other
end
end,
},
},
},
it: {
i18n: {
plural: {
keys: %i[one many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:one :
if (
(
(e = 0) == 0 && n.to_i != 0 && n.to_i % 1_000_000 == 0 &&
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0
) || !(0..5).include?(e = 0)
)
:many
else
:other
end
end,
},
},
},
ja: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
jgo: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
jmc: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
jv: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
kab: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
[0, 1].include?(n.to_i) ? :one : :other
end,
},
},
},
ka: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
kde: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
kea: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
kkj: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
kk: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
kl: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
km: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
kn: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
ko: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
ksb: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
ksh: {
i18n: {
plural: {
keys: %i[zero one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 0 ? :zero : n.to_f == 1 ? :one : :other
end,
},
},
},
ks: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
ku: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
kw: {
i18n: {
plural: {
keys: %i[zero one two few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 0 ?
:zero :
n.to_f == 1 ?
:one :
(
[2, 22, 42, 62, 82].include?(n.to_f % 100) ||
(
n.to_f % 1000 == 0 &&
(
[40_000, 60_000, 80_000].include?(n.to_f % 100_000) ||
(
((n.to_f % 100_000) % 1).zero? &&
(1000..20_000).include?(n.to_f % 100_000)
)
)
) || (n.to_f != 0 && n.to_f % 1_000_000 == 100_000)
) ?
:two :
[3, 23, 43, 63, 83].include?(n.to_f % 100) ?
:few :
(n.to_f != 1 && [1, 21, 41, 61, 81].include?(n.to_f % 100)) ? :many : :other
end,
},
},
},
ky: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
lag: {
i18n: {
plural: {
keys: %i[zero one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 0 ? :zero : ([0, 1].include?(n.to_i) && n.to_f != 0) ? :one : :other
end,
},
},
},
lb: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
lg: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
lkt: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
ln: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
((n.to_f % 1).zero? && (0..1).include?(n.to_f)) ? :one : :other
end,
},
},
},
lo: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
lt: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_f % 10 == 1 && (((n.to_f % 100) % 1).zero? && !(11..19).include?(n.to_f % 100))) ?
:one :
(
(((n.to_f % 10) % 1).zero? && (2..9).include?(n.to_f % 10)) &&
(((n.to_f % 100) % 1).zero? && !(11..19).include?(n.to_f % 100))
) ?
:few :
((f = n.to_s.split(".")[1]) ? f.to_i : 0) != 0 ? :many : :other
end,
},
},
},
lv: {
i18n: {
plural: {
keys: %i[zero one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
n.to_f % 10 == 0 || (((n.to_f % 100) % 1).zero? && (11..19).include?(n.to_f % 100)) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 2 &&
(11..19).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100)
)
) ?
:zero :
if (
(n.to_f % 10 == 1 && n.to_f % 100 != 11) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 2 &&
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10 == 1 &&
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 != 11
) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) != 2 &&
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10 == 1
)
)
:one
else
:other
end
end,
},
},
},
mas: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
mgo: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
mg: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
((n.to_f % 1).zero? && (0..1).include?(n.to_f)) ? :one : :other
end,
},
},
},
mk: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 1 &&
n.to_i % 100 != 11
) ||
(
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10 == 1 &&
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 != 11
)
)
:one
else
:other
end
end,
},
},
},
ml: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
mn: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
mr: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
ms: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
mt: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ?
:one :
(n.to_f == 0 || (((n.to_f % 100) % 1).zero? && (2..10).include?(n.to_f % 100))) ?
:few :
(((n.to_f % 100) % 1).zero? && (11..19).include?(n.to_f % 100)) ? :many : :other
end,
},
},
},
my: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
naq: {
i18n: {
plural: {
keys: %i[one two other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : n.to_f == 2 ? :two : :other
end,
},
},
},
nb_NO: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
nd: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
ne: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
nl: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
nnh: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
nn: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
no: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
nyn: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
om: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
or: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
os: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
pa: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
((n.to_f % 1).zero? && (0..1).include?(n.to_f)) ? :one : :other
end,
},
},
},
pcm: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
pl_PL: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:one :
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && (2..4).include?(n.to_i % 10) &&
!(12..14).include?(n.to_i % 100)
) ?
:few :
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i != 1 &&
(0..1).include?(n.to_i % 10)
) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(5..9).include?(n.to_i % 10)
) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(12..14).include?(n.to_i % 100)
)
)
:many
else
:other
end
end,
},
},
},
ps: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
pt_BR: {
i18n: {
plural: {
keys: %i[one many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(0..1).include?(n.to_i) ?
:one :
if (
(
(e = 0) == 0 && n.to_i != 0 && n.to_i % 1_000_000 == 0 &&
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0
) || !(0..5).include?(e = 0)
)
:many
else
:other
end
end,
},
},
},
pt: {
i18n: {
plural: {
keys: %i[one many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:one :
if (
(
(e = 0) == 0 && n.to_i != 0 && n.to_i % 1_000_000 == 0 &&
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0
) || !(0..5).include?(e = 0)
)
:many
else
:other
end
end,
},
},
},
rm: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
rof: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
ro: {
i18n: {
plural: {
keys: %i[one few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:one :
if (
((v = n.to_s.split(".")[1]) ? v.length : 0) != 0 || n.to_f == 0 ||
(((n.to_f % 100) % 1).zero? && (2..19).include?(n.to_f % 100))
)
:few
else
:other
end
end,
},
},
},
ru: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 1 &&
n.to_i % 100 != 11
) ?
:one :
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && (2..4).include?(n.to_i % 10) &&
!(12..14).include?(n.to_i % 100)
) ?
:few :
if (
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 0) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(5..9).include?(n.to_i % 10)
) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(11..14).include?(n.to_i % 100)
)
)
:many
else
:other
end
end,
},
},
},
rwk: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
sah: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
saq: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
sat: {
i18n: {
plural: {
keys: %i[one two other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : n.to_f == 2 ? :two : :other
end,
},
},
},
sc: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
sd: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
seh: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
se: {
i18n: {
plural: {
keys: %i[one two other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : n.to_f == 2 ? :two : :other
end,
},
},
},
ses: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
sg: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
shi: {
i18n: {
plural: {
keys: %i[one few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ?
:one :
((n.to_f % 1).zero? && (2..10).include?(n.to_f)) ? :few : :other
end,
},
},
},
si: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
if (
[0, 1].include?(n.to_f) ||
(n.to_i == 0 && ((f = n.to_s.split(".")[1]) ? f.to_i : 0) == 1)
)
:one
else
:other
end
end,
},
},
},
sk: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:one :
((2..4).include?(n.to_i) && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ?
:few :
((v = n.to_s.split(".")[1]) ? v.length : 0) != 0 ? :many : :other
end,
},
},
},
sl: {
i18n: {
plural: {
keys: %i[one two few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 100 == 1) ?
:one :
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 100 == 2) ?
:two :
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(3..4).include?(n.to_i % 100)
) || ((v = n.to_s.split(".")[1]) ? v.length : 0) != 0
)
:few
else
:other
end
end,
},
},
},
smn: {
i18n: {
plural: {
keys: %i[one two other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : n.to_f == 2 ? :two : :other
end,
},
},
},
sn: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
so: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
sq: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
sr: {
i18n: {
plural: {
keys: %i[one few other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 1 &&
n.to_i % 100 != 11
) ||
(
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10 == 1 &&
((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100 != 11
)
) ?
:one :
if (
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(2..4).include?(n.to_i % 10) && !(12..14).include?(n.to_i % 100)
) ||
(
(2..4).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 10) &&
!(12..14).include?(((f = n.to_s.split(".")[1]) ? f.to_i : 0) % 100)
)
)
:few
else
:other
end
end,
},
},
},
su: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
sv: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
sw: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
ta: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
teo: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
te: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
th: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
ti: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
((n.to_f % 1).zero? && (0..1).include?(n.to_f)) ? :one : :other
end,
},
},
},
tk: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
to: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
tr_TR: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
tzm: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
if (
((n.to_f % 1).zero? && (0..1).include?(n.to_f)) ||
((n.to_f % 1).zero? && (11..99).include?(n.to_f))
)
:one
else
:other
end
end,
},
},
},
ug: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
uk: {
i18n: {
plural: {
keys: %i[one few many other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 1 &&
n.to_i % 100 != 11
) ?
:one :
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && (2..4).include?(n.to_i % 10) &&
!(12..14).include?(n.to_i % 100)
) ?
:few :
if (
(((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 && n.to_i % 10 == 0) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(5..9).include?(n.to_i % 10)
) ||
(
((v = n.to_s.split(".")[1]) ? v.length : 0) == 0 &&
(11..14).include?(n.to_i % 100)
)
)
:many
else
:other
end
end,
},
},
},
ur: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
uz: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
vi: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
vun: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
wae: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
wo: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
xh: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
xog: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
n.to_f == 1 ? :one : :other
end,
},
},
},
yi: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 1 && ((v = n.to_s.split(".")[1]) ? v.length : 0) == 0) ? :one : :other
end,
},
},
},
yo: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
yue: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
zh_CN: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
zh_TW: {
i18n: {
plural: {
keys: [:other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
:other
end,
},
},
},
zu: {
i18n: {
plural: {
keys: %i[one other],
rule:
lambda do |n|
n = n.respond_to?(:abs) ? n.abs : ((m = n.to_s)[0] == "-" ? m[1, m.length] : m)
(n.to_i == 0 || n.to_f == 1) ? :one : :other
end,
},
},
},
}