import fetch from "node-fetch"; // DeepL WebAPI URL const URL_API = "https://api-free.deepl.com/v2/translate?auth_key="; //DeepLのAPIキーを設定 ※各自のAPIキーで書き換え const apiKey = "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx:fx"; // 翻訳対象言語 enum TARGET_LANG { Ja = "JA", // 日本語に翻訳 En = "EN", // 英語に翻訳 } // DeepLのWepAPIにRESTで翻訳依頼する const executeTranslation = async ( targetText: string, targetLang: TARGET_LANG ) => { //APIリクエストのGET時に必要なパラメータを設定 const requestUrl = URL_API + apiKey + "&text=" + targetText + "&target_lang=" + targetLang; const response = await fetch(requestUrl); console.log("response", response); const json = await response.json(); console.log("json", json); return json; }; // WebAPIの返り値(JSON)をこっち側のクラスに変換する変換するためのType type Translation = { detected_source_language: string; text: string; }; type TranslationResult = { translations: Translation[]; }; const main = async () => { const result: TranslationResult = await executeTranslation( "This is translation test.", TARGET_LANG.Ja ); console.log("英語から日本語への翻訳:result", result); console.log( "英語から日本語への翻訳:detected_source_language", result.translations[0].detected_source_language ); console.log("英語から日本語への翻訳:text", result.translations[0].text); const result2: TranslationResult = await executeTranslation( "これは翻訳テストです。", TARGET_LANG.En ); console.log("日本語から英語への翻訳:result", result2); console.log( "日本語から英語への翻訳:detected_source_language", result2.translations[0].detected_source_language ); console.log("日本語から英語への翻訳:text", result2.translations[0].text); }; main();
2022年10月12日水曜日
[typescript,WebAPI,サンプルコード]DeepLのWebAPIを呼び出すTypeScriptのサンプルコード
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿