Localization Tools

Mozilla アプリケーションの L10N (日本語化) 作業のために必要な、スクリプトなどをひとまとめにしたものを Localization Tools (通称 lot) と呼んでいます。

日本語版の共通言語リソースから Windows/Linux 用の ja ロケールと Mac 用の ja-JP-mac ロケールのリソースを自動生成したり、言語リソースファイルの構文チェック、用語チェック、文字チェック、英語リソースとの比較、マージ、テスト用言語パック作成などのために、この lot を使用します。

ダウンロード

言語リソースと一緒に Google Code で管理しており、次のコマンドで取得できます。

hg clone https://code.google.com/p/mozja.lot/ lot

あるいは、FTP サイト にも zip したものがあります(ファイル名の revXXX は対応する SVN リビジョン)。

動作環境

lot は主に Apache Ant のスクリプトと、Groovy スクリプトで書かれています。Groovy の実行に必要なライブラリなどは lot に同梱されているため、Ant の動作要件さえ満たす環境であれば利用できます。

但し、一部処理では diff, hg, python などの外部コマンドを呼び出すため、作業内容に応じて必要なコマンドを揃えてください。

  • JDK 1.5 以降 + Apache Ant 1.8 以降 (必須)
  • Mercurial (hg)
  • Python
  • diff

Windows では MozillaBuild 環境を推奨します。MozillaBuild 環境をインストールすると JDK + Ant 以外すべて揃います。Cygwin や MinGW などで用意しても構いません。Ant を使うにはシステム環境変数に JAVA_HOME, ANT_HOME, PATH の設定が必要になります。JAVA_HOME は “C:¥Program Files¥Java¥jdk1.7.0″ など、ANT_HOME は Ant の zip を展開したディレクトリ、PATH の末尾には “;%ANT_HOME¥bin” を追加してください。

ディレクトリ構成

  • antlib
    • Ant の機能を拡張するための jar ファイルを同梱しています
  • config
    • lot の動作を制御するプロパティ設定ファイルを収めるディレクトリ
    • langpack.conf
      • 言語パック関連の設定を制御するファイル
    • lot.conf
      • lot 全体の設定を制御する設定ファイル
    • user.conf (optional)
      • デフォルト設定を上書きするユーザ設定ファイル
  • dest
    • 言語パックなど生成したものが出力されるディレクトリ
  • hg (optional)
    • Mozilla の Mercurial リポジトリを clone するディレクトリ
    • 別ディレクトリのものを参照したい場合は user.conf で lot.hg.dir に mozilla-aurora, comm-aurora の親ディレクトリを設定してください。
  • l10n
    • 各ブランチの en-US および ja/ja-JP-mac 切り分け後の言語リソースを収めるディレクトリ
    • note: ant setupl10n または個別に ant clone-locale を実行するとそうなるように、この下のディレクトリを l10n hg の clone にしておくと作業しやすくなります
  • log
    • エラーチェックで見つかったエラーや言語リソース比較結果をログファイルに出力します
  • res
    • lot で出力するメッセージの定義ファイルや user.conf のテンプレートなど
    • const.conf
      • 通常カスタマイズされることのない、定数値を定義するファイル
  • src
    • ja/ja-JP-mac 切り分け (ant convert) 前の言語リソースファイルなど
    • langpack
      • 言語リソース以外に、言語パック生成に必要なファイル
    • trunk, beta, 1.9.1, 1.9.2, 2.0
      • mozja レポジトリの言語リソースファイルを配置するディレクトリ
      • Nightly 対応はしておらず trunk が Aurora 対応ブランチになるので注意

lot のターゲットとディレクトリの関係図 (odg ファイル)

基本的な使い方

一般的な Ant ビルドスクリプト同様に、以下の構文で実行します。

ant target1 target2 -Dproperty1=value1 -Dproperty2=value2

  • target — ターゲットと呼ばれる、ビルドスクリプトで定義した処理名。複数書けば書いた順番に処理される。
  • -Dproperty=value — プロパティと呼ばれる、ビルドスクリプトで使用する変数の名前と値を -D オプションで指定できます。

コマンド実行例:

ant convert

src/trunk/ja ディレクトリの日本語共通ファイルを元に l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリに Windows/Unix 用と Mac 用のファイルを生成する。

ant auto convert

上書き確認などをせず全自動で l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリのファイルを生成する。

ant auto noerrorcheck nocompare convert

上書き確認も構文などのエラーチェックも英語との比較もせずに l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリのファイルを生成する。

ant compare

l10n/aurora/en-US ディレクトリの英語ファイルと l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリの日本語ファイルを比較してエンティティの過不足や重複、アクセスキーの違いなどを確認する。

ant merge

l10n/aurora/en-US ディレクトリの英語ファイルと l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリの日本語ファイルを比較してファイルとエンティティの過不足を自動マージする。

ant insertnew

l10n/aurora/en-US ディレクトリの英語ファイルと l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリの日本語ファイルを比較して足りないファイルとエンティティを自動マージする。日本語ファイルだけにあるエンティティは残されるため、Nightly ビルド用の言語パック生成時にはこちらが便利。

ant auto pack

l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリのファイルを元に Firefox の言語パックを dest/aurora/langpack ディレクトリに作成する。

ant auto pack -Dtargetapp=fennec

Fennec (Mobile Firefox) の言語パックを生成する。

ant auto convert insertnew pack

足りないファイルとエンティティを英語ファイルからを日本語ファイルにマージした言語パックを生成する。

ant auto buildfx

src/l10n/trunk/ja ディレクトリのファイルを元に l10n/aurora/ja, l10n/aurora/ja-JP-mac ディレクトリに Windows/Unix 用と Mac 用のファイルを生成し、更に Firefox の言語パックを dest/aurora/langpack ディレクトリに作成する。

このコマンドは ant auto clean convert pack と(ほぼ)同じ。

ant auto buildfe

同様に Fennec の言語パックを作成する。

ant update-lot

Localization Tools を最新版に更新する。但し、事前に src/l10n/trunk/ に mozja リポジトリを clone しておく必要があります。

実際の L10N 作業手順については作業ごとの手順解説ページを参照してください:

その他の利用方法については ant help コマンドで出力されるヘルプ、ant -p コマンドで出力されるターゲット一覧、ant examples コマンドで出力されるコマンド例などを参照して、色々試してみてください。

毎回 -D オプションでプロパティを指定するのが面倒な場合は config/lot.conf や config/langpack.conf ファイルに書かれている初期設定値を書き換えてください。これらのファイルは update-lot 実行時には上書きされてしまうので、それを避けたい場合は config/user.conf を作成してそのファイル中で指定してください。

リファレンス

主要なターゲットやプロパティについては、リファレンスページで説明しています

困ったときは

よくある質問については Localization Tools – FAQ ページ にまとめています。