russian 0.2.7 → 0.6.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.
- 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
|
-
|