drogus-genderized 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +35 -0
- data/lib/genderized/backend/genderized.rb +15 -0
- data/lib/genderized.rb +1 -1
- metadata +1 -1
data/README.textile
CHANGED
@@ -2,6 +2,41 @@ h1. Genderized
|
|
2
2
|
|
3
3
|
Rails plugin supporting gender with I18n translations. It requires russian gem
|
4
4
|
|
5
|
+
h2. Install
|
6
|
+
|
7
|
+
Easiest way to add it to your rails app is to add line in environment.rb
|
8
|
+
<pre><code>
|
9
|
+
config.gem 'drogus-genderized', :lib => 'genderized', :source => 'http://gems.github.com'
|
10
|
+
</code></pre>
|
11
|
+
|
5
12
|
h2. Usage
|
6
13
|
|
14
|
+
To use genders just drop :gender key to your attribute definitions (translation is for Polish word for lamp, it's similar in many languages):
|
15
|
+
|
16
|
+
<pre><code>
|
17
|
+
:activerecord => {
|
18
|
+
:attributes => {
|
19
|
+
:user => {
|
20
|
+
:lamp => {
|
21
|
+
:one => "lampa", :few => 'lampy', :many => 'lamp',
|
22
|
+
:other => 'lampy', :gender => :feminine
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
</code></pre>
|
27
|
+
|
28
|
+
Then all you need is to set messages for each gender:
|
29
|
+
<pre><code>
|
30
|
+
:errors => {
|
31
|
+
:messages => {
|
32
|
+
:empty => {
|
33
|
+
:masculine => "nie może być pusty",
|
34
|
+
:feminine => "nie może być pusta",
|
35
|
+
:neuter => "nie może być puste"
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
</code></pre>
|
7
41
|
|
42
|
+
On blank message it will generate: "Lampa nie może być pusta".
|
@@ -36,6 +36,21 @@ module I18n
|
|
36
36
|
entry = interpolate locale, entry, values
|
37
37
|
entry
|
38
38
|
end
|
39
|
+
|
40
|
+
def pluralize(locale, entry, count)
|
41
|
+
return entry unless entry.is_a?(Hash) and count
|
42
|
+
|
43
|
+
key = :zero if count == 0 && entry.has_key?(:zero)
|
44
|
+
locale_pluralize = lookup(locale, :pluralize)
|
45
|
+
if locale_pluralize && locale_pluralize.respond_to?(:call)
|
46
|
+
key ||= locale_pluralize.call(count)
|
47
|
+
else
|
48
|
+
key ||= default_pluralizer(count)
|
49
|
+
end
|
50
|
+
return entry unless entry.has_key?(key)
|
51
|
+
|
52
|
+
entry[key]
|
53
|
+
end
|
39
54
|
end
|
40
55
|
end
|
41
56
|
end
|
data/lib/genderized.rb
CHANGED