Google関連

[Google Apps Script]選択文字列を翻訳する

  • Google Apps Scriptでドキュメント上で選択している文字列を翻訳します。
  • LanguageAppクラスのtranslateメソッドで文字列を翻訳します。
  • translateメソッドで指定できる言語は「Using REST – Google Translate API – Google Developers」に記載されています。
  • translateメソッドのsourceLanguageを空白にすることで、元の文字列の言語を自動判別します。
var ui = DocumentApp.getUi();

function onOpen(e){
    ui.createMenu('翻訳メニュー').addItem('選択文字列の翻訳', 'translateText').addToUi();
}

function translateText(){
    var text = getSelectedText();
    if(text.length == 0){
        ui.alert('文字列が選択されていません。');
    }else{
        ui.alert('元の文字列:' + text + '\n日本語訳:' + LanguageApp.translate(text, '', 'ja')); //元の文字列の言語:自動判別
    }
}

//選択文字列を取得
function getSelectedText(){
    var ret = "";
    var selection = DocumentApp.getActiveDocument().getSelection();
    if(selection){
        var text = [];
        var elements = selection.getRangeElements();
        for(var i = 0; i < elements.length; i++){
            if(elements[i].isPartial()){
                var element = elements[i].getElement().asText();
                var startIndex = elements[i].getStartOffset();
                var endIndex = elements[i].getEndOffsetInclusive();
                text.push(element.getText().substring(startIndex, endIndex + 1));
            }else{
                var element = elements[i].getElement();
                if(element.editAsText){
                    var elementText = element.asText().getText();
                    if (elementText != ''){
                        text.push(elementText);
                    }
                }
            }
        }
        if(text.length !== 0) ret = text;
    }
    return ret;
}

GoogleAppsScript_06_01

GoogleAppsScript_06_02

関連記事

  1. リボン関連

    Google TTSで文字列を読み上げるExcelアドイン

    前回の記事で書いたGoogle TTSで文字列を読み上げるマクロ(言語…

  2. Office関連

    Google翻訳の言語自動検出機能を追う

    「Google TTSで文字列を読み上げるマクロ」でGoogle翻訳の…

  3. Google関連

    [Google Apps Script]サイドバーを表示する

    Google Apps Scriptでサイドバーを表示します。…

  4. Google関連

    [Google Apps Script]Office 365 unified APIを使ってメールを…

    久しぶりのGoogle Apps Scriptネタです。今回はGo…

  5. Google関連

    Google Sheets API v4が登場しました。

    「Google Apps Developer Blog: New wa…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP