solidus_i18n 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -1
- data/.travis.yml +11 -0
- data/Gemfile +4 -1
- data/README.md +32 -0
- data/Rakefile +4 -47
- data/app/controllers/spree/admin/locales_controller.rb +16 -0
- data/app/helpers/solidus_i18n/locale_helper.rb +1 -1
- data/app/overrides/spree/admin/shared/_configuration_menu/add_i18n_tab.html.erb.deface +2 -0
- data/app/views/spree/admin/locales/show.html.erb +27 -0
- data/config/locales/da.yml +237 -92
- data/config/locales/de.yml +42 -23
- data/config/locales/es.yml +1530 -766
- data/config/locales/fr.yml +22 -12
- data/config/locales/it.yml +374 -66
- data/config/locales/ja.yml +620 -512
- data/config/locales/ru.yml +4 -2
- data/config/locales/sk.yml +738 -549
- data/config/routes.rb +4 -0
- data/db/migrate/20150609154031_remove_translations_from_spree_tables.rb +1 -1
- data/lib/solidus_i18n.rb +2 -1
- data/lib/solidus_i18n/controller_locale_helper.rb +1 -1
- data/lib/solidus_i18n/version.rb +1 -1
- data/solidus_i18n.gemspec +3 -2
- data/spec/controllers/locales_controller_spec.rb +2 -2
- data/spec/features/admin/translations_spec.rb +1 -0
- data/spec/support/factory_girl.rb +2 -2
- metadata +29 -9
- data/app/controllers/spree/admin/general_settings_controller_decorator.rb +0 -12
- data/app/overrides/spree/admin/general_settings/edit/localization_settings.html.erb.deface +0 -20
- data/lib/solidus_i18n/utils.rb +0 -56
data/config/routes.rb
CHANGED
data/lib/solidus_i18n.rb
CHANGED
data/lib/solidus_i18n/version.rb
CHANGED
data/solidus_i18n.gemspec
CHANGED
@@ -24,16 +24,17 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.has_rdoc = false
|
25
25
|
|
26
26
|
s.add_runtime_dependency 'i18n_data', '~> 0.7.0'
|
27
|
-
s.add_runtime_dependency 'rails-i18n', '
|
27
|
+
s.add_runtime_dependency 'rails-i18n', ['>= 4.0.1', '< 6']
|
28
28
|
s.add_runtime_dependency 'kaminari-i18n', '~> 0.3.2'
|
29
29
|
s.add_runtime_dependency 'routing-filter', '~> 0.6.0'
|
30
30
|
s.add_runtime_dependency 'solidus_core', ['>= 1.1', '< 3']
|
31
|
+
s.add_runtime_dependency 'solidus_support'
|
31
32
|
s.add_runtime_dependency 'deface', '~> 1.0'
|
32
33
|
|
33
34
|
s.add_development_dependency 'byebug'
|
34
35
|
s.add_development_dependency 'capybara', '~> 2.4.4'
|
35
36
|
s.add_development_dependency 'database_cleaner', '~> 1.3'
|
36
|
-
s.add_development_dependency '
|
37
|
+
s.add_development_dependency 'factory_bot', '~> 4.5'
|
37
38
|
s.add_development_dependency 'ffaker', '>= 1.25.0'
|
38
39
|
s.add_development_dependency 'poltergeist', '~> 1.5'
|
39
40
|
s.add_development_dependency 'pry-rails', '>= 0.3.0'
|
@@ -10,14 +10,14 @@ RSpec.describe Spree::HomeController, type: :controller do
|
|
10
10
|
|
11
11
|
context 'tries not supported fr locale' do
|
12
12
|
it 'falls back do default locale' do
|
13
|
-
get :index, locale: 'fr'
|
13
|
+
get :index, params: { locale: 'fr' }
|
14
14
|
expect(I18n.locale).to eq :en
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
context 'tries supported es locale' do
|
19
19
|
it 'takes this locale' do
|
20
|
-
get :index, locale: 'es'
|
20
|
+
get :index, params: { locale: 'es' }
|
21
21
|
expect(I18n.locale).to eq :es
|
22
22
|
end
|
23
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n_data
|
@@ -28,16 +28,22 @@ dependencies:
|
|
28
28
|
name: rails-i18n
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 4.0.1
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '6'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- - "
|
41
|
+
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: 4.0.1
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '6'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: kaminari-i18n
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,6 +92,20 @@ dependencies:
|
|
86
92
|
- - "<"
|
87
93
|
- !ruby/object:Gem::Version
|
88
94
|
version: '3'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: solidus_support
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
89
109
|
- !ruby/object:Gem::Dependency
|
90
110
|
name: deface
|
91
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,7 +163,7 @@ dependencies:
|
|
143
163
|
- !ruby/object:Gem::Version
|
144
164
|
version: '1.3'
|
145
165
|
- !ruby/object:Gem::Dependency
|
146
|
-
name:
|
166
|
+
name: factory_bot
|
147
167
|
requirement: !ruby/object:Gem::Requirement
|
148
168
|
requirements:
|
149
169
|
- - "~>"
|
@@ -261,13 +281,14 @@ files:
|
|
261
281
|
- app/assets/javascripts/spree/frontend/solidus_i18n.js
|
262
282
|
- app/assets/stylesheets/spree/backend/solidus_i18n.css
|
263
283
|
- app/assets/stylesheets/spree/frontend/solidus_i18n.css
|
264
|
-
- app/controllers/spree/admin/
|
284
|
+
- app/controllers/spree/admin/locales_controller.rb
|
265
285
|
- app/controllers/spree/api/base_controller_decorator.rb
|
266
286
|
- app/controllers/spree/base_controller_decorator.rb
|
267
287
|
- app/controllers/spree/locale_controller_decorator.rb
|
268
288
|
- app/helpers/solidus_i18n/locale_helper.rb
|
269
|
-
- app/overrides/spree/admin/
|
289
|
+
- app/overrides/spree/admin/shared/_configuration_menu/add_i18n_tab.html.erb.deface
|
270
290
|
- app/overrides/spree/shared/_main_nav_bar/locale_selector.html.erb.deface
|
291
|
+
- app/views/spree/admin/locales/show.html.erb
|
271
292
|
- bin/rails
|
272
293
|
- config/initializers/country_names.rb
|
273
294
|
- config/initializers/routing_filter.rb
|
@@ -318,7 +339,6 @@ files:
|
|
318
339
|
- lib/solidus_i18n/controller_locale_helper.rb
|
319
340
|
- lib/solidus_i18n/engine.rb
|
320
341
|
- lib/solidus_i18n/locale.rb
|
321
|
-
- lib/solidus_i18n/utils.rb
|
322
342
|
- lib/solidus_i18n/version.rb
|
323
343
|
- lib/tasks/solidus_i18n/upgrade.rake
|
324
344
|
- solidus_i18n.gemspec
|
@@ -354,7 +374,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
354
374
|
requirements:
|
355
375
|
- none
|
356
376
|
rubyforge_project:
|
357
|
-
rubygems_version: 2.
|
377
|
+
rubygems_version: 2.7.3
|
358
378
|
signing_key:
|
359
379
|
specification_version: 4
|
360
380
|
summary: Provides locale information for use in Solidus.
|
@@ -1,12 +0,0 @@
|
|
1
|
-
Spree::Admin::GeneralSettingsController.class_eval do
|
2
|
-
before_filter :update_i18n_settings, only: :update
|
3
|
-
|
4
|
-
private
|
5
|
-
|
6
|
-
def update_i18n_settings
|
7
|
-
params.each do |name, value|
|
8
|
-
next unless SolidusI18n::Config.has_preference? name
|
9
|
-
SolidusI18n::Config[name] = value.map(&:to_sym)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
<!-- insert_after '[data-hook=admin_general_setting_mail_from_address]'-->
|
2
|
-
<div class="panel panel-default panel-localization">
|
3
|
-
<div class="panel-heading">
|
4
|
-
<h1 class="panel-title">
|
5
|
-
<%= Spree.t(:'i18n.localization_settings') %>
|
6
|
-
</h1>
|
7
|
-
</div>
|
8
|
-
|
9
|
-
<div class="panel-body" data-hook="localization_settings_body">
|
10
|
-
<div class="form-group">
|
11
|
-
<label for="available_locales_">
|
12
|
-
<%= Spree.t(:'i18n.available_locales') %>
|
13
|
-
</label>
|
14
|
-
<%= select_available_locales %>
|
15
|
-
<p class="help-block">
|
16
|
-
<%= Spree.t(:'i18n.locales_displayed_on_frontend_select_box') %>
|
17
|
-
</p>
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
</div>
|
data/lib/solidus_i18n/utils.rb
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'active_support/core_ext'
|
2
|
-
|
3
|
-
module SolidusI18n
|
4
|
-
module Utils
|
5
|
-
# Retrieve comments, translation data in hash form
|
6
|
-
def read_file(filename, basename)
|
7
|
-
# Add error checking for failed file read?
|
8
|
-
(comments, data) = IO.read(filename).split(/#{basename}:\s*\n/)
|
9
|
-
return comments, create_hash(data)
|
10
|
-
end
|
11
|
-
module_function :read_file
|
12
|
-
|
13
|
-
# Creates hash of translation data
|
14
|
-
def create_hash(data)
|
15
|
-
words = {}
|
16
|
-
return words unless data
|
17
|
-
parent = []
|
18
|
-
previous_key = 'base'
|
19
|
-
data.split("\n").each do |w|
|
20
|
-
next if w.strip.blank? || w.strip[0] == '#'
|
21
|
-
(key, value) = w.split(':', 2)
|
22
|
-
value ||= ''
|
23
|
-
# Determine level of current key in comparison to parent array
|
24
|
-
shift = (key =~ /\w/) / 2 - parent.size
|
25
|
-
key = key.sub(/^\s+/, '')
|
26
|
-
# If key is child of previous key, add previous key as parent
|
27
|
-
parent << previous_key if shift > 0
|
28
|
-
# If key is not related to previous key, remove parent keys
|
29
|
-
(shift*-1).times { parent.pop } if shift < 0
|
30
|
-
# Track key in case next key is child of this key
|
31
|
-
previous_key = key
|
32
|
-
words[parent.join(':') + ':' + key] = value
|
33
|
-
end
|
34
|
-
words
|
35
|
-
end
|
36
|
-
module_function :create_hash
|
37
|
-
|
38
|
-
# Writes to file from translation data hash structure
|
39
|
-
def write_file(filename, basename, _comments, words, comment_values = true, _fallback_values = {})
|
40
|
-
File.open(filename, 'w') do |log|
|
41
|
-
log.puts(basename + ": \n")
|
42
|
-
words.sort.each do |k, v|
|
43
|
-
keys = k.split(':')
|
44
|
-
# Add indentation for children keys
|
45
|
-
(keys.size - 1).times do
|
46
|
-
keys[keys.size - 1] = ' ' + keys[keys.size - 1]
|
47
|
-
end
|
48
|
-
value = v.strip
|
49
|
-
value = ('#' + value) if comment_values && !value.blank?
|
50
|
-
log.puts "#{keys[keys.size - 1]}: #{value}\n"
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
module_function :write_file
|
55
|
-
end
|
56
|
-
end
|