This project is no longer maintained.
If you only need to handle PO files you might want to check out PoParser
If you only need the raw PO data parsed to a ruby hash check out PoParser's core simple_po_parser
A simple and extendable .mo and .po file parser/generator.
Advanteges over original mo / po-parser:
sudo gem install get_pomo
#parse po files, first with obsolete messages second without
translations = GetPomo::PoFile.parse(File.read('xxx.po'), :parse_obsoletes => true) + GetPomo::PoFile.parse(File.read('yyy.po'))
#and use the data...
msgids = translations.reject{|t|t.plural? or t.fuzzy? or t.obsolete?}.map(&:msgid)
#or write a new po file (unique by msgid, with merged references for non uniques)...
File.open('xxx.po','w){|f|f.print(GetPomo::PoFile.to_text(translations, :merge => true))}
p = GetPomo::PoFile.new
p.add_translations_from_text(File.read('...'))
...
p.translations
p.to_text
GetPomo::MoFile
behaves identical.
Michael Grosser [email protected] License: MIT