rs_russian 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 43369029ba89e38f1dbbb7935458168a5d0b00af
4
- data.tar.gz: 4b7d262046be622e08cbf2f5e8e81f80934b28cf
3
+ metadata.gz: 61b88249a2a0ed9ea820907f266eb99a2e691803
4
+ data.tar.gz: d0874f25a0a7d54d5a99ceefaf5f4e047583c8c7
5
5
  SHA512:
6
- metadata.gz: 4af6626c6a11e7fc54fae87ce3a4af46d2cd82e0e65634edc9ba155ff9f9193ee2f6226be9ee24b857b2389d417b1984af9625c3371f1e9800d86e0b98a09964
7
- data.tar.gz: 9424472a884dce3649a022f1d6b211edc59da70079203783e2394c16b559a8992145035953db4e17a9cb881d03cd3445c798d16c4e093061922a6193c6cfddd5
6
+ metadata.gz: b73d171e5166f135c8de52c13c540cc3f4e0184cce61aeeba3f805f9ed4e814ff824e57cc91338f2043bf63dba38f864e67d3a0a47da92eeeb4f4361c5d54d48
7
+ data.tar.gz: 7ea644c02a6c7623664fa71476b33025b5f156787a138b23dc88775383599f68b78e44e85028368acaa0b1b38eff176fd4b2c113b143c4ed6bd2582de5eb8964
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rs_russian (0.7.1)
4
+ rs_russian (0.7.2)
5
5
  i18n (~> 0.6.0)
6
6
  unicode (~> 0.4.4)
7
7
 
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.locale
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::translate
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::localize
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
@@ -119,3 +119,7 @@ module Russian
119
119
  end
120
120
 
121
121
  Russian.init_i18n
122
+
123
+ if Object.const_defined?('RailsAdmin')
124
+ require 'rails_admin_datetime'
125
+ end
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Russian
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2"
3
3
  end
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.1
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-23 00:00:00.000000000 Z
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.0.6
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