Membuat Website Multibahasa dengan PHP




Website adalah layanan yang memberikan informasi. Sayangnya karena banyaknya bahasa di dunia, informasi yang diberikan kadang tidak bisa dipahami oleh sebagian pengunjung yang menggunaka bahasa berbeda. Salah satu cara mengatasi permasalahan tersebut adalah dengan membuat website yang mendukung banyak bahasa. Cara ini bisa menggunakan Google translate atau dibuat sendiri dengan PHP. Saya sendiri lebih memilih mengguankan php, alasan utama kenapa tidak menggunakan Google Translate adalah kemampuan translatenya amburadul, kadang tidak bisa dipahami dan kadang malah mengubah makna dari informasi aslinya.

Sekenario

Dalam contoh ini, kita akan membuat website informasi tentang Anime jepang yang terdiri dari 3 bahasa (arab,indonesia,jepang) dan 3 halaman tentang Dragonball, Bleach dan Naruto. saat pertama kali membuka halaman, maka secara default, user akan dibawa ke halaman bahasa indonesia dengan artikel Dragnball. Jika user mengklik link informasi bleach dan naruto, informasi yang muncul juga berbahasa indonesia. Jika kita ingin membaca versi jepangnya, cukup klik bendera jepang dan secara otomatis link dan isi informasinya menggunakan bahasa jepang. Teknik yang kita gunakan menggunakan Session/Cokie dan Array PHP. Cookie disini digunakan untuk menyimpan seting user dibrowser. Jadi misalkan user memilih bahasa arab, lalu menutup halama web kita, kemudian user membuka halaman tersebut di Tab browser yang berbeda,maka secara otomatis halaman bahasa arablah yang akan muncul, kerenkan?

Berikut ini adalah tampilan website demonya
multibahasa

Struktur Direktori Project

berikut ini adalah struktur direktori dari project website multibahasa.

Stuktur direktori

Stuktur direktori

Secara ringkas berikut ini adalah penjelasannya
Assets
Folder aset berisi CSS dan Gambar serta icon bendera untuk masing masing bahasa
bahasa
Berisi judul dan isi artikel sesuai dengan bahasanya. misal lang.id.php berisi artikel dalam bahasa indonesia. berikut ini adalah potongan isi dari file lang.id.php

$lang = array();

$lang['TITLE_BLEACH'] = 'Bleach';
$lang['TITLE_DBZ'] = 'Dragon Ball';
$lang['TITLE_NARUTO'] = 'Naruto';

Untuk lang.ar.php dan lang.jp.php nama array dan variabelnya sama, hanya isinya yang berbeda. Untuk lebih jelas lihat di sourcecodenya.
seting.php

Berisi code untuk menset cokies di user agar seting bahasa tersimpan dibrowser. Bahasa default adalah indonesia

<?php
session_start();
header('Cache-control: private');
// IE 6 FIX
if (isSet($_GET['lang'])) {
	$lang = $_GET['lang'];

	// register the session and set the cookie
	$_SESSION['lang'] = $lang;

	setcookie("lang", $lang, time() + (3600 * 24 * 30));
} else if (isSet($_SESSION['lang'])) {
	$lang = $_SESSION['lang'];
} else if (isSet($_COOKIE['lang'])) {
	$lang = $_COOKIE['lang'];
} else {
	$lang = 'id';
}

switch ($lang) {
	case 'jp' :
		$lang_file = 'lang.jp.php';
		break;
		case 'ar' :
		$lang_file = 'lang.ar.php';
		break;
	case 'id' :
		$lang_file = 'lang.id.php';
		break;

	default :
		$lang_file = 'lang.id.php';
}

include_once 'bahasa/' . $lang_file;
?>

index.php
file utama untuk menampilkan informasi sesuai bahasa yang dipilih.

$content = '';
				
			if (!isset($_GET['pg'])) {
				$content = 'DBZ';
				$title = $lang['TITLE_DBZ'];
				$isi = $lang['CONTENT_DBZ'];
			} else {
				$content = strtoupper($_GET['pg']);
				$titleheader = "TITLE_" . $content;
				$isicontent= "CONTENT_" . $content;
			
				$title = $lang[$titleheader];
				$isi = $lang[$isicontent];

			}

Demo dan source code

seperti biasa,anda bisa mendownload source codenya disini dan mencoba demonya disini

Tags: ,

15 thought on “Membuat Website Multibahasa dengan PHP”

  1. jerry says:

    malam maaf sebelumnya nama saya jerry saya dari flores NTT mas candra bisa di kontak ya ? ini no wa saya mas ( 081246182169 ) saya ada job android mas kalau bisa hub saya mas maaf menggangu

  2. Iya yang pake database donk bang ?

  3. guzmahesa says:

    makasi mass tutornya sangat membantu saya,, oiya 1 lage saya mau nanya misalkan saya lage di page naruto trus kita pindah lang , pasti selalu di lempar balik ke dragonball gmna caranya biar refresh dan tetep di pake trakhir td mas ?

  4. Saya Tidak Percaya Diri says:

    Mas, kenapa website ini menggunakan wp tp mas membuat tut php dan beserta cms yg mas buat… pertanyaannya apakah mas tidak percaya diri dgn kemampuan mas atau hanya tut dll hanya copas semata??

    1. semua tutorial orisinil, saya buat sendiri..klo mmg ada yg copas saya minta tunjukin dong tutorial yg mana dan ksh sumber aslix….. :-)

    2. Desbie says:

      Mas bukanya wp juga support php?

  5. philtyphil says:

    Aduh, maaf. saya rasa ini kurang efektif mas, kita jadi harus menyiapkan dulu masing-masing bahasanya dalam satu view di php nya yah ?.
    Ada cara lainnya gak mas?, mungkin dengan plug-in gitu mas

  6. akbar says:

    jempol deh buat semua artikelnya, apalagi tentang fitur google. banyak dapat ilmu bray

  7. Yaufani Adam says:

    lanjutkan tulisan2 berkualitasnya, mas
    udah saya Ctrl+D soalnya

    :D

    1. Candra Adi Putra says:

      makasih atas supportnya…

  8. Anonymous says:

    makasih mas

  9. Anonymous says:

    maaf mas.. kok programnya ada yang kurang?
    makasih..

    1. Candra Adi Putra says:

      kurang apanya ya?

  10. mir atunnas says:

    kalo di buat nya bisa konek ke db. gmna mas?

    1. Candra Adi Putra says:

      belum sempet aq buat, bisa kok, insayallah kalo sempet aq buat

Tinggalkan Komentar plz!