以前作成して公開していた、英語のコメントを日本語に翻訳するVisual Studio拡張ですが、この前使おうとしたら動作しなくなってました。
そもそもこの拡張機能では、何故かタダで使い放題の怪しいGoogle翻訳APIエンドポイントを叩いて翻訳していました。
つまり、ついにこの怪しいエンドポイントの穴が塞がれた結果、拡張機能が動作しなくなったという事みたいです。
まあ怪しい機能使ってた私が悪いんですが。
私は英語でコメント書かれてるソースを読む機会が多いので(そして英語もロクに読めないので)、ハッキリ言ってこの拡張機能が無いと困ります。
というわけで、拡張機能を作り直してみました。マーケットプレイスにアップしてる奴も更新済みです。
https://marketplace.visualstudio.com/items?itemName=umiyuki.TranslatorVSIX
前の拡張機能との大きな違いとして、使用するまでに前準備が必要になってしまいました。
Google Cloud Translation API V2という正式な翻訳APIを使うので、ユーザーのみなさんが、自分でGoogle Cloud Platformにプロジェクトを作成して、APIキーを設定する必要があります。
しかもTranslation API V2は無料枠無しで即座に課金が始まります。値段は100万文字あたり20ドルです。つまり500文字につき1円くらいかかります。まああんまり高くなさそうですが課金されるのはつらいですね。
Translation API V3を使えば無料枠がありますが、V3はAPIキーが使えなくて認証がややこしいので無理でした。
課金してでも使いたい!という方のために、使用準備手順です。
要課金 拡張機能セットアップ手順
注意:GCPプロジェクトは細心の注意をもって扱ってください。そして拡張機能の使用は自己責任でお願いします。知らない内に課金額が膨れ上がってた!APIキーが盗まれて悪用された!などのトラブルが起きても私は一切責任を持てません。
1.GCPコンソールから新しいプロジェクトを作成します。
2.プロジェクトに Cloud Translation API を有効にします。(多分クレカ紐付け必須です)
3.プロジェクトのAPIキーを作成して文字列をコピーします。
4.拡張機能がインストールされているVisual Studioを開き、メニューからツール→オプション→TranslatorENtoJP→General→API Keyにコピーした文字列をペーストします。
これで準備完了です。お疲れさまでした。
あっさりと書いてしまいましたが、Visual Studioをバリバリ触ってるような人なら大抵GCPのプロジェクトとかも作った事ありそうだから多分大丈夫でしょう。
ちなみにオマケとして、今までは決め打ちで英語のコメントを日本語に翻訳してましたが、今回のバージョンでは設定画面から言語コードを変更すれば好きな言語から好きな言語へ翻訳させられます。
というわけで、今まではグレーゾーンな拡張機能だったのが、晴れてホワイトな機能になったのは喜ばしい事ですが、
私は課金したくない!絶対に課金したくないでござる!!
というわけで、主に自分向けに課金を回避するオプションを実装しました。
課金したくない人向けセットアップ手順
どうやって無課金を実現したのかというと、こちら↓
3 分で作る無料の翻訳 API with Google Apps Script
の記事で、Google Apps Scriptを使って自分で無料のGoogle翻訳APIを作成しちゃうという方法を参考にしました。
まずは上記の記事の通りにGoogle Apps Scriptを使ってウェブアプリケーションを作成して、エンドポイントのURLをコピーします。
そして拡張機能をインストールしたVisual Studioのメニューから ツール→オプション→TranslatorENtoJP→General→裏オプション→Google App Script APIの欄にコピーしたURLをペーストします。
API Keyの方が入力されてると、そっちが優先して使用されてしまうので、Google Apps Scriptで翻訳したい方はAPI Keyの欄は空にしてください。
これだけです。これだけで引き続き無料で英語のコメントを日本語に翻訳できます!
やったぜ!
余談
余談ですが、こういうAPIキーみたいな機密にしないといけない情報を入力させるような拡張機能とかはあまり使わない方がいい気がします。
お前が作ったんだろ!と言われると何も言えませんが。
何でかというと、拡張機能の制作者がこっそりサーバとかにAPIキーを送信して勝手に使われて知らない内に課金額が膨れ上がってるなんてリスクも無いとは言えません。いや私はそんな事してないですが。
そういうリスクが気になる人は、この拡張機能のソースはGitHubに公開してあるので、ソースを読んで問題無い事を確認して、ソースからビルドして使えば安心です。
https://github.com/umiyuki/VisualStudioExtensionTranslatorENtoJP
このリポジトリの途中のコミットでミスってAPIキーを書き込んだままのソースを上げちゃって、慌ててGCPコンソールからAPIキーを無効化したみたいな出来事もありました。
まあGCPの方じゃなくてGoogle Apps Scriptの方使ってタダで使っちゃおうという人にはどっちみち関係ない話ですが。