route_translator 14.1.2 → 15.0.0
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 +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +2 -2
- data/lib/generators/route_translator/templates/config/initializers/route_translator.rb +4 -1
- data/lib/route_translator/extensions.rb +3 -3
- data/lib/route_translator/translator/path/segment.rb +2 -2
- data/lib/route_translator/translator/path.rb +1 -1
- data/lib/route_translator/translator.rb +3 -5
- data/lib/route_translator/version.rb +1 -1
- data/lib/route_translator.rb +5 -5
- metadata +4 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a393716835c2c542d7f158782dcf1dcbaf163185bb4a1f85ff1be5507accbbf
|
4
|
+
data.tar.gz: 9ea86dcbebec6a9cea19b280da5a821cfccd6951e5d4c5b79ca43582053c8869
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1fe1869d56070ea8de79618f8c6cd8fe5e6360b6be50637ac94ac9a13db13d6ce44f807a4745b4973cef5126049b1d7314d2c46401d7aa6af1d081cb63c9f84
|
7
|
+
data.tar.gz: d91df79e0dabed0f438757b364e467d85c1d1691c324e9098b5c1446805e6735a594e5d425d48345c47dcdb01f6438a30358a09a52195de93a46c425b5ccc944
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 15.0.0 / 2025-06-12
|
4
|
+
|
5
|
+
* [FEATURE] Drop Ruby < 3.1 support
|
6
|
+
* [BUGFIX] POTENTIAL BREAKING CHANGE: Route helper locale parameters now work without host_locales configuration ([#329](https://github.com/enriclluelles/route_translator/pull/329))
|
7
|
+
|
8
|
+
## 14.2.0 / 2024-11-08
|
9
|
+
|
10
|
+
* [FEATURE] Rails 8.0 compatibility
|
11
|
+
|
3
12
|
## 14.1.2 / 2024-05-27
|
4
13
|
|
5
14
|
* [ENHANCEMENT] Test against Ruby 3.3
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ RouteTranslator is a gem to allow you to manage the translations of your app rou
|
|
9
9
|
|
10
10
|
It started as a fork of the awesome [translate_routes](https://github.com/raul/translate_routes) plugin by [Raúl Murciano](https://github.com/raul).
|
11
11
|
|
12
|
-
Right now it works with Rails 6.1 and
|
12
|
+
Right now it works with Rails 6.1, 7.x, and 8.0
|
13
13
|
|
14
14
|
## Quick Start
|
15
15
|
|
@@ -275,7 +275,7 @@ end
|
|
275
275
|
| `generate_unlocalized_routes` | Add translated routes without deleting original unlocalized versions. **Note:** Autosets `force_locale` to `true` | `false` |
|
276
276
|
| `generate_unnamed_unlocalized_routes` | Add the behavior of `force_locale`, but with a named default route which behaves as if `generate_unlocalized_routes` was `true`. `root_path` will redirect to `/en` or `/es`, depending on the value of `I18n.locale` | `false` |
|
277
277
|
| `hide_locale` | Force the locale to be hidden on generated route paths | `false` |
|
278
|
-
| `host_locales` | Set `I18n.locale` based on `request.host`. Useful for apps accepting requests from more than one domain. See below for more details | `{}` |
|
278
|
+
| `host_locales` | Set `I18n.locale` based on `request.host`. Useful for apps accepting requests from more than one domain. The key is a host pattern (supports wildcards for domains, subdomains, and TLDs), and the value is the locale symbol or string to use. See below for more details and examples. | `{}` |
|
279
279
|
| `locale_param_key` | The param key used to set the locale to the newly generated routes | `:locale` |
|
280
280
|
| `locale_segment_proc` | The locale segment of the url will by default be `locale.to_s.downcase`. You can supply your own mechanism via a Proc that takes `locale` as an argument, e.g. `->(locale) { locale.to_s.upcase }` | `false` |
|
281
281
|
|
@@ -31,7 +31,10 @@ RouteTranslator.config do |config|
|
|
31
31
|
# config.hide_locale = false
|
32
32
|
|
33
33
|
# Set `I18n.locale` based on `request.host`. Useful for apps accepting
|
34
|
-
# requests from more than one domain.
|
34
|
+
# requests from more than one domain. This option expects a hash where each
|
35
|
+
# key is a host pattern (as a String, supporting `*` wildcards for subdomains
|
36
|
+
# or TLDs), and each value is a locale (as a Symbol or String).
|
37
|
+
# See the README for more details.
|
35
38
|
# config.host_locales = {}
|
36
39
|
|
37
40
|
# The param key used to set the locale to the newly generated routes
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
require_relative 'extensions/mapper'
|
4
|
+
require_relative 'extensions/route_set'
|
5
|
+
require_relative 'extensions/action_controller'
|
@@ -24,8 +24,8 @@ module RouteTranslator
|
|
24
24
|
handler = proc { |exception| exception }
|
25
25
|
opts = { locale: locale, scope: scope }
|
26
26
|
|
27
|
-
if I18n.t(str, **opts
|
28
|
-
I18n.t! str, **opts
|
27
|
+
if I18n.t(str, **opts, exception_handler: handler).is_a?(I18n::MissingTranslation)
|
28
|
+
I18n.t! str, **opts, **fallback_options(str, locale)
|
29
29
|
else
|
30
30
|
I18n.t str, **opts
|
31
31
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
require_relative 'translator/route_helpers'
|
4
|
+
require_relative 'translator/path'
|
5
|
+
require_relative 'route'
|
6
6
|
|
7
7
|
module RouteTranslator
|
8
8
|
module Translator
|
@@ -10,8 +10,6 @@ module RouteTranslator
|
|
10
10
|
private
|
11
11
|
|
12
12
|
def locale_from_args(args)
|
13
|
-
return if RouteTranslator.config.host_locales.blank?
|
14
|
-
|
15
13
|
args_hash = args.find { |arg| arg.is_a?(Hash) }
|
16
14
|
args_hash&.fetch(:locale, nil)
|
17
15
|
end
|
data/lib/route_translator.rb
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
require 'active_support'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
require_relative 'route_translator/extensions'
|
6
|
+
require_relative 'route_translator/translator'
|
7
|
+
require_relative 'route_translator/host'
|
8
|
+
require_relative 'route_translator/version'
|
9
9
|
|
10
10
|
module RouteTranslator
|
11
11
|
extend RouteTranslator::Host
|
12
12
|
|
13
|
-
TRANSLATABLE_SEGMENT = /^([-_a-zA-Z0-9]+)(\()
|
13
|
+
TRANSLATABLE_SEGMENT = /^([-_a-zA-Z0-9]+)(\()?/
|
14
14
|
|
15
15
|
DEFAULT_CONFIGURATION = {
|
16
16
|
available_locales: [],
|
metadata
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: route_translator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 15.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geremia Taglialatela
|
8
8
|
- Enric Lluelles
|
9
9
|
- Raul Murciano
|
10
|
-
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: actionpack
|
@@ -19,9 +18,6 @@ dependencies:
|
|
19
18
|
- - ">="
|
20
19
|
- !ruby/object:Gem::Version
|
21
20
|
version: '6.1'
|
22
|
-
- - "<"
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version: '8.0'
|
25
21
|
type: :runtime
|
26
22
|
prerelease: false
|
27
23
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,9 +25,6 @@ dependencies:
|
|
29
25
|
- - ">="
|
30
26
|
- !ruby/object:Gem::Version
|
31
27
|
version: '6.1'
|
32
|
-
- - "<"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: '8.0'
|
35
28
|
- !ruby/object:Gem::Dependency
|
36
29
|
name: activesupport
|
37
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,9 +32,6 @@ dependencies:
|
|
39
32
|
- - ">="
|
40
33
|
- !ruby/object:Gem::Version
|
41
34
|
version: '6.1'
|
42
|
-
- - "<"
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '8.0'
|
45
35
|
type: :runtime
|
46
36
|
prerelease: false
|
47
37
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,9 +39,6 @@ dependencies:
|
|
49
39
|
- - ">="
|
50
40
|
- !ruby/object:Gem::Version
|
51
41
|
version: '6.1'
|
52
|
-
- - "<"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '8.0'
|
55
42
|
description: Translates the Rails routes of your application into the languages defined
|
56
43
|
in your locale files
|
57
44
|
email:
|
@@ -87,7 +74,6 @@ metadata:
|
|
87
74
|
bug_tracker_uri: https://github.com/enriclluelles/route_translator/issues
|
88
75
|
changelog_uri: https://github.com/enriclluelles/route_translator/blob/master/CHANGELOG.md
|
89
76
|
source_code_uri: https://github.com/enriclluelles/route_translator
|
90
|
-
post_install_message:
|
91
77
|
rdoc_options: []
|
92
78
|
require_paths:
|
93
79
|
- lib
|
@@ -95,15 +81,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
81
|
requirements:
|
96
82
|
- - ">="
|
97
83
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
84
|
+
version: '3.1'
|
99
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
87
|
- - ">="
|
102
88
|
- !ruby/object:Gem::Version
|
103
89
|
version: '0'
|
104
90
|
requirements: []
|
105
|
-
rubygems_version: 3.
|
106
|
-
signing_key:
|
91
|
+
rubygems_version: 3.6.7
|
107
92
|
specification_version: 4
|
108
93
|
summary: Translate your Rails routes in a simple manner
|
109
94
|
test_files: []
|