rs_russian 0.7.1 → 0.7.2
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.textile +19 -37
- data/lib/russian.rb +4 -0
- data/lib/russian/rails_admin_datetime.rb +42 -0
- data/lib/russian/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61b88249a2a0ed9ea820907f266eb99a2e691803
|
4
|
+
data.tar.gz: d0874f25a0a7d54d5a99ceefaf5f4e047583c8c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b73d171e5166f135c8de52c13c540cc3f4e0184cce61aeeba3f805f9ed4e814ff824e57cc91338f2043bf63dba38f864e67d3a0a47da92eeeb4f4361c5d54d48
|
7
|
+
data.tar.gz: 7ea644c02a6c7623664fa71476b33025b5f156787a138b23dc88775383599f68b78e44e85028368acaa0b1b38eff176fd4b2c113b143c4ed6bd2582de5eb8964
|
data/Gemfile.lock
CHANGED
data/README.textile
CHANGED
@@ -64,14 +64,12 @@ h1. Использование
|
|
64
64
|
|
65
65
|
Предыдущие версии Russian форсированно выставляли локаль I18n по умолчанию в @:ru@ (Русский язык), от этого решено было отказаться: в Rails стало неудобно работать с мультиязычными приложениями, так как конструкция вида @config.i18n.default_locale = :en@ не работала. Теперь для использования русского языка в Rails по умолчанию нужно использовать строку
|
66
66
|
|
67
|
-
<pre><code>
|
68
|
-
config.i18n.default_locale = :ru
|
67
|
+
<pre><code>config.i18n.default_locale = :ru
|
69
68
|
</code></pre>
|
70
69
|
|
71
70
|
в @config/application.rb@. Для использования Russian отдельно от Rails можно выставить локаль I18n в русскую по умолчанию или для текущего треда, соответственно:
|
72
71
|
|
73
|
-
<pre><code>
|
74
|
-
I18n.default_locale = :ru
|
72
|
+
<pre><code>I18n.default_locale = :ru
|
75
73
|
|
76
74
|
I18n.locale = :ru
|
77
75
|
</code></pre>
|
@@ -153,8 +151,7 @@ h3. Параметризация строк
|
|
153
151
|
|
154
152
|
Пример:
|
155
153
|
|
156
|
-
<pre><code>
|
157
|
-
class Person
|
154
|
+
<pre><code>class Person
|
158
155
|
def to_param
|
159
156
|
"#{id}-#{name.parameterize}"
|
160
157
|
end
|
@@ -164,8 +161,7 @@ end
|
|
164
161
|
# => #<Person id: 1, name: "Дональд Кнут">
|
165
162
|
|
166
163
|
<%= link_to(@person.name, person_path(@person)) %>
|
167
|
-
# => <a href="/person/1-donald-knut">Дональд Кнут</a>
|
168
|
-
</code></pre>
|
164
|
+
# => <a href="/person/1-donald-knut">Дональд Кнут</a></code></pre>
|
169
165
|
|
170
166
|
_NB:_ Для простоты иногда проще воспользоваться методом @Russian::transliterate@ напрямую (чтобы не зависеть от текущей локали).
|
171
167
|
|
@@ -177,73 +173,59 @@ h2. Примеры и справка по переводам (I18n)
|
|
177
173
|
|
178
174
|
h2. Вспомогательные методы модуля Russian
|
179
175
|
|
180
|
-
<pre><code>
|
181
|
-
Russian
|
182
|
-
Russian::LOCALE
|
183
|
-
</code></pre>
|
176
|
+
<pre><code>Russian.locale
|
177
|
+
Russian::LOCALE</code></pre>
|
184
178
|
|
185
179
|
-- возвращает локаль русского языка (@:'ru'@).
|
186
180
|
|
187
|
-
<pre><code>
|
188
|
-
Russian::init_i18n
|
189
|
-
</code></pre>
|
181
|
+
<pre><code>Russian::init_i18n</code></pre>
|
190
182
|
|
191
183
|
-- инициализация Russian. Добавление русских переводов в путь загрузки, включение модулей для плюрализации и транслитерации и перегрузка I18n.
|
192
184
|
|
193
185
|
_NB:_ Выполняется автоматически при загрузке.
|
194
186
|
|
195
|
-
<pre><code>
|
196
|
-
Russian::
|
197
|
-
Russian::t
|
198
|
-
</code></pre>
|
187
|
+
<pre><code>Russian::translate
|
188
|
+
Russian::t</code></pre>
|
199
189
|
|
200
190
|
-- прокси для метода @translate@ I18n, форсирует использование русской локали.
|
201
191
|
|
202
|
-
<pre><code>
|
203
|
-
Russian::
|
204
|
-
Russian::l
|
205
|
-
</code></pre>
|
192
|
+
<pre><code>Russian::localize
|
193
|
+
Russian::l</code></pre>
|
206
194
|
|
207
195
|
-- прокси для метода @localize@ I18n, форсирует использование русской локали.
|
208
196
|
|
209
|
-
<pre><code>
|
210
|
-
Russian::strftime
|
197
|
+
<pre><code>Russian::strftime
|
211
198
|
|
212
199
|
Russian::strftime(Time.now)
|
213
200
|
=> "Пн, 01 сент. 2008, 11:12:43 +0300"
|
214
201
|
Russian::strftime(Time.now, "%d %B")
|
215
202
|
>> "01 сентября"
|
216
203
|
Russian::strftime(Time.now, "%B")
|
217
|
-
=> "Сентябрь"
|
218
|
-
</code></pre>
|
204
|
+
=> "Сентябрь"</code></pre>
|
219
205
|
|
220
206
|
-- @strftime@ с форсированием русской локали (упрощенный вариант @localize@)
|
221
207
|
|
222
|
-
<pre><code>
|
223
|
-
Russian::pluralize
|
208
|
+
<pre><code>Russian::pluralize
|
224
209
|
Russian::p
|
225
210
|
|
226
211
|
Russian.p(1, "вещь", "вещи", "вещей")
|
227
212
|
=> "вещь"
|
228
|
-
Russian.p(2, "вещь", "вещи", "вещей")
|
229
|
-
=> "вещи"
|
213
|
+
Russian.p(2, "%n вещь", "%n вещи", "%n вещей")
|
214
|
+
=> "2 вещи"
|
230
215
|
Russian.p(10, "вещь", "вещи", "вещей")
|
231
216
|
=> "вещей"
|
232
217
|
Russian.p(3.14, "вещь", "вещи", "вещей", "вещи") # последний вариант используется для дробных величин
|
233
|
-
=> "вещи"
|
234
|
-
</code></pre>
|
218
|
+
=> "вещи"</code></pre>
|
235
219
|
|
236
220
|
-- упрощенная (без использования хешей I18n) плюрализация для русского языка
|
237
221
|
|
238
|
-
<pre><code>
|
239
|
-
Russian::transliterate
|
222
|
+
<pre><code>Russian::transliterate
|
240
223
|
Russian::translit
|
241
224
|
|
242
225
|
Russian.translit("рубин")
|
243
226
|
=> "rubin"
|
244
227
|
Russian.translit("Hallo Юлику Тарханову")
|
245
|
-
=> "Hallo Yuliku Tarhanovu"
|
246
|
-
</code></pre>
|
228
|
+
=> "Hallo Yuliku Tarhanovu"</code></pre>
|
247
229
|
|
248
230
|
-- транслитерация русских букв в строке.
|
249
231
|
|
data/lib/russian.rb
CHANGED
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'rails_admin'
|
2
|
+
require 'rails_admin/config/fields/types/datetime'
|
3
|
+
|
4
|
+
module RailsAdmin
|
5
|
+
module Config
|
6
|
+
module Fields
|
7
|
+
module Types
|
8
|
+
class Datetime < RailsAdmin::Config::Fields::Base
|
9
|
+
class << self
|
10
|
+
alias_method :normalize_without_russian, :normalize
|
11
|
+
def normalize(date_string, format)
|
12
|
+
unless I18n.locale == "en"
|
13
|
+
format.to_s.scan(/%[AaBbp]/) do |match|
|
14
|
+
case match
|
15
|
+
when '%B'
|
16
|
+
english = I18n.t('date.month_names', :locale => :en)[1..-1]
|
17
|
+
common_month_names = I18n.t('date.common_month_names')[1..-1]
|
18
|
+
common_month_names.each_with_index {|m, i| date_string = date_string.gsub(/#{m}/i, english[i]) }
|
19
|
+
when '%b'
|
20
|
+
english = I18n.t('date.abbr_month_names', :locale => :en)[1..-1]
|
21
|
+
common_abbr_month_names = I18n.t('date.common_abbr_month_names')[1..-1]
|
22
|
+
common_abbr_month_names.each_with_index {|m, i| date_string = date_string.gsub(/#{m}/i, english[i]) }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
normalize_without_russian(date_string, format)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def formatted_date_value
|
31
|
+
value = bindings[:object].new_record? && self.value.nil? && !self.default_value.nil? ? self.default_value : self.value
|
32
|
+
value.nil? ? "" : (I18n.l(value, format: '%2d').strip + ' ' + I18n.l(value, format: '%B %Y').strip)
|
33
|
+
end
|
34
|
+
|
35
|
+
def value
|
36
|
+
bindings[:object].send(name)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/russian/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rs_russian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- glebtv
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
12
|
+
date: 2013-10-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- lib/russian/locale/datetime.yml
|
127
127
|
- lib/russian/locale/pluralization.rb
|
128
128
|
- lib/russian/locale/transliterator.rb
|
129
|
+
- lib/russian/rails_admin_datetime.rb
|
129
130
|
- lib/russian/russian_rails.rb
|
130
131
|
- lib/russian/transliteration.rb
|
131
132
|
- lib/russian/version.rb
|
@@ -158,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
159
|
version: '0'
|
159
160
|
requirements: []
|
160
161
|
rubyforge_project:
|
161
|
-
rubygems_version: 2.
|
162
|
+
rubygems_version: 2.1.10
|
162
163
|
signing_key:
|
163
164
|
specification_version: 4
|
164
165
|
summary: Russian language support for Ruby and Rails
|