russian 0.2.7 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +24 -0
- data/Gemfile +9 -0
- data/LICENSE +1 -1
- data/README.textile +136 -139
- data/Rakefile +4 -49
- data/TODO +0 -6
- data/lib/russian.rb +18 -39
- data/lib/russian/action_view_ext/helpers/date_helper.rb +15 -9
- data/lib/russian/active_model_ext/custom_error_message.rb +70 -0
- data/lib/russian/locale/actionview.yml +100 -50
- data/lib/russian/locale/activemodel.yml +50 -0
- data/lib/russian/locale/activerecord.yml +24 -24
- data/lib/russian/locale/datetime.rb +39 -0
- data/lib/russian/locale/datetime.yml +9 -5
- data/lib/russian/locale/pluralization.rb +28 -0
- data/lib/russian/locale/transliterator.rb +17 -0
- data/lib/russian/russian_rails.rb +8 -0
- data/lib/russian/version.rb +9 -0
- data/russian.gemspec +26 -0
- data/spec/locale_spec.rb +5 -87
- data/spec/russian_spec.rb +5 -23
- metadata +70 -69
- data/init.rb +0 -3
- data/lib/russian/active_record_ext/custom_error_message.rb +0 -163
- data/lib/russian/active_support_ext/parameterize.rb +0 -31
- data/lib/russian/backend/advanced.rb +0 -134
- data/lib/russian/locale/pluralize.rb +0 -25
- data/lib/vendor/i18n/MIT-LICENSE +0 -20
- data/lib/vendor/i18n/README.textile +0 -20
- data/lib/vendor/i18n/Rakefile +0 -5
- data/lib/vendor/i18n/i18n.gemspec +0 -27
- data/lib/vendor/i18n/lib/i18n.rb +0 -199
- data/lib/vendor/i18n/lib/i18n/backend/simple.rb +0 -214
- data/lib/vendor/i18n/lib/i18n/exceptions.rb +0 -53
- data/lib/vendor/i18n/test/all.rb +0 -5
- data/lib/vendor/i18n/test/i18n_exceptions_test.rb +0 -100
- data/lib/vendor/i18n/test/i18n_test.rb +0 -125
- data/lib/vendor/i18n/test/locale/en.rb +0 -1
- data/lib/vendor/i18n/test/locale/en.yml +0 -3
- data/lib/vendor/i18n/test/simple_backend_test.rb +0 -568
- data/lib/vendor/i18n_label/README.textile +0 -38
- data/lib/vendor/i18n_label/Rakefile +0 -11
- data/lib/vendor/i18n_label/init.rb +0 -1
- data/lib/vendor/i18n_label/install.rb +0 -1
- data/lib/vendor/i18n_label/lib/i18n_label.rb +0 -23
- data/lib/vendor/i18n_label/spec/i18n_label_spec.rb +0 -20
- data/lib/vendor/i18n_label/spec/spec_helper.rb +0 -10
- data/lib/vendor/i18n_label/tasks/i18n_label_tasks.rake +0 -4
- data/lib/vendor/i18n_label/uninstall.rb +0 -1
@@ -2,8 +2,8 @@ ru:
|
|
2
2
|
activerecord:
|
3
3
|
# Сообщения об ошибке (валидации) ActiveRecord
|
4
4
|
errors:
|
5
|
-
# Для всех сообщений доступны макросы {
|
6
|
-
# Для некоторых доступен макрос {
|
5
|
+
# Для всех сообщений доступны макросы %{model}, {{attribute}}, {{value}}.
|
6
|
+
# Для некоторых доступен макрос %{count} -- в этом случае можно задать несколько вариантов
|
7
7
|
# сообщения (плюрализация)
|
8
8
|
#
|
9
9
|
# Также можно использовать сообщения, начинающиеся с "^" -- в этом случае
|
@@ -24,33 +24,33 @@ ru:
|
|
24
24
|
empty: "не может быть пустым"
|
25
25
|
blank: "не может быть пустым"
|
26
26
|
too_long:
|
27
|
-
one: "слишком большой длины (не может быть больше чем {
|
28
|
-
few: "слишком большой длины (не может быть больше чем {
|
29
|
-
many: "слишком большой длины (не может быть больше чем {
|
30
|
-
other: "слишком большой длины (не может быть больше чем {
|
27
|
+
one: "слишком большой длины (не может быть больше чем %{count} символ)"
|
28
|
+
few: "слишком большой длины (не может быть больше чем %{count} символа)"
|
29
|
+
many: "слишком большой длины (не может быть больше чем %{count} символов)"
|
30
|
+
other: "слишком большой длины (не может быть больше чем %{count} символа)"
|
31
31
|
too_short:
|
32
|
-
one: "недостаточной длины (не может быть меньше {
|
33
|
-
few: "недостаточной длины (не может быть меньше {
|
34
|
-
many: "недостаточной длины (не может быть меньше {
|
35
|
-
other: "недостаточной длины (не может быть меньше {
|
32
|
+
one: "недостаточной длины (не может быть меньше %{count} символа)"
|
33
|
+
few: "недостаточной длины (не может быть меньше %{count} символов)"
|
34
|
+
many: "недостаточной длины (не может быть меньше %{count} символов)"
|
35
|
+
other: "недостаточной длины (не может быть меньше %{count} символа)"
|
36
36
|
wrong_length:
|
37
|
-
one: "неверной длины (может быть длиной ровно {
|
38
|
-
few: "неверной длины (может быть длиной ровно {
|
39
|
-
many: "неверной длины (может быть длиной ровно {
|
40
|
-
other: "неверной длины (может быть длиной ровно {
|
37
|
+
one: "неверной длины (может быть длиной ровно %{count} символ)"
|
38
|
+
few: "неверной длины (может быть длиной ровно %{count} символа)"
|
39
|
+
many: "неверной длины (может быть длиной ровно %{count} символов)"
|
40
|
+
other: "неверной длины (может быть длиной ровно %{count} символа)"
|
41
41
|
taken: "уже существует"
|
42
42
|
not_a_number: "не является числом"
|
43
|
-
greater_than: "может иметь лишь значение большее {
|
44
|
-
greater_than_or_equal_to: "может иметь лишь значение большее или равное {
|
45
|
-
equal_to: "может иметь лишь значение, равное {
|
46
|
-
less_than: "может иметь лишь значение меньшее чем {
|
47
|
-
less_than_or_equal_to: "может иметь значение меньшее или равное {
|
43
|
+
greater_than: "может иметь лишь значение большее %{count}"
|
44
|
+
greater_than_or_equal_to: "может иметь лишь значение большее или равное %{count}"
|
45
|
+
equal_to: "может иметь лишь значение, равное %{count}"
|
46
|
+
less_than: "может иметь лишь значение меньшее чем %{count}"
|
47
|
+
less_than_or_equal_to: "может иметь значение меньшее или равное %{count}"
|
48
48
|
odd: "может иметь лишь четное значение"
|
49
49
|
even: "может иметь лишь нечетное значение"
|
50
|
-
record_invalid: "Возникли ошибки: {
|
50
|
+
record_invalid: "Возникли ошибки: %{errors}"
|
51
51
|
|
52
52
|
full_messages:
|
53
|
-
format: "{
|
53
|
+
format: "%{attribute} %{message}"
|
54
54
|
|
55
55
|
# Можно добавить собственные сообщения об ошибке тут или задавать их в контексте атрибута.
|
56
56
|
#
|
@@ -62,15 +62,15 @@ ru:
|
|
62
62
|
# models:
|
63
63
|
# user:
|
64
64
|
# # Задает сообщение об ошибке (пустое значение) для атрибутов модели User
|
65
|
-
# # Можно использовать макросы {
|
65
|
+
# # Можно использовать макросы %{model}, {{attribute}}.
|
66
66
|
# # Также можно использовать сообщения, начинающиеся с "^" -- в этом случае
|
67
67
|
# # в списке ошибок валидации перед конкретным сообщением не будет выводиться имя атрибута.
|
68
|
-
# blank: "собственное сообщение об ошибке (пустой атрибут) для модели {
|
68
|
+
# blank: "собственное сообщение об ошибке (пустой атрибут) для модели %{model} и атрибута {{attribute}}"
|
69
69
|
# attributes:
|
70
70
|
# # Также можно задавать собственные сообщения об ошибке для конкретных атрибутов модели.
|
71
71
|
# # Ниже определим собственное сообщение об ошибке для атрибута name модели User.
|
72
72
|
# name:
|
73
|
-
# blank: "Атрибут {
|
73
|
+
# blank: "Атрибут %{attribute} особенный -- у него свое сообщение об ошибке при пустом атрибуте"
|
74
74
|
models:
|
75
75
|
|
76
76
|
# Перевод названий моделей. Используется в Model.human_name().
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
# Context-based month name and day name switching for Russian
|
4
|
+
#
|
5
|
+
# Названия месяцев и дней недели в зависимости от контекста ("1 декабря", но "Декабрь 1985")
|
6
|
+
{
|
7
|
+
:ru => {
|
8
|
+
:date => {
|
9
|
+
:abbr_day_names => lambda { |key, options|
|
10
|
+
if options[:format] && options[:format] =~ Russian::LOCALIZE_STANDALONE_ABBR_DAY_NAMES_MATCH
|
11
|
+
:'date.common_abbr_day_names'
|
12
|
+
else
|
13
|
+
:'date.standalone_abbr_day_names'
|
14
|
+
end
|
15
|
+
},
|
16
|
+
:day_names => lambda { |key, options|
|
17
|
+
if options[:format] && options[:format] =~ Russian::LOCALIZE_STANDALONE_DAY_NAMES_MATCH
|
18
|
+
:'date.standalone_day_names'
|
19
|
+
else
|
20
|
+
:'date.common_day_names'
|
21
|
+
end
|
22
|
+
},
|
23
|
+
:abbr_month_names => lambda { |key, options|
|
24
|
+
if options[:format] && options[:format] =~ Russian::LOCALIZE_ABBR_MONTH_NAMES_MATCH
|
25
|
+
:'date.common_abbr_month_names'
|
26
|
+
else
|
27
|
+
:'date.standalone_abbr_month_names'
|
28
|
+
end
|
29
|
+
},
|
30
|
+
:month_names => lambda { |key, options|
|
31
|
+
if options[:format] && options[:format] =~ Russian::LOCALIZE_MONTH_NAMES_MATCH
|
32
|
+
:'date.common_month_names'
|
33
|
+
else
|
34
|
+
:'date.standalone_month_names'
|
35
|
+
end
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
@@ -14,25 +14,29 @@ ru:
|
|
14
14
|
long: "%d %B %Y"
|
15
15
|
|
16
16
|
# Названия дней недели -- контекстные и отдельностоящие
|
17
|
-
|
17
|
+
common_day_names: [воскресенье, понедельник, вторник, среда, четверг, пятница, суббота]
|
18
18
|
standalone_day_names: [Воскресенье, Понедельник, Вторник, Среда, Четверг, Пятница, Суббота]
|
19
|
-
|
19
|
+
common_abbr_day_names: [Вс, Пн, Вт, Ср, Чт, Пт, Сб]
|
20
|
+
standalone_abbr_day_names: [вс, пн, вт, ср, чт, пт, сб]
|
20
21
|
|
21
22
|
# Названия месяцев -- сокращенные и полные, плюс отдельностоящие.
|
22
23
|
# Не забудьте nil в начале массиве (~)
|
23
24
|
#
|
24
25
|
#
|
25
26
|
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
26
|
-
|
27
|
+
common_month_names: [~, января, февраля, марта, апреля, мая, июня, июля, августа, сентября, октября, ноября, декабря]
|
27
28
|
standalone_month_names: [~, Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь]
|
28
|
-
|
29
|
+
common_abbr_month_names: [~, янв., февр., марта, апр., мая, июня, июля, авг., сент., окт., нояб., дек.]
|
29
30
|
standalone_abbr_month_names: [~, янв., февр., март, апр., май, июнь, июль, авг., сент., окт., нояб., дек.]
|
30
31
|
|
31
32
|
# Порядок компонентов даты для хелперов
|
32
33
|
#
|
33
34
|
#
|
34
35
|
# Used in date_select and datime_select.
|
35
|
-
order:
|
36
|
+
order:
|
37
|
+
- :day
|
38
|
+
- :month
|
39
|
+
- :year
|
36
40
|
|
37
41
|
time:
|
38
42
|
# Форматы времени
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
# Правило плюрализации для русского языка, взято из CLDR, http://unicode.org/cldr/
|
4
|
+
#
|
5
|
+
# Russian language pluralization rules, taken from CLDR project, http://unicode.org/cldr/
|
6
|
+
#
|
7
|
+
# one -> n mod 10 is 1 and n mod 100 is not 11;
|
8
|
+
# few -> n mod 10 in 2..4 and n mod 100 not in 12..14;
|
9
|
+
# many -> n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14;
|
10
|
+
# other -> everything else
|
11
|
+
#
|
12
|
+
# Пример
|
13
|
+
#
|
14
|
+
# :one = 1, 21, 31, 41, 51, 61...
|
15
|
+
# :few = 2-4, 22-24, 32-34...
|
16
|
+
# :many = 0, 5-20, 25-30, 35-40...
|
17
|
+
# :other = 1.31, 2.31, 5.31...
|
18
|
+
{
|
19
|
+
:ru => {
|
20
|
+
:'i18n' => {
|
21
|
+
:plural => {
|
22
|
+
:rule => lambda { |n|
|
23
|
+
n % 10 == 1 && n % 100 != 11 ? :one : [2, 3, 4].include?(n % 10) && ![12, 13, 14].include?(n % 100) ? :few : n % 10 == 0 || [5, 6, 7, 8, 9].include?(n % 10) || [11, 12, 13, 14].include?(n % 100) ? :many : :other
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
# I18n transliteration delegates to Russian::Transliteration (we're unable
|
4
|
+
# to use common I18n transliteration tables with Russian)
|
5
|
+
#
|
6
|
+
# Правило транслитерации для I18n использует Russian::Transliteration
|
7
|
+
# (использовать обычный механизм и таблицу транслитерации I18n с
|
8
|
+
# русским языком не получится)
|
9
|
+
{
|
10
|
+
:ru => {
|
11
|
+
:i18n => {
|
12
|
+
:transliterate => {
|
13
|
+
:rule => lambda { |str| Russian.transliterate(str) }
|
14
|
+
}
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
data/russian.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
$: << File.expand_path('../lib', __FILE__)
|
4
|
+
require 'russian/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{russian}
|
8
|
+
s.version = Russian::VERSION::STRING
|
9
|
+
|
10
|
+
s.required_rubygems_version = '>= 1.3.5'
|
11
|
+
s.authors = ["Yaroslav Markin"]
|
12
|
+
s.autorequire = %q{russian}
|
13
|
+
s.description = %q{Russian language support for Ruby and Rails}
|
14
|
+
s.email = %q{yaroslav@markin.net}
|
15
|
+
s.extra_rdoc_files = ["README.textile", "LICENSE", "CHANGELOG", "TODO"]
|
16
|
+
s.files = Dir.glob("{lib,spec}/**/**") + %w(CHANGELOG Gemfile LICENSE Rakefile README.textile russian.gemspec TODO)
|
17
|
+
s.platform = Gem::Platform::RUBY
|
18
|
+
s.homepage = %q{http://github.com/yaroslav/russian/}
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
s.summary = %q{Russian language support for Ruby and Rails}
|
21
|
+
|
22
|
+
s.add_dependency('i18n', '>= 0.5.0')
|
23
|
+
|
24
|
+
s.add_development_dependency 'activesupport', '>= 3.0.0'
|
25
|
+
s.add_development_dependency 'rspec', '~> 2.7.0'
|
26
|
+
end
|
data/spec/locale_spec.rb
CHANGED
@@ -32,95 +32,13 @@ describe Russian, "loading locales" do
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it "should load pluralization rules" do
|
35
|
-
lookup(:
|
36
|
-
lookup(:
|
35
|
+
lookup(:'i18n.plural.rule').should_not be_nil
|
36
|
+
lookup(:'i18n.plural.rule').is_a?(Proc).should be_true
|
37
37
|
end
|
38
38
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
number.format.precision
|
43
|
-
number.currency.format.format
|
44
|
-
number.currency.format.unit
|
45
|
-
number.currency.format.separator
|
46
|
-
number.currency.format.delimiter
|
47
|
-
number.currency.format.precision
|
48
|
-
number.percentage.format.delimiter
|
49
|
-
number.precision.format.delimiter
|
50
|
-
number.human.format.delimiter
|
51
|
-
number.human.format.precision
|
52
|
-
number.human.storage_units
|
53
|
-
|
54
|
-
datetime.distance_in_words.half_a_minute
|
55
|
-
datetime.distance_in_words.less_than_x_seconds
|
56
|
-
datetime.distance_in_words.x_seconds
|
57
|
-
datetime.distance_in_words.less_than_x_minutes
|
58
|
-
datetime.distance_in_words.x_minutes
|
59
|
-
datetime.distance_in_words.about_x_hours
|
60
|
-
datetime.distance_in_words.x_days
|
61
|
-
datetime.distance_in_words.about_x_months
|
62
|
-
datetime.distance_in_words.x_months
|
63
|
-
datetime.distance_in_words.about_x_years
|
64
|
-
datetime.distance_in_words.over_x_years
|
65
|
-
datetime.distance_in_words.almost_x_years
|
66
|
-
|
67
|
-
datetime.prompts.year
|
68
|
-
datetime.prompts.month
|
69
|
-
datetime.prompts.day
|
70
|
-
datetime.prompts.hour
|
71
|
-
datetime.prompts.minute
|
72
|
-
datetime.prompts.second
|
73
|
-
|
74
|
-
activerecord.errors.template.header
|
75
|
-
activerecord.errors.template.body
|
76
|
-
|
77
|
-
support.select.prompt
|
78
|
-
).each do |key|
|
79
|
-
it "should define '#{key}' in actionview translations" do
|
80
|
-
lookup(key).should_not be_nil
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
%w(
|
85
|
-
activerecord.errors.messages.inclusion
|
86
|
-
activerecord.errors.messages.exclusion
|
87
|
-
activerecord.errors.messages.invalid
|
88
|
-
activerecord.errors.messages.confirmation
|
89
|
-
activerecord.errors.messages.accepted
|
90
|
-
activerecord.errors.messages.empty
|
91
|
-
activerecord.errors.messages.blank
|
92
|
-
activerecord.errors.messages.too_long
|
93
|
-
activerecord.errors.messages.too_short
|
94
|
-
activerecord.errors.messages.wrong_length
|
95
|
-
activerecord.errors.messages.taken
|
96
|
-
activerecord.errors.messages.not_a_number
|
97
|
-
activerecord.errors.messages.greater_than
|
98
|
-
activerecord.errors.messages.greater_than_or_equal_to
|
99
|
-
activerecord.errors.messages.equal_to
|
100
|
-
activerecord.errors.messages.less_than
|
101
|
-
activerecord.errors.messages.less_than_or_equal_to
|
102
|
-
activerecord.errors.messages.odd
|
103
|
-
activerecord.errors.messages.even
|
104
|
-
activerecord.errors.messages.record_invalid
|
105
|
-
|
106
|
-
activerecord.errors.full_messages.format
|
107
|
-
).each do |key|
|
108
|
-
it "should define '#{key}' in activerecord translations" do
|
109
|
-
lookup(key).should_not be_nil
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
%w(
|
114
|
-
support.array.sentence_connector
|
115
|
-
support.array.skip_last_comma
|
116
|
-
|
117
|
-
support.array.words_connector
|
118
|
-
support.array.two_words_connector
|
119
|
-
support.array.last_word_connector
|
120
|
-
).each do |key|
|
121
|
-
it "should define '#{key}' in activesupport translations" do
|
122
|
-
lookup(key).should_not be_nil
|
123
|
-
end
|
39
|
+
it "should load transliteration rule" do
|
40
|
+
lookup(:'i18n.transliterate.rule').should_not be_nil
|
41
|
+
lookup(:'i18n.transliterate.rule').is_a?(Proc).should be_true
|
124
42
|
end
|
125
43
|
|
126
44
|
def lookup(*args)
|
data/spec/russian_spec.rb
CHANGED
@@ -2,14 +2,6 @@
|
|
2
2
|
|
3
3
|
require File.dirname(__FILE__) + '/spec_helper'
|
4
4
|
|
5
|
-
describe Russian, "VERSION" do
|
6
|
-
it "should be defined" do
|
7
|
-
%w(MAJOR MINOR TINY STRING).each do |v|
|
8
|
-
Russian::VERSION.const_defined?(v).should == true
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
5
|
describe Russian do
|
14
6
|
describe "with locale" do
|
15
7
|
it "should define :'ru' LOCALE" do
|
@@ -21,22 +13,11 @@ describe Russian do
|
|
21
13
|
end
|
22
14
|
end
|
23
15
|
|
24
|
-
describe "with custom backend class" do
|
25
|
-
it "should define i18n_backend_class" do
|
26
|
-
Russian.i18n_backend_class.should == I18n::Backend::Advanced
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
16
|
describe "during i18n initialization" do
|
31
17
|
after(:each) do
|
32
18
|
I18n.load_path = []
|
33
19
|
Russian.init_i18n
|
34
20
|
end
|
35
|
-
|
36
|
-
it "should set I18n backend to an instance of a custom backend" do
|
37
|
-
Russian.init_i18n
|
38
|
-
I18n.backend.class.should == Russian.i18n_backend_class
|
39
|
-
end
|
40
21
|
|
41
22
|
it "should keep existing translations while switching backends" do
|
42
23
|
I18n.load_path << File.join(File.dirname(__FILE__), 'fixtures', 'en.yml')
|
@@ -50,14 +31,15 @@ describe Russian do
|
|
50
31
|
I18n.t(:'date.formats.default', :locale => :'ru').should == "override"
|
51
32
|
end
|
52
33
|
|
53
|
-
it "should set default locale to Russian locale" do
|
34
|
+
it "should NOT set default locale to Russian locale" do
|
35
|
+
locale = I18n.default_locale
|
54
36
|
Russian.init_i18n
|
55
|
-
I18n.default_locale.should ==
|
37
|
+
I18n.default_locale.should == locale
|
56
38
|
end
|
57
39
|
end
|
58
40
|
|
59
41
|
describe "with localize proxy" do
|
60
|
-
before(:
|
42
|
+
before(:each) do
|
61
43
|
@time = mock(:time)
|
62
44
|
@options = { :format => "%d %B %Y" }
|
63
45
|
end
|
@@ -85,7 +67,7 @@ describe Russian do
|
|
85
67
|
end
|
86
68
|
|
87
69
|
describe "strftime" do
|
88
|
-
before(:
|
70
|
+
before(:each) do
|
89
71
|
@time = mock(:time)
|
90
72
|
end
|
91
73
|
|
metadata
CHANGED
@@ -1,74 +1,74 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: russian
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 2
|
8
|
-
- 7
|
9
|
-
version: 0.2.7
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.6.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Yaroslav Markin
|
13
9
|
autorequire: russian
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
date: 2010-05-05 00:00:00 +04:00
|
12
|
+
date: 2011-10-23 00:00:00.000000000 +04:00
|
18
13
|
default_executable:
|
19
|
-
dependencies:
|
20
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: i18n
|
17
|
+
requirement: &70270929608900 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.5.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *70270929608900
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: activesupport
|
28
|
+
requirement: &70270929608320 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.0.0
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *70270929608320
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rspec
|
39
|
+
requirement: &70270929607740 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 2.7.0
|
45
|
+
type: :development
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70270929607740
|
21
48
|
description: Russian language support for Ruby and Rails
|
22
49
|
email: yaroslav@markin.net
|
23
50
|
executables: []
|
24
|
-
|
25
51
|
extensions: []
|
26
|
-
|
27
|
-
extra_rdoc_files:
|
52
|
+
extra_rdoc_files:
|
28
53
|
- README.textile
|
29
54
|
- LICENSE
|
30
55
|
- CHANGELOG
|
31
56
|
- TODO
|
32
|
-
files:
|
33
|
-
- LICENSE
|
34
|
-
- README.textile
|
35
|
-
- Rakefile
|
36
|
-
- CHANGELOG
|
37
|
-
- TODO
|
38
|
-
- init.rb
|
57
|
+
files:
|
39
58
|
- lib/russian/action_view_ext/helpers/date_helper.rb
|
40
|
-
- lib/russian/
|
41
|
-
- lib/russian/active_support_ext/parameterize.rb
|
42
|
-
- lib/russian/backend/advanced.rb
|
59
|
+
- lib/russian/active_model_ext/custom_error_message.rb
|
43
60
|
- lib/russian/locale/actionview.yml
|
61
|
+
- lib/russian/locale/activemodel.yml
|
44
62
|
- lib/russian/locale/activerecord.yml
|
45
63
|
- lib/russian/locale/activesupport.yml
|
64
|
+
- lib/russian/locale/datetime.rb
|
46
65
|
- lib/russian/locale/datetime.yml
|
47
|
-
- lib/russian/locale/
|
66
|
+
- lib/russian/locale/pluralization.rb
|
67
|
+
- lib/russian/locale/transliterator.rb
|
68
|
+
- lib/russian/russian_rails.rb
|
48
69
|
- lib/russian/transliteration.rb
|
70
|
+
- lib/russian/version.rb
|
49
71
|
- lib/russian.rb
|
50
|
-
- lib/vendor/i18n/i18n.gemspec
|
51
|
-
- lib/vendor/i18n/lib/i18n/backend/simple.rb
|
52
|
-
- lib/vendor/i18n/lib/i18n/exceptions.rb
|
53
|
-
- lib/vendor/i18n/lib/i18n.rb
|
54
|
-
- lib/vendor/i18n/MIT-LICENSE
|
55
|
-
- lib/vendor/i18n/Rakefile
|
56
|
-
- lib/vendor/i18n/README.textile
|
57
|
-
- lib/vendor/i18n/test/all.rb
|
58
|
-
- lib/vendor/i18n/test/i18n_exceptions_test.rb
|
59
|
-
- lib/vendor/i18n/test/i18n_test.rb
|
60
|
-
- lib/vendor/i18n/test/locale/en.rb
|
61
|
-
- lib/vendor/i18n/test/locale/en.yml
|
62
|
-
- lib/vendor/i18n/test/simple_backend_test.rb
|
63
|
-
- lib/vendor/i18n_label/init.rb
|
64
|
-
- lib/vendor/i18n_label/install.rb
|
65
|
-
- lib/vendor/i18n_label/lib/i18n_label.rb
|
66
|
-
- lib/vendor/i18n_label/Rakefile
|
67
|
-
- lib/vendor/i18n_label/README.textile
|
68
|
-
- lib/vendor/i18n_label/spec/i18n_label_spec.rb
|
69
|
-
- lib/vendor/i18n_label/spec/spec_helper.rb
|
70
|
-
- lib/vendor/i18n_label/tasks/i18n_label_tasks.rake
|
71
|
-
- lib/vendor/i18n_label/uninstall.rb
|
72
72
|
- spec/fixtures/en.yml
|
73
73
|
- spec/fixtures/ru.yml
|
74
74
|
- spec/i18n/locale/datetime_spec.rb
|
@@ -77,35 +77,36 @@ files:
|
|
77
77
|
- spec/russian_spec.rb
|
78
78
|
- spec/spec_helper.rb
|
79
79
|
- spec/transliteration_spec.rb
|
80
|
+
- CHANGELOG
|
81
|
+
- Gemfile
|
82
|
+
- LICENSE
|
83
|
+
- Rakefile
|
84
|
+
- README.textile
|
85
|
+
- russian.gemspec
|
86
|
+
- TODO
|
80
87
|
has_rdoc: true
|
81
88
|
homepage: http://github.com/yaroslav/russian/
|
82
89
|
licenses: []
|
83
|
-
|
84
90
|
post_install_message:
|
85
91
|
rdoc_options: []
|
86
|
-
|
87
|
-
require_paths:
|
92
|
+
require_paths:
|
88
93
|
- lib
|
89
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
requirements:
|
98
|
-
- -
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
|
101
|
-
- 0
|
102
|
-
version: "0"
|
94
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
102
|
+
requirements:
|
103
|
+
- - ! '>='
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 1.3.5
|
103
106
|
requirements: []
|
104
|
-
|
105
107
|
rubyforge_project:
|
106
|
-
rubygems_version: 1.
|
108
|
+
rubygems_version: 1.6.2
|
107
109
|
signing_key:
|
108
110
|
specification_version: 3
|
109
111
|
summary: Russian language support for Ruby and Rails
|
110
112
|
test_files: []
|
111
|
-
|