Bitcoinクライアントとウェブサイトの翻訳
翻訳のお手伝いの申し出ありがとう。おそらくそれが最も役立つ協力方法だろう。
まずコードを翻訳対応にする必要がある。wxWidgetsにはロケールサポートがあり、ほとんどの文字列は既にラップされた生成コード内にあるので、それほど難しくないはずだ。UTF-8サポートのためにwxWidgets-2.9.0へのアップグレードも完了させる必要がある。2.9.0でテストビルドを行い、修正すべきバグが1つ残っている。
どのオペレーティングシステムを使っているか?Windows、Linux 32ビット、64ビット?
別のスレッドから分離。 sirius-m
単一のバイナリと複数の.moファイルを持つ方がはるかに簡単だ。多数のビルドバリエーションを持つのはメンテナンス作業が多すぎる。ソフトウェアのサポートが実装されれば、誰でも翻訳に貢献できるようになる。
wxWidgetsはgettext標準を使用している。gettextツールやpoeditのようなものを使用して、ソースファイルから文字列をスキャンして.poファイルを作成し、翻訳を.poファイルに編集してから、.moファイルにコンパイルする。プログラムは実行時に.moファイルを読み込み、すべての文字列を置き換える。プログラムを再コンパイルすることなく、.moファイルを追加するだけで既存のプログラムに追加言語を追加できる。
Windowsでは、.moファイルはEXEがあるディレクトリのlangサブディレクトリに配置する。
現在はJSON-RPCとコマンドラインサポートに取り組んでいるが、それが完了したら次にこれに取り組む予定だ。
翻訳サポートのための変更をSVNに更新した。翻訳可能な文字列はすべて_("")で囲まれており、すべてのプラットフォームでUTF-8を使用している。
プログラム実行時、EXEのディレクトリで以下のファイルを探す:locale<langcode>\LC_MESSAGES\bitcoin.mo
Linuxでは以下も探す:
/usr/share/locale/
poeditを使って.poと.moファイルを作成する簡単な手順:
- SVNからBitcoinのソースコードをダウンロード
- trunkディレクトリで、mkdir locale<lang>\LC_MESSAGES
- poeditで、File->New catalog->Pathsタブ
- 「New item」の点線の四角ボタンをクリック
- 「../../..」を入力し、パスを追加するために必ずEnterを押す
- OKをクリック
- 作成したLC_MESSAGESディレクトリに「bitcoin.po」として保存
- ソースコードをスキャンして約170の文字列が見つかるはず
- 何も見つからない場合は、Catalog->Settings->Pathタブで「../../..」が追加されているか確認
翻訳が完了したら、bitcoin.po(編集可能なカタログファイル)とbitcoin.mo(プログラムが使用するコンパイル済みデータ)の両方をコミットしてほしい。