rails-i18n 0.4.0 → 0.5.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. data/README.md +5 -0
  2. data/lib/rails_i18n/common_pluralizations/east_slavic.rb +35 -0
  3. data/lib/rails_i18n/common_pluralizations/one_two_other.rb +30 -0
  4. data/lib/rails_i18n/common_pluralizations/one_upto_two_other.rb +19 -0
  5. data/lib/rails_i18n/common_pluralizations/one_with_zero_other.rb +20 -0
  6. data/lib/rails_i18n/common_pluralizations/other.rb +17 -0
  7. data/lib/rails_i18n/common_pluralizations/romanian.rb +27 -0
  8. data/lib/rails_i18n/common_pluralizations/west_slavic.rb +27 -0
  9. data/lib/rails_i18n/railtie.rb +18 -5
  10. data/rails/locale/ja.yml +1 -1
  11. data/rails/pluralization/ak.rb +3 -0
  12. data/rails/pluralization/am.rb +3 -0
  13. data/rails/pluralization/ar.rb +31 -0
  14. data/rails/pluralization/az.rb +3 -0
  15. data/rails/pluralization/be.rb +3 -0
  16. data/rails/pluralization/bh.rb +3 -0
  17. data/rails/pluralization/bm.rb +3 -0
  18. data/rails/pluralization/bo.rb +3 -0
  19. data/rails/pluralization/br.rb +30 -0
  20. data/rails/pluralization/bs.rb +3 -0
  21. data/rails/pluralization/cs.rb +3 -0
  22. data/rails/pluralization/cy.rb +24 -0
  23. data/rails/pluralization/dz.rb +3 -0
  24. data/rails/pluralization/fa.rb +3 -0
  25. data/rails/pluralization/ff.rb +3 -0
  26. data/rails/pluralization/fil.rb +3 -0
  27. data/rails/pluralization/fr.rb +3 -0
  28. data/rails/pluralization/ga.rb +27 -0
  29. data/rails/pluralization/gd.rb +25 -0
  30. data/rails/pluralization/guw.rb +3 -0
  31. data/rails/pluralization/gv.rb +21 -0
  32. data/rails/pluralization/hi.rb +3 -0
  33. data/rails/pluralization/hr.rb +3 -0
  34. data/rails/pluralization/hu.rb +3 -0
  35. data/rails/pluralization/id.rb +3 -0
  36. data/rails/pluralization/ig.rb +3 -0
  37. data/rails/pluralization/ii.rb +3 -0
  38. data/rails/pluralization/iu.rb +3 -0
  39. data/rails/pluralization/ja.rb +3 -0
  40. data/rails/pluralization/jv.rb +3 -0
  41. data/rails/pluralization/ka.rb +3 -0
  42. data/rails/pluralization/kab.rb +3 -0
  43. data/rails/pluralization/kde.rb +3 -0
  44. data/rails/pluralization/kea.rb +3 -0
  45. data/rails/pluralization/km.rb +3 -0
  46. data/rails/pluralization/kn.rb +3 -0
  47. data/rails/pluralization/ko.rb +3 -0
  48. data/rails/pluralization/ksh.rb +23 -0
  49. data/rails/pluralization/kw.rb +3 -0
  50. data/rails/pluralization/lag.rb +23 -0
  51. data/rails/pluralization/ln.rb +3 -0
  52. data/rails/pluralization/lo.rb +3 -0
  53. data/rails/pluralization/lt.rb +26 -0
  54. data/rails/pluralization/lv.rb +23 -0
  55. data/rails/pluralization/mg.rb +3 -0
  56. data/rails/pluralization/mk.rb +21 -0
  57. data/rails/pluralization/mo.rb +3 -0
  58. data/rails/pluralization/ms.rb +3 -0
  59. data/rails/pluralization/mt.rb +27 -0
  60. data/rails/pluralization/my.rb +3 -0
  61. data/rails/pluralization/naq.rb +3 -0
  62. data/rails/pluralization/nso.rb +3 -0
  63. data/rails/pluralization/pl.rb +28 -0
  64. data/rails/pluralization/ro.rb +3 -0
  65. data/rails/pluralization/root.rb +3 -0
  66. data/rails/pluralization/ru.rb +3 -0
  67. data/rails/pluralization/sah.rb +3 -0
  68. data/rails/pluralization/se.rb +3 -0
  69. data/rails/pluralization/ses.rb +3 -0
  70. data/rails/pluralization/sg.rb +3 -0
  71. data/rails/pluralization/sh.rb +3 -0
  72. data/rails/pluralization/shi.rb +3 -0
  73. data/rails/pluralization/sk.rb +3 -0
  74. data/rails/pluralization/sl.rb +27 -0
  75. data/rails/pluralization/sma.rb +3 -0
  76. data/rails/pluralization/smi.rb +3 -0
  77. data/rails/pluralization/smj.rb +3 -0
  78. data/rails/pluralization/smn.rb +3 -0
  79. data/rails/pluralization/sms.rb +3 -0
  80. data/rails/pluralization/sr.rb +3 -0
  81. data/rails/pluralization/th.rb +3 -0
  82. data/rails/pluralization/ti.rb +3 -0
  83. data/rails/pluralization/tl.rb +3 -0
  84. data/rails/pluralization/to.rb +3 -0
  85. data/rails/pluralization/tr.rb +3 -0
  86. data/rails/pluralization/tzm.rb +21 -0
  87. data/rails/pluralization/uk.rb +3 -0
  88. data/rails/pluralization/vi.rb +3 -0
  89. data/rails/pluralization/wa.rb +3 -0
  90. data/rails/pluralization/wo.rb +3 -0
  91. data/rails/pluralization/yo.rb +3 -0
  92. data/rails/pluralization/zh.rb +3 -0
  93. data/rails/transliteration/bg.yml +64 -0
  94. data/rails/transliteration/ru.rb +72 -0
  95. metadata +107 -24
  96. data/will_paginate/bg.yml +0 -4
  97. data/will_paginate/en-GB.yml +0 -18
  98. data/will_paginate/en-US.yml +0 -18
  99. data/will_paginate/hu.yml +0 -5
  100. data/will_paginate/ja.yml +0 -18
  101. data/will_paginate/nl.yml +0 -5
  102. data/will_paginate/ro.yml +0 -4
  103. data/will_paginate/sk.yml +0 -19
data/README.md CHANGED
@@ -118,6 +118,11 @@ If you are ready, push the repository into the Github and send us a pull request
118
118
 
119
119
  We will do the formality check and publish it as quick as we can.
120
120
 
121
+ ## See also
122
+
123
+ * [devise-i18n](https://github.com/tigrish/devise-i18n)
124
+ * [will-paginate-i18n](https://github.com/tigrish/will-paginate-i18n)
125
+
121
126
  ## License
122
127
 
123
128
  [MIT](https://github.com/svenfuchs/rails-i18n/blob/master/MIT-LICENSE.txt)
@@ -0,0 +1,35 @@
1
+ # Originally was implemented by Yaroslav Markin in "russian" gem
2
+ # (http://github.com/yaroslav/russian)
3
+ #
4
+ # Used for Belarusian, Bosnian, Croatian, Russian, Serbian, Serbo-Croatian, Ukrainian.
5
+
6
+ module RailsI18n
7
+ module Pluralization
8
+ module EastSlavic
9
+ def self.rule
10
+ lambda do |n|
11
+ mod10 = n % 10
12
+ mod100 = n % 100
13
+
14
+ if mod10 == 1 && mod100 != 11
15
+ :one
16
+ elsif [2, 3, 4].include?(mod10) && ![12, 13, 14].include?(mod100)
17
+ :few
18
+ elsif mod10 == 0 || (5..9).to_a.include?(mod10) || (11..14).to_a.include?(mod100)
19
+ :many
20
+ else
21
+ :other
22
+ end
23
+ end
24
+ end
25
+
26
+ def self.with_locale(locale)
27
+ { locale => {
28
+ :'i18n' => {
29
+ :plural => {
30
+ :keys => [:one, :few, :many, :other],
31
+ :rule => rule }}}}
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,30 @@
1
+ # Used for Cornish, Inari Sami, Inuktitut, Lule Sami, Nama, Northern Sami,
2
+ # Sami Language, Skolt Sami, Southern Sami.
3
+
4
+ module RailsI18n
5
+ module Pluralization
6
+ module OneTwoOther
7
+ def self.rule
8
+ def self.rule
9
+ lambda do |n|
10
+ if n == 1
11
+ :one
12
+ elsif n == 2
13
+ :two
14
+ else
15
+ :other
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ def self.with_locale(locale)
22
+ { locale => {
23
+ :'i18n' => {
24
+ :plural => {
25
+ :keys => [:one, :two, :other],
26
+ :rule => rule }}}}
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ # Used for French, Fulah, Kabyle.
2
+
3
+ module RailsI18n
4
+ module Pluralization
5
+ module OneUptoTwoOther
6
+ def self.rule
7
+ lambda { |n| (0...2).cover?(n) ? :one : :other }
8
+ end
9
+
10
+ def self.with_locale(locale)
11
+ { locale => {
12
+ :'i18n' => {
13
+ :plural => {
14
+ :keys => [:one, :other],
15
+ :rule => rule }}}}
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ # Used in Akan, Amharic, Bihari, Filipino, guw, Hindi, Lingala, Malagasy,
2
+ # Northen Sotho, Tachelhit, Tagalog, Tigrinya, Walloon.
3
+
4
+ module RailsI18n
5
+ module Pluralization
6
+ module OneWithZeroOther
7
+ def self.rule
8
+ lambda { |n| n == 0 || n == 1 ? :one : :other }
9
+ end
10
+
11
+ def self.with_locale(locale)
12
+ { locale => {
13
+ :'i18n' => {
14
+ :plural => {
15
+ :keys => [:one, :other],
16
+ :rule => rule }}}}
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ module RailsI18n
2
+ module Pluralization
3
+ module Other
4
+ def self.rule
5
+ Proc.new { :other }
6
+ end
7
+
8
+ def self.with_locale(locale)
9
+ { locale => {
10
+ :'i18n' => {
11
+ :plural => {
12
+ :keys => [:other],
13
+ :rule => rule }}}}
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,27 @@
1
+ # Used for Moldavian, Romanian.
2
+
3
+ module RailsI18n
4
+ module Pluralization
5
+ module Romanian
6
+ def self.rule
7
+ lambda do |n|
8
+ if n == 1
9
+ :one
10
+ elsif n == 0 || (1..19).to_a.include?(n % 100)
11
+ :few
12
+ else
13
+ :other
14
+ end
15
+ end
16
+ end
17
+
18
+ def self.with_locale(locale)
19
+ { locale => {
20
+ :'i18n' => {
21
+ :plural => {
22
+ :keys => [:one, :few, :other],
23
+ :rule => rule }}}}
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # Used for Czech, Slovak.
2
+
3
+ module RailsI18n
4
+ module Pluralization
5
+ module WestSlavic
6
+ def self.rule
7
+ lambda do |n|
8
+ if n == 1
9
+ :one
10
+ elsif [2, 3, 4].include?(n)
11
+ :few
12
+ else
13
+ :other
14
+ end
15
+ end
16
+ end
17
+
18
+ def self.with_locale(locale)
19
+ { locale => {
20
+ :'i18n' => {
21
+ :plural => {
22
+ :keys => [:one, :few, :other],
23
+ :rule => rule }}}}
24
+ end
25
+ end
26
+ end
27
+ end
@@ -2,12 +2,25 @@ require 'rails'
2
2
 
3
3
  module RailsI18n
4
4
  class Railtie < ::Rails::Railtie #:nodoc:
5
- initializer 'rails-i18n' do |app|
6
- I18n.load_path << Dir[File.join(File.expand_path(File.dirname(__FILE__) + '/../../rails/locale'), '*.{rb,yml}')]
7
- if defined? ::WillPaginate
8
- I18n.load_path << Dir[File.join(File.expand_path(File.dirname(__FILE__) + '/../../will_paginate'), '*.{rb,yml}')]
5
+ initializer 'rails-i18n' do
6
+ RailsI18n::Railtie.instance_eval do
7
+ add('rails/locale/*.yml')
8
+ add('rails/pluralization/*.rb')
9
+ add('rails/transliteration/*.{rb,yml}')
10
+
11
+ init_pluralization_module
9
12
  end
10
- I18n.load_path.flatten!
13
+ end
14
+
15
+ protected
16
+
17
+ def self.add(pattern)
18
+ files = Dir[File.join(File.dirname(__FILE__), '../..', pattern)]
19
+ I18n.load_path.concat(files)
20
+ end
21
+
22
+ def self.init_pluralization_module
23
+ I18n.backend.class.send(:include, I18n::Backend::Pluralization)
11
24
  end
12
25
  end
13
26
  end
@@ -100,7 +100,7 @@ ja:
100
100
  messages:
101
101
  accepted: を受諾してください。
102
102
  blank: を入力してください。
103
- confirmation: が一致しません。
103
+ confirmation: と確認の入力が一致しません。
104
104
  empty: を入力してください。
105
105
  equal_to: は%{count}にしてください。
106
106
  even: は偶数にしてください。
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/one_with_zero_other'
2
+
3
+ ::RailsI18n::Pluralization::OneWithZeroOther.with_locale(:ak)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/one_with_zero_other'
2
+
3
+ ::RailsI18n::Pluralization::OneWithZeroOther.with_locale(:am)
@@ -0,0 +1,31 @@
1
+ module RailsI18n
2
+ module Pluralization
3
+ module Arabic
4
+ def self.rule
5
+ lambda do |n|
6
+ mod100 = n % 100
7
+
8
+ if n == 0
9
+ :zero
10
+ elsif n == 1
11
+ :one
12
+ elsif n == 2
13
+ :two
14
+ elsif (3..10).to_a.include?(mod100)
15
+ :few
16
+ elsif (11..99).to_a.include?(mod100)
17
+ :many
18
+ else
19
+ :other
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ { :ar => {
28
+ :'i18n' => {
29
+ :plural => {
30
+ :keys => [:zero, :one, :two, :few, :many, :other],
31
+ :rule => RailsI18n::Pluralization::Arabic.rule }}}}
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/other'
2
+
3
+ ::RailsI18n::Pluralization::Other.with_locale(:az)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/east_slavic'
2
+
3
+ ::RailsI18n::Pluralization::EastSlavic.with_locale(:be)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/one_with_zero_other'
2
+
3
+ ::RailsI18n::Pluralization::OneWithZeroOther.with_locale(:bh)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/other'
2
+
3
+ ::RailsI18n::Pluralization::Other.with_locale(:bm)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/other'
2
+
3
+ ::RailsI18n::Pluralization::Other.with_locale(:bo)
@@ -0,0 +1,30 @@
1
+ module RailsI18n
2
+ module Pluralization
3
+ module Breton
4
+ def self.rule
5
+ lambda do |n|
6
+ mod10 = n % 10
7
+ mod100 = n % 100
8
+
9
+ if mod10 == 1 && ![11,71,91].include?(mod100)
10
+ :one
11
+ elsif mod10 == 2 && ![12,72,92].include?(mod100)
12
+ :two
13
+ elsif [3,4,9].include?(mod10) && !((10..19).to_a + (70..79).to_a + (90..99).to_a).include?(mod100)
14
+ :few
15
+ elsif n % 1000000 == 0 && n != 0
16
+ :many
17
+ else
18
+ :other
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+
26
+ { :br => {
27
+ :'i18n' => {
28
+ :plural => {
29
+ :keys => [:one, :two, :few, :many, :other],
30
+ :rule => RailsI18n::Pluralization::Breton.rule }}}}
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/east_slavic'
2
+
3
+ ::RailsI18n::Pluralization::EastSlavic.with_locale(:bs)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/west_slavic'
2
+
3
+ ::RailsI18n::Pluralization::WestSlavic.with_locale(:cs)
@@ -0,0 +1,24 @@
1
+ module RailsI18n
2
+ module Pluralization
3
+ module Welsh
4
+ def self.rule
5
+ lambda do |n|
6
+ case n
7
+ when 0 then :zero
8
+ when 1 then :one
9
+ when 2 then :two
10
+ when 3 then :few
11
+ when 6 then :many
12
+ else :other
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ { :cy => {
21
+ :'i18n' => {
22
+ :plural => {
23
+ :keys => [:zero, :one, :two, :few, :many, :other],
24
+ :rule => RailsI18n::Pluralization::Welsh.rule }}}}
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/other'
2
+
3
+ ::RailsI18n::Pluralization::Other.with_locale(:dz)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/other'
2
+
3
+ ::RailsI18n::Pluralization::Other.with_locale(:fa)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/one_upto_two_other'
2
+
3
+ ::RailsI18n::Pluralization::OneUptoTwoOther.with_locale(:ff)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/one_with_zero_other'
2
+
3
+ ::RailsI18n::Pluralization::OneWithZeroOther.with_locale(:fil)
@@ -0,0 +1,3 @@
1
+ require 'rails_i18n/common_pluralizations/one_upto_two_other'
2
+
3
+ ::RailsI18n::Pluralization::OneUptoTwoOther.with_locale(:fr)
@@ -0,0 +1,27 @@
1
+ module RailsI18n
2
+ module Pluralization
3
+ module Irish
4
+ def self.rule
5
+ lambda do |n|
6
+ if n == 1
7
+ :one
8
+ elsif n == 2
9
+ :two
10
+ elsif (3..6).to_a.include?(n)
11
+ :few
12
+ elsif (7..10).to_a.include?(n)
13
+ :many
14
+ else
15
+ :other
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ { :ga => {
24
+ :'i18n' => {
25
+ :plural => {
26
+ :keys => [:one, :two, :few, :many, :other],
27
+ :rule => RailsI18n::Pluralization::Irish.rule }}}}
@@ -0,0 +1,25 @@
1
+ module RailsI18n
2
+ module Pluralization
3
+ module ScottishGaelic
4
+ def self.rule
5
+ lambda do |n|
6
+ if n == 1 || n == 11
7
+ :one
8
+ elsif n == 2 || n == 12
9
+ :two
10
+ elsif ((3..10).to_a + (13..19).to_a).include?(n)
11
+ :few
12
+ else
13
+ :other
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ { :gd => {
22
+ :'i18n' => {
23
+ :plural => {
24
+ :keys => [:one, :two, :few, :other],
25
+ :rule => RailsI18n::Pluralization::ScottishGaelic.rule }}}}