パーソナルツール
現在の場所: ホーム firefox forecastfox
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
ナビゲーション

 
文書操作

forecastfox 日本語対応版

作成者 takanori 最終変更日時 2008年06月17日 01時55分

firefox のステータスバー等に天気予報を表示できるようになる拡張機能、forecastfox の日本語 locale 追加 + 日本語天気データ取得版です。

概要

forecastfox は天気予報を firefox のステータスバー等で表示させる拡張機能です。

インストール

下記のリンク先のファイルをダウンロードして、firefox にドラッグ & ドロップしてインストールしてください。インストール後、firefox 再起動すると拡張機能が有効になります。

使い方

forecastfox の設定画面を開いて、最初に 天気予報の地域 を設定します。すると、天気予報の情報を取得してステータスバーに表示されるようになります。

Japanized weather data

(注) なお、この日本語化バージョンでは、天気データも日本語化されています。 しかし、私が日本語でどう書くかわからなかった地名や、「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 は例えばこんな感じになります。

翻訳はどのように行っているかというと

  1. まず Apache の mod_proxy を使って accuweather.com から天気予報データを取得します。
  2. 次に、取得したデータを 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>

翻訳フィルタ本体のソースも、あんまりきれいじゃありませんがここにさらしておきます。

形式エラーとなってしまうのですが…

投稿者 投稿日時: 2006年01月20日 15時29分

forecastfox 日本語対応版 0.8.2.5を使用さていただいているのですが、FireFox1.5のステータスバーの左端に表示するようにして使っているのですが、天気情報を取得しにいった後、ステータスバーに”形式エラー”と表示され、天気が表示されません。 どのような点を確認していけばよいか、アドバイスお願いします。

Re: 形式エラーとなってしまうのですが…

投稿者 takanori 投稿日時: 2006年01月23日 12時58分
proxy 側の問題っぽいんですが、たまーに「形式エラー」となることはあります。
そういう時は見なかったことにして(^^;)
天気の上で右クリック→天候データを更新
とすると天気をまた表示してくれたりします。

原因は、proxy が天気データを受け取るときに失敗して、データとして正しくない(xmlが壊れた)状態になってるんだと思うんですが、どうやったら回避できるのはちょっとわかんない状態だったりします。すいません。

Forecastfox 0.9.5.1

投稿者 YoBito 投稿日時: 2007年02月25日 14時05分
こんにちは
Forecastfox 0.9.5 以降から日本語ロケールが入っていません
宜しくお願いします。

0.9.5.2 宜しく御願い致します。

投稿者 無名ユーザ 投稿日時: 2007年03月03日 21時35分
0.9.5.2がリリースされているようなのですが、此方もやはり
日本語の表記は出来ないのでしょうか、また現在
forecastfox-0.9.5.1-jp.xpi (最新版、UI は英語)を
使わせて頂いているのですが、オプションを日本語で表示
させるのは無理なのでしょうか、御回答宜しく御願い致します。

Re: 0.9.5.2 宜しく御願い致します。

投稿者 takanori 投稿日時: 2007年03月04日 02時39分
あ、0.9.5.2 はもう作ってあります。
ここのページを書き換えるの忘れてました。
というわけでこのページ直しておきました。

オプションを日本語で表示させるのはある程度はできると思いますけど、そのうちオフィシャルが対応するかなーと思って待ってます。(ずる)
気が向いたらやるかもってことで...

質問です

投稿者 kuro 投稿日時: 2008年02月22日 18時40分
こんにちは、最近ここのページを知り天気のアドオンを入れてますが
この0.9.6に日本語ロケールを入れようと色々弄くった結果なんとか日本語になりました
このサイトと前バージョンの日本語化がなければできませんでした ありがとうございます
んでちょいと質問なんですがNOWとINとWINDだけが日本語にならないのです;;
一応日本語にしてるつもりなんですがどうもならないです
なにかヒントでも教えて頂くとありがたいです

曜日表示

投稿者 ひろ 投稿日時: 2008年06月23日 02時19分
forecastfox-0.9.7.6-jp.xpi をインストールして、Firefox3でも無事使わせていただいています。
曜日表示の[sday]が「月、火、水、木・・・」となれば表示部も小さくなって嬉しいです。どうでしょうか?

Re: 曜日表示

投稿者 takanori 投稿日時: 2008年06月25日 12時28分
本当は曜日表示は forecastfox 0.9.6 (多分)以降では、クライアント側で文字列を変換するんですよ。
なので、本来なら day と sday では表記が違う(月曜と月)ようになるはずなんです。
でも、私が作っている翻訳フィルタでは、それより古いバージョンの forecastfox にも対応するために、
サーバ側で曜日を日本語に書き換えているため、こんなことになっています。

これに対応するためには、翻訳フィルタ側を2バージョン用意するしかないかなぁと思っています。
悩み中...

ご意見ください。

曜日表示

投稿者 夜人 投稿日時: 2008年07月01日 05時38分
翻訳フィルタ側を2バージョン用意を出来ればお願いします。

日付変更線

投稿者 無名ユーザ 投稿日時: 2008年06月23日 05時47分
前からそうだったんですが日付が変わる時間がおかしくないですか??
例えば月曜日のPM12:00にまだ日曜が今日のところに表示されてるのですが解決策はありますでしょうか??

Powered by vine linux, python, zope, plone, coreblog