Mozilla 地域化クイックガイド |
|
Mozilla 地域化プロジェクトスタッフ |
MLP [地域化プロジェクトホーム] | [地域化関連資料] | [クイックガイド]
導入 |
この文書は Mozilla の地域化、そのリソースファイルの直接の操作についての段階的な手引きです。 この文書は Mozilla の地域化可能なリソースの典型的な構造についての一般的な知識を提供することに主眼をおいています。
これらのリソースの簡単な(自動的な)管理のために作成された特別のツールも利用可能です。 これらのツールは地域化作業者から多くの技術的で退屈な細部を覆い隠してくれます。 この文章はいずれにしろリソースに直接アクセスし、遭遇しうる問題を解決する方法についての見識を得る手助けとなるでしょう。
Mozilla の地域化可能なリソースのほとんどは以下のディレクトリの中のファイルに外部化されています。
- chrome ファイル
[install-dir]/chrome/{"en-US.jar", "en-mac.jar", "en-unix.jar", "en-win.jar"}
にある切替可能な UI(ユーザインタフェース)リソース - 地域コンテンツ [install-dir]/chrome/US.jar :
にある切替可能な地域特定の外部参照
これらのファイルに対する地域化作業は chrome ファイルに対するそれと似通っています。 詳細は "地域コンテンツのビルド"を参照してください。 - デフォルトのプロファイル (任意) ([install-dir]/defaults/profile/[country-code]/*): 新しいユーザプロファイルディレクトリにコピーするためのファイル [install-dir]/defaults/profile/[region-locale-code]/* :
にある新しいユーザプロファイル・ディレクトリにコピーするためのファイル
現在選択されている地域コンテンツに従って選択されます。
Chrome ファイル |
Mozilla では、ほとんどの UI(ユーザインタフェース)リソースはインストールディレクトリの chrome/ ディレクトリ/フォルダの中に位置します。 オリジナルのローカライズ可能なファイルは以下のものにパッケージされます。
- en-US.jar: ほとんどすべての UI 言語リソースを含む。
- en-win.jar (Windows 用): Windows 特有のすべての UI リソースを含む。 Unix と MacOS では、それぞれ en-unix.jar 、 en-mac.jar である。
- US.jar: すべての地域コンテンツ(URL) リソースを含む。
これらの材料から始めるのに、望みの地域の言語に地域化された同じリソースのコピーを手に入れましょう。
そうすると、[install-dir]/chrome/{en-US,US}/locale/{en-US,US}/[package-name]/ 中に3種類のファイルが配置されます:- 地域化対象物を含むリソースで作業するためには、
一般的な zip アーカイブ・ユーティリティ を使って空のディレクトリに、ディレクトリ構造を保持したまま解凍してください。
- en-US/ フォルダ名をあなたのロケール・コードの名称にリネームしてください。
それから、US/ フォルダ名をあなたの地域コードの名称にしてください。
- contents.rdf という名称のファイルすべての内部の "en-US" という文字をあなたのロケール・コードに置換してください。
それから、"US" という文字(US.jar ファイルの中にしかありません)についてもあなたの地域コードに置換してください。
そして、以下の属性欄を相当する内容で書き換えてください。属性名称 意味 displayName 選択可能な言語、コンテント/地域パックにて、ユーザ・インタフェースでユーザが見ることになる文字列。 (例:UI 言語:"Italian"、コンテントパック:"Italy Region") author 地域化作業者の名前。 name ロケール/地域コード。 localeVersion 地域化対象となる Mozilla のリリースバージョンを示す文字列。 (例:"1.3b"、"1.0.2"はそれぞれ Mozilla の 1.3ベータと 1.0.2 を示す) previewURL (任意項目)355x85 ピクセルの地域化された Mozilla のプレビュー画像への URL。
いくつかの異なったファイル・タイプに対して作業が必要なことに気づくでしょう。 さあ、タイプごとに作業法を見てみましょう。
DTD ファイル(*.dtd) — UTF-8 エンコードされたテキストファイル。
それぞれの要素は以下のように宣言されています:DTD ファイルは地域化が必要な項目(ENTITY)のリストを含んでいます。 ここで定義されている項目はユーザ・インタフェースの XUL ファイル の内部で使われています。 項目宣言は以下のようになっています:
- <!ENTITY openCmd.label "Open Web Location...">
上記の例では、"openCmd.label" という名前/キーをもつエンティティについて、"Open Web Location..." という値が代入されています。 項目(ENTITY)の値は地域化されるべきものです。 通常、項目名(例:"openCmd.label")は自己説明的なもので、例えばこれは Open メニューコマンドのラベルです。 もし、これで不十分であれば、ファイルの作者は地域化作業者のためにコメントを加えます。 特定の項目に対して言及したコメントはその項目宣言のすぐ上に、次のように置かれます:
- <!-- LOCALIZATION NOTE (entity_name): comments -->
例:
-
8<!-- LOCALIZATION NOTE throbber.url: DONT_TRANSLATE -->
9<!ENTITY throbber.url "http://www.mozilla.org">
これらのファイルは UTF-8 でエンコードされているドキュメントであることに注意してください。 そのため、テキスト・エディタが UTF-8 でファイル保存可能であるか、 あとで UTF-8 に変換し戻す必要があります。 この工程を飛ばすと、昔ながらの ASCII 文字(a-z , A-Z , 0-9 , !"#$%&'()*+,-./ :;<=>?@ _` {|}~ ) 以外の文字、つまり特殊記号や東洋文字などは、正しく表示できないでしょう。
また、文字列の中に & < " % の文字を直接は使うことができないことも覚えておいてください。 かわりに、文字列の中では所定の実体参照の中から該当するもので代用してください。
Property ファイル(*.properties) — テキストファイルでエスケープされた Unicode でエンコードされている。
名前が示すとおり、これらのファイルの中にはたくさんのJavaScript プロパティが文字列値に代入されています。 プロパティファイルの中の文字列リソースは以下の形で現れます:
- property_name = Text Text Text
- 25
#-----------------------------------------------------------
26 # LOCALIZATION NOTE InstallFile:...
27 #-----------------------------------------------------------
28 InstallFile=Installing: %s
29 ReplaceFile=Replacing: %s RDF データ・ソース・ファイル(*.rdf) — 特に指定されない限り、UTF-8 エンコードされたテキストファイル。
これら rdf ファイルはロケール依存の UI メニュー階層定義を制御します:
- communicator/taskbar.rdf — タスクバーメニューについて記述します(mozilla.org の最近のビルドでは長らく見かけません)。
- global/builtinURLs.rdf — "Help"(訳注:ヘルプ), "View|Set Language/Region>"(訳注:表示|言語と地域の設定 Mozilla 1.0 以降では既にメニュー項目ではありません) といった最上位メニューを通して散在しているさまざまなメニュー項目に対応する URL を記述します。
等号の右側の文字列は地域化の必要があります。 繰り返しますが、地域化のメモやコメントは、どの文字列が UI で使われるか、どのような振る舞いをするかを説明することは、地域化作業者がそれに従って作業する上でしばしば役に立ちます:
DTD ファイルについて上述したのと同様に、同じ考慮事項はファイルエンコーディングにも当てはまります。
Mozilla はこれらのファイルがエスケープされた Unicode でエンコードされていると想定します。
バックスラッシュ、シングルクォート、ダブルクォートを文字列の中で直接使わないでください。
それらの代用表現を選んで代わりに使ってください。
文字列を複数行に分けないでください。
多くの文字列が %s や $1%s といった変わった目印を含んでいます。 これらは実行時に適切な単語に置き換えられます。 文全体で意味をなすようにそれらを文字列に入れてください。原文にあるのと正確に同じようにです。
さて、どのように作業を進めるのか見てみましょう:
次のステップはもちろん、数え切れないほどの dtd と property ファイルの至る所の文字列を地域化することです。 global/ フォルダと、communicator/ フォルダの真下のファイルはいろいろなアプリケーションで再利用されている文字列を含んでいることに注意してください。
たくさんのコマンド文字列(特にメニュー項目文字列)には同名の「アクセス・キー」や「コマンド・キー」と関連があります。 その値には一文字が当てはまります。
アクセス・キーは UI で下線の入っている、文字列のメインとなる文字で、Alt+[該当文字]押下でその関連づけられた機能が起動されるでしょう。 アクセス・キーは大文字/小文字を区別して関連するメニュー項目文字を強調します。
コマンド・キーは、同じメニューの反応に対して、Ctrl/Cmd+[該当文字]キー操作をアプリケーションの広さで可能にします。
アクセス・キーもコマンド・キーも Latin(西洋)文字でのみ動作します。en-mac.jar、en-unix.jar、en-win.jar の中身は、動作しているシステム特有です。 これらは共通の(File、Undo、Redoなどといった)メニュー項目、キーボード・ショートカットなどを含んでいます。 それらでそれぞれのシステムで慣習的なものをサポートしなくてはなりません。
作業結果のすべてを新しい jar ファイルの中に圧縮し戻します。 慣習的な zip ファイルで .jar 拡張子付きのものとして作ることもできます。 jar ファイルは登録されたロケールコードから名付けます。
Mozilla リリース・フォルダから、インストール可能なパッケージ langenus.xpi をダウンロードしてください。WINDOWS-XPI/ の中にあります(名称を右クリックし、Save target as(訳注:JLPでは「リンク先を名前を付けて保存」)を使って・・・)。
zip 圧縮・解凍ユーティリティを使って解凍して、install.js の地域化可能なフィールドを修正し、自分用のインストール可能な言語パックのテンプレートとして使ってください。
デフォルトのプロファイル(Profile) |
場所: defaults/profile/[region-locale-code]
ユーザ・プロファイルのテンプレートのファイルが含まれていて、プロファイル作成時に新しいプロファイル・フォルダへデフォルトとしてコピーされるものです:
- bookmarks.html -- デフォルトのブックマーク。
- localstore.rdf -- デフォルトのウィンドウの設定を定義します。
- mimeTypes.rdf -- ヘルパーアプリケーションのために認識できるファイルの MIME タイプを定義します。
- search.rdf -- デフォルトの検索エンジンを定義します。
- panels.rdf -- サイドバーのデフォルトのパネルを定義します。
- chrome/userContent.css -- HTML 文書のためのデフォルトのユーザ定義スタイルの例です。
- chrome/userChrome.css -- ユーザ・インタフェースのためのユーザ定義のデフォルトのスタイルの例です。