このサイトの記事更新は2019年11月に終了されました。過去記事アーカイブを公開しています。

投稿されたすべてのトピック

Localization Tools FAQ

今時何故 Apache Ant なんか使ってるの?

L10N 関連の自動化スクリプトを書き始めた時、マルチプラットフォームで比較的簡単に目的を果たす環境として Ant が便利だったからです。その後色々機能追加したり、世間の情勢の変化により、今となっては Ant であることに必然性はなくなっているのですが、Python などへの移植作業を行う時間が取れずにいます。

Apache Ant が動作しない

Linux の一部環境ではデフォルトの JDK のバージョンが古いため、Ant をインストールしても動作しないことがあります。ant help や ant -p などの基本的なコマンドでエラーが発生する場合は Ant が正しく動作していません。JDK と Ant のバージョンが最新 (少なくとも JDK 1.5 以降、Ant 1.8 以降) であるか確認し、古ければアップデートしてください。

Localization Tools のメッセージが文字化けしている

Mac OS X 10.4 などのデフォルト設定では lot (Java, Ant) の日本語出力が文字化けすることがあります。それは Ant (Java) の出力メッセージが Shift_JIS となっており、ターミナル側の設定と異なるからです。

ターミナルの文字セットエンコーディング設定を “Unicode(UTF-8)” と指定した上で、~/.bash_profile, ~/.bashrc などに UTF-8 で出力するように指定してください:

export ANT_OPTS=-Dfile.encoding=UTF8

Unable to locate tools.jar. Expected to find it in … といった警告メッセージが表示される

JDK をインストールしたが JAVA_HOME 環境変数が設定されていない場合や、JDK でなく JRE だけをインストールして Ant を実行すると表示される警告です。今のところ、通常のローカライズ作業範囲内のターゲットでは tools.jar (JDK) に依存するタスクを使用しておらず、動作に支障はないと思われます。

但し、JRE 上での実行は推奨しておりませんし、将来的には JDK に依存するタスクを常用するようになる可能性もあります。

… src/l10n/trunk/ja not found. といったエラーメッセージを表示して BUILD FAILED になる

lot には言語リソースファイルを同梱していません。以下のコマンドで言語リソースを取得してからご利用ください。

ant pull-src

Aurora ブランチ以外に Beta ブランチも対象に作業される場合は次のコマンドで言語リソースを取得してください。

ant forbeta pull-src

いずれも hg コマンドをキックするだけですので自分で l10n/src/trunk や l10n/src/beta などに hg clone (と hg up)しても結構です。

clone-mozilla ターゲットが終了しない

clone-mozilla は hg.mozilla.org から 1GB 近いリポジトリの clone を取得するコマンドです。普通に数十分かかるので暫く放置しておいてください。

★ミーティング★

こんにちは

学生マーケティングチームのツキジです。

去る7月17日に、アドオンパックリリース後初のミーティングがありました♪

麹町のオフィスにて、これまでの反省点や今後の活動等について話し合いました。

アドオンパックがリリースされたことをきっかけに少し活動が認知されてきているようです。
新たにメンバーに加わってくださった方がたくさんいらして、とっても賑やかでした!

それから大事なお知らせがあります。
今回、私達のグループのリーダーが瀬瀬さんに決まりました~☆

活動が始まったばかりの頃からほぼ毎回の出席率! デキメンです。

新リーダーを中心にこれからも頑張って行くので、応援よろしくお願いします☆

ツキジ

Jetpack Gallery サイトが閉鎖されました

Mozilla Add-ons Blog で告知されている通り、 Jetpack Gallery (旧式の Jetpack Prototype ベースで作ったアドオンを公開するサイト)が閉鎖されました。

新しい Jetpack Reboot ベースのアドオンを開発するには、以下の2通りの方法があります。

  • Mozilla Add-ons SDK (通称「Jetpack SDK」)を使ってローカルで開発する
  • Add-ons Builder(旧名「FlightDeck」)を使ってWebブラウザ上で開発する

Mozilla Add-ons SDK, Add-ons Builder ともに、まだ正式リリース前の段階ではありますが、どちらの方式で開発したアドオンでも addons.mozilla.org での公開が可能となっております。

Jetpack SDK 0.6 がリリースされました

Mozilla Labs のブログ で告知されている通り、 Jetpack SDK の新バージョンである 0.6 が7月28日にリリースされました。今回は新しいAPIの追加はありません。主な変更内容を以下に示します。

  • 今までプログラム内でXPCOMを使用する際の Cc, Ci (それぞれ Components.classes, Components.interfaces への参照)などは標準のグローバル定数としていつでも使用可能だったが、今後は以下のようにして明示的に宣言する必要がある。
    const {Cc, Ci} = require("chrome");
    詳細はこちら
  • cfx run, cfx xpi コマンドで自動生成される拡張機能の Firefox 対応バージョンが 3.6 ~ 4.0b3pre になり、現時点で最新の Minefield 上でも動作可能となった。
  • Widget APIWidget コンストラクタの引数オブジェクトに width プロパティをセットすることで、ボタン型UIの幅を指定することが可能になった。

Firefox 4 BetaX の日本語版について

Firefox 4 は現在 Beta 2 のリリース候補版が公開されており、間もなく Firefox 4 Beta 2 として一部の言語版がリリース予定です。これまでは通常、英語以外にもリリースするときには日本語版も同時にリリースしていますが、Firefox 4 Beta 2 には日本語版は含まれない予定です。

どうして日本語版が含まれないのか、いつから日本語版が含まれるようになるのか疑問に思う方もいらっしゃるかと思いますので、ここで少し書かせていただこうかと思います。

(さらに…)

・Thunderbird3.1のアドレス帳に3個以上のアドレスを登録することはできますか

Thunderbird3.1を導入しました。アドオンを使ってGmailのコンタクトと同期を取っていますが、Gmailには1つの名前に対していくらでもメールアドレスを追加することができます。ところが、Thunderbirdのアドレス帳では2つのアドレスしか登録することができません。これを増やす方法なりアドオンはありますでしょうか?

LpDiff

LpDiff

LpDiff (Language Pack Diff) は Java で書かれた言語リソース差分解析ツールであり、バージョン間の差分を色分け表示したりリソース対照表を生成できます。
リソース対照表の出力は言語リソースファイル毎に個別の HTML を出力するだけでなく、フォルダ内の全リソースを一括比較した結果を 1 つの HTML ファイルにまとめて出力することも可能です。コマンドラインから使用することもできるため処理の自動化も可能であり、言語リソースのメンテナンスには欠か せないツールとなっています。

なお、このツールは既に Localization Tools へと統合されており、その一機能として使用することもできます。

使い方

LpDiff の使い方の解説を日英両言語、スクリーンショット付で用意しました。

  • LpDiff の使い方

ダウンロード

特に理由のない限り最新版をご利用になる事をお薦めします。なお、LpDiff は Java で書かれているため、ご利用になるには Java の実行環境が必要となります。 Java でコーディングされてはいますが、クロスプラットフォームを意識したコードとなっていないため残念ながら Mac OS X などでは動作しないようです。

  • (2004/09/23) LpDiff.20040923.jar
    “×” ボタンで終了時にプロセスが残るバグを修正
  • (2004/09/22) LpDiff.20040922.jar
    “>” を含む dtd の実体定義パースに失敗する問題を修正
  • (2004/02/11) LpDiff.20040211.1.jar
    新規ファイルのパス出力が間違っているバグを修正
  • (2004/02/11) LpDiff.20040211.jar
    新規フォルダ中のファイルを表示しないバグを修正
  • (2004/02/02) LpDiff.20040202.jar
    欠落していた css を同梱し、不正なコマンドライン引数や不正な保存先パスで異常終了するバグを修正
  • (2004/01/19) LpDiff.20040119.jar
    不正なパスの読み込みで異常終了するバグを修正
  • (2004/01/18) LpDiff.20040118.jar
    dtd ファイルの読み込みに関するバグを修正
  • (2002/09/24) LpDiff.20020924.jar
    properties ファイルの比較に関するバグなどを修正
  • (2001/01/10) LpDiff.20010110.jar
    古川さんによる最終版

このソフトウェアは MPL 1.1( 参考和訳) の下で配布されています。
バグや機能追加の要望などお気づきの点がありましたらこの Trac でチケットを発行するか、 L10N フォーラム までお知らせ下さい。

原作者と現メンテナ: 古川 良一, dynamis, kozawa

ダウンロード

Mozilla アプリケーションと L10N 関連パッケージのダウンロード先一覧です。

日本語版入手先

公式リリース版

Nightly ビルド

Nightly L10N ビルドは言語リソースが en-US と過不足があるためにビルドされなかったり、されてもまともに動作しなくなっているものがほとんどです。Alpha や Beta などのビルドを使うか、対応する日時の Nigtly Langpack をインストールしてご利用いただく方が安全です。

Nightly Langpack

日本語リソースに英語リソースの過不足をマージして生成した擬似最新リソースを使って作られた言語パックです。Nightly ビルドと対応する日時のものを選んでご利用ください。

言語リソース

言語リソースファイルはすべて Mercurial リポジトリで管理されています。リポジトリのファイルから定期的に自動生成している zip アーカイブもご利用いただけます。

Jetpack SDK 0.5 がリリースされています

Mozilla Labs のブログ で告知されている通り、 Jetpack SDK の新バージョンである 0.5 が6月24日にリリースされています。 Jetpack SDK 0.5 では下記5つのAPIが新たに追加または変更されています。

  • Tabs
    指定したURLを新しいタブやウィンドウで開いたり、各タブ内に表示されたページのDOMへアクセスしたり、タブの開閉などのイベントに対してコールバック処理を追加したりするためのAPI。
  • Request
    Webサーバと通信するためのAPI。 XMLHttpRequest をラップしてより使いやすくしたもの。
  • Selection
    ページ内の選択範囲を取得あるいは変更するためのAPI。
  • Localization
    拡張機能内の文字列を日本語化するためのAPI。翻訳データは Mozilla Labs のWebサーバに配置してダウンロードする仕様?
  • Unload
    Firefox の終了や拡張機能の無効化などのシグナルを検知してコールバック処理を実行するためのAPI。

各APIを使ったサンプルや新機能に関する説明も順次アップしてきます。

SCRAPBLOG : Jetpack SDK 0.5 の Tabs API
SCRAPBLOG : Jetpack SDK 0.5 の Reuqest API
SCRAPBLOG : Jetpack SDK 0.5 の Selection API
SCRAPBLOG : Jetpack SDK 0.5 の Unload API

Firefox 4 Beta 1 リリース – Web 開発者注目の新機能を紹介

原文: Firefox 4 beta 1 is here – what’s in it for web developers? (2010/07/01 公開)

Mozilla は本日 [2010/07/07]、Firefox 4 の初めてのベータ版を公開 し、Firefox 4 の最終版に向けて大きな一歩を踏み出しました。今回のベータ版は、これまでの他のリリースとは異なる扱いをすることにしました。従来のベータ版はマイルストーン的なリリースでしたが、今回は、ベータプログラム期間中、より頻繁にアップデートを提供する予定です。このため、ベータ版をダウンロードして使い始めたテスターには、数か月といった長い間隔ではなく、2 週間から 3 週間ごとにアップデートが届きます。これにより、皆さんからのフィードバックにすばやく応えるとともに、修正点や変更箇所をより早期にテストしてもらえると Mozilla では考えています。そしてその結果、非常に品質の高い製品をリリースすることができるはずです。

初めに、フィードバックについて説明したいと思います。今回のベータ版には 2 通りのフィードバック提供方法があります。

Feedback ボタン – 上のスクリーンショットに見えているのは、ベータ版に含まれている「Feedback」と呼ばれるアドオンです。これは、ブラウザウィンドウの右上に大きな Feedback ボタンを追加し、テスターが気に入った、もしくは気に入らない機能について、すばやく簡単にフィードバックできるようにするものです。私たちはベータ期間中にここから送信されたフィードバックに目を通しますので、ぜひコメントを残してください。このアドオンには、よく使用されるメニュー項目パスワードの使用状況 など、テスターがどのように Firefox を活用しているかを調査する Test Pilot も統合されています。開発チームでは、このベータ期間を通じて、優れたブラウザを作り上げるために必要な、プラットフォームパフォーマンスなどの興味深いデータを測定するためにも Test Pilot を使用する予定です。通常の Test Pilot と同様に、テスターが知らないうちにデータが収集されるようなことはありません。収集されたデータがお使いのコンピュータから Mozilla へ送信される際には、必ず確認が行われます。そしてそれらのデータは非常に厳格な プライバシーポリシー に従って扱われます。

もしあなたが Web 開発者なら、このベータ期間は特に役立つことでしょう。Firefox 4 Beta 1 には、以下で解説するような、Firefox 3.6 にはなかった数多くの新機能が含まれています。このベータ期間を通じて機能の追加や修正を行っていくため、あなたのフィードバックは大変重要です。ぜひ時間を取ってベータ版をダウンロードして試してみてください。可能であれば常用して、継続的な使用によって何か変わることがあるかを確認してください。

パフォーマンス

Firefox 4 には、Firefox 3.6 以降に行われた数多くのパフォーマンスの向上の成果が含まれています。あなたは Web 開発者として、全体的なパフォーマンスの大幅な向上に気付くのではないでしょうか。

DOM とスタイリングのパフォーマンス向上 – DOM とスタイル解決のエンジンに大規模な改良が行われ、複雑な CSS ルールやセレクタマッチングを使用しているページが、一般的により高速かつ適切に表示されるようになりました。(Zimbra パフォーマンステストスイートの一部テストでは、2 倍程度の堅実なパフォーマンス向上が確認できています)

ページ読み込み処理中の I/O 削減 – Firefox 3.6 以降目覚ましい改良が行われている大きな分野のひとつが、メインの UI スレッドから多くの I/O を削減すること です。これは例えば、ブラウザの履歴に基づいたリンクの色付けを行う際、履歴の参照を別スレッドで行うようにして、メインスレッド上で HTTP キャッシュへの同期的なデータの書き込みを行わないようにするといったことが挙げられます。たったこれだけでも、他のどのような対策よりも、ブラウザの全体的な体感速度を向上させることができたのです。

JavaScript – Beta 1 には新しい JägerMonkey の開発成果は含まれていませんが、JavaScript エンジンにもまた大幅な高速化が行われました。JägerMonkey の開発はかなり進んでおり、ベータ期間中に反映されていきますが、既に 良い結果が出ています

レイヤーを通じたハードウェアアクセラレーション – 今回のベータ版では、ハードウェアアクセラレーションへの優秀な対応が行われました。例えば、HTML5 ビデオを見ているときに全画面表示に切り換えると、Mac と Linux では OpenGL を、Windows では DirectX 9 を使用することで、ビデオの描画が加速します。(Gecko レイヤー の開発作業を拡大しながら、このアクセラレーションを必要に応じてページ内コンテンツにも適用していく予定です。)

D2D を通じたハードウェアアクセラレーション – Windows 7 もしくはサービスパックが導入された Windows Vista では、D2D が有効になったレンダリングに完全対応 しています。これはあらゆる種類のレンダリングに相当のパフォーマンス向上をもたらす可能性を秘めており、IE の開発チームも IE9 に向けて取り組んでいるようです。これは今回のベータ版では初期設定で有効になっていませんが、簡単に 有効にして 試してみることができます。D2D 対応に関して私たちがこれまでに見てきた最高のデモは、実のところ IE Flying ImagesIE Flickr Explorer です。Firefox は実際、ほとんどの場合 IE9 のプレビュー版よりも、これらのデモをうまく実行することができます。

プラグインのプロセス分離を Mac 版にも実装 – プラグインのプロセス分離は、数週間前に 3.6 の Windows 版と Linux 版には実装されましたが、今回 Mac 版にも実装されました。プラグインのプロセスを Firefox 本体と分離することで、安定性や応答性を向上させるとともに、メモリ使用量を削減できます。Mac OS X では、10.6 Snow Leopard で動作する Flash Player 10.1 のプロセスを分離させる対応が行われています。(10.6 のみ対応しており、Firefox と個別プラグインの両方についてイベントモデルに対する変更が必要となります。)

HTML5 対応

Firefox は 早くから HTML5 への優れた対応 を行っており、今回のベータ版はそれをさらに拡大していきます。

HTML5 フォーム – 多くの HTML5 フォーム機能 への対応が製品へ反映され始めました。かなり高い 実装基準 が掲げられていますが、ベータ期間に合わせて、さらに多くのフォーム機能が追加される予定です。

HTML5 セクション<article> <section> <nav> <aside> <hgroup> <header> <footer> といった HTML5 セクションに対応しました。

WebSockets – 今回のリリースには、仕様のバージョン -76 に基づく WebSockets への対応が含まれています。

HTML5 履歴pushStatereplaceState といった、新しい HTML5 の履歴項目にも対応しました。これらは Web アプリケーションの構築を容易にする非常に重要な機能であり、サイト間を移動する際のプライバシーを向上させられるという点でも非常に重要です。

HTML5 パーサ – Firefox 4 は、HTML5 仕様の最重要部分を占める HTML5 パースアルゴリズムに完全に対応した初めてのブラウザです。このパーサのおかげで、例えば SVG や MathML を HTML コンテンツへ直接埋め込む ことが可能となりますが、それと同時に、マークアップが間違っていたとしても、別々のブラウザが同じ挙動が示すことを Web 開発者に保証するものとなります。これは HTML5 仕様の中で最大の相互運用性に関する部分に含まれ、開発者に多大な恩恵をもたらすことから、他のブラウザもこの取り組みに追従してくれることを Mozilla では期待しています。

そしてもちろん、Firefox 4 は、Canvas (D2D ハードウェアアクセラレーションを含む)、ビデオ、その他多くの HTML5 技術に対応しています。

HTML5 ビデオ

WebM 対応 – この分野におけるこれまでで最大の変更点は、WebM 形式 への対応です。HTML5 対応 YouTube のベータ版 に登録すると、WebM 形式の動画が美しくスムーズに再生されるはずです。

その他の今後実装予定のインタフェース – ベータ期間を通じて、JavaScript による動画の全画面表示 API や buffered 属性への対応の追加、autobuffer 属性の preload への改称といった作業が行われます。

ストレージと ファイル API

IndexedDB – Firefox 4 Beta 1 には、新しい IndexedDB ストレージ標準 に関する非常に初期の開発成果も含まれています。仕様がまだ確定しておらず流動的であることから、オブジェクトはプライベート名前空間を付けた window.moz_indexedDB となっています。これは非常に複雑な仕様なので、追って詳しいブログ記事を投稿します。

ファイル API の URI 対応 – ファイル API 内部における URI 対応の初期実装が行われています。これは、ファイル全体をメモリに読み込むことなく、画像や動画など大量のデータをファイル API で処理できるようになったということです。また、<image><video> 要素で、プライベートなファイル API URL を参照して、プレビューや操作を行うこともできます。

FormData – ファイル API やその他のソースから複雑なデータを非常に簡単にサーバへ送信できるようにする FormData メソッドにも対応しました。

アニメーションとグラフィックス

SMIL – SVG アニメーション (SMIL) に対応しました。ベータ版をお使いの方は、David Dailey が作成したこのページにある美しいサンプルの数々 をぜひ見てみてください。

あらゆるところで SVG を – ベータ期間の後半で、通常の画像や CSS 背景画像として SVG を使用できるようにする予定です。開発作業の大半は完了していますが、まだ反映はされていません。

CSS トランジション – 今回のベータ版には CSS トランジション のほぼ完全な実装が含まれており、-moz 接頭辞の付いたプライベート名前空間で使用できます。大きな作業でまだ残っているのは、変形やグラデーションのアニメーションだけです。(グラデーションについてはワーキンググループからのフィードバックを待っている段階で、トランジション関連のソースコードそのものはレビューが進められています。)

WebGL – 今回のベータ版では、初期設定でまだ有効になっていませんが、WebGL 対応の強化が行われています。(Vlad の以前のブログ記事 に有効にする方法が書かれています。) WebGL の仕様はバージョン 1.0 の公開に向けて策定中であり、Chrome、Safari そして Firefox で実装が進められています。Mozilla では Firefox 4 にこの機能を含めたいと考えていますが、最終決定は仕様の安定性やグラフィックスドライバの対応状況に左右されるでしょう。WebGL は Mac では非常に快適に動作するはずです。ATI や NVIDIA 製のドライバが搭載された Windows パソコンでも快適に動作します。しかし、Intel 製ドライバ搭載のパソコンでは、Intel によるドライバ対応が良くないために問題が見られるでしょう。(この記事の筆者もそうです) また Linux では、ドライバごとの対応に大きな差があるため、より複雑な状況です。NVIDIA 製ドライバ搭載のパソコンでは動作しますが、他のドライバではうまく動かない場合があります。それでも、Linux での多くの問題を修正するための取り組みは続けられています。

CSS

リサイズ可能な textarea 要素 – テキストエリアが初期設定でリサイズ可能になりました。-moz-resize プロパティを使えば初期設定を変更することができます。

新しい -moz-any セレクタ-moz-any は、巨大で複雑なセレクタを非常に小さなものに置き換えられるようにする強力なセレクタです。サンプルは こちらの記事 をご覧ください。

新しい CSS3 calc() – 今回のベータ版には、新しい CSS3 calc() 値の対応が含まれています。これは、割合と絶対値の組み合わせを含むサイズ指定を可能にするもので、開発者から高い評価を受けています。サンプルは CSS3 calc() に関する記事 をご覧ください。

背景画像の部分選択 – 新しい -moz-image-rect セレクタを使用して、背景画像の一部だけを選択して表示させることが可能になりました。

-moz-background-size 対応の削除-moz-background-size プロパティは、最終的な background-size という名前に改称されました。今後 -moz-background-size は使用できません。

DOM とイベント

入力イベントにおけるタッチ操作の検出 – 入力イベントがマウス操作によるものかタッチ操作によるものかを event.mozInputSource で調べられるようになりました。

範囲の境界長方形の取得 – Range オブジェクトに getClientRects()getBoundingClientRect() メソッドが追加されました。

任意の要素上のマウスイベントの捕捉 – Internet Explorer 由来の setCapture()releaseCapture() API への対応が追加されました。

document.onreadystatechange への対応document.onreadystatechange に対応しました。

セキュリティ

コンテンツセキュリティポリシー – 今回のベータ版には コンテンツセキュリティポリシー (CSP) への対応が含まれています。CSP を使えば、ブラウザがコンテンツを読み込む際に許容されることを、サイト管理者が制御できます。CSP は、クロスサイトスクリプティング (XSS) やクロスサイトリクエストフォージェリ (XSRF) 攻撃のリスクを緩和するために作成された仕様です。自動報告機能もあり、他のブラウザに影響を及ぼすおそれのある問題の報告をサイト管理者が受け取ることができます。

最後に

以上が Firefox 4 Beta 1 の概要です。ベータ期間中、さらにいくつかの機能が追加される予定ですが、実際に実装されたらこのブログ [Mozilla Hacks] でお知らせします。それらの機能の一部については、より掘り下げた詳しい情報を提供します。当然のことながら、ベータ期間を通じてパフォーマンス向上作業も継続します。ぜひあなたもベータ版をテストして、コメントがあればここ [原文記事] に投稿するか、組み込みのフィードバック機能で報告してください。

それでは、新機能満載のベータ版をお楽しみください!