Hatena::ブログ(Diary)

Firefoxアドオンとか このページをアンテナに追加 RSSフィード

ホームページ
 Firefoxアドオンの作り方
 Read All Tweets(タイムラインを逆順に)
 検索ボックス自動入力(学習機能付き)
 定期的にチェック!

2009-12-13

アドオンの翻訳仲介サイトBabelZilla の使い方(開発者向け)

BabelZillaはアドオンの翻訳仲介サイトです。ここにアドオンを登録すると、翻訳者を募ってローカライズ提供してもらうまでのプロセスを代行してくれます。しかし、使い方がわかりにくい部分があるので簡単に説明します。

基本

トップページの左のメニューから登録してログインします。

20091213190601

トップページの[WTS]-[SUBMIT/UPDATE EXTENSION]メニューからアドオンの xpi ファイルアップロードします(このとき、en-US ロケールは必ず追加しておく必要があります)。

20091017171130

翻訳ができたら

翻訳したいという人が名乗り出れば「○○さんが翻訳者チームに参加しました」というメールが来ます。累計ダウンロード数が200程度の私のRead All Tweetsでも5人翻訳者が集まったので、多分まったく集まらないと言うことはないでしょう。

翻訳作業が終わったときもメールが来るので、そこに載ってるリンククリックするか、トップページの[WTS]-[MANAGE MY EXTENSIONS]メニューから自分のアドオンのページにいくことができます。

20091017171131

下の画像の「Download all locales」の部分からローカライズをダウンロードできます。

20091213191516

()内によって次の違いがあります。

  • [missing strings replaced] :未翻訳の部分を対応する en-US ロケールで代替したもの
  • [missing strings blank]:未翻訳の部分を""(空文字列)にしたもの
  • [missing strings skipped]:未翻訳の部分を行自体なくしたもの

翻訳が完了していない部分があっても、[missing strings replaced] を選べば、全ての翻訳情報が埋まってるものをダウンロードできます。

これをロケールフォルダコピーして、chrome.manifest ファイルにロケールを追加します。例えば de-DE ロケールなら、

locale	sample	de-DE		jar:chrome/sample.jar!/locale/de-DE/

(「locale アドオンのパッケージ名 ロケール名 chromeアドレス」の形で書く。chromeアドレスなどはファイル構成によって異なります。)

xpi ファイルを使わないでインストールする時もある場合は、以下の行も追加します。

locale	sample	de-DE		locale/de-DE/

Firefoxアドオンの作り方:3.XULに書かれてるように、 xpi ファイルを作るときはこの行は削除する必要があるので注意してください。

また、こちらは必須というわけではないですが、install.rdf の Description に以下のように翻訳者の名前を追加し貢献を明記しておきましょう。

<em:translator>masahal (ja-JP)</em:translator>

(ここでは「翻訳者名 (ロケール名)」の形で書いてますが、決まった書式があるわけではないようです。)

(重要)アドオンをアップデートする場合

アドオンを改良していくうちに新しくローカライズする必要がある文字列ができた場合、en-US や ja ロケールにだけ追加すると、他のロケールで使うときエラーが起こってしまいます。かといってその新しい部分をen-USロケールで代替すると後述するような問題が起こるので、次の手順を踏む必要があります。

まず BabelZilla にアップロードしますが、このときいくつか注意点があります。最初に、BabelZilla の仕様では、en-US ロケールで翻訳を代替したファイルのままアップロードしてしまうと、その部分も「翻訳された」と見なされてしまいます。「翻訳されてない」と見なされるためにはその部分は空行にしなければなりません。また、アップロードしたファイルに含まれていない部分については、BabelZilla で翻訳作業が進んでる場合も「翻訳されてない」と見なされリセットされてしまうので、最新の翻訳状況を反映する必要があります*1

そのため、BabelZilla にアップロードする前に、アドオンページの [Download all locales (missing strings skipped)]からロケールファイルをダウンロードし、en-US や ja など自分が書くロケールを上書きしないようにコピーした後、BabelZilla にアップロードします。その後[strings replaced] をダウンロードして xpi ファイルを作り、AMO などにアップロードしましょう。

アドオンの名前、概要などのローカライズ

翻訳されるのは dtd, properties, ent ファイルのみで、rdf ファイルなどは翻訳されないため、install.rdf 内の名前や概要は翻訳されません*2。そこで、これらは

<em:localized>
	<Description>
		<em:locale>en-US</em:locale>
		<em:name>Read All Tweets(Reverse TL)</em:name>
		<em:description>For people who read all tweets on Twitter time-line, display only unread tweets in the order beginning from oldest. You can also apply this add-on only to a specified list.</em:description>
		<em:creator>masahal</em:creator>
		<em:homepageURL>http://masahal.web.fc2.com/</em:homepageURL>
	</Description>
</em:localized>

のように書くのではなく、

locale フォルダの properties ファイル内に

extensions.<アドオンのID>.name=<アドオン名>
extensions.<アドオンのID>.description=<アドオンの概要>

と書き、defaults/preferences フォルダ内の js ファイルに

pref("extensions.<アドオンのID>.name", "<strings.propertiesのchromeアドレス>");
pref("extensions.<アドオンのID>.description", "<strings.propertiesのchromeアドレス>");

と書けば翻訳対象になります。

詳細な説明は以下を見てください。

Localizing extension descriptions - MDC

ローカライズの閲覧、編集

properties ファイルなどを閲覧、編集するときには UTF-8BOMByte Order Mark)無し形式で開く必要があります。eclipse を使っている場合、「Window」-「Preferences」メニューを開き、[General]-[Content Types]を選択し、下の画面で「Text」を選び、Default encoding に「UTF-8」と入力して Update します。さらに、「Add...」ボタンを押して、「*.dtd」と「*.properties」を加えます。

f:id:masahal:20100610193657p:image

このあと、(eclipse 内の)テキストエディタで開いてください。

その他

トップページの左のメニューからコントロールパネルにいくことができます。

20091017171128

ちなみにトップページから日本語ヘルプを見ることができますが、(少なくとも私の環境では)なぜか文字化けします。

20091017171129

関連ページ

BabelZillaの紹介文 - deq blog

SCRAPBLOG : Babelzilla の WTS で全ローカライズの進捗が100%と誤認識される問題

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証