12.2.2. 国際化

今のところ、Groongaには日本語でのドキュメントしかありません。1.2.2からgettextベースの Sphinx I18N feature を使ってドキュメントの国際化対応を始めました。この仕組みではベースの言語として英語を使い、日本語などの他の言語には英語からその言語に翻訳します。すべてのドキュメントはdoc/source/以下において、それをSphinxで処理します。

しかし、今のところ、doc/source/では日本語を使っています。そのため、まずは、doc/source/以下にある日本語のドキュメントを英語に翻訳する必要があります。ドキュメントを翻訳して、パッチを送ってくれるととても喜びます。

12.2.2.1. 翻訳の流れ

doc/source/*.txtを更新したら、翻訳を始めます。

これが翻訳の流れです:

  1. Sphinxをインストールします。(インストールされていない場合)
  2. Groongaのリポジトリをcloneします。
  3. .poファイルを更新します。
  4. .poファイルを編集します。
  5. HTMLファイルを生成します。
  6. HTMLの出力を確認します。
  7. 翻訳が完了するまで、2.-4.を繰り返します。
  8. 翻訳作業の成果をGroongaプロジェクトに送ってください!

上記の流れを実行するコマンドラインです。詳細は以降のセクションで説明します。

# Please fork https://github.com/groonga/groonga on GitHub
% git clone https://github.com/${YOUR_GITHUB_ACCOUNT}/groonga.git
% ./autogen.sh
% ./configure --enable-document
% cd doc/locale/${LANGUAGE}/LC_MESSAGES # ${LANGUAGE} is language code such as 'ja'.
% make update # *.po are updated
% editor *.po # translate *.po # you can use your favorite editor
% cd ..
% make html
% browser html/index.html # confirm translation
% git add LC_MESSAGES/*.po
% git commit
% git push

12.2.2.2. Sphinxのインストール方法

導入 を参照してください。

12.2.2.3. Groongaリポジトリのcloneの仕方

はじめに、GitHub上のGroongaリポジトリをforkしてください。 https://github.com/groonga/groonga にアクセスして Fork ボタンを押すだけです。これで自分のGroongaリポジトリをcloneすることができます。:

% git clone https://github.com/${YOUR_GITHUB_ACCOUNT}/groonga.git

cloneした後はconfigureする必要があります。:

% cd groonga
% ./autogen.sh
% ./configure --enable-document

この作業は初回セットアップ時のみだけの作業です。

以上の作業で問題があった場合は、 http://packages.groonga.org/source/groonga/ にあるソースファイルを利用してもよいです。

12.2.2.4. .poファイルの更新の仕方

doc/locale/${LANGUAGE}/LC_MESSAGESディレクトリで make update を実行すると.poファイルを更新できます。(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。):

% cd doc/locale/ja/LC_MESSAGES
% make update

12.2.2.5. .poの編集の仕方

.poファイルを編集するためのツールがあります。.poファイルは単なるテキストなので好きなエディタで編集できます。以下は.poファイルの編集に特化したエディタのリストです。

Emacs's po-mode
gettextに同梱されています。
Poedit
.po専用エディタです。たくさんのプラットフォームで動作します。
gted
これも.po専用エディタです。Eclipseプラグインとして実装されています。

12.2.2.6. HTMLファイルの生成方法

doc/locale/${LANGUAGE}ディレクトリで make html を実行すると更新した.poファイルを使ってHTMLファイルを生成できます。(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。):

% cd doc/locale/ja/
% make html

全ての言語のHTMLファイルを生成するにはdoc/locale/ディレクトリで make html を実行します。:

% cd doc/locale
% make html

注釈

.moファイルは make html で自動的に更新されるので、.moファイルのことを気にする必要はありません。

12.2.2.7. HTML出力の確認の仕方

HTMLファイルはdoc/locale/${LANGUAGE}/html/以下に出力されます。(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。)好きなブラウザで出力されたHTMLを確認してください。:

% firefox doc/locale/ja/html/index.html

12.2.2.8. 翻訳の成果の送り方

翻訳の成果はGitHubのpull requestかメールで送ってください。メールで送る場合はパッチでも.poファイルそのものでも構いません。

12.2.2.8.1. pull requestの送り方

pull requestを送るためのコマンドライン:

% git add doc/locale/ja/LC_MESSAGES/*.po
% git commit
% git push

これでGitHub上でpull requestを送る準備ができました。あとは、GitHub上の自分のリポジトリのページへアクセスして Pull Request ボタンを押すだけです。

12.2.2.8.2. パッチの送り方

パッチを作るためのコマンドライン

% git add doc/locale/ja/LC_MESSAGES/*.po
% git commit
% git format-patch origin/master

カレントディレクトリに000X-YYY.patchという名前のファイルができていると思います。これをGroongaプロジェクトに送ってください!

参考

コミュニティ に連絡先の情報があります。

12.2.2.8.3. .poファイルの送り方

doc/locale/${LANGUAGE}/LC_MESSAGES/以下を.tar.gzや.zipなどでアーカイブにしてGroongaプロジェクトに送ってください!(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。)こちらでアーカイブの中の内容をマージします。

参考

コミュニティ に連絡先の情報があります。

12.2.2.9. 新しい言語の追加方法

新しい翻訳対象の言語を追加するコマンドライン:

% cd doc/locale
% make add LOCALE=${LANGUAGE} # specify your language code such as 'de'.

${LANGUAGE} は'ja'などの自分の言語の言語コードに置き換えてください。