吉原と申します。

gettext(旧・Ruby-GetText-Package)2.3.0をリリースしました。

今回はAPIを変更したため、2.2.1からマイナーバージョンを上げ、2.3.0
としてリリースしています。
また、このgemはもともと"Ruby-GetText-Package"という名前でしたが、
今回のリリースから"gettext"と名前を変えました。

Web: http://ruby-gettext.github.com/
インストール: gem install gettext

説明:
GettextはGNUのgettextパッケージをモデルにして実装した地域化L10N(用)の
ライブラリとツール群です。
gettextはもともとむとうさんがメンテナンスされていたのですが、2010年
からメンテナンスされていませんでした。
そこで、プロジェクトとして(むとうさんではない他の開発者たちで)メンテ
ナンスをすることになりました。
これまでに、プロジェクトとしてはRuby1.9に対応するように修正した
gemをリリースしています。

このリリースについて:
APIの変更のほか、様々な改善や変更、バグフィックスをしたリリースです。

2.2.1からの変更点は以下のとおりです。

## 2.3.0 - 2012-08-28

### 改善

  * 翻訳を行うメソッドであるTextDomain#translate_singluar_message
    のパフォーマンスを改善した。
    [@angelfさんがベースとなるアイデアを提供]
  * potファイルの初期化を行うmsginitコマンドを追加した。
  * [xgettext] パッケージ名、パッケージのバージョン、著作権保持者、poファ
    イルのバグの連絡先アドレスをpoファイルに追加するためのオプション
    を追加した。[Github#8]
    [Francesco Poli (wintermute)さんと375gnuさんが報告、375gnuさんがパッ
    チ提供]
  * [xgettext] s_とns_でパラメータを使えるようにした。
  * [poparser] fuzzyマークが付いているメッセージが使われているときに警
    告を出すように修正した。
    [Michael Grosserさんが報告]
  * String#%メソッドをHashオブジェクトと一緒に使う拡張が使用できるかを
    %{...}を使うようにし、使用できない場合は例外を発生するようにした。
  * moファイルをLC_MESSAGES/ディレクトリ以下からも探すようにした。
  * ツール周りのドキュメントを改善した。

### 変更

  * パッケージ名を"Ruby-GetText-Package"から"gettext"に変更した。
  * ツールを実装するクラスの名前を、それぞれ、"RGetText"から"XGetText"、
    "RMsgMerge"から"MsgMerge"、"RMsgFmt"から"MsgFmt"と変更した。
  * ツールをコマンドラインから実行するときのコマンド名を、 "rgettext"から
    "rxgettext"に変更した。
  * ツール(XGetText, MsgMerge, MsgFmt)をGetText::Toolsモジュールの下に
    クラスとして実装しなおした。
  * GetTextモジュール以下にあったツールのショートカットメソッドを削除した。
    今後は、GetText.xxxではなくGetText::Tools:XXX.runを使ってください。
  * ツールのAPIを変更した。
    例) 前回リリースまで : GetText.rsmgfmt(targetfile, output_path)
        今回リリースから : GetText::Tools::MsgFmt.run(targetfile, "-o", output_path)
  * [xgettext] 生成したpotファイル中に現れるファイルのパスに相対パスを
    使うように変更した。
  * [xgettext] msgidが""(空白文字列)の翻訳結果に""(空白文字列)ではなく
    potファイルのヘッダーを返すように変更した。
  * [poparser] poファイルをパースするときに、翻訳されていない
    (msgstrが""である)msgidを無視しないようにした。翻訳されてい
    ないmsgidを翻訳した時にmsgidが返ってくる実装は変更していません。
  * [xgettext] コマンドラインで"-v"オプションを指定した時に表示される情
    報からRubyの情報を削除した。

### 修正

  * poファイルを生成するときにmsgctxtを含めるように修正した。[Eddie
    Lauさんがパッチ提供]
  * msgmergeにあったtypoを修正した。[Yves-Eric Martinさんがパッチ提供]
  * [msgmerge] PoParserのAPIの変化に追従した。
  * [ruby-parser] 新しいmsgidを取得したときにコメントがリセットされるよ
    うに修正した。[Github#6]
    [375gnuさんとFrancesco Poli (wintermute)さんが報告、375gnuさんがパッ
    チ提供]
  * [ruby-parser] RubyToken::TkDSTRINGが処理されていないのを修正した。
    [Github#6]
    [375gnuさんとFrancesco Poli (wintermute)さんが報告、375gnuさんがパッ
    チ提供]
  * [msgmerge] ヘッダーにfuzzyを付加しないように修正した。
  * [msgmerge] バックスラッシュと改行("\n")がエスケープされていなかっ
    たのを修正した。

### 感謝

  * @angelfさん
  * Francesco Poli (wintermute)さん
  * 375gnuさん
  * Michael Grosserさん
  * Eddie Lauさん
  * Yves-Eric Martinさん

--
吉原 陽香 <yoshihara / clear-code.com>