i18n_structure 0.0.3 → 0.0.4
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 +7 -0
- data/.travis.yml +10 -0
- data/README.md +11 -3
- data/i18n_structure.gemspec +0 -1
- data/lib/i18n_structure/i18n_extension.rb +8 -1
- data/lib/i18n_structure/version.rb +1 -1
- data/spec/i18n_extension_spec.rb +16 -2
- data/spec/locales/en.yml +6 -1
- metadata +20 -47
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6aa22806be2e3a8738c15d783c2ef5e02c46f45a
|
4
|
+
data.tar.gz: b3f714c607553a50a81a51a4b8dd5b3f286c63ab
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c7f64fb606a68428059024885dbc781efe33100d1e86b33977c177cda06f26846eadb2e4bab816e54dddf2ee11e9b7960114b50071b4ff005c7ae5e2c586d9b6
|
7
|
+
data.tar.gz: 58a8c5b416b4acea80736855f73248d4c57214936fea108ac395121bd8915b0be0dd279e60aea7a57a8e800368d5b25ed0e8c3ab5375614556701aac2f8946be
|
data/.travis.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- "1.9.3"
|
4
|
+
# uncomment this line if your project needs to run something other than `rake`:
|
5
|
+
# script: bundle exec rspec spec`
|
6
|
+
script:
|
7
|
+
# - RAILS_ENV=test bundle exec rake db:migrate --trace
|
8
|
+
# - bundle exec rake db:test:prepare
|
9
|
+
- bundle exec rspec spec/
|
10
|
+
cache: bundler
|
data/README.md
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
# I18nStructure
|
2
2
|
|
3
|
+
[](https://codeclimate.com/github/KMPgroup/i18n-structure)
|
4
|
+
[](http://rst-it.com) [](http://howwedoapps.com)
|
5
|
+
[](https://travis-ci.org/rstgroup/i18n-structure)
|
6
|
+
|
3
7
|
## Put in order your locale files
|
4
8
|
|
5
9
|
This gem adds support of nice and nifty structure of locale files to your Rails app.
|
6
10
|
Gem divides translations into two groups:
|
7
11
|
|
8
12
|
- global namespaced translations: they could be repeated among different pages for different resources: for example **send** or **confirm**
|
9
|
-
- resource (activerecord) namespaced translations:
|
13
|
+
- resource (activerecord) namespaced translations: specific for resource, for example **send request**, **add storey**. They are stored in files named after resource (**article.yml**) inside **config/locales/LOCALE_NAME/ar** folder
|
10
14
|
|
11
15
|
**Supported locale structure:** for example polish translations
|
12
16
|
|
@@ -24,6 +28,9 @@ pl:
|
|
24
28
|
- false
|
25
29
|
tooltips: #/config/locales/pl/tooltips.yml
|
26
30
|
name: Nazwa jest to .. #Some tooltip for name
|
31
|
+
views:
|
32
|
+
home_page:
|
33
|
+
header: naglowek
|
27
34
|
activerecord:
|
28
35
|
attributes:
|
29
36
|
order: #/config/locales/pl/ar/order.yml
|
@@ -51,8 +58,9 @@ translate_label(key, model=nil, options={}) #alias tl()
|
|
51
58
|
translate_tooltip(key, model=nil, options={}) #alias tt()
|
52
59
|
translate_attribute(key, model=nil, options={}) #alias ta()
|
53
60
|
translate_collection(key, model=nil, options={}) #alias tc()
|
61
|
+
translate_view(key, view_name, options={}) #alias tv()
|
54
62
|
|
55
|
-
# and corresponding methods which tests presence of given translation:
|
63
|
+
# labels, tooltips and attributes have corresponding methods which tests presence of given translation:
|
56
64
|
translate_label?(key, model=nil, options={}) #alias tl?()
|
57
65
|
...
|
58
66
|
|
@@ -110,7 +118,7 @@ Or install it yourself as:
|
|
110
118
|
|
111
119
|
You can generate all necessary locale files by using generator
|
112
120
|
|
113
|
-
$ rails g
|
121
|
+
$ rails g i18n_structure pl #for polish translations
|
114
122
|
|
115
123
|
Generator also adds:
|
116
124
|
|
data/i18n_structure.gemspec
CHANGED
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_runtime_dependency 'rails', '>= 3.0.0'
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
23
|
spec.add_development_dependency "rake"
|
24
|
-
spec.add_development_dependency 'rails'
|
25
24
|
spec.add_development_dependency 'draper'
|
26
25
|
spec.add_development_dependency 'rspec'
|
27
26
|
end
|
@@ -16,11 +16,18 @@ I18n.extend( Module.new{
|
|
16
16
|
if model
|
17
17
|
translate_attribute(key.to_s+"_collection", model, options)
|
18
18
|
else
|
19
|
-
I18n.t(key, :scope => [:collections])
|
19
|
+
I18n.t(key, {:scope => [:collections]}.merge(options))
|
20
20
|
end
|
21
21
|
end
|
22
22
|
alias_method :tc, :translate_collection
|
23
23
|
|
24
|
+
# views are handled different than other elements
|
25
|
+
def translate_view(key, view, options={})
|
26
|
+
throw "You have to define model" unless view
|
27
|
+
I18n.t(key, {:scope => [:views, view]}.merge(options))
|
28
|
+
end
|
29
|
+
alias_method :tv, :translate_view
|
30
|
+
|
24
31
|
private
|
25
32
|
# change passed object to key used in localization
|
26
33
|
def to_mode_name(model)
|
data/spec/i18n_extension_spec.rb
CHANGED
@@ -30,11 +30,25 @@ describe I18n do
|
|
30
30
|
|
31
31
|
describe ".translate_label_exist?" do
|
32
32
|
it "checks unexisting label" do
|
33
|
-
expect(I18n.tl?(:some_dummmy_unexisted_key, :also_dummy_model)).to
|
33
|
+
expect(I18n.tl?(:some_dummmy_unexisted_key, :also_dummy_model)).to eq(false)
|
34
34
|
end
|
35
35
|
|
36
36
|
it "checks existing label" do
|
37
|
-
expect(I18n.translate_label_exist?(:exist_label)).to
|
37
|
+
expect(I18n.translate_label_exist?(:exist_label)).to eq(true)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe ".translate_view" do
|
42
|
+
it "translates view" do
|
43
|
+
expect(I18n.translate_view(:home, :navigation)).to eq "home page"
|
44
|
+
end
|
45
|
+
|
46
|
+
it "translates view using alias" do
|
47
|
+
expect(I18n.tv(:home, :navigation)).to eq "home page"
|
48
|
+
end
|
49
|
+
|
50
|
+
it "translates view named as partial" do
|
51
|
+
expect(I18n.tv(:first_text, :_soma_partial)).to eq "first text"
|
38
52
|
end
|
39
53
|
end
|
40
54
|
end
|
data/spec/locales/en.yml
CHANGED
metadata
CHANGED
@@ -1,110 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i18n_structure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Wojciech Krysiak
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-08-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 3.0.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 3.0.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: bundler
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '1.3'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '1.3'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rails
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
52
|
+
- - ">="
|
76
53
|
- !ruby/object:Gem::Version
|
77
54
|
version: '0'
|
78
55
|
- !ruby/object:Gem::Dependency
|
79
56
|
name: draper
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
58
|
requirements:
|
83
|
-
- -
|
59
|
+
- - ">="
|
84
60
|
- !ruby/object:Gem::Version
|
85
61
|
version: '0'
|
86
62
|
type: :development
|
87
63
|
prerelease: false
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
65
|
requirements:
|
91
|
-
- -
|
66
|
+
- - ">="
|
92
67
|
- !ruby/object:Gem::Version
|
93
68
|
version: '0'
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: rspec
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
72
|
requirements:
|
99
|
-
- -
|
73
|
+
- - ">="
|
100
74
|
- !ruby/object:Gem::Version
|
101
75
|
version: '0'
|
102
76
|
type: :development
|
103
77
|
prerelease: false
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
79
|
requirements:
|
107
|
-
- -
|
80
|
+
- - ">="
|
108
81
|
- !ruby/object:Gem::Version
|
109
82
|
version: '0'
|
110
83
|
description: Create structure for I18n locale files
|
@@ -114,8 +87,9 @@ executables: []
|
|
114
87
|
extensions: []
|
115
88
|
extra_rdoc_files: []
|
116
89
|
files:
|
117
|
-
- .gitignore
|
118
|
-
- .rspec
|
90
|
+
- ".gitignore"
|
91
|
+
- ".rspec"
|
92
|
+
- ".travis.yml"
|
119
93
|
- Gemfile
|
120
94
|
- LICENSE.txt
|
121
95
|
- README.md
|
@@ -141,27 +115,26 @@ files:
|
|
141
115
|
homepage: https://github.com/KMPgroup/i18n-structure
|
142
116
|
licenses:
|
143
117
|
- MIT
|
118
|
+
metadata: {}
|
144
119
|
post_install_message:
|
145
120
|
rdoc_options: []
|
146
121
|
require_paths:
|
147
122
|
- lib
|
148
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
124
|
requirements:
|
151
|
-
- -
|
125
|
+
- - ">="
|
152
126
|
- !ruby/object:Gem::Version
|
153
127
|
version: '0'
|
154
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
-
none: false
|
156
129
|
requirements:
|
157
|
-
- -
|
130
|
+
- - ">="
|
158
131
|
- !ruby/object:Gem::Version
|
159
132
|
version: '0'
|
160
133
|
requirements: []
|
161
134
|
rubyforge_project:
|
162
|
-
rubygems_version:
|
135
|
+
rubygems_version: 2.2.2
|
163
136
|
signing_key:
|
164
|
-
specification_version:
|
137
|
+
specification_version: 4
|
165
138
|
summary: Create structure for I18n locale files
|
166
139
|
test_files:
|
167
140
|
- spec/i18n_extension_spec.rb
|