Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/twine.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/twine/formatters/flash.rb3
-rw-r--r--test/test_formatters.rb9
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/twine/formatters/flash.rb b/lib/twine/formatters/flash.rb
index 5a1855b..629c4d0 100644
--- a/lib/twine/formatters/flash.rb
+++ b/lib/twine/formatters/flash.rb
@@ -20,7 +20,8 @@ module Twine
end
def determine_language_given_path(path)
- return
+ # match two-letter language code, optionally followed by a two letter region code
+ path.split(File::SEPARATOR).reverse.find { |segment| segment =~ /^([a-z]{2}(-[a-z]{2})?)$/i }
end
def set_translation_for_key(key, lang, value)
diff --git a/test/test_formatters.rb b/test/test_formatters.rb
index 38fb0d2..df85ab7 100644
--- a/test/test_formatters.rb
+++ b/test/test_formatters.rb
@@ -352,4 +352,13 @@ class TestFlashFormatter < FormatterTest
def test_format_value_converts_placeholders
assert_equal "value {0}", @formatter.format_value('value %d')
end
+
+ def test_deducts_language_from_resource_folder
+ language = %w(en de fr).sample
+ assert_equal language, @formatter.determine_language_given_path("locale/#{language}")
+ end
+
+ def test_deducts_language_and_region_from_resource_folder
+ assert_equal 'de-AT', @formatter.determine_language_given_path("locale/de-AT")
+ end
end