lib/babelyoda/strings.rb in babelyoda-2.0.1 vs lib/babelyoda/strings.rb in babelyoda-2.0.2
- old
+ new
@@ -1,7 +1,8 @@
require 'rchardet19'
+require_relative 'file'
require_relative 'keyset'
require_relative 'strings_lexer'
require_relative 'strings_parser'
module Babelyoda
@@ -18,12 +19,13 @@
raise ArgumentError.new("File not found: #{filename}") unless File.exist?(@filename)
read
end
def read
- if File.exist?(@filename)
- File.open(@filename, read_mode) do |f|
+ localized_filename = File.localized(@filename, @language)
+ if File.exist?(localized_filename)
+ File.open(localized_filename, read_mode) do |f|
lexer = StringsLexer.new
parser = StringsParser.new(lexer, @language)
parser.parse(f.read) do |localization_key|
merge_key!(localization_key)
end
@@ -54,9 +56,10 @@
def read_mode
cd = CharDet.detect(File.read(@filename))
encoding_str = Encoding.aliases[cd.encoding] || cd.encoding
encoding_str = 'UTF-8' if encoding_str == 'utf-8'
+ encoding_str = 'UTF-8' if encoding_str == 'ascii'
if (encoding_str != "UTF-8")
"rb:#{encoding_str}:UTF-8"
else
"r"
end