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

Share Artikel ini:

Similar Posts

  • Kumpulan Template Website Gratis

    Salah hal yang mendukung suksesnya sebuah website adalah tampilannya yang cantik dan menarik. Banyak cara yang bisa dilakukan, misal dengan menyisipkan animasi flash atau membuat kombinasi warna dan font yang cocok. Namun jika anda adalah programmer dan bukan seorang developer, membangun template website yang cantik akan menjadi kendala tersendiri. Biasanya programmer berpikir logis dan teratur,…

  • Tutorial Crud PHP MongoDB

    Setelah kita memahami mongoDB, bisa memberikan perintah dasar, menseting PHP agar support MongoDB, maka langkah selanjutnya adalah membuat pengeolahan data CRUD dengan PHP dan MongoDB. Namun mengingat codenya panjang, maka saya hanya akan menjelaskan kode penting di operasi CRUD. Dalam kasus ini, saya menggunakan tabel mahasiswa dengan kolom nim dan nama.   Koneksi Database public…

  • Mengenal Alternatif Syntax di PHP

    PHP merupakan bahasa yang flexible. Flexibilatas ini bisa dilihat dari Metode pemrogramannya ataupun dari syntaxnya. Dilihat dari cara membuat program, kita bisa menggunakan pendekatan OOP atau prosedural. Dilihat dari syntax pembukanya, kita bisa menggunakan short open tag dan standar tag. Dilihat dari struktur kontrolnya ada standar syntax, short syntax dan alternatif syntax. Agar pembahasan tidak…

  • Tutorial Laporan PDF dengan PHP

    Melanjutkan artikel sebelumnya, jika dalam tulisan sebelumnya kita telah membahas cara membuat print preview dengan PHP, sekarang kita akan membuat laporan dengan format PDF menggunakan libray FPDF. Laporan akhirnya tampil seperti gambar dibawah ini Database Untuk database yang akan kita pakai masih sama dengan artikel sebelumnya. Tabel yang akan kita buat adalah tabel umr2013 dengan…

  • | |

    Belajar Pemrograman Web dengan Editor Online

    Belajar web saa ini jauh lebih mudah dibanding 5 tahun yang lalu, bukan hanya karena banyaknya tutorial yang tersedia, namun karena banyaknya tool online yang tinggal pakai. Sebelum membahas lebih jauh, saya akan bahas 3 teknologi dasar yang dipakai oleh sebagian besar website dari sisi bahasa pemrogramannya. Kebanyakan website menggunakan MySQL untuk menyimpan datanya ,…

  • |

    Tutorial SQLite + PHP

    Masih membahas tentang database SQLite, kali ini kita akan membahas tentang cara membuat pengolahan data SQLite berbasis PHP. Namun sebelumnya pastikan PDO_Sqlite diaktifkan di server anda. Jika anda tidak yakin, silahkan cek dengan melihat informasinya di phpinfo. Versi yang kita pakai adalah SQLite versi 3. Untuk koneksinya kedatabasenye menggunakan PDO. Database nama dabatase yang kita…

15 Comments

  1. 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. 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 ?

  3. 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??

  4. 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

Leave a Reply

Your email address will not be published. Required fields are marked *