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)