Slide 18
Slide 18 text
# 他の言語のファイルをひとつひとつチェック
Find.find(root_dir) do |path|
if path =~ /.*\.lproj\/Localizable.strings$/ && path !~ /ja\.lproj/
other_file = Apfel.parse(path)
puts "Loaded #{path}, key counts: #{other_file.keys.length}"
# 1. ja のキーと同じキーが多言語のstringsファイルにも存在するか
is_same_keys = check_same_keys(ja_file.keys, other_file.keys)
# 2. ja のコメントと同じコメントが他言語にもあるか
is_same_comments = check_same_comments(ja_file.comments, other_file.comments)
# 3. ja の値に 「%%」、 「%s」、 「%@」、 「%d」 がある時、他言語にも同じ個数含まれるか
no_special_strings_diff = check_replace_strings(ja_file.key_values, other_file.key_values)
# 4. 値に 「%」 だけの文字が含まれていないか
has_single_percent = check_single_percent_string(other_file.key_values)
has_error = !is_same_keys || !is_same_comments || !no_special_strings_diff || !has_single_percent
if has_error
exit 1
end
puts " No errors! Perfect!"
end
end