Selamat datang di tutorial singkat tentang cara membuat situs web multibahasa di PHP. Saya tahu, sudah ada banyak sekali tutorial "multi-bahasa" ini di seluruh Internet. Jadi yang ini akan sedikit berbeda dari yang lain, saya akan membuatnya sesederhana mungkin – Baca terus untuk contohnya
ⓘ Saya telah menyertakan file zip dengan semua kode sumber contoh di awal tutorial ini, jadi Anda tidak perlu menyalin-tempel semuanya… Atau jika Anda hanya ingin langsung masuk
TLDR – SLIDE CEPAT
Unduh & Catatan
UNDUH & CATATAN
Pertama, berikut adalah tautan unduhan ke kode contoh seperti yang dijanjikan
CATATAN CEPAT
Jika Anda menemukan bug, jangan ragu untuk berkomentar di bawah ini. Saya mencoba menjawab pertanyaan singkat juga, tetapi itu adalah satu orang versus seluruh dunia… Jika Anda sangat membutuhkan jawaban, silakan periksa daftar situs web saya untuk mendapatkan bantuan dalam pemrograman
DOWNLOAD KODE CONTOH
Klik di sini untuk mengunduh kode sumber, saya telah merilisnya di bawah lisensi MIT, jadi silakan membangun di atasnya atau menggunakannya dalam proyek Anda sendiri
SITUS MULTI-BAHASA PHP
Baiklah, sekarang mari kita masuk ke contoh membuat website multi bahasa sederhana dengan PHP
LANGKAH 1) TATA LETAK SITUS HTML
lang-demo. php
<!DOCTYPE html> <html> <head> <title><?=$_TXT[0]?></title> <meta charset="utf-8"> </head> <body lang="<?=$_SESSION["lang"]?>"> <!-- (A) SET LANGUAGE --> <form method="post"> <input type="submit" name="lang" value="en"> <input type="submit" name="lang" value="zh"> </form> <!-- (B) SITE CONTENTS --> <header><?=$_TXT[1]?></header> <main><?=$_TXT[2]?></main> <footer><?=$_TXT[3]?></footer> </body> </html>Benar, ini hanyalah "tata letak HTML biasa" Anda
- Formulir pengalih bahasa. Saya pergi "sangat malas dan sangat sederhana" dengan yang satu ini, Anda pasti ingin membuat formulir "tampan" Anda sendiri di sini
- Perhatikan bahwa semua teks dan konten diganti dengan variabel PHP – <?=$_TXT[N]?>
LANGKAH 2) MANAJER BAHASA PHP
lang-demo. php
<?php // (C) SET LANGUAGE INTO SESSION session_start(); if (!isset($_SESSION["lang"])) { $_SESSION["lang"] = "en"; } if (isset($_POST["lang"])) { $_SESSION["lang"] = $_POST["lang"]; } // (D) LOAD LANGUAGE FILE require "lang-" . $_SESSION["lang"] . ".php"; ?> <!DOCTYPE html> ..._- Untuk mendaftarkan bahasa yang dipilih, kita harus memulai sesi terlebih dahulu – session_start()
- Jika bahasa tidak dipilih, kami akan menyetelnya ke bahasa Inggris secara default – if (!isset($_SESSION["lang"])) { $_SESSION["lang"] = "en"; }
- Saat formulir “ganti bahasa” dikirimkan, kami mengubah ke bahasa yang dipilih – if (isset($_POST["lang"])) { $_SESSION["lang"] = $_POST["lang"]; }
- Terakhir, muat file bahasa – require "lang-" . $_SESSION["lang"] . ".php";
LANGKAH 3) PAKET BAHASA
3A) PAKET BAHASA INGGRIS
lang-en. php
<?php $_TXT = [ "Test Website", "My Website", "Welcome To My Site", "Copyright My Site" ];Ingat bahwa semua konten halaman adalah “variabel placeholder” <?=$_TXT[N]?>?
3B) PAKET BAHASA CINA
lang-zh. php
<?php $_TXT = [ "测试网站", "我的网站", "欢迎来到我的网站", "版权所有: 我的网站" ];Ini adalah terjemahan Cina. Buat "paket bahasa" sebanyak yang diperlukan dalam proyek Anda sendiri
BIT & LINK EKSTRA
Itu saja untuk proyek ini, dan ini adalah bagian kecil tentang beberapa tambahan yang mungkin berguna bagi Anda
METODE ALTERNATIF
Tentu saja, contoh di atas bukanlah satu-satunya cara untuk membuat website multibahasa. Metode umum lainnya adalah
- Buat situs web terpisah untuk setiap bahasa. Misalnya, <?php // (C) SET LANGUAGE INTO SESSION session_start(); if (!isset($_SESSION["lang"])) { $_SESSION["lang"] = "en"; } if (isset($_POST["lang"])) { $_SESSION["lang"] = $_POST["lang"]; } // (D) LOAD LANGUAGE FILE require "lang-" . $_SESSION["lang"] . ".php"; ?> <!DOCTYPE html> ...0 untuk bahasa Inggris, <?php // (C) SET LANGUAGE INTO SESSION session_start(); if (!isset($_SESSION["lang"])) { $_SESSION["lang"] = "en"; } if (isset($_POST["lang"])) { $_SESSION["lang"] = $_POST["lang"]; } // (D) LOAD LANGUAGE FILE require "lang-" . $_SESSION["lang"] . ".php"; ?> <!DOCTYPE html> ...1 untuk bahasa Prancis, <?php // (C) SET LANGUAGE INTO SESSION session_start(); if (!isset($_SESSION["lang"])) { $_SESSION["lang"] = "en"; } if (isset($_POST["lang"])) { $_SESSION["lang"] = $_POST["lang"]; } // (D) LOAD LANGUAGE FILE require "lang-" . $_SESSION["lang"] . ".php"; ?> <!DOCTYPE html> ...2 untuk bahasa Jepang, dll…
- Gunakan API terjemahan – Lihat Google Terjemahan
- Simpan paket bahasa di database alih-alih array
REFERENSI dan LINK
- Versi lokal di Google
- Tag Hreflang di MDN
- Bahasa konten di MDN
- Daftar kode bahasa HTML di GitHub
LEMBAR CHEAT INFOGRAFIS
Terima kasih telah membaca, dan kami telah sampai di akhir panduan ini. Saya harap ini membantu Anda dengan proyek Anda, dan jika Anda ingin berbagi apa pun dengan panduan ini, jangan ragu untuk berkomentar di bawah ini. Semoga berhasil dan selamat membuat kode