2012年7月31日火曜日

Firefoxも晒したのでついでにGoogleChromeの拡張を晒してみる件

正確にはGoogleChromeではなくIronを使っているのだが、IronではGoogle拡張のページに直接は行けないので、メモ代わりに。

domblrco
https://chrome.google.com/webstore/detail/kehbgighdebdbiefilmmhjlbhlggiijl

image

Chromeといえばこれしかない。tumblrで簡単にリブログできる簡単拡張。
リブログのアイコン上で右クリック、pb(Publish)アイコンをリブログしたいBlogにドラッグ&ドロップするだけでそこにリブログできるというあまりにもラクすぎる拡張。

Create Link
https://chrome.google.com/webstore/detail/gcmghdmnkfdbncmnmlkkglmnnhagajbm

image

FirefoxでのMakeLinkに対応するクリッピング拡張。
設定した後、再起動でちゃんとコンテキストメニューで使える。
ただメニューの順番を入れ替える拡張がないのでFirefoxより使い勝手は悪い。

Gestures for Chrome(TM)
https://chrome.google.com/webstore/detail/jpkfjicglakibpenojifdiepckckakgk
ジェスチャー系については特にこだわりがないのだけれど、今回はこれ。

あとは自分の作った拡張を動作確認レベルで入れてる
https://chrome.google.com/webstore/search/f-square

Firefoxとは当然違い、意外とできないことが多いのでやっぱりFirefoxだなぁと思う今日このごろ。

【追記】

はてなブックマーク GoogleChrome 拡張
https://chrome.google.com/webstore/detail/dnlfpnhinnjdgmjfpccajboogcjocdla

Evernote Web Clipper
https://chrome.google.com/webstore/detail/pioclpoplcdbaefihamjohnefbikjilc

webサービス絡みも入れとかないと……

2012年7月28日土曜日

EeePC901-Xと往年の名機(自称)「CF-C33」を比較してみた ①

【復刻】この記事は2008年07月18日の記事の復刻版です

image

 今回全力で欲しがったEeePC901-Xであるが、これは個人的に最初に手に入れたPanasonicのミニノートPC「CF-C33J8C」の再来を待ち望んでいた(値段が安かったことも否定しない)からである。
 レッツノートミニの愛称で呼ばれ、当時はオフ会に持ち込んでは記念撮影や動画撮影などに利用したものだ。徹夜カラオケの録音にも使ってなおバッテリーが切れなかった(もちろん超寿命設定とシャットダウンを使ってるけど)ことから自分のなかで理想のモバイルノートPCとして位置づけられた一品である。
 というわけで、HDDレスとなったEeePCでさらに納得のいくスペックの901を入手したことで本格的にいろいろ比較してみようと思った。

その1:スペック比較

 比べるまでもない、と言われてしまうとそれまでなのだが一応。

  CF-C33J8C EeePC901-X
発売時期 1998年6月 2008年7月
価格 22万円くらい(当時) 59,800円
CPU Intel MMX Pentium 233MHz Intel Atom N270(1.6GHz)
メモリ 96MB(増設・交換不可)たぶんPC100 1GB(最大2GB) DDR-667(PC-5300)
チップセット(グラフィック) Intel(R) 430TX PCIset (NeoMagic社製NM2160) Intel製(非公表)(内蔵グラフィック)
VRAM 2MB 32MB →128MB(訂正)
液晶サイズ/解像度 8.4型(800×600)約26万色 8.9型ワイド(1,024×600)
HDD/SDD 3.2GB(HDD) 4GB+8GB(SSD) +20GB(EeeStrage)
OS Windows98 WindowsXP Home
外形寸法(幅×奥行×高さ) 255mm × 182mm × 25.4mm 225mm×175.5mm×22.7mm
重量 約1.0㎏+増設バッテリー 約1.1kg
標準バッテリー駆動時間 2.5時間(増設すると8時間) 約8.3時間

その2:外観比較

 I/Oの比較も兼ねて、重ねて比較してみる。大きさの関係で上がEeePC901-X

 1 正面

image

 実は正面には端子がないEeePC。CF-C33にはマイク&ヘッドホン端子と赤外線通信用の受光部がある。

 2 右側

image

 CF-C33購入当時(1998年12月だと思う)はLANは珍しくアナログモデムとISDN(TA経由でUSB)が主流だった。
 手前(画像左)側に見えるスロットぽいモノがDELLユーザにはHDDに見えるかもしれないが、標準バッテリー、奥(画像右)に見えるいかにもな代物が別売りの大容量バッテリーである。これを持ち歩いていた頃バッテリーが外れるのを嫌ってPCとの接触部分は接着剤で固定してあったりする。
 また増設しない状態では机にぺったりとくっついて熱がこもってしまう底面部に隙間を作ることと、キーボードに角度をつけて打ちやすくするという効用もあった。

 3 背面

image

 両方とも特に特徴はないが一体感のあるEeePC901-Xが洗練されている(標準バッテリーだからというのもあるが)
 CF-C33は本来なら真ん中のネジ部分が拡張バッテリーの固定部分(持ち運びで壊してしまったので前述の接着剤で固定)
 あと当時画期的なヒンジ部分に内蔵したWebカメラ(30万画素)1回だけネットミーティングしたかな。
 ここにはWebカメラの代わりにPHSスタンドをつけてモバイル通信ができるというオプションもあって。邪魔にならない部分に夢の広がるガジェットがつくのが楽しみだった。結局その2つしかつかなかったけど。

 4 左側

image

 EeePC901-Xでは右側だった電源部分がCF-C33では左側に。あとフロッピーディスクやシリアル/パラレルポート、外部VGAを引き出すための外部コネクタと数少ない拡張手段であるPCカードを装備。LANはここかUSBに挿さないと基本的に使えない。

 5 上側

image

 EeePC901-X黒の指紋の残り具合がよくわかるw
(CF-C33の天板は指紋の残りにくいヘアライン加工)

 6.I/Oまとめ

  CF-C33J8C EeePC901-X
シリアルポート 外部(別売) なし
パラレルポート 外部(別売) なし
PS/2 外部(別売) なし
外部VGA 外部(別売) 内蔵
FDD 外部(同梱) なし
アナログモデム 内蔵56kbps (V.90/K56flex) なし
赤外線通信 内蔵 なし
LAN なし 100BASE-TX/10BASE-T
無線LAN なし IEEE802.11b/g IEEE802.11n(Draft 2.0)
Bluetooth なし Bluetooth Version 2.0+EDR
PCカードスロット PCカード(TypeII×1スロット)、CardBus対応、 なし
USBポート 1(USB1.1以下) 3(USB2.0)
Webカメラ 30万画素(ヒンジ部分) 130万画素(液晶上)
カードリーダ なし SDHCカードリーダ

 7.キーボードとタッチパッド

image image

 配列的にはCtrlとFn、半角/全角が違うくらい。タッチパッドが大きくなって指2本でスクロール操作できるようになった。やってみると便利。

で、何が言いたいのかというと……

 10年前にもEeePCに負けないコンセプトのPCはあったんだよーってのと。AtomとSSD積み直せば、レッツノートミニは復活できるかもしれない……とただそれだけ。

 実は最初起動したときHDDがカランカラン言いながら止まってしまったのでもう終了、と思いきや撮影終わって片付ける前にもう一度電源入れてみたらちゃんと起動したのが冒頭の画像。
 ベンチとかも取ってみようかと思ったんだけど、Windows98ではUSBメモリが素で使えない(前もってドライバーのインストールが必要)という罠にはまってしまったのでデータ送るためにLANカード用意しないといけない。
 ……ということで続くかもしれないので念のため①。

2012年7月27日金曜日

Tumblrのchat式のpostを会話主別に色分けしたいとき、会話主別クラスがないテーマにユーザ別のclassを付与する方法

【注意】2010年9月21日の記事を2012年7月27日現在の画像で補足したものです

image

【前提】とりあえずTumblrでテーマのcustomHTMLを見られる人+CSS弄れる人

 tumblrのテーマの中には会話(chat)形式を収録するとき会話主に合わせて行にスタイルを当てはめるためのclassが設定されているものがある。
ただし、適用するテーマによってはclassが設定されていなくてできないこともある。
しかし、会話主別のクラス付与はTumblrの機能なので、設定さえできれば、どんなテーマにでも適用することができる。

手順1:テーマのカスタマイズからcustom HTMLを読む

 ダッシュボードから「カスタマイズする」→「HTMLを編集」でテーマのソースである「custom HTML」を編集することができる。

 image
image

 この段階でバックアップ兼この後の編集する場所を見極めるためにcustom HTMLの全文をエディタなどにコピペしてしておくとラク。
 

手順2:custom HTMLのchat形式postの部分を探す

 テーマによって当然違うので一概には言えないが、次の部分で囲まれた部分がchat形式のpostの構造を決める部分になっている

 {block:chat}……{/block:chat}
 (または、{block:Conversation}……{/block:Conversation}

 例えば、Impliedというテーマでは、次のように記述されていた。

{block:Chat}
  <ul class="chat">
  {block:Lines}
  <li>{block:Label}<span class="name">{Label}</span>{/block:Label} {Line}</li>
  {/block:Lines}
</ul>
{/block:Chat}

 念のため、他の{block:}で囲まれている部分は

{block:Lines}……{/block:Lines}会話1行分(実際には{Line}の部分に会話文が入る)
{block:Label}……{/block:Label}会話主(実際には{Label}の部分に会話主の名前が入る)

手順3:会話主別class名を付与する

 今回例に挙げたソースでは、1行をリストで表示しているため、li要素(テーマによってはdiv要素)に会話主別のクラスを付与するのが適当なので、次のように記述する。

{block:Chat}
  <ul class="chat">
  {block:Lines}
  <li class=”user_{UserNumber}”>{block:Label}<span class="name">{Label}</span>{/block:Label} {Line}</li>
  {/block:Lines}
</ul>
{/block:Chat}

 ようやく出てきた{UserNumber}が今回のキーで、chatの会話主に上から順番に振られる番号(同じ会話主はそのpost内では同じ番号)
 ここではuser_{UserNumber}と記述することで、各会話行が、会話主別に上からuser_1、user_2、……と振られていくことになる。

手順4:user_1、user_2、……にスタイルシートを適用する。

 最後の問題はuser_いくつまで設定するかだが、基本的にラジオでこれ以上の人数は使わないだろうと個人的には4つにしている。
 4人以上の会話があったとしてもスタイルシートや会話主の順序を少々工夫することで結構間に合っていたりする。

参考リンク

Creating a custom HTML theme
Tumblrのテーマの作り方の仕様。ただし英語
Tumblr で使えるタグ - 導入 2010-01-20  
ということで日本語になってるところ。

 

2012年7月24日火曜日

久しぶりに現在のFirefoxアドオン一覧を晒してみる件

All-in-One Sidebar 0.7.17 
[機能]
ブックマーク、履歴、アドオン、ダウンロードなどなんでもサイドバーに突っ込む。

BatchDownload 1.2.9(改造版)
[ダウンロード]
ページ上のリンクされた画像を一覧化して一括保存。画像掲示板や画像Blogでのぶっこ抜きに絶大の威力を誇る。えふすく的にはさらに使いやすくアドオンバーにボタンを設置できるように改造したものを使用。

Clearly 6.3337.321.777
[ページ整形][印刷]
ページ上の不要な部分を排除して必要な部分をEvernoteに保存できるように整形する。
うまく整形できないサイト、対応しないサイトもあるが、だいたいはこれで

Context Highlight 0.3.4
[ページ内検索]
選択したテキストに対してそれと同じテキスト部分にマーカーを塗る。
わかりやすい。

Context Search 0.4.6
[Web検索]
選択したテキストでWeb検索ボックスでの検索を行う。
検索エンジンの順序は検索ボックスでの順序に準じる。

CSSsir 0.1.20120618(改造版)
[ジェネレータ]
CSS3のいろいろな機能を実現するコードを生成するジェネレータ。
セレクタについてのメモも参照できる。以前日本語で表記できるように改造した。
Firefoxアドオンを翻訳してみた(CSSsirの場合)

Download Sort 2.5.8
[ダウンロード]
フィルタを使ってダウンロード先を指定する。
フィルタは拡張子やファイル名で設定可能。ダウンロード先に日付ごとにフォルダを生成して保存する設定もある。

Evernote Web Clipper 5.1.0.252437
[外部連携]
言わずと知れたEvernoteへのクリッピングアドオン。

Extension List Dumper 1.15.2
[アドオン管理]
インストールしたアドオンの一覧を生成する。テキスト、CSV、HTMLで出力可能。

FireFTP 2.0.5
[FTPクライアント]
FirefoxでできるFTPクライアント。
最近ほとんど使わないけど、必要ではあるのでFTPクライアントをインストールする面倒がなくていい。

FireGestures 1.6.16
[機能]
Firefoxマウスジェスチャーの定番。汎用的なカスタマイズの他にスクリプトで独自操作にも対応できるのがいいところ。
上級者はこれでかなりの数のアドオンを代替できるらしい。

goo辞書 1.0.9
[外部連携]
goo辞書で単語の意味を調べる。
英文の翻訳作業時にGoogleTranslateと並行して使うことが多い。

Google Translator for Firefox 2.1.0.2
[外部連携]
Google Translatorを使って選択範囲、またはページを翻訳する。

Hatena Bookmark 2.2.1
[外部連携]
「はてなブックマーク」関連のいろいろな機能を追加。
特にいうことはないがリンク先のブクマ数表示がたまにウザい。

Link Gopher 1.3.2(改造版)
[ページ整形]
本来はページ上のリンクをすべて抽出して一覧化するものなのだが、えふすく的改造により、アドオンバーにボタン設置&画像ファイルのリンクをすべてiframeで一覧化することができるものになっている。

image

↓使用↓

image

これに上述のBatchDownload 1.2.9(改造版)を使うことで画像ぶっこ抜きが可能になる。

Make Link 11.03
[機能]
Firefoxでは定番の定型文コピペ作成アドオン。
手元のコンテキストメニューで選べるだけでなく、細かい設定も可能なので重宝。
改行を含む定型文ではWindowsで改行コードが不完全なためコピペしても改行に見えない(改行扱いにはなっている)のを修正した改造版があるのでこちらがオススメ。

Menu Editor 1.2.7
[機能]
コンテキストメニューの順序入れ替えや有効・無効化ができるようになる。
多数のアドオンで煩雑化したコンテキストメニューの整理には必須のアドオンだが、コンテキストメニューをいじるのは何となく危険な香りも漂い、何度か相性問題も発生している。
これを使って上記のMake Link 11.03Context Search 0.4.6Evernote Web Clipper 5.1.0.252437などを上に置いておくのがえふすく的なやり方。

New Tab Tools 1
[機能]
Firefox13から登場した「新しいタブ」の3×3のサムネイル画像を任意の数に変えることができる。
Operaなどでこの機能に慣れている人には使えると思う。

nogoogle 0.3
[ページ整形]
Googleの検索結果から目的のサイトに移動する際、実は直接ではなくGoogleのトラッキングURLを踏んでいる。これをスキップして直接目的のURLに移動する方法を提供する。
とはいえリンクを右クリックしてコンテキストメニューから選ぶ必要があり、まだまだ改良の余地がある。
たまにGoogleのトラッキングで異常に時間がかかることがあるのでそんなときに使うと意外と早く目的のサイトに移動することができる。

Page Title 3.0
[機能]
URLバーにタイトルを表示する。
ドメインの信頼性情報はそのまま表示され、URLバーをクリックしてカーソルが入るとURLが表示される。
タイトルバーを後述のPersonal Titlebar 1.0.20111112で消した場合に重宝する。
ロケーションバーのURLを閲覧中のページタイトルに置き換えて表示する Page Title 3.0

Personal Titlebar 1.0.20111112
[機能]
タイトルバーからタイトルを消して、他のツールバー同様にカスタマイズできるようになる。
タイトルはタブや上述のPage Title 3.0などで補完でき、スペースとして有効活用できる。
えふすく的にはここにURLバーや検索ボックスを入れている。

Personas 1.6.2
Personas Expression 2.1.2
[機能]
Firefoxの見た目をいじるPersona関連のをFirefoxからいじくるためのアドオン。
機能的には影響しないので気分でどうぞ。

RefControl 0.8.16
[機能]
サイトごとに送信するリファラを制御する。
たとえばfc2の画像とか。
FC2ブログのRSSで画像が読み込めない問題を解決する方法

RSS Icon 1.0.6
[機能]
実はなくなっていたRSSのあるサイトでURLバーにRSSアイコンを表示させる機能を復活させる。

Stylish 1.2.6
[機能]
言わずと知れたユーザスクリプトによるサイトやメニューのカスタマイズアドオン。
スクリプトは公開する場もあってえふすくも2つほど発表している。

Tab Mix Plus 0.4.0.3
[機能]
以前は鉄板ともいえたタブ関連の機能を拡張するアドオンだったが、すでにほとんどの機能がFirefox内に内包されるようになり最近ではこれでないといけないような機能はそんなにない。

Tumblr Post 1.24
[外部連携]
アドオンバーのアイコンにドラッグするとTumblrにpostする。
手軽さでは一番だと思う。

Web Developer Toolbar Button 1.06
[機能]
Web開発のメニューをツールバーボタンにしたもの。
以前はWeb Developerという別のアドオンを使っていたが、これもかなりの部分がFirefoxに同梱されるようになって、ボタンのみを入れるだけで個人的に必要なものは満たされるようになった。

YesScript 1.9
[機能]
ドメインレベルでのJavaScriptの無効(ブラックリスト)を設定できる。
JavaScriptの危険性云々でNoScript(ホワイトリスト)を推奨する動きが大きいが、個人的にはこちらのほうが使い勝手がよい。
最近多いサイトを見る前の全面広告のようなスクリプトを切るのがメインになっている。

中止ボタンがサーニャに見えて困る 0.4.0.3
[サーニャ]
中止ボタンがサーニャになる。えふすくの公開している改造アドオン。
すでにデフォルトでの中止ボタンは廃止になっているが、更新ボタンとの組み合わせでページ読み込み時に瞬きするキュートなマスコットとなっている。
今でも愛用者が多いようだ。

Firefox 15 Betaを14リリース版とプロファイルを切り分けずに使う方法

回答:ポータブル版を使えばいいんじゃない?

Mozilla Firefox, Portable Edition 15.0 Beta 1
http://portableapps.com/apps/internet/firefox_portable/test

日本語版もあります。

image

インストール先に困らなくて済むのと、他のブラウザも(後述の制約はあるものの)あるので、ベース兼ランチャになっているPortableApps.com Platform 10.1と一緒に入れると便利。
ポータブル版ということで、USBメモリに……と考えがちですが、Dropboxのような同期フォルダに入れれば別のWindows同期環境も使えるし、単に使い捨てにしたければRAMディスクに展開してSSDより速い環境を作るのもアリ。
【追記】ただし同時起動はできない(-no-remoteオプションをつける必要がある)

プロファイル置き場

(インストールした場所)\PortableApps\FirefoxPortableTest\Data\profile

ここに使いたいプロファイルフォルダの中身を上書き。
当然のことながらFirefoxはどちらも止めてから。うっかり移行元のフォルダ内のデータをなくさないように。

早速不具合があった模様

image

現在14で使っているプロファイルで15Betaを起動したらAll in One Sidebarのアイコンが……
こういうものを検証すべくBetaを堪能しましょう、ということで。

Firefox3.6のパスワードがうまく移行できなかった件(Firefox14でもやった件)

元記事:http://ccf-square.blogspot.jp/2010/04/firefox36.html

2012年07月24日 Firefox14上にて同様の操作を行い、補記しました

パスワード部分だけの移行

移行元のプロファイルフォルダの中から……

key3.db
kf.txt
signons.sqlite
signons.txt
signons2.txt
signons3.txt

 この6つのファイルのうち既存のプロファイルにあるもの(6つすべてあるとは限らない。今回のプロファイルにはsignons.txtはなかった)を新プロファイルに移して起動してやると……きっちり保存したパスワードが出てくるはず(自分のは)

 ※注意:プロファイルを弄っての移行は危険です。
 細心の注意と覚悟をもって臨みましょう。

 えふすく的対策①
 Firefox自体は止めてから作業する(.sqliteファイルはFirefoxが動いている間はコピーできない)

 えふすく的対策②
 新規のプロファイルに最初に行う(先に設定を済ませてから失敗すると涙目)

 えふすく的対策③
 まず移行元のプロファイルフォルダを複製(RAMドライブが望ましい。自動コピーになるし)し、そのコピーしたものを使う(移行先は隣のフォルダになるのでコピーのつもりが移動だったなんてことになりかねない)

 注意はしたので、何かあってもごめんなさい。

2012年7月19日木曜日

C#で需要のない画像抽出ツールを作ってみた件 第3回

バージョン情報をどこで出すのか……さまよい編

探していたら見つけたのがこのページ

.NET TIPS  アセンブリにバージョン情報を設定するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/187asmverinfo/asmverinfo.html

これによるとソースのフォルダの中にあるAssemblyInfo.csというファイルの中身を書き換えるとビルドバージョンとリビジョンを表示できるみたいだ

image

image

AssemblyInfo.csはソースフォルダの「Propaties」フォルダ内にある。

これをテキストエディタで開いて

[assembly: AssemblyVersion("1.0.0,0")]

[assembly: AssemblyVersion("1.0.*")]

と書き換えれば、ビルドバージョンとリビジョンが表示され……

image

? なんだこの数字?

……読み直すと、

番号自動決定の際、ビルド番号には2000年1月1日からの経過日数が設定され、リビジョン番号には現地時間の0時からの経過秒数を2で割った値が設定される。よって、どちらも大きな数値が割り当てられることが多いので注意してほしい。

 それは求めていたバージョンと違う……。

image

 アプリの発行のところに堂々と数字載ってるのになぁ……なぜこれが出ないんだろう。
 もしかして表示できないのかな? でもRevoUninstallerでは表示されたバージョンだしどこかに格納されているはずなんだけど……

2012年7月14日土曜日

C#で需要のない画像抽出ツールを作ってみた件 第2回

「あいまい抽出」を実装してみた

image

前回の課題としてあげていた「あいまい検索」を実装してみた。

原理としては、縦:横=A:Bの画像を「あいまい検索」する場合、あいまい度(FuzzyのFとする)を設定したうえで、

A×(画像の横-F)≦(画像の縦)×B≦A×(画像の横+F)

になるものを該当するものとして抽出する。
作ってる側からすれば当たり前なんだけど、すべて整数で処理するために除算は使えない。

あとはテーブルを全件走査してフラグを立てた後、フラグを立てたものを残す形でRowFilterすればいいだけ。

タイトルバーにバージョンが出るようにした……のだが

image

image

表示されているバージョンと実際のビルドのバージョンが合わない。ソースでは

public form1()
{
    InitializeComponent();
    System.Reflection.Assembly asm =    System.Reflection.Assembly.GetExecutingAssembly();
    System.Version ver = asm.GetName().Version;
    this.Text += ver;
}

としているのだが……何がおかしいのだろう。

Application.ProductVersionも同じだった……

2012年7月11日水曜日

Meryでマクロ 第1回 連続n回コピー

ラジオを起こすときのルーチンを少しでも軽減するために……

image
このマクロを起動すると、
image
コピー回数を聞かれるので入力(個人用途でデフォルト値は50)すると
image
人数の決まっている会話文準備完了。

マクロ内部(コピーn回.js)


//選択範囲をコピー
document.selection.Copy(meCopyUnicode);
//コピー回数入力ダイアログ
n = window.prompt("何回コピーする?(n>0,整数)" , 50);
if(n>0){
//終端にカーソルを置いてから改行して回数分ペーストを繰り返す。
    for (var i=0;i<n;i++){
        document.selection.EndOfDocument(false);
        if (document.selection.GetActivePointX(mePosLogical) > 0){
            document.selection.NewLine(1);
        }
        document.selection.Paste();
    }
}
else{
//エラーダイアログ表示。
    window.alert('n>0ではありません');
}
これをマクロ>選択で開けば実行可能になる。
Javascriptゆえ、ダイアログを出して入力値を反映させることができる技。
特定用途に特化してあるので最低限のエラー対策しかしてないし、このまま使うにはちょっと面倒だけど、マクロは人それぞれに必要があって作るものなので、ヒントにでも。

HowTo記事をスピンアウトさせました

今まで「えふすくBlog 2ndSeason」ですべて行ってきた更新でしたが、主にPCのHowTo的な面について、分離して別のBlogで行うことにしました。
理由としては5年間やってきた「2ndSeason」のエントリ量が肥大化しすぎて管理がままならなくなったことと、古い記事の中には使えなくなっているHowToもあるので、それらを一度淘汰しておこうと思ったからです。あと、デザインの違うBlogをやっておきたかったのもありますが。
今のところ「2ndSeason」での
  • Firefox
  • Google Chrome
  • Windows
  • Ubuntu
  • C#
  • 配布物
のラベル記事で現在も使えそうなものはこちらに移動(元記事は残留)、以降、関連するエントリは新ラベルも増やしつつこちらに更新していきます。

2012年7月10日火曜日

Firefoxアドオンを翻訳してみた(CSSsirの場合)

注意:今回の手順は例示したアドオンで行った手順の記録なので、例示したアドオン以外で適用できるとは限りません

今回の材料

CSSsir 0.1.20120618
https://addons.mozilla.org/en-US/firefox/addon/csssir/

詳細:Mozilla Re-Mix: FirefoxにCSS3ジェネレータを装備できるアドオン「CSSsir」
http://mozilla-remix.seesaa.net/article/279942844.html

まずはビフォーアフター

Before:image

After:image

きっとよく使うと思ったので日本語化して使うことにした。

とりあえず前提知識

えふすくBlog 2ndSeason: Firefoxのアドオンとか弄る時に必要なメモ(xpiパッケージの開き方&戻し方)
http://ccf-square.blogspot.jp/2009/06/firefoxxpi.html

今でも使えるので、参照してまずはxpiの分解と再パッケージを練習してみてください。作業はxpiファイルを取得した後、解凍が終わったところからスタート。

手順① 日本語のロケールフォルダおよびファイルを作成

chrome\localeフォルダ内の「en」フォルダをコピー&ペーストで複製したあと、名前を「ja」フォルダに変更する。

image

フォルダ内の2つのファイルのうち今回はbonus.dtdがターゲット

image

手順② DTDファイルを編集する

普通にテキストエディタで開くと……(空行)

<!ENTITY bonus.title "Bonus">
<!ENTITY bonus.selectors "  Selectors"> ……タブ名
<!ENTITY bonus.hacks "  Hacks">
<!ENTITY bonus.support "  Support">

<!ENTITY bonus.SelName "Selector"> ……セレクタテーブルの左側の列(セレクタ)
<!ENTITY bonus.desc "Description"> ……セレクタテーブルの右側の列(セレクタの説明) 今回の翻訳対象。

<!ENTITY bonus.sel.anyEl "*">
<!ENTITY bonus.sel.anyDesc "any element"> ……セレクタテーブルの一段目
……以下略

ということなので、

<!ENTITY bonus.title "Bonus">
<!ENTITY bonus.selectors "  セレクタ"> ……翻訳文に入れ替える。
<!ENTITY bonus.hacks "  Hacks">
<!ENTITY bonus.support "  Support">

<!ENTITY bonus.SelName "Selector">
<!ENTITY bonus.desc "Description">

<!ENTITY bonus.sel.anyEl "*">
<!ENTITY bonus.sel.anyDesc "すべての要素に対してスタイルを適用"> ……翻訳文に入れ替える。
……以下略

と言う感じで、各項目を翻訳して代入していく。

ちなみに翻訳した項目はGoogle検索してこちらを使わせていただいた。

CSS3対応のCSSセレクタ一覧 - CSSデザインノート
http://www.coolwebwindow.com/csstips/cssbasic/000243.php

<!-- hacks -->が見えるところまですべて翻訳したら、UTF-8で保存する。

手順③ 日本語ロケールをmanifestファイルに追加する

image

アドオンを解凍したフォルダにあるchrome.manufestをテキストエディタで開いて次の1行を追加する。

skin        sir     classic/1.0 chrome/skin/
style       chrome://global/content/customizeToolbar.xul    chrome://sir/skin/styles/style.css
content     sir     chrome/content/
resource    sir     resources/
overlay     chrome://browser/content/browser.xul     chrome://sir/content/sir.xul
overlay     chrome://navigator/content/navigator.xul     chrome://sir/content/sir.xul

locale      sir     ru      chrome/locale/ru/
locale      sir     ru-RU   chrome/locale/ru/
locale      sir     en      chrome/locale/en/
locale      sir     en-US   chrome/locale/en/
locale      sir     en-GB   chrome/locale/en/
locale      sir     ja      chrome/locale/ja/ ……ここを追加

そして再びUTF-8で保存する。

あとはxpiを再パッケージして、できたxpiファイルをFirefoxにドラッグ&ドロップするだけ。
できなかった人は特に再パッケージのしかたと、DTDファイル修正時に" "や' 'を削っていないかチェック。
DTDに対応して色分けしてくれるテキストエディタがあれば最良だけど、そんなものはお目にかからないのでHTMLかCSSの色分けに対応しているものを使うのが吉かと。
当然のことながら「……○○○○○」な部分は書かなくていいからね。
最悪、enフォルダからコピーし直してやり直しが一番いいかも。