X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/34e3e51456774127d43408b7ab65c24f41373f62..37a7996d949b47f76e5a38cc227f5bbb3e4c19fe:/script/locale/po2yaml diff --git a/script/locale/po2yaml b/script/locale/po2yaml index e181bf3d5..69278ea69 100755 --- a/script/locale/po2yaml +++ b/script/locale/po2yaml @@ -11,9 +11,8 @@ def add_translation(hash, keys, value) if keys.empty? hash[key] = value else - unless hash.has_key? key - hash[key] = {} - end + hash[key] ||= {} + add_translation(hash[key], keys, value) end hash @@ -22,29 +21,29 @@ end def po2hash(f) trs = {} path = [] - msgstr = '' - f.each_line { |line| + msgstr = "" + f.each_line do |line| line.strip! if line[0..8] == 'msgctxt "' - path = line[9..-2].split(':') + path = line[9..-2].split(":") elsif line[0..7] == 'msgstr "' msgstr = line[8..-2] end - if !path.empty? and !msgstr.empty? - add_translation(trs, path, msgstr) - path = [] - msgstr = '' - end - } + next if path.empty? || msgstr.empty? + + add_translation(trs, path, msgstr) + path = [] + msgstr = "" + end trs end filename = ARGV[0] pofile = File.open(filename, "r") -langcode = File.basename(filename, '.po') +langcode = File.basename(filename, ".po") -tr = {langcode => po2hash(pofile)} +tr = { langcode => po2hash(pofile) } print tr.to_yaml