embedded_localization 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
data/README.textile
CHANGED
@@ -56,7 +56,7 @@ h3. Rails 3.0
|
|
56
56
|
class CreateGenres < ActiveRecord::Migration
|
57
57
|
def self.up
|
58
58
|
create_table :genres do |t|
|
59
|
-
t.text :i18n # stores the translated attributes; persisted as a
|
59
|
+
t.text :i18n # stores the translated attributes; persisted as a Hash
|
60
60
|
|
61
61
|
# optional:
|
62
62
|
# t.string :name # you CAN define :name as a real column in your DB (but you don't have to)
|
@@ -205,11 +205,13 @@ If your requirements are different, my approach might not work for you. In that
|
|
205
205
|
|
206
206
|
h2. Changes
|
207
207
|
|
208
|
+
h3. 0.2.0 (2012-01-31)
|
209
|
+
* added support for having DB columns for translated attributes, to enable SQL queries in I18n.default_locale
|
210
|
+
|
208
211
|
h3. 0.1.4 (2012-01-31)
|
209
212
|
* fixed bug with dirty tracking of serialized i18n attribute
|
210
213
|
* renamed #fallback? to #fallbacks?
|
211
214
|
|
212
|
-
|
213
215
|
h3. 0.1.3 Initial Version (2012-01-27)
|
214
216
|
|
215
217
|
|
@@ -71,8 +71,8 @@ module EmbeddedLocalization
|
|
71
71
|
if self.attributes.has_key?(attr_name.to_s) # if user has defined DB field with that name
|
72
72
|
write_attribute(attr_name , new_translation) if I18n.locale == I18n.default_locale
|
73
73
|
end
|
74
|
-
self.i18n[I18n.locale] ||=
|
75
|
-
self.i18n[I18n.locale][attr_name] = new_translation
|
74
|
+
self.i18n[I18n.locale] ||= Hash.new
|
75
|
+
self.i18n[I18n.locale][attr_name.to_sym] = new_translation
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -21,8 +21,8 @@ module EmbeddedLocalization
|
|
21
21
|
if self.attributes.has_key?(attr_name.to_s) # if user has defined DB field with that name
|
22
22
|
write_attribute(attr_name , new_translation) if locale == I18n.default_locale
|
23
23
|
end
|
24
|
-
self.i18n[locale] ||=
|
25
|
-
self.i18n[locale][attr_name] = new_translation
|
24
|
+
self.i18n[locale] ||= Hash.new
|
25
|
+
self.i18n[locale][attr_name.to_sym] = new_translation
|
26
26
|
end
|
27
27
|
|
28
28
|
# Returns all locales used for translation of all documents of this class.
|
@@ -96,10 +96,10 @@ module EmbeddedLocalization
|
|
96
96
|
# initialized the serialized 'i18n' attribute with Hash of Hashes,
|
97
97
|
# containing all pre-defined translated attributes with nil value
|
98
98
|
def initialize_i18n_hashes
|
99
|
-
self.i18n ||=
|
100
|
-
self.i18n[ I18n.locale ] ||=
|
99
|
+
self.i18n ||= Hash.new
|
100
|
+
self.i18n[ I18n.locale ] ||= Hash.new(Hash.zip(translated_attribute_names,[]))
|
101
101
|
if I18n.locale != I18n.default_locale
|
102
|
-
self.i18n[ I18n.default_locale ] ||=
|
102
|
+
self.i18n[ I18n.default_locale ] ||= Hash.new(Hash.zip(translated_attribute_names,[]))
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: embedded_localization
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Tilo Sloboda
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-01
|
13
|
+
date: 2012-02-01 00:00:00 Z
|
14
14
|
dependencies: []
|
15
15
|
|
16
16
|
description: "Rails I18n: Embedded_Localization for ActiveRecord 3 is very lightweight, and allows you to transparently store translations of attributes right inside each record -- no extra database tables needed to store the localization data!"
|