A simple and extendable .mo and .po file parser/generator.
Advanteges over original mo / po-parser:
- simple architecture + easy to extend/modify
- emtpy msgstr translations are read
- comments are included
- fuzzy can be set/unset
- multiple translations can be combined in a new po file(with comments and fuzzy and ...)
- po files can be written from any kind of input
- easy mo-file handling/merging
- po/mo file handling is identical, if you know one, you know both
sudo gem install get_pomo
###Static interface #parse po files translations = GetPomo::PoFile.parse(File.read('xxx.po')) + GetPomo::PoFile.parse(File.read('yyy.po'))
#and use the data...
msgids = translations.reject{|t|t.plural? or t.fuzzy?}.map(&:msgid)
#or write a new po file (unique by msgid)...
File.open('xxx.po','w){|f|f.print(GetPomo::PoFile.to_text(translations))}
###Instance interface p = GetPomo::PoFile.new p.add_translations_from_text(File.read('...')) ... p.translations p.to_text
GetPomo::MoFile
behaves identical.
- extracting of version/pluralisation_rule/plurals/translator... (from msgid "")
- the vendor/mofile is really complex, maybe it can be refactored (also some parts are not needed)
Michael Grosser
[email protected]
Hereby placed under public domain, do what you want, just do not hold me accountable...