grosser-fast_gettext 0.4.14 → 0.4.15
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +1 -0
- data/README.markdown +6 -1
- data/VERSION +1 -1
- data/fast_gettext.gemspec +2 -2
- data/lib/fast_gettext/storage.rb +27 -9
- data/spec/fast_gettext/storage_spec.rb +22 -0
- metadata +3 -4
data/CHANGELOG
CHANGED
data/README.markdown
CHANGED
@@ -117,12 +117,16 @@ Advanced features
|
|
117
117
|
Pluralisation rules can be set directly via a lambda (see specs/), or by using the Gettext
|
118
118
|
plural definition (see spec/locale/en/test_plural.po or [Plural expressions for all languages](http://translate.sourceforge.net/wiki/l10n/pluralforms).
|
119
119
|
|
120
|
+
|
120
121
|
###default_text_domain
|
121
122
|
If you only use one text domain, setting `FastGettext.default_text_domain = 'app'`
|
122
123
|
is sufficient and no more `text_domain=` is needed
|
123
124
|
|
124
125
|
###default_locale
|
125
|
-
If the simple rule of "first `availble_locale` or 'en'" is not suficcient for you,
|
126
|
+
If the simple rule of "first `availble_locale` or 'en'" is not suficcient for you, set `FastGettext.default_locale = 'de'`.
|
127
|
+
|
128
|
+
###default_available_locales
|
129
|
+
Fallback when no available_locales are set
|
126
130
|
|
127
131
|
###Chains
|
128
132
|
You can use any number of repositories to find a translation. Simply add them to a chain and when
|
@@ -174,6 +178,7 @@ Mo/Po-file parsing from Masao Mutoh, see vendor/README
|
|
174
178
|
|
175
179
|
###Contributors
|
176
180
|
- [geekq](http://www.innoq.com/blog/vd)
|
181
|
+
- Rudolf Gavlas
|
177
182
|
|
178
183
|
[Michael Grosser](http://pragmatig.wordpress.com)
|
179
184
|
grosser.michael@gmail.com
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.15
|
data/fast_gettext.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{fast_gettext}
|
5
|
-
s.version = "0.4.
|
5
|
+
s.version = "0.4.15"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Michael Grosser"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-09-01}
|
10
10
|
s.email = %q{grosser.michael@gmail.com}
|
11
11
|
s.extra_rdoc_files = [
|
12
12
|
"README.markdown"
|
data/lib/fast_gettext/storage.rb
CHANGED
@@ -23,23 +23,28 @@ module FastGettext
|
|
23
23
|
end
|
24
24
|
private :_locale, :_locale=
|
25
25
|
|
26
|
-
|
27
|
-
|
26
|
+
|
27
|
+
def available_locales
|
28
|
+
Thread.current[:fast_gettext_available_locales] || default_available_locales
|
28
29
|
end
|
29
30
|
|
30
|
-
|
31
|
-
|
31
|
+
# == cattr_accessor :default_available_locales
|
32
|
+
@@default_available_locales = nil
|
33
|
+
def default_available_locales=(avail_locales)
|
34
|
+
@@default_available_locales = avail_locales
|
35
|
+
update_current_cache
|
32
36
|
end
|
33
37
|
|
34
|
-
def
|
35
|
-
|
38
|
+
def default_available_locales
|
39
|
+
@@default_available_locales
|
36
40
|
end
|
37
41
|
|
38
|
-
|
39
|
-
|
42
|
+
|
43
|
+
def text_domain
|
44
|
+
Thread.current[:fast_gettext_text_domain] || default_text_domain
|
40
45
|
end
|
41
46
|
|
42
|
-
|
47
|
+
# == cattr_accessor :default_text_domain
|
43
48
|
@@default_text_domain = nil
|
44
49
|
def default_text_domain=(domain)
|
45
50
|
@@default_text_domain = domain
|
@@ -50,6 +55,19 @@ module FastGettext
|
|
50
55
|
@@default_text_domain
|
51
56
|
end
|
52
57
|
|
58
|
+
|
59
|
+
def pluralisation_rule
|
60
|
+
Thread.current[:fast_gettext_pluralisation_rule] || current_repository.pluralisation_rule || lambda{|i| i!=1}
|
61
|
+
end
|
62
|
+
|
63
|
+
def current_cache
|
64
|
+
Thread.current[:fast_gettext_current_cache] || {}
|
65
|
+
end
|
66
|
+
|
67
|
+
def current_cache=(cache)
|
68
|
+
Thread.current[:fast_gettext_current_cache] = cache
|
69
|
+
end
|
70
|
+
|
53
71
|
#global, since re-parsing whole folders takes too much time...
|
54
72
|
@@translation_repositories={}
|
55
73
|
def translation_repositories
|
@@ -96,6 +96,28 @@ describe 'Storage' do
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
+
describe :default_available_locales do
|
100
|
+
after do
|
101
|
+
self.default_available_locales = nil
|
102
|
+
end
|
103
|
+
|
104
|
+
it "stores default_available_locales non-thread-safe" do
|
105
|
+
thread_save(:default_available_locales, 'xx').should == false
|
106
|
+
end
|
107
|
+
|
108
|
+
it "uses default_available_locales when available_locales is not set" do
|
109
|
+
self.available_locales = nil
|
110
|
+
self.default_available_locales = 'x'
|
111
|
+
available_locales.should == 'x'
|
112
|
+
end
|
113
|
+
|
114
|
+
it "does not use default when available_locales is set" do
|
115
|
+
self.available_locales = 'x'
|
116
|
+
self.default_available_locales = 'y'
|
117
|
+
available_locales.should == 'x'
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
99
121
|
describe :locale do
|
100
122
|
it "stores everything as long as available_locales is not set" do
|
101
123
|
self.available_locales = nil
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grosser-fast_gettext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Grosser
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-09-01 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -84,7 +84,6 @@ files:
|
|
84
84
|
- vendor/string.rb
|
85
85
|
has_rdoc: false
|
86
86
|
homepage: http://github.com/grosser/fast_gettext
|
87
|
-
licenses:
|
88
87
|
post_install_message:
|
89
88
|
rdoc_options:
|
90
89
|
- --charset=UTF-8
|
@@ -105,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
104
|
requirements: []
|
106
105
|
|
107
106
|
rubyforge_project:
|
108
|
-
rubygems_version: 1.
|
107
|
+
rubygems_version: 1.2.0
|
109
108
|
signing_key:
|
110
109
|
specification_version: 3
|
111
110
|
summary: A simple, fast and threadsafe implementation of GetText
|