##// END OF EJS Templates
Force UTF-8 encoding of language names....
Jean-Philippe Lang -
r13425:3fcd683e6bad
parent child
Show More
@@ -93,7 +93,7 module Redmine
93 93 # The result is cached to prevent from loading all translations files
94 94 # unless :cache => false option is given
95 95 def languages_options(options={})
96 if options[:cache] == false
96 options = if options[:cache] == false
97 97 valid_languages.
98 98 select {|locale| ::I18n.exists?(:general_lang_name, locale)}.
99 99 map {|lang| [ll(lang.to_s, :general_lang_name), lang.to_s]}.
@@ -103,6 +103,7 module Redmine
103 103 languages_options :cache => false
104 104 end
105 105 end
106 options.map {|name, lang| [name.force_encoding("UTF-8"), lang.force_encoding("UTF-8")]}
106 107 end
107 108
108 109 def find_language(lang)
@@ -199,6 +199,11 class Redmine::I18nTest < ActiveSupport::TestCase
199 199 assert_include [ja, "ja"], options
200 200 end
201 201
202 def test_languages_options_should_return_strings_with_utf8_encoding
203 strings = languages_options.flatten
204 assert_equal ["UTF-8"], strings.map(&:encoding).uniq.map(&:name).sort
205 end
206
202 207 def test_languages_options_should_ignore_locales_without_general_lang_name_key
203 208 stubs(:valid_languages).returns([:en, :foo])
204 209 assert_equal [["English", "en"]], languages_options(:cache => false)
General Comments 0
You need to be logged in to leave comments. Login now