[#49031] elseの直前に全角スペースがある場合の動作が? — Yuumi Yoshida <yuumi3@...>

=1B$B$3$s$K$A$O!"=1B(BYuumi3=1B$B$G$9!#=1B(B

19 messages 2012/12/03
[#49033] Re: elseの直前に全角スペースがある場合の動作が? — 鍋島 永道 <closer009@...> 2012/12/03

[全角スペース]else がひとつの変数名として解釈されていて、if〜endまでがひとつのifとして解釈され、なおかつif

[#49034] Re: elseの直前に全角スペースがある場合の動作が? — Yuumi Yoshida <yuumi3@...> 2012/12/03

sora_h =1B$B$5$s!"=1B(B =1B$BFiEg$5$s!"=1B(B

[#49035] Re: elseの直前に全角スペースがある場合の動作が? — 小田 利通 <oda@...> 2012/12/03

[#49057] RubyでsetInterval — swec@...

ひろひとです。

16 messages 2012/12/08

[#49090] IronrubyとC#の連携 — 井澤 隆浩 <KHB15150@...>

いざわです。お世話になります。

18 messages 2012/12/23
[#49091] Re: IronrubyとC#の連携 — Hiroyuki Ogawa <eng16danbo@...> 2012/12/23

はじめまして、小川と申します。

[#49093] Re: IronrubyとC#の連携 — 井澤 隆浩 <KHB15150@...> 2012/12/23

こんばんは、井澤です。

[#49096] Re: IronrubyとC#の連携 — Shozo Arai <shozoa@...> 2012/12/24

=1B$B$3$s$K$A$O!"9S0f$G$9!#=1B(B

[#49111] Ironrubyのdll参照について — 井澤 隆浩 <KHB15150@...> 2013/01/06

返事が大変遅くなりました。井澤です。

[ruby-list:49080] [ANN] gettext 2.3.4

From: Haruka Yoshihara <yoshihara@...>
Date: 2012-12-11 05:48:40 UTC
List: ruby-list #49080
吉原と申します。

gettext 2.3.4をリリースしました。

gettextはGNUのgettextパッケージをモデルに実装した地域化(L10N)用の
ライブラリとツール群です。
バージョン2.3.0からはプロジェクトでメンテナンスしています。

今回のリリースでは、rmsgmergeコマンドにfuzzy-matching機能を実装しました。
fuzzy-matching機能とは、mergeして新しく作ったPOファイルにある翻訳対象に対
して、前のPOファイル内の似たような翻訳対象に対応する翻訳を割り当てるという
ものです。

言葉だけだとわかりにくいので、簡単な例を示します。old.poというPOファイ
ルの中に次のようなエントリ(1つの翻訳対象であるmsgidと、msgidに対応する
翻訳であるmsgstrのセット)があったとします。

#: test.rb:10
msgid "hlelo"
msgstr "こんにちは"

このエントリを見ると、翻訳対象である、msgidの"hlelo"がtypoしています。
(本来は"hello")
test.rbというファイルの10行目でtypoしているために、POファイルでもtypoし
た翻訳対象が設定されています。
そこで、test.rbの10行目にある、"hlelo"を正しく"hello"に修正します。そし
て、POファイルを作り直します。このPOファイルをnew.potとします。new.pot
には次のようなエントリが含まれます。

#: test.rb:10
msgid "hello"
msgstr ""

次に、old.poとnew.potをrmsgmergeコマンドでマージし、結果をmerged.poとい
うファイルに保存します。

 $ rmsgmerge old.po new.pot -o merged.po

生成されたmerged.poの中には次のようなエントリが含まれます。

#: test.rb:10
#, fuzzy
msgid "hello"
msgstr "こんにちは"

このエントリを見ると、old.po内の"hlelo"という翻訳対象に対応する"こんにちは"
という翻訳が、new.potにある"hello"という翻訳対象に割り当てられているのが
わかります。
"#, fuzzy"というのは似たような翻訳対象に対する翻訳を割り当てたことを示しています。
もしfuzzy-matchingがない場合は"hello"に対して"こんにちは"という翻訳は割
り当てられないので、今回のようにtypoを直しただけで翻訳対象は変わらない
場合でも、もう一度翻訳しなおす必要があります。

また、POファイルに含まれるエントリを管理するためのPOというクラスを新し
く実装し、rmsgmergeコマンドやrmsginitで使用しました。
これまではPoDataというクラスを使っていましたが、他にエントリを管理す
るクラスとしてPoMessageというクラスがあり、機能が重複していました。
そのため、PoDataとPoMessageの2つのクラスの機能を1つにマージするようなク
ラスを実装しました。

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

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

## 2.3.3: 2012-12-11

### 改善

  * [Merger] 編集距離を使ってfuzzy-matchingを実装した。
  * POクラスをPOエントリの管理のために実装した。(詳しくは
    http://rubydoc.info/gems/gettext/GetText/PO.html をご覧ください)
  * [POEntry (PoMessagesからリネーム)] msgstrを指定できるようにした。
  * [POEntry] コメントの種類(translator_comment, extracted_comment,
    flag, previous)ごとにコメントを保持するようにした。
    コメントの種類について詳しくは
    http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
    をご覧ください。
  * [POEntry] #type=でエントリのタイプを指定するときに正しいタイプか
    チェックするようにした。
  * [PoParser][MO(MoFileからリネーム)] PoParserの代わりにMOやPoDataが
    msgctxt, msgid, msgid_pluralを
    "#{msgctxt}\004#{msgid}\000"{msgid_plural}"をmsgidとして扱い保持す
    るようにした。
  * [PoParser] コメントの種類ごとにパースするようにした。

### 変更

  * いくつかのクラスやメソッドを適切な名前にリネームした。
    * PoMessage から PoEntry
    * PoMessages#== から POEntry#mergeable?
    * PoMessages#to_po_str から POEntry#to_s
    * PoMessages#sources(sources=) から POEntry#references(references=)
    * MoFile から MO
      後方互換性のため、MoFileも使用することができます。
    * PoParser から POParser
      後方互換性のため、PoParserも使用することができます。
  * POEntryにreferences(msgidの元の文字列があるファイル名)がなくても
    例外を発生しないようにした。

---
Haruka Yoshihara <yoshihara@clear-code.com>

In This Thread

Prev Next