DOBON.NETプログラミング道掲示板

No34563 の記事


■34563 / )  Re[1]: Google翻訳の結果の取得
□投稿者/ 魔界の仮面弁士 大御所(1305回)-(2020/10/14(Wed) 16:13:16)
  • アイコンNo34559に返信(わんさんの記事)
    > Google翻訳を使って、英文の翻訳結果を取得したいと考えています。

    きちんと調べたわけではありませんが、API 利用時の無料枠は
    月間 500,000 文字までらしいです。

    https://cloud.google.com/translate/docs?hl=ja
    https://developers.google.com/api-client-library/dotnet/apis/translate/v3
    https://code.google.com/archive/p/google-language-api-for-dotnet/


    > <div class="text-dummy"></div>のに原文を書き込むことができますが、

    プログラムは組まずに IE11 を起動してみただけですが、
    手元の環境だと、"text-dummy" という class は出現しませんでした。
    二次利用防止のために、不定期に変更されていたりするのかな。

    ……というか、div タグは文章入力には無関係なのでは?


    > 画面に反映されません。
    ユーザー入力項目なのですから、
    getElementsByTagName("textarea") で列挙できるのではないでしょうか?

    ひとまず IE 上では getElementById("source") で掴めるようでしたが。


    > 二つ目に、翻訳が完了したことをどのように検出すればいいのか?判らない。

    翻訳結果のボックスの変化を捉えて、変化しなくなったら
    翻訳完了(または、タイムアウト)と見做せば良いのでは無いでしょうか。

    人間が利用する時も、そんな感じで判断することが多いでしょうし。

    コードだと、getElementsByClassName("translation") が拾えたら、
    innerText を読み取ってみるという感じかな…。


    > ループで監視する?位しか思いつきません
    メッセージループを回す必要があるでしょうから、DocumentCompleted を
    抜けた後で、Timer で定期監視するとか。

    タイマーではなくループで処理する場合は、
    Task.Delay を呼んでおくと良いかも。

    変化の終了をとらえきれなかったときのために、タイムアウトもしくは
    ループ回数の上限も設定しておくのが良いでしょう。
違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -