r18n-core 3.1.1 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog.md +398 -0
  3. data/README.md +63 -47
  4. data/base/cy.yml +34 -0
  5. data/lib/r18n-core.rb +37 -38
  6. data/lib/r18n-core/filter_list.rb +21 -13
  7. data/lib/r18n-core/filters.rb +43 -48
  8. data/lib/r18n-core/helpers.rb +2 -2
  9. data/lib/r18n-core/i18n.rb +70 -78
  10. data/lib/r18n-core/locale.rb +137 -107
  11. data/lib/r18n-core/locales/af.rb +36 -0
  12. data/lib/r18n-core/locales/az.rb +38 -0
  13. data/lib/r18n-core/locales/bg.rb +29 -0
  14. data/{locales → lib/r18n-core/locales}/ca.rb +9 -6
  15. data/{locales → lib/r18n-core/locales}/cs.rb +15 -11
  16. data/lib/r18n-core/locales/cy.rb +50 -0
  17. data/{locales → lib/r18n-core/locales}/da.rb +10 -7
  18. data/lib/r18n-core/locales/de.rb +33 -0
  19. data/{locales → lib/r18n-core/locales}/en-au.rb +2 -2
  20. data/{locales → lib/r18n-core/locales}/en-gb.rb +2 -2
  21. data/{locales → lib/r18n-core/locales}/en-us.rb +4 -3
  22. data/lib/r18n-core/locales/en.rb +51 -0
  23. data/{locales → lib/r18n-core/locales}/eo.rb +6 -4
  24. data/lib/r18n-core/locales/es-cl.rb +16 -0
  25. data/{locales → lib/r18n-core/locales}/es-us.rb +5 -4
  26. data/{locales → lib/r18n-core/locales}/es.rb +7 -3
  27. data/{locales → lib/r18n-core/locales}/fa.rb +2 -2
  28. data/lib/r18n-core/locales/fi.rb +39 -0
  29. data/lib/r18n-core/locales/fr.rb +39 -0
  30. data/{locales → lib/r18n-core/locales}/gl.rb +5 -3
  31. data/{locales → lib/r18n-core/locales}/hr.rb +13 -10
  32. data/{locales → lib/r18n-core/locales}/hu.rb +10 -7
  33. data/{locales → lib/r18n-core/locales}/id.rb +8 -4
  34. data/lib/r18n-core/locales/it.rb +37 -0
  35. data/{locales → lib/r18n-core/locales}/ja.rb +5 -4
  36. data/{locales → lib/r18n-core/locales}/kk.rb +12 -8
  37. data/{locales → lib/r18n-core/locales}/ko.rb +0 -0
  38. data/lib/r18n-core/locales/lv.rb +46 -0
  39. data/lib/r18n-core/locales/mn.rb +30 -0
  40. data/{locales → lib/r18n-core/locales}/nb.rb +6 -4
  41. data/lib/r18n-core/locales/nl.rb +31 -0
  42. data/{locales → lib/r18n-core/locales}/no.rb +0 -0
  43. data/lib/r18n-core/locales/pl.rb +45 -0
  44. data/{locales → lib/r18n-core/locales}/pt-br.rb +1 -1
  45. data/lib/r18n-core/locales/pt.rb +37 -0
  46. data/lib/r18n-core/locales/ru.rb +46 -0
  47. data/{locales → lib/r18n-core/locales}/sk.rb +13 -9
  48. data/{locales → lib/r18n-core/locales}/sr-latn.rb +10 -8
  49. data/{locales → lib/r18n-core/locales}/sv-se.rb +7 -5
  50. data/lib/r18n-core/locales/th.rb +41 -0
  51. data/{locales → lib/r18n-core/locales}/tr.rb +7 -6
  52. data/lib/r18n-core/locales/uk.rb +31 -0
  53. data/lib/r18n-core/locales/vi.rb +37 -0
  54. data/{locales → lib/r18n-core/locales}/zh-cn.rb +2 -2
  55. data/{locales → lib/r18n-core/locales}/zh-tw.rb +4 -4
  56. data/{locales → lib/r18n-core/locales}/zh.rb +7 -4
  57. data/lib/r18n-core/translated.rb +38 -37
  58. data/lib/r18n-core/translated_string.rb +19 -8
  59. data/lib/r18n-core/translation.rb +24 -19
  60. data/lib/r18n-core/unsupported_locale.rb +14 -6
  61. data/lib/r18n-core/untranslated.rb +23 -7
  62. data/lib/r18n-core/utils.rb +19 -23
  63. data/lib/r18n-core/version.rb +1 -1
  64. data/lib/r18n-core/yaml_loader.rb +17 -13
  65. data/lib/r18n-core/yaml_methods.rb +3 -1
  66. metadata +245 -118
  67. data/.rspec +0 -1
  68. data/Rakefile +0 -13
  69. data/locales/af.rb +0 -32
  70. data/locales/az.rb +0 -34
  71. data/locales/bg.rb +0 -25
  72. data/locales/de.rb +0 -29
  73. data/locales/en.rb +0 -48
  74. data/locales/fi.rb +0 -35
  75. data/locales/fr.rb +0 -35
  76. data/locales/it.rb +0 -34
  77. data/locales/lv.rb +0 -41
  78. data/locales/mn.rb +0 -27
  79. data/locales/nl.rb +0 -28
  80. data/locales/pl.rb +0 -40
  81. data/locales/pt.rb +0 -29
  82. data/locales/ru.rb +0 -41
  83. data/locales/th.rb +0 -37
  84. data/locales/uk.rb +0 -27
  85. data/locales/vi.rb +0 -33
  86. data/r18n-core.gemspec +0 -29
  87. data/spec/filters_spec.rb +0 -324
  88. data/spec/i18n_spec.rb +0 -260
  89. data/spec/locale_spec.rb +0 -216
  90. data/spec/locales/cs_spec.rb +0 -23
  91. data/spec/locales/en-us_spec.rb +0 -13
  92. data/spec/locales/en_spec.rb +0 -13
  93. data/spec/locales/fa_spec.rb +0 -10
  94. data/spec/locales/fr_spec.rb +0 -9
  95. data/spec/locales/hu_spec.rb +0 -17
  96. data/spec/locales/it_spec.rb +0 -10
  97. data/spec/locales/no_spec.rb +0 -9
  98. data/spec/locales/pl_spec.rb +0 -23
  99. data/spec/locales/ru_spec.rb +0 -23
  100. data/spec/locales/sk_spec.rb +0 -23
  101. data/spec/locales/th_spec.rb +0 -9
  102. data/spec/locales/vi_spec.rb +0 -8
  103. data/spec/r18n_spec.rb +0 -172
  104. data/spec/spec_helper.rb +0 -41
  105. data/spec/translated_spec.rb +0 -163
  106. data/spec/translation_spec.rb +0 -164
  107. data/spec/translations/extension/deep/en.yml +0 -1
  108. data/spec/translations/extension/en.yml +0 -2
  109. data/spec/translations/extension/notransl.yml +0 -1
  110. data/spec/translations/general/en.yml +0 -47
  111. data/spec/translations/general/nolocale.yml +0 -6
  112. data/spec/translations/general/ru.yml +0 -7
  113. data/spec/translations/two/en.yml +0 -2
  114. data/spec/translations/two/fr.yml +0 -0
  115. data/spec/yaml_loader_spec.rb +0 -61
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module R18n
4
+ module Locales
5
+ # Dutch locale
6
+ class Nl < Locale
7
+ set(
8
+ title: 'Nederlands',
9
+
10
+ wday_names: %w[
11
+ zondag maandag dinsdag woensdag donderdag vrijdag zaterdag
12
+ ],
13
+ wday_abbrs: %w[zo ma di wo do vr za],
14
+
15
+ month_names: %w[
16
+ januari februari maart april mei juni juli augustus september oktober
17
+ november december
18
+ ],
19
+ month_abbrs: %w[jan feb mrt apr mei jun jul aug sep okt nov dec],
20
+
21
+ time_am: "'s ochtends",
22
+ time_pm: "'s middags",
23
+ date_format: '%d-%m-%Y',
24
+ full_format: '%-d %B',
25
+
26
+ number_decimal: ',',
27
+ number_group: '.'
28
+ )
29
+ end
30
+ end
31
+ end
File without changes
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module R18n
4
+ module Locales
5
+ # Polish locale
6
+ class Pl < Locale
7
+ set(
8
+ title: 'Polski',
9
+
10
+ wday_names: %w[
11
+ niedziela poniedziałek wtorek środa czwartek piątek sobota
12
+ ],
13
+ wday_abbrs: %w[nd pn wt śr czw pt sob],
14
+
15
+ month_names: %w[
16
+ stycznia lutego marca kwietnia maja czerwca lipca sierpnia września
17
+ października listopada grudnia
18
+ ],
19
+ month_abbrs: %w[I II III IV V VI VII VIII IX X XI XII],
20
+ month_standalone: %w[
21
+ styczeń luty marzec kwiecień maj czerwiec lipiec sierpień wrzesień
22
+ październik listopad grudzień
23
+ ],
24
+
25
+ date_format: '%d.%m.%Y',
26
+
27
+ number_decimal: ',',
28
+ number_group: ' '
29
+ )
30
+
31
+ def pluralize(number)
32
+ return 0 if number.zero?
33
+
34
+ case number % 10
35
+ when 1
36
+ number > 10 ? 'n' : 1
37
+ when 2..4
38
+ (11..19).cover?(number % 100) ? 'n' : 2
39
+ else
40
+ 'n'
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -5,7 +5,7 @@ require_relative 'pt'
5
5
  module R18n
6
6
  module Locales
7
7
  # Brazilian Portuguese locale
8
- class PtBr < Pt
8
+ class PtBR < Pt
9
9
  set(
10
10
  title: 'Português brasileiro',
11
11
  sublocales: %w[pt en]
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module R18n
4
+ module Locales
5
+ # Portuguese locale
6
+ class Pt < Locale
7
+ set(
8
+ title: 'Português',
9
+
10
+ sublocales: %w[pt-BR],
11
+
12
+ wday_names: %w[
13
+ domingo segunda-feira terça-feira quarta-feira quinta-feira
14
+ sexta-feira sábado
15
+ ],
16
+ wday_abbrs: %w[dom seg ter qua qui sex sab],
17
+
18
+ month_names: %w[
19
+ janeiro fevereiro março abril maio junho julho agosto setembro
20
+ outubro novembro dezembro
21
+ ],
22
+ month_abbrs: %w[jan fev mar abr mai jun jul ago set out nov dez],
23
+ month_standalone: %w[
24
+ Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro
25
+ Outubro Novembro Dezembro
26
+ ],
27
+
28
+ date_format: '%d/%m/%Y',
29
+ full_format: '%d de %B',
30
+ year_format: '_ de %Y',
31
+
32
+ number_decimal: ',',
33
+ number_group: '.'
34
+ )
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module R18n
4
+ module Locales
5
+ # Russian locale
6
+ class Ru < Locale
7
+ set(
8
+ title: 'Русский',
9
+
10
+ wday_names: %w[
11
+ Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота
12
+ ],
13
+ wday_abbrs: %w[Вск Пнд Втр Срд Чтв Птн Сбт],
14
+
15
+ month_names: %w[
16
+ января февраля марта апреля мая июня июля августа сентября октября
17
+ ноября декабря
18
+ ],
19
+ month_abbrs: %w[янв фев мар апр май июн июл авг сен окт ноя дек],
20
+ month_standalone: %w[
21
+ Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь
22
+ Ноябрь Декабрь
23
+ ],
24
+
25
+ time_am: ' утра',
26
+ time_pm: ' вечера',
27
+ date_format: '%d.%m.%Y',
28
+
29
+ number_decimal: ',',
30
+ number_group: ' '
31
+ )
32
+
33
+ def pluralize(number)
34
+ if number.zero?
35
+ 0
36
+ elsif number % 10 == 1 && number % 100 != 11
37
+ 1
38
+ elsif (2..4).cover?(number % 10) && !(10..19).cover?(number % 100)
39
+ 2
40
+ else
41
+ 'n'
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -11,23 +11,27 @@ module R18n
11
11
  wday_names: %w[Nedeľa Pondelok Utorok Streda Štvrtok Piatok Sobota],
12
12
  wday_abbrs: %w[Ne Po Ut St Št Pi So],
13
13
 
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
+ month_names: %w[
15
+ januára februára marca apríla mája júna júla augusta septembra
16
+ októbra novembra decembra
17
+ ],
18
+ month_abbrs: %w[jan feb mar apr máj jún júl aug sep okt nov dec],
19
+ month_standalone: %w[
20
+ Január Február Marec Apríl Máj Jún Júl August September Október
21
+ November December
22
+ ],
19
23
 
20
24
  time_am: 'dop.',
21
25
  time_pm: 'odp.',
22
26
  date_format: '%d.%m.%Y',
23
- full_format: '%e. %B',
27
+ full_format: '%-d. %B',
24
28
 
25
29
  number_decimal: ',',
26
- number_group: ' '
30
+ number_group: ' '
27
31
  )
28
32
 
29
- def pluralize(n)
30
- case n
33
+ def pluralize(number)
34
+ case number
31
35
  when 0
32
36
  0
33
37
  when 1
@@ -11,22 +11,24 @@ module R18n
11
11
  wday_names: %w[nedelja ponedeljak utorak sreda četvrtak petak subota],
12
12
  wday_abbrs: %w[ned pon uto sri čet pet sub],
13
13
 
14
- month_names: %w[januar februar mart april maj juni juli avgust
15
- septembar oktobar novembar decembar],
14
+ month_names: %w[
15
+ januar februar mart april maj juni juli avgust septembar oktobar
16
+ novembar decembar
17
+ ],
16
18
  month_abbrs: %w[jan feb mar apr maj jun jul avg sep okt nov dec],
17
19
 
18
20
  date_format: '%d.%m.%Y',
19
- full_format: '%e. %B',
21
+ full_format: '%-d. %B',
20
22
 
21
23
  number_decimal: ',',
22
- number_group: '.'
24
+ number_group: '.'
23
25
 
24
- def pluralize(n)
25
- if n.zero?
26
+ def pluralize(number)
27
+ if number.zero?
26
28
  0
27
- elsif n == 1
29
+ elsif number == 1
28
30
  1
29
- elsif n >= 2 && n <= 4
31
+ elsif number >= 2 && number <= 4
30
32
  2
31
33
  else
32
34
  'n'
@@ -3,7 +3,7 @@
3
3
  module R18n
4
4
  module Locales
5
5
  # Swedish (Sweden) locale
6
- class SvSe < Locale
6
+ class SvSE < Locale
7
7
  set(
8
8
  title: 'Svenska',
9
9
  sublocales: %w[sv en],
@@ -11,15 +11,17 @@ module R18n
11
11
  wday_names: %w[söndag måndag tisdag onsdag torsdag fredag lördag],
12
12
  wday_abbrs: %w[sön mån tis ons tor fre lör],
13
13
 
14
- month_names: %w[januari februari mars april maj juni juli augusti
15
- september oktober november december],
14
+ month_names: %w[
15
+ januari februari mars april maj juni juli augusti september oktober
16
+ november december
17
+ ],
16
18
  month_abbrs: %w[jan feb mar apr maj jun jul aug okt nov dec],
17
19
 
18
20
  date_format: '%Y-%m-%d',
19
- full_format: '%e %B %Y',
21
+ full_format: '%-d %B %Y',
20
22
 
21
23
  number_decimal: ',',
22
- number_group: '.'
24
+ number_group: '.'
23
25
  )
24
26
  end
25
27
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module R18n
4
+ module Locales
5
+ # Thai locale
6
+ class Th < Locale
7
+ set(
8
+ title: 'ภาษาไทย',
9
+
10
+ wday_names: %w[
11
+ วันอาทิตย์ วันจันทร์ วันอังคาร วันพุธ วันพฤหัสบดี วันศุกร์ วันเสาร์
12
+ ],
13
+ wday_abbrs: %w[อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์],
14
+
15
+ month_names: %w[
16
+ มกราคม กุมภาพันธ์ มีนาคม เมษายน พฤษภาคม มิถุนายน กรกฎาคม สิงหาคม
17
+ กันยายน ตุลาคม พฤศจิกายน ธันวาคม
18
+ ],
19
+ month_abbrs: %w[
20
+ ม.ค. ก.พ. มี.ค. เม.ย. พ.ค. มิ.ย. ก.ค. ส.ค. ก.ย. ต.ค. พ.ย. ธ.ค.
21
+ ],
22
+
23
+ date_format: '%d/%m/%Y',
24
+ full_format: '%-d %B',
25
+ year_format: '_, %Y',
26
+
27
+ number_decimal: '.',
28
+ number_group: ','
29
+ )
30
+
31
+ def pluralize(_number)
32
+ 'n'
33
+ end
34
+
35
+ def strftime(time, format)
36
+ year = (time.year + 543).to_s
37
+ super(time, format.gsub('%Y', year).gsub('%y', year[-2..-1]))
38
+ end
39
+ end
40
+ end
41
+ end
@@ -10,20 +10,21 @@ module R18n
10
10
  wday_names: %w[Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi],
11
11
  wday_abbrs: %w[Paz Pzt Sal Çar Per Cum Cmt],
12
12
 
13
- month_names: %w[Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül
14
- Ekim Kasım Aralık],
13
+ month_names: %w[
14
+ Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım
15
+ Aralık
16
+ ],
15
17
  month_abbrs: %w[Oca Şub Mar Nis May Haz Tem Ağu Eyl Eki Kas Ara],
16
18
 
17
19
  date_format: '%d.%m.%Y',
18
- full_format: '%B %e.',
20
+ full_format: '%B %-d.',
19
21
  year_format: '%Y. _',
20
- time_format: '_%H:%M',
21
22
 
22
23
  number_decimal: '.',
23
- number_group: ','
24
+ number_group: ','
24
25
  )
25
26
 
26
- def pluralize(_n)
27
+ def pluralize(_number)
27
28
  'n'
28
29
  end
29
30
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'ru'
4
+
5
+ module R18n
6
+ module Locales
7
+ # Ukrainian locale
8
+ class Uk < Ru
9
+ set(
10
+ title: 'Українська',
11
+ sublocales: %w[ru en],
12
+
13
+ wday_names: %w[Неділя Понеділок Вівторок Середа Четвер П'ятниця Субота],
14
+ wday_abbrs: %w[Ндл Пнд Втр Срд Чтв Птн Сбт],
15
+
16
+ month_names: %w[
17
+ січня лютого березня квітня травня червня липня серпня вересня жовтня
18
+ листопада грудня
19
+ ],
20
+ month_abbrs: %w[січ лют бер кві тра чер лип сер вер жов лис гру],
21
+ month_standalone: %w[
22
+ Січень Лютий Березень Квітень Травень Червень Липень Серпень Вересень
23
+ Жовтень Листопад Грудень
24
+ ],
25
+
26
+ time_am: ' ранку',
27
+ time_pm: ' вечора'
28
+ )
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module R18n
4
+ module Locales
5
+ # Vietnamese locale
6
+ class Vi < Locale
7
+ set(
8
+ title: 'Tiếng Việt',
9
+
10
+ wday_names: [
11
+ 'Chủ nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu',
12
+ 'Thứ Bảy'
13
+ ],
14
+ wday_abbrs: %w[CN T2 T3 T4 T5 T6 T7],
15
+
16
+ month_names: [
17
+ 'tháng 1', 'tháng 2', 'tháng 3', 'tháng 4', 'tháng 5', 'tháng 6',
18
+ 'tháng 7', 'tháng 8', 'tháng 9', 'tháng 10', 'tháng 11', 'tháng 12'
19
+ ],
20
+ month_abbrs: %w[th1 th2 th3 th4 th5 th6 th7 th8 th9 th10 th11 th12],
21
+
22
+ date_format: '%d/%m/%Y',
23
+ full_format: 'ngày %-d %B',
24
+ year_format: '_ năm %Y',
25
+ time_format: '%R, _',
26
+ time_with_seconds_format: '%T, _',
27
+
28
+ number_decimal: '.',
29
+ number_group: ','
30
+ )
31
+
32
+ def pluralize(_number)
33
+ 'n'
34
+ end
35
+ end
36
+ end
37
+ end
@@ -5,10 +5,10 @@ require_relative 'zh'
5
5
  module R18n
6
6
  module Locales
7
7
  # Chinese (S) locale
8
- class ZhCn < Zh
8
+ class ZhCN < Zh
9
9
  set(
10
10
  title: '简体中文',
11
- sublocales: %w[zh en]
11
+ sublocales: %w[zh zh-TW en]
12
12
  )
13
13
  end
14
14
  end
@@ -5,13 +5,13 @@ require_relative 'zh'
5
5
  module R18n
6
6
  module Locales
7
7
  # Chinese (T) locale
8
- class ZhTw < Zh
8
+ class ZhTW < Zh
9
9
  set(
10
10
  title: '繁體中文',
11
- sublocales: %w[zh en],
11
+ sublocales: %w[zh zh-CN en],
12
12
 
13
- wday_names: %w[星期日 星期壹 星期二 星期三 星期四 星期五 星期六],
14
- wday_abbrs: %w[周日 周壹 周二 周三 周四 周五 周六],
13
+ wday_names: %w[星期日 星期壹 星期二 星期三 星期四 星期五 星期六],
14
+ wday_abbrs: %w[周日 周壹 周二 周三 周四 周五 周六],
15
15
  month_names: %w[壹月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十壹月 十二月]
16
16
  )
17
17
  end