asciize=open('asciize.js').read ruby = asciize.dup ruby.gsub!(/\\u\w\w\w\w/) do |n| [n[2..-1].to_i(16)].pack('U').gsub(/./) {|c| "\\x%0.2x" % c[0]} end ruby.gsub! /\[(\\x\w\w)(\\x\w\w)\1(\\x\w\w)\]/, '\1[\2\3]' ruby.gsub! /\[(\\x\w\w)(\\x\w\w)-\1(\\x\w\w)\]/, '\1[\2-\3]' ruby.gsub! /\[(\\x\w\w)(\\x\w\w)-(\\x\w\w)(\\x\w\w)\]/, '\1[\2-\\xff]|\3[\\x80-\4]' ruby.gsub! /name=name\.replace\(/, 'name.gsub! ' ruby.gsub! /name\.replace\(/, 'name.gsub ' ruby.gsub! /return /, '' ruby.gsub! /if \((.*)\) \{/, 'if \1' ruby.gsub! /\/g,/, '/, ' ruby.gsub! /\);$/, '' ruby.gsub! /\/\/ /, '# ' ruby.gsub! /function (.*) \{/, 'def \1' ruby.gsub! /\}/, 'end' ruby.gsub! /\.match\((.*?)\)/, ' =~ \1' open('asciize.rb','w') do |file| file.puts ruby file.puts file.puts 'if __FILE__ == $PROGRAM_NAME' file.puts ' i18n = "I\xc3\xb1t\xc3\xabrn\xc3\xa2ti\xc3\xb4n\xc3\xa0liz\xc3\xa6ti\xc3\xb8n"' file.puts ' puts "#{i18n} => #{asciize(i18n)}"' file.puts 'end' end python = asciize.dup python.gsub!(/\\u\w\w\w\w/) do |n| [n[2..-1].to_i(16)].pack('U').gsub(/./) {|c| "\\x%0.2x" % c[0]} end python.gsub! /\[(\\x\w\w)(\\x\w\w)\1(\\x\w\w)\]/, '\1[\2\3]' python.gsub! /\[(\\x\w\w)(\\x\w\w)-\1(\\x\w\w)\]/, '\1[\2-\3]' python.gsub! /\[(\\x\w\w)(\\x\w\w)-(\\x\w\w)(\\x\w\w)\]/, '\1[\2-\\xff]|\3[\\x80-\4]' python.gsub! /name\.replace\(\//, 're.sub(r"' python.gsub! /if \((.*)\) \{/, 'if \1:' python.gsub! /\/g,/, '", ' python.gsub! /\);$/, ', name)' python.gsub! /\/\/ /, '# ' python.gsub! /function (.*) \{/, 'def \1:' python.gsub! /\s+\}/, '' python.gsub! /(\w+)\.match\(\/(.*?)\/\)/, 're.search(r"\2", \1)' open('asciize.py','w') do |file| file.puts 'import re' file.puts file.puts python file.puts file.puts 'if __name__ == "__main__":' file.puts ' i18n = "I\xc3\xb1t\xc3\xabrn\xc3\xa2ti\xc3\xb4n\xc3\xa0liz\xc3\xa6ti\xc3\xb8n"' file.puts " print i18n, '=>', asciize(i18n)" end upython = asciize.dup upython.gsub! /name\.replace\(\//, 're.sub(u"' upython.gsub! /if \((.*)\) \{/, 'if \1:' upython.gsub! /\/g,/, '", ' upython.gsub! /\);$/, ', name)' upython.gsub! /\/\/ /, '# ' upython.gsub! /function (.*) \{/, 'def u\1:' upython.gsub! /\s+\}/, '' upython.gsub! /(\w+)\.match\(\/(.*?)\/\)/, 're.search(u"\2", \1)' open('uasciize.py','w') do |file| file.puts 'import re' file.puts file.puts upython file.puts file.puts 'if __name__ == "__main__":' file.puts ' i18n = u"I\xf1t\xebrn\xe2ti\xf4n\xe0liz\xe6ti\xf8n"' file.puts " print i18n, '=>', uasciize(i18n)" end