You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
references of non unique translations can be merged
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
Setup
sudo gem install get_pomo
Static interface
#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))}
Instance interface
p = GetPomo::PoFile.new
p.add_translations_from_text(File.read('...'))
...
p.translations
p.to_text
GetPomo::MoFile behaves identical.
TODO
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)