Improve locale selection algorithm
Don't include locales which only have rails translations in the candidates, and ensure that user specified options take priority over less specific variants of earlier choices.
This commit is contained in:
parent
b16388d099
commit
bf22c69286
4 changed files with 25 additions and 17 deletions
|
@ -80,7 +80,7 @@ class LocaleTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
def test_available
|
||||
assert_equal I18n.available_locales.count, Locale.available.count
|
||||
assert Locale.available.count <= I18n.available_locales.count
|
||||
end
|
||||
|
||||
def test_preferred
|
||||
|
@ -91,9 +91,7 @@ class LocaleTest < ActiveSupport::TestCase
|
|||
assert_equal "de", Locale.available.preferred(Locale.list("zh-Hant", "de")).to_s
|
||||
assert_equal "zh-TW", Locale.available.preferred(Locale.list("zh-Hant-TW", "de")).to_s
|
||||
assert_equal "zh-TW", Locale.available.preferred(Locale.list("zh-TW", "de")).to_s
|
||||
assert_equal "zh-HK", Locale.available.preferred(Locale.list("yue", "zh-HK", "de")).to_s
|
||||
assert_equal "zh-yue", Locale.available.preferred(Locale.list("yue", "zh-yue", "zh-HK", "de")).to_s
|
||||
assert_equal "zh-yue", Locale.available.preferred(Locale.list("yue", "zh-YUE", "zh-HK", "de")).to_s
|
||||
assert_equal "zh-TW", Locale.available.preferred(Locale.list("zh-HK", "zh-hk", "zh-Hant", "zh-hant", "zh-TW", "zh-tw", "zh", "zh-yue", "yue", "yue-Hant", "yue-HK", "yue-Hans", "zh-classical", "lzh", "ja-Hani", "ko-Hani", "ko_hanja", "vi-Hani", "ja-hani", "ko-hani", "vi-hani", "en-HK", "en-hk", "en-SG", "en-sg", "en-GB", "en-gb", "en-US", "en-us", "en", "ja")).to_s
|
||||
assert_equal "en", Locale.available.preferred(Locale.list("yue")).to_s
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue