From 8238e66fb1b3cebc0541d30b5d7973c168cf8d64 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Fri, 26 Dec 2014 11:41:05 +0000 Subject: [PATCH] Merged r13807. git-svn-id: http://svn.redmine.org/redmine/branches/2.6-stable@13808 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/i18n.rb | 3 ++- test/unit/lib/redmine/i18n_test.rb | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/redmine/i18n.rb b/lib/redmine/i18n.rb index 3e783170f..959831986 100644 --- a/lib/redmine/i18n.rb +++ b/lib/redmine/i18n.rb @@ -93,7 +93,7 @@ module Redmine # The result is cached to prevent from loading all translations files # unless :cache => false option is given def languages_options(options={}) - if options[:cache] == false + options = if options[:cache] == false valid_languages. select {|locale| ::I18n.exists?(:general_lang_name, locale)}. map {|lang| [ll(lang.to_s, :general_lang_name), lang.to_s]}. @@ -103,6 +103,7 @@ module Redmine languages_options :cache => false end end + options.map {|name, lang| [name.force_encoding("UTF-8"), lang.force_encoding("UTF-8")]} end def find_language(lang) diff --git a/test/unit/lib/redmine/i18n_test.rb b/test/unit/lib/redmine/i18n_test.rb index 6d3561486..1cb7a3d0f 100644 --- a/test/unit/lib/redmine/i18n_test.rb +++ b/test/unit/lib/redmine/i18n_test.rb @@ -198,6 +198,11 @@ class Redmine::I18nTest < ActiveSupport::TestCase assert_include [ja, "ja"], options end + def test_languages_options_should_return_strings_with_utf8_encoding + strings = languages_options.flatten + assert_equal ["UTF-8"], strings.map(&:encoding).uniq.map(&:name).sort + end + def test_languages_options_should_ignore_locales_without_general_lang_name_key stubs(:valid_languages).returns([:en, :foo]) assert_equal [["English", "en"]], languages_options(:cache => false) -- 2.39.5