From ff10a6382d8a572774021525a826f0b0f0d02716 Mon Sep 17 00:00:00 2001 From: irisyann Date: Sun, 13 Jul 2025 16:56:44 +0800 Subject: [PATCH 1/2] enforce pt-br locale segment usage when locale is pt --- lib/route_translator/translator/path.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/route_translator/translator/path.rb b/lib/route_translator/translator/path.rb index e7082082..f5aba53e 100644 --- a/lib/route_translator/translator/path.rb +++ b/lib/route_translator/translator/path.rb @@ -26,10 +26,8 @@ def locale_param_present?(path) end def locale_segment(locale) - if RouteTranslator.config.locale_segment_proc - locale_segment_proc = RouteTranslator.config.locale_segment_proc - - locale_segment_proc.to_proc.call(locale) + if locale.to_s.downcase == "pt" + "pt-br" else locale.to_s.downcase end @@ -53,6 +51,10 @@ def translate(path, locale, scope) joined_segments = translated_segments.join('/') + if locale_param_present?(new_path) && locale.to_s.downcase == "pt" + joined_segments.gsub!(":#{RouteTranslator.locale_param_key}", "pt-br") + end + "/#{joined_segments}#{final_optional_segments}".gsub(%r{\/\(\/}, '(/') end end From 15996ef75b4562cfc5ee11e67d0ab24bc9402dfc Mon Sep 17 00:00:00 2001 From: irisyann Date: Mon, 14 Jul 2025 19:07:42 +0800 Subject: [PATCH 2/2] undo locale_segment changes --- lib/route_translator/translator/path.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/route_translator/translator/path.rb b/lib/route_translator/translator/path.rb index f5aba53e..2c00c3d5 100644 --- a/lib/route_translator/translator/path.rb +++ b/lib/route_translator/translator/path.rb @@ -26,8 +26,10 @@ def locale_param_present?(path) end def locale_segment(locale) - if locale.to_s.downcase == "pt" - "pt-br" + if RouteTranslator.config.locale_segment_proc + locale_segment_proc = RouteTranslator.config.locale_segment_proc + + locale_segment_proc.to_proc.call(locale) else locale.to_s.downcase end