X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/15b104f4ff4614aa78c01180b6a9b89dd5a1400f..HEAD:/script/locale/yaml2po diff --git a/script/locale/yaml2po b/script/locale/yaml2po deleted file mode 100755 index dbfa1eb74..000000000 --- a/script/locale/yaml2po +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env ruby -# yaml2po, for converting RoR translation YAML to the standard gettext -# for eventual use with a translation site such as Transifex -# Use: -# - To create a 'master' .pot -# yaml2po > translations.pot -# - To create a language's .po (includes from scratch) -# yaml2po de > de.po -# - To create all languages' .pos and a .pot (under /config/locales/po) -# yaml2po --all - -require "yaml" -require "optparse" - -LOCALE_DIR = File.dirname(__FILE__) + "/../../config/locales/" -EN = YAML.load_file(LOCALE_DIR + "en.yml") - -def iterate(hash, fhash = {}, path = "", outfile = $stdout) - hash.each do |key, val| - fhash[key] = {} unless fhash.key? key - if val.is_a? Hash - fhash[key] = {} unless fhash[key].is_a? Hash - iterate(val, fhash[key], path + key + ":", outfile) - else - outfile.puts "msgctxt \"#{path}#{key}\"" - outfile.puts "msgid \"#{val}\"" - outfile.puts "msgstr \"#{fhash[key]}\"" - end - end -end - -def lang2po(lang, outfile = $stdout) - puts lang - infile = LOCALE_DIR + lang + ".yml" - if File.exist? infile - oth = YAML.load_file(infile) - oth = oth[lang] - iterate(EN["en"], oth, "", outfile) - else - iterate(EN["en"], {}, "", outfile) - end -end - -opt = ARGV[0] -if opt == "--all" - # Produce .po files for all langs, and a .pot template - PO_DIR = LOCALE_DIR + "po/" - Dir.mkdir(PO_DIR) unless File.directory?(PO_DIR) - Dir.glob(LOCALE_DIR + "*.yml") do |filename| - lang = File.basename(filename, ".yml") - unless lang == "en" - outfile = File.new(PO_DIR + "#{lang}.po", "w") - lang2po(lang, outfile) - outfile.close - end - end - outfile = File.new(PO_DIR + "rails_port.pot", "w") - iterate(EN["en"], {}, "", outfile) - outfile.close -elsif opt - lang2po(opt) -else - iterate(EN["en"]) -end