PROGRAM UPLOADED VIDEO oleh ALMIGHTY CHATGPT!! PART-4: catatan penting terkait FUNGSI PENTERJEMAH

 yang baru buat saya adalah fungsi penterjemahan

<script>

/* ============================

   SMART TRANSLATION (Google → Libre → MyMemory)

   ============================ */


const GOOGLE_TRANSLATE_ENDPOINT =

 "https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=";


const LIBRETRANSLATE_ENDPOINT = "https://libretranslate.org/translate";

const MYMEMORY_ENDPOINT = "https://api.mymemory.translated.net/get?q=";


async function translateSmartSingle(text) {

  if (!text || !text.trim()) return "";


  /* Google unofficial */

  try {

    let r = await fetch(GOOGLE_TRANSLATE_ENDPOINT + encodeURIComponent(text));

    if (r.ok) {

      let arr = await r.json();

      if (Array.isArray(arr) && arr[0]) {

        let out = "";

        for (let seg of arr[0]) if (seg[0]) out += seg[0];

        if (out.trim()) return out;

      }

    }

  } catch(e){}


  /* Libre */

  try {

    let r = await fetch(LIBRETRANSLATE_ENDPOINT, {

      method:"POST",

      headers:{ "Content-Type":"application/json" },

      body:JSON.stringify({

        q:text, source:"auto", target:"en", format:"text"

      })

    });

    if (r.ok) {

      let j = await r.json();

      if (j.translatedText) return j.translatedText;

    }

  } catch(e){}


  /* MyMemory */

  try {

    let r = await fetch(MYMEMORY_ENDPOINT + encodeURIComponent(text) + "&langpair=auto|en");

    if (r.ok) {

      let j = await r.json();

      if (j.responseData?.translatedText) return j.responseData.translatedText;

    }

  } catch(e){}


  return "(translation unavailable)";

}

Comments