kamiとかxodoを使えば英語pdfにgoogle翻訳を便利に使うことができて爆速に読める、という話を以前しましたが、英語の情報リソースといえば、他にも洋書があります。

kindleで洋書を買うと、アプリ内の翻訳機能を使うことができます(オンライン時のみ)。でも僕はあまりスマホで少しずつ洋書を読むというよりは、pcでガバっと読み進めるというやり方のほうが好きです。

しかしkindle cloud readerではコピー対策なのか、クリップボードを利用することができません。そこで、下記記事を参考にしてブックマークレットを作りました。

もしchromeをお使いなら、このページのままで良いのでurlバーの星マークをクリックしてをブックマークし、「その他」からブックマークのURLを編集できる画面に入ります。URLの部分に下記コードを貼り付けて保存します。

javascript: (function () {
/* Kindle Translator V 0.4*/
/* based on ACRExtensions via https://github.com/binarycrafts/ACRExtensions */
var w = null;
var kDoc = null;
var kObj = null;
if (typeof window.KindleReaderContextMenu !== 'undefined') {
    w = window;
} else if (window.length) {
    for (var i=0;i<window.length;i++) {
        if (typeof window[i].KindleReaderContextMenu !== 'undefined') {
            w = window[i];
            break;
        }
    }
}
if (typeof w === 'object') {
    kObj = w.KindleReaderContextMenu;
    kDoc = w.document;
    if (typeof kObj.ACRExtensions === 'undefined') {
        kObj.ACRExtensions = true;
        var oldMethod = kObj.show;
        kObj.show = function () {
            var res = oldMethod.apply(kObj, arguments);
            var txtDoc = null;
            var r = null;
            if (typeof (arguments[3]) !== 'undefined' && typeof (arguments[3]['start']) !== 'undefined') {
                var sId = arguments[3]['start'];
                var eId = arguments[3]['end'];
                $('iframe', kDoc).each(function (j, textIframe) {
                    var textIFrameDoc = $(textIframe).contents().get(0);
                    if ($('#'+sId, textIFrameDoc).get(0)) {
                        txtDoc = textIFrameDoc;
                        return false;
                    }
                });
                if (txtDoc) {
                    r = txtDoc.createRange();
                    r.setStartBefore($('#'+sId, txtDoc).get(0));
                    r.setEndAfter($('#'+eId, txtDoc).get(0));
          }
            }
      $('#ACRExtensions_copyC', kDoc).remove();
      var styles = $('<style>.spinner, .dictionary.i18n.expanded {display:none !important;} div#kindleReader_menu_contextMenu { max-height: 35px;}</style>');
            var sepEl = $('<div id="ACRExtensions_copyC_sep" class="kindle_menu_separator"></div>');
      var copyC = $('<div id="ACRExtensions_copyC" class="kindle_menu_button button_enabled ui-corner-left">Translate</div>');
            $('#kindle_menu_border', kDoc).append(sepEl).append(copyC).append(styles);
            setTimeout(function(){
                sepEl.show();
        copyC.removeClass('button_hidden');
            }, 1);
      $('#ACRExtensions_copyC', kDoc).click(function (evt) {
                if (r) {
                    var newW = window.open('https://translate.google.com/?hl=ja&ie=utf-8#view=home&op=translate&sl=auto&tl=ja&text=' + r, 'Google Translate' , "height=600,width=776,location=0,menubar=0,scrollbars=1,toolbar=0");
                }
            });
            return res;
        };
        alert('Kindle Translator Extension is now active.');
    } else {
        alert('Kindle Translator Extension is already active.');
    }
} else {
    alert('Error: Kindle Translator Extension is not active. The Amazon Cloud Reader window could not be found.');
}
})();

そしてkindle cloud readerで読みたい本を開いて先ほど保存したブックマークをクリック。

これでgoogle翻訳機能が有効化されました。文をドラッグすると、ポップアップで表示されるメニューに「Translate」が追加されました。これをクリックすると、ポップアップでgoogle翻訳のウインドウが開き、翻訳結果が確認できます。

関連記事

5月分のBanggoodクーポン Mi Pad 4 Plusもあるよ

シグマのフルサイズ超広角Artレンズを買った

numpyで3次元座標インデックスの配列を作る方法

300ドル15W中華半導体レーザーカッター買った その5

deep learningフレームワーク・ライブラリをGPU環境のwindows10にインストールする方法と応用まとめ

transformerで自然な会話ができるボットを作った

コメント

コメントを返信する

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です