diff --git a/lib/gettext/runtime/textdomain.rb b/lib/gettext/runtime/textdomain.rb index 8d519fba..bc9f413a 100644 --- a/lib/gettext/runtime/textdomain.rb +++ b/lib/gettext/runtime/textdomain.rb @@ -91,8 +91,9 @@ def translate_singluar_message(lang, msgid) # Check "aaa\000bbb" and show warning but return the singluar part. ret = nil msgid_single = msgid.split("\000")[0] + regex = /^#{Regexp.quote(msgid_single)}\000/ mofile.each{|key, val| - if key =~ /^#{Regexp.quote(msgid_single)}\000/ + if key =~ regex # Usually, this is not caused to make po-files from rgettext. warn %Q[Warning: n_("#{msgid_single}", "#{msgid.split("\000")[1]}") and n_("#{key.gsub(/\000/, '", "')}") are duplicated.] ret = val @@ -102,8 +103,9 @@ def translate_singluar_message(lang, msgid) ret else ret = nil + regex = /^#{Regexp.quote(msgid)}\000/ mofile.each{|key, val| - if key =~ /^#{Regexp.quote(msgid)}\000/ + if key =~ regex ret = val.split("\000")[0] break end