mkxp-sunshine/mklang.rb

27 lines
539 B
Ruby
Executable file

#!/usr/bin/ruby
#encoding: utf-8
require 'get_pomo'
require 'zlib'
if ARGV.length != 2
STDERR.puts "usage: mklang.rb src_file out_file"
exit 1
end
src_file = ARGV[0]
dst_file = ARGV[1]
po = GetPomo::PoFile.parse(File.read(src_file, :encoding => 'utf-8'))
File.open(dst_file, 'wb') do |file|
file.write(Marshal.dump(po.map do |t|
id = t.msgid
msg = t.msgstr
id = id.gsub("\\\\","\\")
id = id.gsub("\\\"", "\"")
msg = msg.gsub("\\\\","\\")
msg = msg.gsub("\\\"", "\"")
[Zlib.crc32(id), msg]
end.to_h))
end