solidus_i18n 1.2.0 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +35 -0
- data/.gem_release.yml +5 -0
- data/.github/stale.yml +17 -0
- data/.gitignore +4 -8
- data/.hound.yml +1 -1
- data/.rspec +2 -0
- data/.rubocop.yml +3 -6
- data/.rubocop_todo.yml +18 -0
- data/Gemfile +20 -10
- data/{LICENSE.md → LICENSE} +2 -2
- data/README.md +47 -46
- data/Rakefile +8 -24
- data/bin/console +17 -0
- data/bin/rails +12 -4
- data/bin/setup +8 -0
- data/config/locales/bg.yml +1 -47
- data/config/locales/ca.yml +12 -49
- data/config/locales/cs.yml +1 -48
- data/config/locales/da.yml +1 -47
- data/config/locales/de-CH.yml +0 -48
- data/config/locales/de.yml +408 -257
- data/config/locales/en-AU.yml +0 -48
- data/config/locales/en-GB.yml +1 -47
- data/config/locales/en-IN.yml +7 -53
- data/config/locales/en-NZ.yml +0 -48
- data/config/locales/es-CL.yml +1 -49
- data/config/locales/es-EC.yml +1 -47
- data/config/locales/es-MX.yml +417 -111
- data/config/locales/es.yml +27 -63
- data/config/locales/et.yml +0 -50
- data/config/locales/fa.yml +0 -48
- data/config/locales/fi.yml +1 -47
- data/config/locales/fr.yml +660 -264
- data/config/locales/id.yml +2 -46
- data/config/locales/it.yml +1196 -646
- data/config/locales/ja.yml +7 -53
- data/config/locales/ko.yml +0 -48
- data/config/locales/lv.yml +0 -48
- data/config/locales/nb.yml +0 -48
- data/config/locales/nl.yml +1 -47
- data/config/locales/pl.yml +1 -47
- data/config/locales/pt-BR.yml +1093 -251
- data/config/locales/pt.yml +0 -48
- data/config/locales/ro.yml +3 -48
- data/config/locales/ru.yml +1884 -1240
- data/config/locales/sk.yml +1 -45
- data/config/locales/sl-SI.yml +0 -48
- data/config/locales/sv.yml +1 -47
- data/config/locales/th.yml +1 -45
- data/config/locales/tr.yml +1 -45
- data/config/locales/uk.yml +1 -49
- data/config/locales/vi.yml +1 -45
- data/config/locales/zh-CN.yml +1 -45
- data/config/locales/zh-TW.yml +1 -45
- data/config/routes.rb +2 -8
- data/i18n-tasks.yml +4 -0
- data/lib/generators/solidus_i18n/install/install_generator.rb +10 -13
- data/lib/solidus_i18n/engine.rb +9 -36
- data/lib/solidus_i18n/factories.rb +4 -0
- data/lib/solidus_i18n/version.rb +3 -16
- data/lib/solidus_i18n.rb +4 -5
- data/lib/tasks/solidus_i18n/upgrade.rake +13 -11
- data/solidus_i18n.gemspec +29 -37
- data/spec/dummy/README.md +24 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/config/manifest.js +2 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
- data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
- data/spec/dummy/app/controllers/application_controller.rb +2 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/jobs/application_job.rb +7 -0
- data/spec/dummy/app/mailers/application_mailer.rb +4 -0
- data/spec/dummy/app/models/application_record.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +15 -0
- data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +33 -0
- data/spec/dummy/config/application.rb +53 -0
- data/spec/dummy/config/boot.rb +6 -0
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/credentials.yml.enc +1 -0
- data/spec/dummy/config/database.yml +12 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +76 -0
- data/spec/dummy/config/environments/production.rb +120 -0
- data/spec/dummy/config/environments/test.rb +36 -0
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +12 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +8 -0
- data/spec/dummy/config/initializers/content_security_policy.rb +28 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +6 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/permissions_policy.rb +11 -0
- data/spec/dummy/config/initializers/spree.rb +74 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +33 -0
- data/spec/dummy/config/master.key +1 -0
- data/spec/dummy/config/routes.rb +9 -0
- data/spec/dummy/config/storage.yml +34 -0
- data/spec/dummy/config.ru +6 -0
- data/spec/dummy/db/migrate/20210218213814_create_active_storage_tables.active_storage.rb +36 -0
- data/spec/dummy/db/migrate/20210218213818_create_action_mailbox_tables.action_mailbox.rb +14 -0
- data/spec/dummy/db/migrate/20210218213819_create_action_text_tables.action_text.rb +14 -0
- data/spec/dummy/db/migrate/20210218213820_solidus_one_four.spree.rb +1103 -0
- data/spec/dummy/db/migrate/20210218213821_create_spree_wallet_payment_sources.spree.rb +28 -0
- data/spec/dummy/db/migrate/20210218213822_migrate_credit_cards_to_wallet_payment_sources.spree.rb +30 -0
- data/spec/dummy/db/migrate/20210218213823_remove_is_default_from_prices.spree.rb +8 -0
- data/spec/dummy/db/migrate/20210218213824_remove_currency_from_line_items.spree.rb +8 -0
- data/spec/dummy/db/migrate/20210218213825_add_available_to_columns_and_remove_display_on_from_payment_methods.spree.rb +31 -0
- data/spec/dummy/db/migrate/20210218213826_create_spree_promotion_code_batch.spree.rb +39 -0
- data/spec/dummy/db/migrate/20210218213827_add_available_to_users_and_remove_display_on_from_shipping_methods.spree.rb +23 -0
- data/spec/dummy/db/migrate/20210218213828_add_index_to_spree_payments_number.spree.rb +8 -0
- data/spec/dummy/db/migrate/20210218213829_remove_spree_store_credits_column.spree.rb +8 -0
- data/spec/dummy/db/migrate/20210218213830_add_lft_and_rgt_indexes_to_taxons.spree.rb +9 -0
- data/spec/dummy/db/migrate/20210218213831_remove_order_id_from_inventory_units.spree.rb +31 -0
- data/spec/dummy/db/migrate/20210218213832_transform_tax_rate_category_relation.spree.rb +51 -0
- data/spec/dummy/db/migrate/20210218213833_add_roles_unique_constraints.spree.rb +9 -0
- data/spec/dummy/db/migrate/20210218213834_add_time_range_to_tax_rate.spree.rb +9 -0
- data/spec/dummy/db/migrate/20210218213835_rename_bogus_gateways.spree.rb +19 -0
- data/spec/dummy/db/migrate/20210218213836_remove_default_tax_from_spree_zones.spree.rb +8 -0
- data/spec/dummy/db/migrate/20210218213837_create_promotion_rule_stores.spree.rb +13 -0
- data/spec/dummy/db/migrate/20210218213838_create_store_shipping_methods.spree.rb +13 -0
- data/spec/dummy/db/migrate/20210218213839_add_available_locales_to_stores.spree.rb +10 -0
- data/spec/dummy/db/migrate/20210218213840_add_amount_remaining_to_store_credit_events.spree.rb +62 -0
- data/spec/dummy/db/migrate/20210218213841_add_join_characters_to_promotion_code_batch.spree.rb +12 -0
- data/spec/dummy/db/migrate/20210218213842_add_apply_to_all_to_variant_property_rule.spree.rb +13 -0
- data/spec/dummy/db/migrate/20210218213843_create_spree_store_credit_reasons_table.spree.rb +56 -0
- data/spec/dummy/db/migrate/20210218213844_remove_code_from_spree_promotions.spree.rb +43 -0
- data/spec/dummy/db/migrate/20210218213845_drop_spree_store_credit_update_reasons.spree.rb +20 -0
- data/spec/dummy/db/migrate/20210218213846_add_default_billng_flag_to_user_addresses.spree.rb +7 -0
- data/spec/dummy/db/migrate/20210218213847_add_bcc_email_to_spree_stores.spree.rb +8 -0
- data/spec/dummy/db/migrate/20210218213848_add_discontinue_on_to_spree_products.spree.rb +8 -0
- data/spec/dummy/db/migrate/20210218213849_add_name_to_spree_addresses.spree.rb +14 -0
- data/spec/dummy/db/migrate/20210218213850_add_api_key_to_spree_users.spree_api.rb +10 -0
- data/spec/dummy/db/migrate/20210218213851_resize_api_key_field.spree_api.rb +10 -0
- data/spec/dummy/db/migrate/20210218213852_rename_api_key_to_spree_api_key.spree_api.rb +10 -0
- data/spec/dummy/db/migrate/20210218213853_add_index_to_user_spree_api_key.spree_api.rb +10 -0
- data/spec/dummy/db/schema.rb +1215 -0
- data/spec/dummy/db/seeds.rb +10 -0
- data/spec/dummy/db/solidus_test.sqlite3 +0 -0
- data/spec/dummy/log/test.log +1198 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/spec/dummy/public/apple-touch-icon.png +0 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/development_secret.txt +1 -0
- data/spec/dummy/vendor/assets/javascripts/spree/backend/all.js +10 -0
- data/spec/dummy/vendor/assets/javascripts/spree/frontend/all.js +10 -0
- data/{app/assets/stylesheets/spree/backend/solidus_i18n.css → spec/dummy/vendor/assets/stylesheets/spree/backend/all.css} +1 -0
- data/{app/assets/stylesheets/spree/frontend/solidus_i18n.css → spec/dummy/vendor/assets/stylesheets/spree/frontend/all.css} +1 -0
- data/spec/examples.txt +4 -0
- data/spec/solidus_i18n_spec.rb +67 -0
- data/spec/spec_helper.rb +15 -13
- metadata +222 -264
- data/.travis.yml +0 -30
- data/app/assets/javascripts/spree/backend/solidus_i18n.js +0 -2
- data/app/assets/javascripts/spree/backend/translations.js.coffee +0 -5
- data/app/assets/javascripts/spree/frontend/locale.js.coffee +0 -3
- data/app/assets/javascripts/spree/frontend/solidus_i18n.js +0 -2
- data/app/controllers/spree/admin/locales_controller.rb +0 -16
- data/app/controllers/spree/api/base_controller_decorator.rb +0 -3
- data/app/controllers/spree/base_controller_decorator.rb +0 -3
- data/app/controllers/spree/locale_controller_decorator.rb +0 -6
- data/app/helpers/solidus_i18n/locale_helper.rb +0 -31
- data/app/overrides/spree/admin/shared/_configuration_menu/add_i18n_tab.html.erb.deface +0 -2
- data/app/overrides/spree/shared/_main_nav_bar/locale_selector.html.erb.deface +0 -16
- data/app/views/spree/admin/locales/show.html.erb +0 -27
- data/config/initializers/country_names.rb +0 -51
- data/config/initializers/routing_filter.rb +0 -2
- data/db/migrate/20150609154031_remove_translations_from_spree_tables.rb +0 -65
- data/lib/solidus_i18n/configuration.rb +0 -9
- data/lib/solidus_i18n/controller_locale_helper.rb +0 -29
- data/lib/solidus_i18n/locale.rb +0 -13
- data/spec/controllers/locales_controller_spec.rb +0 -24
- data/spec/features/admin/translations_spec.rb +0 -34
- data/spec/features/russian_errors_translation_spec.rb +0 -17
- data/spec/features/translation_spec.rb +0 -31
- data/spec/features/translations_spec.rb +0 -28
- data/spec/support/capybara.rb +0 -11
- data/spec/support/database_cleaner.rb +0 -23
- data/spec/support/factory_girl.rb +0 -5
- data/spec/support/i18n.rb +0 -5
- data/spec/support/spree.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e81407d27ac8d4d865c858353136816de626274eb4b0ceaf1feababdd89dae18
|
4
|
+
data.tar.gz: a4a36c750eb435adaf4be6af1f8cd248c5f4a2658e9eea03d06dd942abdc71a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4dd88e9176dfa9d5a0b880c327796635282ce844183f57591aa587c3461a2e4becafa792a93a6ee036e8fb5c88aa3542ca72576169a9969e84f481099ab64dfd
|
7
|
+
data.tar.gz: 4c23b55f2cf650a14d3d26988bdb82e0f24bda27f858ceba812b2e0ff9c8482eccaeaf5082f06a3093f13eab1bdee536f7fda82710fa5f7daa60b271089e86b2
|
@@ -0,0 +1,35 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
orbs:
|
4
|
+
# Always take the latest version of the orb, this allows us to
|
5
|
+
# run specs against Solidus supported versions only without the need
|
6
|
+
# to change this configuration every time a Solidus version is released
|
7
|
+
# or goes EOL.
|
8
|
+
solidusio_extensions: solidusio/extensions@volatile
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
run-specs-with-postgres:
|
12
|
+
executor: solidusio_extensions/postgres
|
13
|
+
steps:
|
14
|
+
- solidusio_extensions/run-tests
|
15
|
+
run-specs-with-mysql:
|
16
|
+
executor: solidusio_extensions/mysql
|
17
|
+
steps:
|
18
|
+
- solidusio_extensions/run-tests
|
19
|
+
|
20
|
+
workflows:
|
21
|
+
"Run specs on supported Solidus versions":
|
22
|
+
jobs:
|
23
|
+
- run-specs-with-postgres
|
24
|
+
- run-specs-with-mysql
|
25
|
+
"Weekly run specs against master":
|
26
|
+
triggers:
|
27
|
+
- schedule:
|
28
|
+
cron: "0 0 * * 4" # every Thursday
|
29
|
+
filters:
|
30
|
+
branches:
|
31
|
+
only:
|
32
|
+
- master
|
33
|
+
jobs:
|
34
|
+
- run-specs-with-postgres
|
35
|
+
- run-specs-with-mysql
|
data/.gem_release.yml
ADDED
data/.github/stale.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# Number of days of inactivity before an issue becomes stale
|
2
|
+
daysUntilStale: 60
|
3
|
+
# Number of days of inactivity before a stale issue is closed
|
4
|
+
daysUntilClose: 7
|
5
|
+
# Issues with these labels will never be considered stale
|
6
|
+
exemptLabels:
|
7
|
+
- pinned
|
8
|
+
- security
|
9
|
+
# Label to use when marking an issue as stale
|
10
|
+
staleLabel: wontfix
|
11
|
+
# Comment to post when marking an issue as stale. Set to `false` to disable
|
12
|
+
markComment: >
|
13
|
+
This issue has been automatically marked as stale because it has not had
|
14
|
+
recent activity. It will be closed if no further activity occurs. Thank you
|
15
|
+
for your contributions.
|
16
|
+
# Comment to post when closing a stale issue. Set to `false` to disable
|
17
|
+
closeComment: false
|
data/.gitignore
CHANGED
@@ -1,20 +1,16 @@
|
|
1
|
+
*.gem
|
1
2
|
\#*
|
2
3
|
*~
|
3
4
|
.#*
|
4
5
|
.DS_Store
|
5
6
|
.idea
|
6
|
-
.localeapp/locales
|
7
7
|
.project
|
8
|
+
.sass-cache
|
8
9
|
coverage
|
9
|
-
config/locales/en.yml
|
10
10
|
Gemfile.lock
|
11
11
|
tmp
|
12
12
|
nbproject
|
13
13
|
pkg
|
14
|
-
*.
|
14
|
+
*.swp
|
15
15
|
spec/dummy
|
16
|
-
.
|
17
|
-
.sass-cache
|
18
|
-
public/spree
|
19
|
-
.ruby-version
|
20
|
-
.ruby-gemset
|
16
|
+
spec/examples.txt
|
data/.hound.yml
CHANGED
data/.rspec
ADDED
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2020-01-24 11:23:54 +0100 using RuboCop version 0.76.0.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
RSpec/DescribeClass:
|
11
|
+
Exclude:
|
12
|
+
- 'spec/solidus_i18n_spec.rb'
|
13
|
+
|
14
|
+
# Offense count: 2
|
15
|
+
# Configuration parameters: IgnoreSharedExamples.
|
16
|
+
RSpec/NamedSubject:
|
17
|
+
Exclude:
|
18
|
+
- 'spec/solidus_i18n_spec.rb'
|
data/Gemfile
CHANGED
@@ -1,21 +1,31 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
2
5
|
|
3
6
|
branch = ENV.fetch('SOLIDUS_BRANCH', 'master')
|
4
|
-
gem
|
7
|
+
gem 'solidus', github: 'solidusio/solidus', branch: branch
|
8
|
+
|
9
|
+
# Needed to help Bundler figure out how to resolve dependencies,
|
10
|
+
# otherwise it takes forever to resolve them.
|
11
|
+
# See https://github.com/bundler/bundler/issues/6677
|
12
|
+
gem 'rails', '>0.a'
|
5
13
|
|
6
|
-
|
7
|
-
|
14
|
+
case ENV['DB']
|
15
|
+
when 'mysql'
|
16
|
+
gem 'mysql2'
|
17
|
+
when 'postgresql'
|
18
|
+
gem 'pg'
|
8
19
|
else
|
9
|
-
gem
|
20
|
+
gem 'sqlite3'
|
10
21
|
end
|
11
22
|
|
12
|
-
gem 'pg', '~> 0.21'
|
13
|
-
gem 'sqlite3'
|
14
|
-
gem 'mysql2'
|
15
|
-
|
16
23
|
group :development, :test do
|
17
|
-
gem "pry-rails"
|
18
24
|
gem 'i18n-tasks', '~> 0.9' if branch == 'master'
|
19
25
|
end
|
20
26
|
|
21
27
|
gemspec
|
28
|
+
|
29
|
+
# Use a local Gemfile to include development dependencies that might not be
|
30
|
+
# relevant for the project or for other contributors, e.g.: `gem 'pry-debug'`.
|
31
|
+
eval_gemfile 'Gemfile-local' if File.exist? 'Gemfile-local'
|
data/{LICENSE.md → LICENSE}
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2011-2015 Spree Commerce Inc
|
1
|
+
Copyright (c) 2011-2015 Spree Commerce Inc. and other contributors
|
2
2
|
All rights reserved.
|
3
3
|
|
4
4
|
Redistribution and use in source and binary forms, with or without modification,
|
@@ -9,7 +9,7 @@ are permitted provided that the following conditions are met:
|
|
9
9
|
* Redistributions in binary form must reproduce the above copyright notice,
|
10
10
|
this list of conditions and the following disclaimer in the documentation
|
11
11
|
and/or other materials provided with the distribution.
|
12
|
-
* Neither the name
|
12
|
+
* Neither the name Solidus nor the names of its contributors may be used to
|
13
13
|
endorse or promote products derived from this software without specific
|
14
14
|
prior written permission.
|
15
15
|
|
data/README.md
CHANGED
@@ -1,61 +1,66 @@
|
|
1
1
|
# Solidus Internationalization
|
2
2
|
|
3
|
-
[![
|
4
|
-
[![Code Climate](https://codeclimate.com/github/solidusio
|
3
|
+
[![CircleCI](https://circleci.com/gh/solidusio/solidus_i18n.svg?style=svg)](https://circleci.com/gh/solidusio/solidus_i18n)
|
4
|
+
[![Code Climate](https://codeclimate.com/github/solidusio/solidus_i18n/badges/gpa.svg)](https://codeclimate.com/github/solidusio/solidus_i18n)
|
5
5
|
[![Gem Version](https://badge.fury.io/rb/solidus_i18n.svg)](https://badge.fury.io/rb/solidus_i18n)
|
6
6
|
|
7
7
|
This is the Internationalization project for [Solidus](https://solidus.io)
|
8
8
|
|
9
9
|
---
|
10
10
|
|
11
|
-
##
|
11
|
+
## Changes in Version 2.0
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
solidus_i18n Version 2.0+ only contains translation files.
|
14
|
+
|
15
|
+
Previous versions of solidus_i18n included extra functionality like locale
|
16
|
+
selectors and which is now built in to Solidus 2.6+. Configuration for
|
17
|
+
`routing-filter` has also been removed and must be configured manually
|
18
|
+
(See [Locale in URL](#locale-in-url)).
|
17
19
|
|
18
20
|
## Installation
|
19
21
|
|
20
22
|
Add the following to your `Gemfile`:
|
21
23
|
|
22
24
|
```ruby
|
23
|
-
gem 'solidus_i18n',
|
25
|
+
gem 'solidus_i18n', '~> 2.0'
|
26
|
+
gem 'rails-i18n', '~> 5.1'
|
27
|
+
gem 'kaminari-i18n', '~> 0.5.0'
|
24
28
|
```
|
25
29
|
|
26
|
-
|
27
|
-
|
28
|
-
You can use the generator to install migrations and append solidus_i18n assets to
|
29
|
-
your app solidus manifest file.
|
30
|
-
|
31
|
-
bin/rails g solidus_i18n:install
|
30
|
+
## Locale in URL
|
32
31
|
|
33
|
-
|
32
|
+
Older versions of solidus_i18n included the routing-filter gem and configured routes to include the locale in the URL.
|
33
|
+
This is still supported (maybe even recommended) but requires some additional configuration.
|
34
34
|
|
35
|
-
|
35
|
+
1. Add this gem to your `Gemfile`, then run `bundle install`
|
36
36
|
|
37
|
-
```
|
38
|
-
|
37
|
+
``` ruby
|
38
|
+
gem 'routing-filter', '~> 0.6.0'
|
39
39
|
```
|
40
40
|
|
41
|
-
|
41
|
+
2. Add `filter :locale` to your `config/routes.rb`
|
42
42
|
|
43
|
-
```
|
44
|
-
|
45
|
-
|
43
|
+
``` ruby
|
44
|
+
Rails.application.routes.draw do
|
45
|
+
filter :locale
|
46
46
|
|
47
|
-
|
47
|
+
mount Spree::Core::Engine, at: '/'
|
48
|
+
end
|
49
|
+
```
|
48
50
|
|
49
|
-
|
50
|
-
for both frontend and backend. Just replace `'en'` with your default locale
|
51
|
-
code.
|
51
|
+
3. Configure routing-fitler in `config/initializers/locale_filter.rb` (optional)
|
52
52
|
|
53
|
-
|
53
|
+
``` ruby
|
54
|
+
# Do not include the default locale in the URL
|
55
|
+
RoutingFilter::Locale.include_default_locale = false
|
56
|
+
```
|
54
57
|
|
55
|
-
|
56
|
-
you want your users to be able to select from the locale toggle on the frontend.
|
58
|
+
## Supported languages
|
57
59
|
|
58
|
-
|
60
|
+
We currently support the [following locales](https://github.com/solidusio/solidus_i18n/tree/master/config/locales)
|
61
|
+
by default. If you need a locale that is not in the list you can add a custom
|
62
|
+
translation file into your application by following the
|
63
|
+
[Rails translations guide](http://guides.rubyonrails.org/i18n.html#how-to-store-your-custom-translations).
|
59
64
|
|
60
65
|
## Updating Translations
|
61
66
|
|
@@ -69,8 +74,6 @@ Substitute <LOCALE> with your locale code (e.g: `it`).
|
|
69
74
|
This will do a cleanup and prepare `<LOCALE>.yml` with all the missing keys.
|
70
75
|
You can then write the translations and open a pull request.
|
71
76
|
|
72
|
-
---
|
73
|
-
|
74
77
|
## Model Translations
|
75
78
|
|
76
79
|
We **removed** support for translating models into [a separate Gem](https://github.com/solidusio-contrib/solidus_globalize).
|
@@ -82,23 +85,21 @@ Please update your `Gemfile` if you still need the model translations.
|
|
82
85
|
gem 'solidus_globalize', github: 'solidusio-contrib/solidus_globalize', branch: 'master'
|
83
86
|
```
|
84
87
|
|
85
|
-
|
88
|
+
## Localizing country names
|
86
89
|
|
87
|
-
|
90
|
+
You can translate country names by defining `spree.country_names` in your own locale files. For example, to have countries in Spanish do:
|
88
91
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
### 2. Remove Configuration
|
99
|
-
|
100
|
-
Remove all occurrences of `SolidusI18n::Config.supported_locales` from your code.
|
92
|
+
```yml
|
93
|
+
es:
|
94
|
+
spree:
|
95
|
+
country_names:
|
96
|
+
US: Estados Unidos de América
|
97
|
+
UK: Reino Unido
|
98
|
+
CA: Canadá
|
99
|
+
# ...
|
100
|
+
```
|
101
101
|
|
102
|
+
Some supported languages already define localized country names. Take a look at this repo's `.yml` files for your locale to confirm if we already provide translations.
|
102
103
|
|
103
104
|
Contributing
|
104
105
|
------------
|
data/Rakefile
CHANGED
@@ -1,38 +1,22 @@
|
|
1
|
-
|
2
|
-
Bundler::GemHelper.install_tasks
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
require '
|
5
|
-
|
6
|
-
|
7
|
-
task :default do
|
8
|
-
if Dir["spec/dummy"].empty?
|
9
|
-
Rake::Task[:test_app].invoke
|
10
|
-
Dir.chdir("../../")
|
11
|
-
end
|
12
|
-
Rake::Task[:spec].invoke
|
13
|
-
end
|
14
|
-
|
15
|
-
require 'spree/testing_support/common_rake'
|
16
|
-
desc 'Generates a dummy app for testing'
|
17
|
-
task :test_app do
|
18
|
-
ENV['LIB_NAME'] = 'solidus_i18n'
|
19
|
-
Rake::Task['common:test_app'].invoke
|
20
|
-
end
|
3
|
+
require 'solidus_dev_support/rake_tasks'
|
4
|
+
SolidusDevSupport::RakeTasks.install
|
21
5
|
|
22
6
|
require 'solidus_i18n'
|
23
7
|
namespace :solidus_i18n do
|
24
8
|
desc 'Update by retrieving the latest Solidus locale files'
|
25
|
-
task :
|
9
|
+
task update_default: :environment do
|
26
10
|
require 'open-uri'
|
27
|
-
puts
|
11
|
+
puts 'Fetching latest Solidus locale file'
|
28
12
|
location = 'https://raw.github.com/solidusio/solidus/master/core/config/locales/en.yml'
|
29
13
|
|
30
|
-
|
31
|
-
file << open(location).read
|
32
|
-
end
|
14
|
+
File.write("#{locales_dir}/en.yml", URI.parse(location).read)
|
33
15
|
end
|
34
16
|
|
35
17
|
def locales_dir
|
36
18
|
File.join File.dirname(__FILE__), 'config/locales'
|
37
19
|
end
|
38
20
|
end
|
21
|
+
|
22
|
+
task default: 'extension:specs'
|
data/bin/console
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require "bundler/setup"
|
6
|
+
require "solidus_i18n"
|
7
|
+
|
8
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
9
|
+
# with your gem easier. You can also use a different console, if you like.
|
10
|
+
$LOAD_PATH.unshift(*Dir["#{__dir__}/../app/*"])
|
11
|
+
|
12
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
13
|
+
# require "pry"
|
14
|
+
# Pry.start
|
15
|
+
|
16
|
+
require "irb"
|
17
|
+
IRB.start(__FILE__)
|
data/bin/rails
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
ENGINE_PATH = File.expand_path('../../lib/solidus_i18n/engine', __FILE__)
|
3
|
+
# frozen_string_literal: true
|
5
4
|
|
6
|
-
|
7
|
-
|
5
|
+
app_root = 'spec/dummy'
|
6
|
+
|
7
|
+
unless File.exist? "#{app_root}/bin/rails"
|
8
|
+
system "bin/rake", app_root or begin # rubocop:disable Style/AndOr
|
9
|
+
warn "Automatic creation of the dummy app failed"
|
10
|
+
exit 1
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
Dir.chdir app_root
|
15
|
+
exec 'bin/rails', *ARGV
|
data/bin/setup
ADDED
data/config/locales/bg.yml
CHANGED
@@ -275,52 +275,6 @@ bg:
|
|
275
275
|
spree/zone:
|
276
276
|
one: Zone Зона
|
277
277
|
other: "Зони"
|
278
|
-
devise:
|
279
|
-
confirmations:
|
280
|
-
confirmed: "Вашият акаунт е потвърден. Вече сте вписан."
|
281
|
-
send_instructions: "До няколко минути ще получите съобщение с обяснение как да потвърдите своя акаунт."
|
282
|
-
failure:
|
283
|
-
inactive: "Вашият акаунт все още не е активен."
|
284
|
-
invalid: "Грешен имейл или парола"
|
285
|
-
invalid_token: Invalid authentication token.
|
286
|
-
locked: "Вашият акаунт е заключен."
|
287
|
-
timeout: "Вашата сесия е изтекла, моля влезте повторно."
|
288
|
-
unauthenticated: "Трябва да се впишете или регистрирате преди да продължите"
|
289
|
-
unconfirmed: "Трябва да потвърдите акаунта си преди да продължите."
|
290
|
-
mailer:
|
291
|
-
confirmation_instructions:
|
292
|
-
subject: "Инструкции за потвърждаване"
|
293
|
-
reset_password_instructions:
|
294
|
-
subject: Reset password instructions Инструкции за смяна на паролата
|
295
|
-
unlock_instructions:
|
296
|
-
subject: "Инструкции за отключване"
|
297
|
-
oauth_callbacks:
|
298
|
-
failure: Could not authorise you from %{kind} because %{reason}.
|
299
|
-
success: Successfully authorised from %{kind} account.
|
300
|
-
unlocks:
|
301
|
-
send_instructions: "До няколко минути ще получите имейл с инструкции как да отключите своя акаунт."
|
302
|
-
unlocked: "Вашият акаунт бе отключен успешно. Вече сте вписани."
|
303
|
-
user_passwords:
|
304
|
-
user:
|
305
|
-
cannot_be_blank: "Вашата парола не може бъде празна"
|
306
|
-
send_instructions: "До няколко минути ще получите имейл с инструкции как да промените паролата си."
|
307
|
-
updated: "Вашата парола бе променена успешко. Вече сте вписани."
|
308
|
-
user_registrations:
|
309
|
-
destroyed: "Вашият акаунт бе отменен успешно. Надяваме се да ви видим скоро."
|
310
|
-
inactive_signed_up: You have signed up successfully. However, we could not sign you in because your account is %{reason}.
|
311
|
-
signed_up: "Вие се регистрирахте успешно."
|
312
|
-
updated: "Успешно обновихте своя акаунт."
|
313
|
-
user_sessions:
|
314
|
-
signed_in: "Успешно влизане"
|
315
|
-
signed_out: "Успешно излизане"
|
316
|
-
errors:
|
317
|
-
messages:
|
318
|
-
already_confirmed: "Вече бе потвърден"
|
319
|
-
not_found: "не намерен"
|
320
|
-
not_locked: "не бе заключен"
|
321
|
-
not_saved:
|
322
|
-
one: "Една грешка предоотврати запазването на %{resource}"
|
323
|
-
other: "%{count} грешки предоотвратиха запазването на %{resource}"
|
324
278
|
spree:
|
325
279
|
abbreviation: "Абривиатура"
|
326
280
|
accept:
|
@@ -561,7 +515,7 @@ bg:
|
|
561
515
|
date_picker:
|
562
516
|
first_day: 0
|
563
517
|
format: "%Y/%m/%d"
|
564
|
-
js_format:
|
518
|
+
js_format: Y/m/d
|
565
519
|
date_range:
|
566
520
|
default:
|
567
521
|
default_refund_amount:
|
data/config/locales/ca.yml
CHANGED
@@ -281,50 +281,6 @@ ca:
|
|
281
281
|
spree/zone:
|
282
282
|
one: Zona
|
283
283
|
other:
|
284
|
-
devise:
|
285
|
-
confirmations:
|
286
|
-
confirmed:
|
287
|
-
send_instructions:
|
288
|
-
failure:
|
289
|
-
inactive: El seu compte no s'ha estat activat encara.
|
290
|
-
invalid: Correu electrònic o contrasenya no vàlids.
|
291
|
-
invalid_token: Token d'autenticació no vàlid.
|
292
|
-
locked: El seu compte està bloquejat.
|
293
|
-
timeout:
|
294
|
-
unauthenticated:
|
295
|
-
unconfirmed:
|
296
|
-
mailer:
|
297
|
-
confirmation_instructions:
|
298
|
-
subject:
|
299
|
-
reset_password_instructions:
|
300
|
-
subject:
|
301
|
-
unlock_instructions:
|
302
|
-
subject:
|
303
|
-
oauth_callbacks:
|
304
|
-
failure:
|
305
|
-
success:
|
306
|
-
unlocks:
|
307
|
-
send_instructions:
|
308
|
-
unlocked:
|
309
|
-
user_passwords:
|
310
|
-
user:
|
311
|
-
cannot_be_blank:
|
312
|
-
send_instructions:
|
313
|
-
updated:
|
314
|
-
user_registrations:
|
315
|
-
destroyed:
|
316
|
-
inactive_signed_up:
|
317
|
-
signed_up:
|
318
|
-
updated:
|
319
|
-
user_sessions:
|
320
|
-
signed_in:
|
321
|
-
signed_out:
|
322
|
-
errors:
|
323
|
-
messages:
|
324
|
-
already_confirmed:
|
325
|
-
not_found: no trobat
|
326
|
-
not_locked:
|
327
|
-
not_saved:
|
328
284
|
spree:
|
329
285
|
abbreviation: Abreviatura
|
330
286
|
accept:
|
@@ -562,10 +518,6 @@ ca:
|
|
562
518
|
jirafe_settings_updated:
|
563
519
|
date: Data
|
564
520
|
date_completed:
|
565
|
-
date_picker:
|
566
|
-
first_day:
|
567
|
-
format:
|
568
|
-
js_format:
|
569
521
|
date_range: Rang de Data
|
570
522
|
default: Per omissió
|
571
523
|
default_refund_amount:
|
@@ -1027,7 +979,18 @@ ca:
|
|
1027
979
|
receive: rebre
|
1028
980
|
receive_stock:
|
1029
981
|
received: Rebut
|
1030
|
-
|
982
|
+
reception_states:
|
983
|
+
awaiting: En espera
|
984
|
+
cancelled: Cancel·lat
|
985
|
+
expired: Expirat
|
986
|
+
given_to_customer: Entregat al client
|
987
|
+
in_transit: En trànsit
|
988
|
+
lost_in_transit: Perdut en trànsit
|
989
|
+
received: Rebut
|
990
|
+
shipped_wrong_item: Article incorrecte
|
991
|
+
short_shipped: No inclòs en l'enviament
|
992
|
+
unexchanged: Sense canvis
|
993
|
+
reception_status: Estat de recepció
|
1031
994
|
reference:
|
1032
995
|
refund: Retornar
|
1033
996
|
refund_amount_must_be_greater_than_zero:
|
data/config/locales/cs.yml
CHANGED
@@ -303,53 +303,6 @@ cs:
|
|
303
303
|
few: Zóny
|
304
304
|
one: Zóna
|
305
305
|
other: Zón
|
306
|
-
devise:
|
307
|
-
confirmations:
|
308
|
-
confirmed: Váš účet byl úspěšně potvrzen. Nyní jste přihlášen(a).
|
309
|
-
send_instructions: Za několik minut obdržíte email s instrukcemi k potvrzení vašeho účtu.
|
310
|
-
failure:
|
311
|
-
inactive: Váš účet ještě nebyl aktivován.
|
312
|
-
invalid: Neplatný email nebo heslo.
|
313
|
-
invalid_token: Neplatný ověřovací symbol.
|
314
|
-
locked: Váš účet je uzamčen.
|
315
|
-
timeout: Vaše relace vypršela, přihlaste se prosím znovu, pak můžete pokračovat.
|
316
|
-
unauthenticated: Musíte se přihlásit, pak můžete pokračovat.
|
317
|
-
unconfirmed: Musíte potvrdit svůj účet, pak můžete pokračovat.
|
318
|
-
mailer:
|
319
|
-
confirmation_instructions:
|
320
|
-
subject: Instrukce k potvrzení účtu
|
321
|
-
reset_password_instructions:
|
322
|
-
subject: Instrukce k nastavení nového hesla
|
323
|
-
unlock_instructions:
|
324
|
-
subject: Instrukce k odemčení účtu
|
325
|
-
oauth_callbacks:
|
326
|
-
failure: 'Není možné autorizovat z %{kind}, protože: %{reason}.'
|
327
|
-
success: "Úspěšná autorizace z účtu %{kind}."
|
328
|
-
unlocks:
|
329
|
-
send_instructions: Za několik minut obdržíte email s instrukcemi, jak odemknout svůj účet.
|
330
|
-
unlocked: Váš účet byl úspěšně odemknut. Nyní jste přihlášen(a).
|
331
|
-
user_passwords:
|
332
|
-
user:
|
333
|
-
cannot_be_blank: Heslo nemůže být prázdné.
|
334
|
-
send_instructions: Za několik minut obdržíte email s instrukcemi k nastavení nového hesla.
|
335
|
-
updated: Vaše heslo bylo úspěšně změněno. Nyní jste přihlášen(a).
|
336
|
-
user_registrations:
|
337
|
-
destroyed: Na shledanou! Váš účet byl úspěšně zrušen. Doufáme, že se brzy opět uvidíme.
|
338
|
-
inactive_signed_up: Registrace byla úspěšná. Nicméně se nemůžete přihlásit, protože Váš účet je %{reason}.
|
339
|
-
signed_up: Vítejte! Registrace byla úspěšná.
|
340
|
-
updated: Váš účet byl úspěšně aktualizován.
|
341
|
-
user_sessions:
|
342
|
-
signed_in: Přihlášení bylo úspěšné.
|
343
|
-
signed_out: Odhlášení bylo úspěšné.
|
344
|
-
errors:
|
345
|
-
messages:
|
346
|
-
already_confirmed: již byl potvrzen
|
347
|
-
not_found: nenalezen
|
348
|
-
not_locked: nebyl uzamčen
|
349
|
-
not_saved:
|
350
|
-
few: "%{count} chyby zabraňují uložení %{resource}:"
|
351
|
-
one: '1 chyba zabraňuje uložení %{resource}:'
|
352
|
-
other: "%{count} chyb zabraňuje uložení %{resource}:"
|
353
306
|
spree:
|
354
307
|
abbreviation: Zkratka
|
355
308
|
accept: Přijmout
|
@@ -593,7 +546,7 @@ cs:
|
|
593
546
|
date_picker:
|
594
547
|
first_day: 1
|
595
548
|
format: "%d.%m.%Y"
|
596
|
-
js_format:
|
549
|
+
js_format: d.m.Y
|
597
550
|
date_range: Datum (od-do)
|
598
551
|
default: Výchozí
|
599
552
|
default_refund_amount: Výchozí částka refundace
|