Ruby-Gettext-Package

Ruby-GetText-Package is a Localization(L10n) library and tools which modeled after GNU gettext package.

This library provides to translate original messages to localized messages properly using client-side locale information(environment variable or CGI variable).

And the tools for developers support to create, use, and modify localized message files(message catalogs) easily.

Features

  • Simple APIs(similar GNU gettext)

  • rgettext creates po-files from

    • ruby scripts

    • glade-2 XML file(.glade)

    • ERB file(.rhtml, .erb)

    • ActiveRecord(.rb)

    • Others(with your own parsers)

    • The po-file is compatible to GNU gettext.

  • rmsgfmt creates a mo-file from a po-file. The mo-file is compatible to GNU gettext(msgfmt).

  • textdomain’s scope is adapt to ruby class/module mechanism.

    • A class/module can have plural textdomains.

    • a message is looked up in its class/module and ancestors.

  • Locale is retrieved from System variables (ENV, POSIX, Win32)

  • CGI support (gettext/cgi)

    • Locale is retrieved from client informations (HTTP_ACCEPT_LANGUAGE, HTTP_ACCEPT_CHARSET, QUERY_STRING(lang), Cookies(lang)).

  • ERB support (gettext/erb)

  • Ruby on Rails support (gettext/rails)

    • before_init_gettext, init_gettext, after_init_gettext for initializing GetText.

    • ActionController, ActionView, ActionMailer and ActiveRecord are localized in a textdomain.

    • Validation messages in ActiveRecord are localized.

    • The table/field names of ActiveRecord are extracted by rgettext and translated in the application.

    • plugins can have their own textdomains.

    • ActionMailer supports ISO-2022-JP message in ja locale.

  • String%() is extended to use named argument such as “%foo” %=> 1

Requirements

Install

  • gem:

    ($ su)
     # gem install gettext
    
  • tar-ball:

    De-Compress archive and enter its top directory.
    Then type:
    ($ su)
     # ruby setup.rb
    

You can also install files in your favor directory by supplying setup.rb some options. Try “ruby setup.rb –help”.

Usage

If you are end-user of an application which depends on this library, you don’t need do nothing (See applications documents).

If you are developer of the application which depends on this library,

see: gettext.rubyforge.org/

License

This program is licenced under the same licence as Ruby. (See the file ‘COPYING’.)

  • mo.rb

    • Copyright © 2001-2007 Masao Mutoh <mutoh at highwhay.ne.jp>

    • Copyright © 2001,2002 Masahiro Sakai <s01397ms at sfc.keio.ac.jp>

  • gettext.rb

    • Copyright © 2001-2008 Masao Mutoh <mutoh at highwhay.ne.jp>

    • Copyright © 2001,2002 Masahiro Sakai <s01397ms at sfc.keio.ac.jp>

  • rgettext

    • Copyright © 2001-2007 Masao Mutoh <mutoh at highwhay.ne.jp>

    • Copyright © 2001,2002 Yasushi Shoji <yashi at atmark-techno.com>

  • setup.rb

    • Copyright © 2000-2005 Minero Aoki <aamine at loveruby.net>

    • This file is released under LGPL. See the top of the install.rb.

  • Others

    • Copyright © 2001-2008 Masao Mutoh <mutoh at highwhay.ne.jp>

Translators

  • Bosnian(bs) - Sanjin Sehic <saserr at gmail.com>

  • Catalan(ca) - Ramon Salvadó <rsalvado at gnuine.com>

  • Chinese(Simplified)(zh_CN) - Yang Bob <bob.yang.dev at gmail.com> (current)

    Yingfeng <blogyingfeng at gmail.com>
    
  • Chinese(Traditional)(zh_TW)- Yang Bob <bob.yang.dev at gmail.com> (current)

    LIN CHUNG-YI <xmarsh at gmail.com>
    
  • Croatian(hr) - Sanjin Sehic <saserr at gmail.com>

  • Czech(cs) - Karel Miarka <kajism at yahoo.com>

  • Dutch(nl) - Menno Jonkers <ruby-gettext at jonkers.com>

  • Esperanto(eo) - Malte Milatz <malte at gmx-topmail.de>

  • Estonian(et) - Erkki Eilonen <erkki at itech.ee>

  • French(fr) - David Sulc <davidsulc at gmail.com> (current)

    Laurent Sansonetti <laurent.sansonetti at gmail.com>
    
  • German(de) - Patrick Lenz <patrick at limited-overload.de> (current)

    Detlef Reichl <detlef.reichl at gmx.org>
    Sven Herzberg <herzi at abi02.de>
    Sascha Ebach <se at digitale-wertschoepfung.de>
    
  • Greek(el) - Vassilis Rizopoulos <damphyr at gmx.net>

  • Hungarian(hu) - Tamás Tompa <tompata at gmail.com>

  • Italian(it) - Marco Lazzeri <marco.lazzeri at gmail.com>

    Gabriele Renzi <surrender_it at yahoo.it>
    
  • Japanese(ja) - Masao Mutoh <mutoh at highway.ne.jp>

  • Korean(ko) - Gyoung-Yoon Noh <nohmad at gmail.com>

  • Latvian(lv) - Aivars Akots <aivars.akots at gmail.com>

  • Norwegian(nb) - Runar Ingebrigtsen <runar at mopo.no>

  • Portuguese(Brazil)(pt_BR) - Antonio S. de A. Terceiro <terceiro at softwarelivre.org> (current)

    Joao Pedrosa <joaopedrosa at gmail.com>
    
  • Russian(ru) - Yuri Kozlov <kozlov.y at gmail.com>

  • Serbian(sr) - Slobodan Paunović“ <slobodan.paunovic at gmail.com>

  • Spanish(es) - David Espada <davinci at escomposlinux.org> (current)

  • David Moreno Garza <damog at damog.net>

  • Swedish(sv) - Nikolai Weibull <mailing-lists.ruby-talk at rawuncut.elitemail.org>

  • Ukrainian(ua) - Alex Rootoff <rootoff at pisem.net>

  • Vietnamese(vi) - Ngoc Dao Thanh <ngocdaothanh at gmail.com>

Status of translations

  • Bosnian(bs) - 1.90.0 (old)

  • Catalan(ca) - 1.92.0

  • Croatian(hr) - 1.90.0 (old)

  • Chinese(zh_CN) - 1.92.0

  • Chinese(zh_TW) - 1.92.0

  • Czech(cs) - 1.9.0 (old)

  • Dutch(nl) - 1.90.0 (old)

  • English(default) - 1.90.0 (old)

  • Esperanto(eo) - 1.92.0

  • Estonian(et) - 1.9.0 (old, rails.po only)

  • French(fr) - 1.90.0 (old)

  • German(de) - 1.92.0

  • Greek(el) - 1.92.0

  • Hungarian(hu) - 1.92.0

  • Italian(it) - 1.6.0 (old)

  • Japanese(ja) - 1.92.0

  • Korean(ko) - 1.9.0 (old)

  • Latvian(lv) - 1.92.0 (new)

  • Norwegian(nb) - 1.92.0

  • Portuguese(Brazil)(pt_BR) - 1.92.0

  • Russian(ru) - 1.92.0

  • Serbian(sr) - 1.91.0 (old)

  • Spanish(es) - 1.92.0

  • Swedish(sv) - 0.8.0 (too much old)

  • Ukrainian(ua) - 1.92.0

  • Vietnamese(vi) - 1.92.0

Maintainer

Masao Mutoh <mutoh at highway.ne.jp>