r18n-core 2.2.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +5 -5
  2. data/.rspec +1 -1
  3. data/ChangeLog.md +6 -1
  4. data/README.md +1 -20
  5. data/Rakefile +5 -3
  6. data/lib/r18n-core.rb +55 -55
  7. data/lib/r18n-core/filter_list.rb +34 -36
  8. data/lib/r18n-core/filters.rb +68 -51
  9. data/lib/r18n-core/helpers.rb +17 -17
  10. data/lib/r18n-core/i18n.rb +46 -39
  11. data/lib/r18n-core/locale.rb +79 -70
  12. data/lib/r18n-core/translated.rb +65 -66
  13. data/lib/r18n-core/translated_string.rb +24 -24
  14. data/lib/r18n-core/translation.rb +31 -30
  15. data/lib/r18n-core/unsupported_locale.rb +22 -24
  16. data/lib/r18n-core/untranslated.rb +35 -33
  17. data/lib/r18n-core/utils.rb +26 -25
  18. data/lib/r18n-core/version.rb +4 -1
  19. data/lib/r18n-core/yaml_loader.rb +26 -25
  20. data/lib/r18n-core/yaml_methods.rb +25 -28
  21. data/locales/af.rb +15 -8
  22. data/locales/az.rb +19 -12
  23. data/locales/bg.rb +16 -9
  24. data/locales/ca.rb +16 -9
  25. data/locales/cs.rb +27 -20
  26. data/locales/da.rb +15 -8
  27. data/locales/de.rb +16 -9
  28. data/locales/en-au.rb +10 -5
  29. data/locales/en-gb.rb +12 -5
  30. data/locales/en-us.rb +12 -5
  31. data/locales/en.rb +29 -22
  32. data/locales/eo.rb +14 -7
  33. data/locales/es-us.rb +12 -5
  34. data/locales/es.rb +14 -7
  35. data/locales/fa.rb +48 -32
  36. data/locales/fi.rb +19 -12
  37. data/locales/fr.rb +22 -15
  38. data/locales/gl.rb +15 -8
  39. data/locales/hr.rb +24 -17
  40. data/locales/hu.rb +28 -21
  41. data/locales/id.rb +14 -7
  42. data/locales/it.rb +21 -14
  43. data/locales/ja.rb +15 -8
  44. data/locales/kk.rb +17 -10
  45. data/locales/ko.rb +15 -9
  46. data/locales/lv.rb +24 -17
  47. data/locales/mn.rb +10 -3
  48. data/locales/nb.rb +15 -8
  49. data/locales/nl.rb +15 -8
  50. data/locales/no.rb +11 -16
  51. data/locales/pl.rb +26 -19
  52. data/locales/pt-br.rb +12 -5
  53. data/locales/pt.rb +17 -10
  54. data/locales/ru.rb +26 -19
  55. data/locales/sk.rb +27 -20
  56. data/locales/sr-latn.rb +27 -22
  57. data/locales/sv-se.rb +15 -8
  58. data/locales/th.rb +27 -20
  59. data/locales/tr.rb +16 -9
  60. data/locales/uk.rb +19 -12
  61. data/locales/vi.rb +14 -7
  62. data/locales/zh-cn.rb +12 -5
  63. data/locales/zh-tw.rb +15 -8
  64. data/locales/zh.rb +14 -7
  65. data/r18n-core.gemspec +5 -3
  66. data/spec/filters_spec.rb +71 -67
  67. data/spec/i18n_spec.rb +73 -51
  68. data/spec/locale_spec.rb +73 -68
  69. data/spec/locales/cs_spec.rb +2 -2
  70. data/spec/locales/en-us_spec.rb +9 -9
  71. data/spec/locales/en_spec.rb +2 -2
  72. data/spec/locales/fa_spec.rb +3 -3
  73. data/spec/locales/fr_spec.rb +2 -2
  74. data/spec/locales/hu_spec.rb +7 -7
  75. data/spec/locales/it_spec.rb +3 -3
  76. data/spec/locales/no_spec.rb +9 -0
  77. data/spec/locales/pl_spec.rb +2 -2
  78. data/spec/locales/ru_spec.rb +2 -2
  79. data/spec/locales/sk_spec.rb +2 -2
  80. data/spec/locales/th_spec.rb +2 -2
  81. data/spec/locales/vi_spec.rb +2 -2
  82. data/spec/r18n_spec.rb +44 -38
  83. data/spec/spec_helper.rb +13 -9
  84. data/spec/translated_spec.rb +48 -31
  85. data/spec/translation_spec.rb +29 -27
  86. data/spec/translations/general/en.yml +0 -2
  87. data/spec/yaml_loader_spec.rb +22 -18
  88. metadata +5 -3
@@ -1,10 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::Mn < Locale
3
- set title: 'Монгол',
4
+ module Locales
5
+ # Mongolian locale
6
+ class Mn < Locale
7
+ set(
8
+ title: 'Монгол',
4
9
 
5
10
  wday_names: ['Ням гариг', 'Даваа гариг', 'Мягмар гариг', 'Лхагва гариг',
6
11
  'Пүрэв гариг', 'Баасан гариг', 'Бямба гариг'],
7
- wday_abbrs: %w{ня да мя лх пү ба бя},
12
+ wday_abbrs: %w[ня да мя лх пү ба бя],
8
13
 
9
14
  month_names: ['Нэгдүгээр сар', 'Хоёрдугаар сар', 'Гуравдугаар сар',
10
15
  'Дөрөвдүгээр сар', 'Тавдугаар сар', 'Зургадугаар сар',
@@ -16,5 +21,7 @@ module R18n
16
21
 
17
22
  number_decimal: ',',
18
23
  number_group: '.'
24
+ )
25
+ end
19
26
  end
20
27
  end
@@ -1,20 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::Nb < Locale
3
- set title: 'Norsk (bokmål)',
4
- sublocales: %w{no nn en},
4
+ module Locales
5
+ # Norwegian Bokmål locale
6
+ class Nb < Locale
7
+ set(
8
+ title: 'Norsk (bokmål)',
9
+ sublocales: %w[no nn en],
5
10
 
6
11
  week_start: :monday,
7
- wday_names: %w{søndag mandag tirsdag onsdag torsdag fredag lørdag},
8
- wday_abbrs: %w{søn man tir ons tor fre lør},
12
+ wday_names: %w[søndag mandag tirsdag onsdag torsdag fredag lørdag],
13
+ wday_abbrs: %w[søn man tir ons tor fre lør],
9
14
 
10
- month_names: %w{januar februar mars april mai juni juli august
11
- september oktober november desember},
12
- month_abbrs: %w{jan feb mar apr mai jun jul aug sep okt nov des},
15
+ month_names: %w[januar februar mars april mai juni juli august
16
+ september oktober november desember],
17
+ month_abbrs: %w[jan feb mar apr mai jun jul aug sep okt nov des],
13
18
 
14
19
  date_format: '%d.%m.%Y',
15
20
  full_format: '%e. %B %Y',
16
21
 
17
22
  number_decimal: ',',
18
23
  number_group: ' '
24
+ )
25
+ end
19
26
  end
20
27
  end
@@ -1,14 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::Nl < Locale
3
- set title: 'Nederlands',
4
+ module Locales
5
+ # Dutch locale
6
+ class Nl < Locale
7
+ set(
8
+ title: 'Nederlands',
4
9
 
5
- wday_names: %w{zondag maandag dinsdag woensdag donderdag vrijdag
6
- zaterdag},
7
- wday_abbrs: %w{zo ma di wo do vr za},
10
+ wday_names: %w[zondag maandag dinsdag woensdag donderdag vrijdag
11
+ zaterdag],
12
+ wday_abbrs: %w[zo ma di wo do vr za],
8
13
 
9
- month_names: %w{januari februari maart april mei juni juli augustus
10
- september oktober november december},
11
- month_abbrs: %w{jan feb mrt apr mei jun jul aug sep okt nov dec},
14
+ month_names: %w[januari februari maart april mei juni juli augustus
15
+ september oktober november december],
16
+ month_abbrs: %w[jan feb mrt apr mei jun jul aug sep okt nov dec],
12
17
 
13
18
  time_am: "'s ochtends",
14
19
  time_pm: "'s middags",
@@ -17,5 +22,7 @@ module R18n
17
22
 
18
23
  number_decimal: ',',
19
24
  number_group: '.'
25
+ )
26
+ end
20
27
  end
21
28
  end
@@ -1,20 +1,15 @@
1
- module R18n
2
- class Locales::No < Locale
3
- set title: 'Norsk',
4
- sublocales: %w{nb nn en},
5
-
6
- week_start: :monday,
7
- wday_names: %w{søndag mandag tirsdag onsdag torsdag fredag lørdag},
8
- wday_abbrs: %w{søn man tir ons tor fre lør},
1
+ # frozen_string_literal: true
9
2
 
10
- month_names: %w{januar februar mars april mai juni juli august
11
- september oktober november desember},
12
- month_abbrs: %w{jan feb mar apr mai jun jul aug sep okt nov des},
3
+ require_relative 'nb'
13
4
 
14
- date_format: '%d.%m.%Y',
15
- full_format: '%e. %B %Y',
16
-
17
- number_decimal: ',',
18
- number_group: ' '
5
+ module R18n
6
+ module Locales
7
+ # @deprecated Norwegian locale
8
+ class No < Nb
9
+ class << self
10
+ extend Gem::Deprecate
11
+ deprecate :new, 'R18n::Locales::Nb.new', 2018, 3
12
+ end
13
+ end
19
14
  end
20
15
  end
@@ -1,32 +1,39 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::Pl < Locale
3
- set title: 'Polski',
4
+ module Locales
5
+ # Polish locale
6
+ class Pl < Locale
7
+ set(
8
+ title: 'Polski',
4
9
 
5
- wday_names: %w{niedziela poniedziałek wtorek środa czwartek piątek
6
- sobota},
7
- wday_abbrs: %w{nd pn wt śr czw pt sob},
10
+ wday_names: %w[niedziela poniedziałek wtorek środa czwartek piątek
11
+ sobota],
12
+ wday_abbrs: %w[nd pn wt śr czw pt sob],
8
13
 
9
- month_names: %w{stycznia lutego marca kwietnia maja czerwca lipca
10
- sierpnia września października listopada grudnia},
11
- month_abbrs: %w{I II III IV V VI VII VIII IX X XI XII},
12
- month_standalone: %w{styczeń luty marzec kwiecień maj czerwiec lipiec
14
+ month_names: %w[stycznia lutego marca kwietnia maja czerwca lipca
15
+ sierpnia września października listopada grudnia],
16
+ month_abbrs: %w[I II III IV V VI VII VIII IX X XI XII],
17
+ month_standalone: %w[styczeń luty marzec kwiecień maj czerwiec lipiec
13
18
  sierpień wrzesień październik listopad
14
- grudzień},
19
+ grudzień],
15
20
 
16
21
  date_format: '%d.%m.%Y',
17
22
 
18
23
  number_decimal: ',',
19
24
  number_group: ' '
25
+ )
20
26
 
21
- def pluralize(n)
22
- return 0 if n == 0
23
- case n % 10
24
- when 1
25
- n > 10 ? 'n' : 1
26
- when 2..4
27
- n % 100 > 10 && n % 100 < 20 ? 'n' : 2
28
- else
29
- 'n'
27
+ def pluralize(n)
28
+ return 0 if n.zero?
29
+ case n % 10
30
+ when 1
31
+ n > 10 ? 'n' : 1
32
+ when 2..4
33
+ (11..19).cover?(n % 100) ? 'n' : 2
34
+ else
35
+ 'n'
36
+ end
30
37
  end
31
38
  end
32
39
  end
@@ -1,8 +1,15 @@
1
- require File.join(File.dirname(__FILE__), 'pt')
1
+ # frozen_string_literal: true
2
2
 
3
- module R18n::Locales
4
- class PtBr < Pt
5
- set title: 'Português brasileiro',
6
- sublocales: %w{pt en}
3
+ require_relative 'pt'
4
+
5
+ module R18n
6
+ module Locales
7
+ # Brazilian Portuguese locale
8
+ class PtBr < Pt
9
+ set(
10
+ title: 'Português brasileiro',
11
+ sublocales: %w[pt en]
12
+ )
13
+ end
7
14
  end
8
15
  end
@@ -1,16 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::Pt < Locale
3
- set title: 'Português',
4
+ module Locales
5
+ # Portuguese locale
6
+ class Pt < Locale
7
+ set(
8
+ title: 'Português',
4
9
 
5
- wday_names: %w{domingo segunda-feira terça-feira quarta-feira
6
- quinta-feira sexta-feira sábado},
7
- wday_abbrs: %w{dom seg ter qua qui sex sab},
10
+ wday_names: %w[domingo segunda-feira terça-feira quarta-feira
11
+ quinta-feira sexta-feira sábado],
12
+ wday_abbrs: %w[dom seg ter qua qui sex sab],
8
13
 
9
- month_names: %w{janeiro fevereiro março abril maio junho julho
10
- agosto setembro outubro novembro dezembro},
11
- month_abbrs: %w{jan fev mar abr mai jun jul ago set out nov dez},
12
- month_standalone: %w{Janeiro Fevereiro Março Abril Maio Junho Julho
13
- Agosto Setembro Outubro Novembro Dezembro},
14
+ month_names: %w[janeiro fevereiro março abril maio junho julho
15
+ agosto setembro outubro novembro dezembro],
16
+ month_abbrs: %w[jan fev mar abr mai jun jul ago set out nov dez],
17
+ month_standalone: %w[Janeiro Fevereiro Março Abril Maio Junho Julho
18
+ Agosto Setembro Outubro Novembro Dezembro],
14
19
 
15
20
  date_format: '%d/%m/%Y',
16
21
  full_format: '%d de %B',
@@ -18,5 +23,7 @@ module R18n
18
23
 
19
24
  number_decimal: ',',
20
25
  number_group: '.'
26
+ )
27
+ end
21
28
  end
22
29
  end
@@ -1,16 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::Ru < Locale
3
- set title: 'Русский',
4
+ module Locales
5
+ # Russian locale
6
+ class Ru < Locale
7
+ set(
8
+ title: 'Русский',
4
9
 
5
- wday_names: %w{Воскресенье Понедельник Вторник Среда Четверг Пятница
6
- Суббота},
7
- wday_abbrs: %w{Вск Пнд Втр Срд Чтв Птн Сбт},
10
+ wday_names: %w[Воскресенье Понедельник Вторник Среда Четверг Пятница
11
+ Суббота],
12
+ wday_abbrs: %w[Вск Пнд Втр Срд Чтв Птн Сбт],
8
13
 
9
- month_names: %w{января февраля марта апреля мая июня июля августа
10
- сентября октября ноября декабря},
11
- month_abbrs: %w{янв фев мар апр май июн июл авг сен окт ноя дек},
12
- month_standalone: %w{Январь Февраль Март Апрель Май Июнь Июль Август
13
- Сентябрь Октябрь Ноябрь Декабрь},
14
+ month_names: %w[января февраля марта апреля мая июня июля августа
15
+ сентября октября ноября декабря],
16
+ month_abbrs: %w[янв фев мар апр май июн июл авг сен окт ноя дек],
17
+ month_standalone: %w[Январь Февраль Март Апрель Май Июнь Июль Август
18
+ Сентябрь Октябрь Ноябрь Декабрь],
14
19
 
15
20
  time_am: ' утра',
16
21
  time_pm: ' вечера',
@@ -18,16 +23,18 @@ module R18n
18
23
 
19
24
  number_decimal: ',',
20
25
  number_group: ' '
26
+ )
21
27
 
22
- def pluralize(n)
23
- if 0 == n
24
- 0
25
- elsif 1 == n % 10 and 11 != n % 100
26
- 1
27
- elsif 2 <= n % 10 and 4 >= n % 10 and (10 > n % 100 or 20 <= n % 100)
28
- 2
29
- else
30
- 'n'
28
+ def pluralize(n)
29
+ if n.zero?
30
+ 0
31
+ elsif n % 10 == 1 && n % 100 != 11
32
+ 1
33
+ elsif (2..4).cover?(n % 10) && !(10..19).cover?(n % 100)
34
+ 2
35
+ else
36
+ 'n'
37
+ end
31
38
  end
32
39
  end
33
40
  end
@@ -1,16 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::Sk < Locale
3
- set title: 'Slovenský',
4
- sublocales: %w{cs cz en},
4
+ module Locales
5
+ # Slovak locale
6
+ class Sk < Locale
7
+ set(
8
+ title: 'Slovenský',
9
+ sublocales: %w[cs cz en],
5
10
 
6
- wday_names: %w{Nedeľa Pondelok Utorok Streda Štvrtok Piatok Sobota},
7
- wday_abbrs: %w{Ne Po Ut St Št Pi So},
11
+ wday_names: %w[Nedeľa Pondelok Utorok Streda Štvrtok Piatok Sobota],
12
+ wday_abbrs: %w[Ne Po Ut St Št Pi So],
8
13
 
9
- month_names: %w{januára februára marca apríla mája júna júla
10
- augusta septembra októbra novembra decembra},
11
- month_abbrs: %w{jan feb mar apr máj jún júl aug sep okt nov dec},
12
- month_standalone: %w{Január Február Marec Apríl Máj Jún Júl August
13
- September Október November December},
14
+ month_names: %w[januára februára marca apríla mája júna júla
15
+ augusta septembra októbra novembra decembra],
16
+ month_abbrs: %w[jan feb mar apr máj jún júl aug sep okt nov dec],
17
+ month_standalone: %w[Január Február Marec Apríl Máj Jún Júl August
18
+ September Október November December],
14
19
 
15
20
  time_am: 'dop.',
16
21
  time_pm: 'odp.',
@@ -19,17 +24,19 @@ module R18n
19
24
 
20
25
  number_decimal: ',',
21
26
  number_group: ' '
27
+ )
22
28
 
23
- def pluralize(n)
24
- case n
25
- when 0
26
- 0
27
- when 1
28
- 1
29
- when 2..4
30
- 2
31
- else
32
- 'n'
29
+ def pluralize(n)
30
+ case n
31
+ when 0
32
+ 0
33
+ when 1
34
+ 1
35
+ when 2..4
36
+ 2
37
+ else
38
+ 'n'
39
+ end
33
40
  end
34
41
  end
35
42
  end
@@ -1,31 +1,36 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::SrLatn < Locale
3
- set title: 'Srpski',
4
- sublocales: [],
4
+ module Locales
5
+ # Serbian Latin locale
6
+ class SrLatn < Locale
7
+ set title: 'Srpski',
8
+ sublocales: [],
5
9
 
6
- week_start: :monday,
7
- wday_names: %w{nedelja ponedeljak utorak sreda četvrtak petak subota},
8
- wday_abbrs: %w{ned pon uto sri čet pet sub},
10
+ week_start: :monday,
11
+ wday_names: %w[nedelja ponedeljak utorak sreda četvrtak petak subota],
12
+ wday_abbrs: %w[ned pon uto sri čet pet sub],
9
13
 
10
- month_names: %w{januar februar mart april maj juni juli avgust
11
- septembar oktobar novembar decembar},
12
- month_abbrs: %w{jan feb mar apr maj jun jul avg sep okt nov dec},
14
+ month_names: %w[januar februar mart april maj juni juli avgust
15
+ septembar oktobar novembar decembar],
16
+ month_abbrs: %w[jan feb mar apr maj jun jul avg sep okt nov dec],
13
17
 
14
- date_format: '%d.%m.%Y',
15
- full_format: '%e. %B',
18
+ date_format: '%d.%m.%Y',
19
+ full_format: '%e. %B',
16
20
 
17
- number_decimal: ',',
18
- number_group: '.'
21
+ number_decimal: ',',
22
+ number_group: '.'
19
23
 
20
- def pluralize(n)
21
- if 0 == n
22
- 0
23
- elsif n == 1
24
- 1
25
- elsif n >= 2 and n <= 4
26
- 2
27
- else
28
- 'n'
24
+ def pluralize(n)
25
+ if n.zero?
26
+ 0
27
+ elsif n == 1
28
+ 1
29
+ elsif n >= 2 && n <= 4
30
+ 2
31
+ else
32
+ 'n'
33
+ end
29
34
  end
30
35
  end
31
36
  end
@@ -1,19 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module R18n
2
- class Locales::SvSe < Locale
3
- set title: 'Svenska',
4
- sublocales: %w{sv en},
4
+ module Locales
5
+ # Swedish (Sweden) locale
6
+ class SvSe < Locale
7
+ set(
8
+ title: 'Svenska',
9
+ sublocales: %w[sv en],
5
10
 
6
- wday_names: %w{söndag måndag tisdag onsdag torsdag fredag lördag},
7
- wday_abbrs: %w{sön mån tis ons tor fre lör},
11
+ wday_names: %w[söndag måndag tisdag onsdag torsdag fredag lördag],
12
+ wday_abbrs: %w[sön mån tis ons tor fre lör],
8
13
 
9
- month_names: %w{januari februari mars april maj juni juli augusti
10
- september oktober november december},
11
- month_abbrs: %w{jan feb mar apr maj jun jul aug okt nov dec},
14
+ month_names: %w[januari februari mars april maj juni juli augusti
15
+ september oktober november december],
16
+ month_abbrs: %w[jan feb mar apr maj jun jul aug okt nov dec],
12
17
 
13
18
  date_format: '%Y-%m-%d',
14
19
  full_format: '%e %B %Y',
15
20
 
16
21
  number_decimal: ',',
17
22
  number_group: '.'
23
+ )
24
+ end
18
25
  end
19
26
  end