Google Translate API

Sebagai salah satu bahasa pemrograman terpopuler, PHP banyak diminati developer dalam membuat aplikasi sederhana berbasis website. Hal ini karena pengaplikasiannya yang mudah diterapkan untuk membangun website dinamis pada local server tanpa membutuhkan framework. Keunggulan tersebut membuat PHP pilihan tepat untuk menciptakan tools sederhana demi mempermudah pekerjaan.

Terlebih PHP juga mendukung pemakaian API (Application Programming Interface) untuk diintegrasikan pada halaman web, memungkinkan programmer muda membangun tools yang dapat berfungsi setara dengan aplikasi profesional milik start-up besar. Contohnya produk Google yakni Google Translate. Google Translate dibekali API yang bisa dengan gampang dipakai programmer bahasa PHP.

Ini memungkinkan developer seperti SyamSalam dapat membuat aplikasi terjemahan bahasa dengan menggunakan PHP. Cukup dihubungkan dengan Google Translate API, Agan bisa merangkai kode PHP dan menerjemahkan teks tertentu pada halaman web pribadi sesuai kebutuhan tanpa menggunakan Google Translate secara konvensional. Berikut tutorial sekaligus aplikasinya untuk diunduh.

TUTORIAL

1. Agan bisa langsung mengunduh versi jadi aplikasi ini melalui link berikut: Google Translate API

2. Sedikit keterangan, struktur aplikasi ini bisa dibagi dalam 4 bagian: HTML form untuk input data, CSS style untuk desain, PHP untuk mengambil data, dan API untuk proses translate.

3. Berikut adalah syntax HTML untuk form input data.

<section id="translate">
<form method="POST" accept-charset="UTF-8">
<ul>
<li>
<textarea name="text" placeholder="INSERT YOUR TEXT HERE..."></textarea>
</li>
<li>
<textarea placeholder="RESULT..."></textarea>
</li>
<li>
<select name="from">
<option value="">FROM</option>
<option value="af">Afrikaans</option>
<option value="ar">Arabic</option>
<option value="az">Azeri (Latin)</option>
<option value="hy">Armenian</option>
<option value="sq">Albanian</option>
<option value="be">Belarusian</option>
<option value="bg">Bulgarian</option>
<option value="eu">Basque</option>
<option value="ca">Catalan</option>
<option value="cs">Czech</option>
<option value="hr">Croatian</option>
<option value="zh">Chinese</option>
<option value="nl">Dutch</option>
<option value="en">English</option>
<option value="eo">Esperanto</option>
<option value="et">Estonian</option>
<option value="fa">Farsi</option>
<option value="fi">Finnish</option>
<option value="fr">French</option>
<option value="de">German</option>
<option value="el">Greek</option>
<option value="gl">Galician</option>
<option value="gu">Gujarati</option>
<option value="ka">Georgian</option>
<option value="he">Hebrew</option>
<option value="hi">Hindi</option>
<option value="hu">Hungarian</option>
<option value="id">Indonesian</option>
<option value="is">Icelandic</option>
<option value="it">Italian</option>
<option value="ja">Japanese</option>
<option value="kk">Kazakh</option>
<option value="kn">Kannada</option>
<option value="ko">Korean</option>
<option value="ky">Kyrgyz</option>
<option value="lt">Lithuanian</option>
<option value="lv">Latvian</option>
<option value="mi">Maori</option>
<option value="mk">Macedonian</option>
<option value="mn">Mongolian</option>
<option value="mr">Marathi</option>
<option value="ms">Malay</option>
<option value="mt">Maltese</option>
<option value="nb">Norwegian</option>
<option value="ns">Northern Sotho</option>
<option value="pa">Punjabi</option>
<option value="pl">Polish</option>
<option value="ps">Pashto</option>
<option value="pt">Portuguese</option>
<option value="ro">Romanian</option>
<option value="ru">Russian</option>
<option value="sk">Slovak</option>
<option value="sl">Slovenian</option>
<option value="sv">Swedish</option>
<option value="sw">Swahili</option>
<option value="es">Spanish</option>
<option value="ta">Tamil</option>
<option value="te">Telugu</option>
<option value="th">Thai</option>
<option value="tl">Tagalog</option>
<option value="tr">Turkish</option>
<option value="tt">Tatar</option>
<option value="uk">Ukrainian</option>
<option value="ur">Urdu</option>
<option value="uz">Uzbek (Latin)</option>
<option value="vi">Vietnamese</option>
<option value="cy">Welsh</option>
<option value="xh">Xhosa</option>
<option value="zu">Zulu</option>
</select>
</li>
<li>
<select name="to">
<option value="">TO</option>
<option value="af">Afrikaans</option>
<option value="ar">Arabic</option>
<option value="az">Azeri (Latin)</option>
<option value="hy">Armenian</option>
<option value="sq">Albanian</option>
<option value="be">Belarusian</option>
<option value="bg">Bulgarian</option>
<option value="eu">Basque</option>
<option value="ca">Catalan</option>
<option value="cs">Czech</option>
<option value="hr">Croatian</option>
<option value="zh">Chinese</option>
<option value="nl">Dutch</option>
<option value="en">English</option>
<option value="eo">Esperanto</option>
<option value="et">Estonian</option>
<option value="fa">Farsi</option>
<option value="fi">Finnish</option>
<option value="fr">French</option>
<option value="de">German</option>
<option value="el">Greek</option>
<option value="gl">Galician</option>
<option value="gu">Gujarati</option>
<option value="ka">Georgian</option>
<option value="he">Hebrew</option>
<option value="hi">Hindi</option>
<option value="hu">Hungarian</option>
<option value="id">Indonesian</option>
<option value="is">Icelandic</option>
<option value="it">Italian</option>
<option value="ja">Japanese</option>
<option value="kk">Kazakh</option>
<option value="kn">Kannada</option>
<option value="ko">Korean</option>
<option value="ky">Kyrgyz</option>
<option value="lt">Lithuanian</option>
<option value="lv">Latvian</option>
<option value="mi">Maori</option>
<option value="mk">Macedonian</option>
<option value="mn">Mongolian</option>
<option value="mr">Marathi</option>
<option value="ms">Malay</option>
<option value="mt">Maltese</option>
<option value="nb">Norwegian</option>
<option value="ns">Northern Sotho</option>
<option value="pa">Punjabi</option>
<option value="pl">Polish</option>
<option value="ps">Pashto</option>
<option value="pt">Portuguese</option>
<option value="ro">Romanian</option>
<option value="ru">Russian</option>
<option value="sk">Slovak</option>
<option value="sl">Slovenian</option>
<option value="sv">Swedish</option>
<option value="sw">Swahili</option>
<option value="es">Spanish</option>
<option value="ta">Tamil</option>
<option value="te">Telugu</option>
<option value="th">Thai</option>
<option value="tl">Tagalog</option>
<option value="tr">Turkish</option>
<option value="tt">Tatar</option>
<option value="uk">Ukrainian</option>
<option value="ur">Urdu</option>
<option value="uz">Uzbek (Latin)</option>
<option value="vi">Vietnamese</option>
<option value="cy">Welsh</option>
<option value="xh">Xhosa</option>
<option value="zu">Zulu</option>
</select>
</li>
<li>
<button type="submit" name="translate">TRANSLATE</button>
</li>
</ul>
</form>
</section>

4. Agar penampilannya terlihat lebih rapi, tambahkan kode CSS.

<style>
#translate {
max-width: 1000px;
margin: auto;
padding: 10px;
box-shadow: 0px 0px 5px rgb(0 0 0 / 10%);
background: #fff;
}

#translate textarea,
#translate select,
#translate button {
display: block;
padding: 10px;
width: 100%;
border: 1px solid #ddd;
}

#translate textarea {
min-height: 300px;
}

#translate select {
cursor: pointer;
}

#translate button {
color: #fff;
background: #1dbf73;
font-weight: 600;
cursor: pointer;
}

#translate ul {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 10px;
list-style: none;
}

#translate ul li:last-child {
grid-column: 1/-1;
}
</style>

6. Sehingga tampilan form HTML pada aplikasi berikut tampak seperti di bawah ini.


5. Selanjutnya kode PHP untuk menerima data dari form disatukan bersama dengan kode API Google Translate.

<?php
use \Statickidz\GoogleTranslate;

if(isset($_POST['translate'])){

    $text    = $_POST['text'];
    $from    = $_POST['from'];
    $to      = $_POST['to'];

    if(!empty($from) AND !empty($to)){

        require_once ('vendor/autoload.php');

        $trans   = new GoogleTranslate();
        $result  = $trans->translate($from, $to, $text);
    }
}
?>

6. Agar teks terjemahan tampil pada halaman web, masukkan kode PHP echo untuk variable "$result" diantara textarea.

<textarea placeholder="RESULT..."><?= $result ?? '' ?></textarea>


Demikian cara membuat aplikasi terjemahan bahasa PHP dengan Google Translate API. Meski terlihat sederhana, aplikasi web ini bekerja sama baiknya dengan Google Translate, sehingga setiap kata atau kalimat yang dimasukkan akan sama persis ketika menggunakan Google Translate yang biasa. Prosesnya pun sangat cepat untuk teks yang panjang dan memiliki banyak paragraf.

Selain itu, karena menggunakan API Google Translate, aplikasi ini tidak akan bekerja jika koneksi internet sedang terputus. Jadi pastikan sambungan internet berfungsi dengan baik sebelum memproses terjemahan. Agan juga bisa memodifikasi API atau fungsi PHP aplikasi ini pada project web yang sedang dikembangkan, misalnya menerjemahkan kalimat tanpa perlu menekan tombol.