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 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