• 作成:
  • 更新:

Surfingkeysを使ってFirefoxでも高速にGoogle翻訳を使う

私はFirefoxを使っていますがGoogle翻訳も便利に使っています.

brookhong/Surfingkeys: Map your keys for web surfing, expand your browser with javascript and keyboard.

という拡張機能があって, ChromeとFirefoxで使えます. これはかつてのKeySnailのようにJavaScriptを好きに記述することが出来ます. WebExtensionの規制上, KeySnailほどシステムに介入できるわけではありませんが.

これを使えばキーボード入力で好きなJavaScriptを発動させることが出来ます.

私のSurfingKeysの設定は以下に置いてあります.

ncaq/surfingkeys-config: My surfingkeys config

そして, Alt-'を押すと,

  • テキストを選択している場合は, 選択しているテキストを翻訳する
  • テキストを選択していない場合は, 閲覧しているページ自体を翻訳する

機能を実現しています.

機能実現コードは以下です.

mapkey("<Alt-'>", "google translate", () => {
  const selection = window.getSelection().toString();
  if (selection === "") {
    // 文字列選択してない場合はページ自体を翻訳にかける
    tabOpenLink(
      `http://translate.google.com/translate?u=${window.location.href}`
    );
  } else {
    // 選択している場合はそれを翻訳する
    tabOpenLink(`https://translate.google.com/?text=${encodeURI(selection)}`);
  }
});

これでFirefoxでもGoogle翻訳を高速に利用することが出来ます. 良かったですね.

英辞郎 on the WEB Pro Liteとか

似たような感じで選択範囲をサクッとググったり英辞郎に送り込んだりすることも可能です.

unmap("'");
mapkey("'", "google", () => {
  searchSelectedWith("https://www.google.com/search?q=", false, false, "");
});

unmap("<Ctrl-'>");
mapkey("<Ctrl-'>", "eowf", () => {
  searchSelectedWith("https://eowf.alc.co.jp/search?q=", false, false, "");
});