Giter Club home page Giter Club logo

get_pomo's Introduction

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

Setup

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.

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)

Author

Michael Grosser
[email protected]
Hereby placed under public domain, do what you want, just do not hold me accountable...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.