forecastfox 日本語対応版
firefox のステータスバー等に天気予報を表示できるようになる拡張機能、forecastfox の日本語 locale 追加 + 日本語天気データ取得版です。
概要
forecastfox は天気予報を firefox のステータスバー等で表示させる拡張機能です。
- home page: mozdev.org - forecastfox
- home page: Forecastfox Enhanced
インストール
下記のリンク先のファイルをダウンロードして、firefox にドラッグ & ドロップしてインストールしてください。インストール後、firefox 再起動すると拡張機能が有効になります。
- install: forecastfox-0.9.7.6-jp.xpi (最新版、UI が日本語)
- install: forecastfox-0.9.3.1-jp.xpi (旧版、UI が日本語)
- install: forecastfox-enhanced-0.9.3.1-jp.xpi
使い方
forecastfox の設定画面を開いて、最初に 天気予報の地域 を設定します。すると、天気予報の情報を取得してステータスバーに表示されるようになります。
(注) なお、この日本語化バージョンでは、天気データも日本語化されています。 しかし、私が日本語でどう書くかわからなかった地名や、「Variably cloudy and a shower」のように文章で表現された天気予報は翻訳できていません。 翻訳データは追加・修正が可能ですので、diff ファイルなどをメールで(takanori [at] takanory.net)までもらえればと思います。ご協力をよろしくお願いします。
天気データの日本語化
forecastfox の動作
forecastfox では、AccuWeather.com が提供する XML 形式の天気予報データを http で取得してそのまま表示しています。
- forecastfox <-> accuweather.com
forecastfox が天気予報を取得するための URL は例えばこんな感じになります。
そのため、天気予報の中身(晴れとか雨とか、地域名とか風向きとか)は、英語でしか表示できません。 (forecastfox の FAQ によると 0.8.5 で対応する
予定のようです)
翻訳 proxy
で、それまで待てないので、というか天気が更新されてもなんかよくわかんなかったので、自力で天気予報を日本語化するようにしました。 動作原理はこんな感じです。
- forecastfox日本語対応版 <-> 天気翻訳proxy(takanory.net) <-> accuweather.com
つまり、ダウンロードできる forecastfox 日本語対応版は、accuweather.com ではなくて、takanory.net に天気データを取りに行くようになっています。
(components/nsForecastfox.js に URL が書いてあります。)
翻訳された天気予報を取得するための URL は例えばこんな感じになります。
翻訳はどのように行っているかというと
- まず Apache の mod_proxy を使って accuweather.com から天気予報データを取得します。
- 次に、取得したデータを Apache 2.0 から追加された フィルタ 機能を使って日本語に書き換えます。
翻訳フィルタ
翻訳フィルタは python で作ってあります。
mod_python というモジュールが公開されていて、このモジュールを apache 2.0 で使えるようにすると、
PythonOutputFilter というディレクティブが使えるようになります。
この PythonOutputFilter として weather フィルタを登録して、
SetOutputFilter で mod_proxy で取得したデータに対してフィルタをかけるように設定しました。
実際の apache の設定ファイルに書いたのはこんな感じです。:
RewriteRule ^/adcbin/(.*) http://forecastfox.accuweather.com:80/adcbin/$1 [L,P]
PythonOutputFilter weather
<Location /adcbin>
SetOutputFilter weather
</Location>
翻訳フィルタ本体のソースも、あんまりきれいじゃありませんがここにさらしておきます。
Re: 形式エラーとなってしまうのですが…
そういう時は見なかったことにして(^^;)
天気の上で右クリック→天候データを更新
とすると天気をまた表示してくれたりします。
原因は、proxy が天気データを受け取るときに失敗して、データとして正しくない(xmlが壊れた)状態になってるんだと思うんですが、どうやったら回避できるのはちょっとわかんない状態だったりします。すいません。
Forecastfox 0.9.5.1
Forecastfox 0.9.5 以降から日本語ロケールが入っていません
宜しくお願いします。
0.9.5.2 宜しく御願い致します。
日本語の表記は出来ないのでしょうか、また現在
forecastfox-0.9.5.1-jp.xpi (最新版、UI は英語)を
使わせて頂いているのですが、オプションを日本語で表示
させるのは無理なのでしょうか、御回答宜しく御願い致します。
Re: 0.9.5.2 宜しく御願い致します。
ここのページを書き換えるの忘れてました。
というわけでこのページ直しておきました。
オプションを日本語で表示させるのはある程度はできると思いますけど、そのうちオフィシャルが対応するかなーと思って待ってます。(ずる)
気が向いたらやるかもってことで...
質問です
この0.9.6に日本語ロケールを入れようと色々弄くった結果なんとか日本語になりました
このサイトと前バージョンの日本語化がなければできませんでした ありがとうございます
んでちょいと質問なんですがNOWとINとWINDだけが日本語にならないのです;;
一応日本語にしてるつもりなんですがどうもならないです
なにかヒントでも教えて頂くとありがたいです
曜日表示
曜日表示の[sday]が「月、火、水、木・・・」となれば表示部も小さくなって嬉しいです。どうでしょうか?
Re: 曜日表示
なので、本来なら day と sday では表記が違う(月曜と月)ようになるはずなんです。
でも、私が作っている翻訳フィルタでは、それより古いバージョンの forecastfox にも対応するために、
サーバ側で曜日を日本語に書き換えているため、こんなことになっています。
これに対応するためには、翻訳フィルタ側を2バージョン用意するしかないかなぁと思っています。
悩み中...
ご意見ください。
日付変更線
例えば月曜日のPM12:00にまだ日曜が今日のところに表示されてるのですが解決策はありますでしょうか??
形式エラーとなってしまうのですが…
forecastfox 日本語対応版 0.8.2.5を使用さていただいているのですが、FireFox1.5のステータスバーの左端に表示するようにして使っているのですが、天気情報を取得しにいった後、ステータスバーに”形式エラー”と表示され、天気が表示されません。 どのような点を確認していけばよいか、アドバイスお願いします。