lib/babelyoda/strings.rb in babelyoda-2.1.17 vs lib/babelyoda/strings.rb in babelyoda-2.1.18

- old
+ new

@@ -47,10 +47,11 @@ raise ArgumentError.new("File not found: #{filename}") unless File.exist?(@filename) read end def read + $logger.debug "READING STRINGS FROM: #{@filename} WITH MODE: #{read_mode}" if File.exist?(@filename) File.open(@filename, read_mode) do |f| lexer = StringsLexer.new parser = StringsParser.new(lexer, @language) parser.parse(f.read) do |localization_key| @@ -60,13 +61,19 @@ end self end def save! + $logger.debug "WRITING STRINGS TO: #{filename} WITH MODE: wb:UTF-8" FileUtils.mkdir_p(File.dirname(filename)) - File.open(filename, "wb") do |f| + File.open(filename, "wb:UTF-8") do |f| + write_bom(f) to_strings(f, language) end + end + + def write_bom(f) + f.write "\uFEFF" # Write the byte order mark. end def self.save_keyset(keyset, filename, language) strings = self.new(filename, language) strings.merge!(keyset)