最初、claude.ai に作成してもらいました。ai が作成するチャットのタイトルが英語で困っていたので。
javascript:(function(){ var selectedText = window.getSelection().toString(); if (selectedText) { fetch('https://api.mymemory.translated.net/get?q=' + encodeURIComponent(selectedText) + '&langpair=en|ja') .then(response => response.json()) .then(data => { var translatedText = data.responseData.translatedText; document.execCommand('insertText', false, translatedText); }) .catch(error => console.error('Error:', error)); } else { alert('テキストを選択してください。'); } })();
これで動作はしていますが、api.mymemory.translated.net と言う良く詳細の解らない API が使われているので、
同じ事をもう一度 claude.ai に聞いてみると、Google の API で返して来ました。
しかし、今度はコードがおかしくてうまく動きませんでした。
原因究明するより、動作しているほうのコードに、主体の API を転記しました。
javascript:(function(){ var selectedText = window.getSelection().toString(); if (selectedText) { fetch(`https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=ja&dt=t&q=${encodeURIComponent(selectedText)}`) .then(response => response.json()) .then(data => { var translatedText = data[0].map(item => item[0]).join(''); document.execCommand('insertText', false, translatedText); }) .catch(error => console.error('Error:', error)); } else { alert('テキストを選択してください。'); } })();
1回目で動いたのは運が良かったと言わざるを得ないので、今後は数回。できれば AI も変えて試すのがいいと思いました。