Bagaimana untuk melaksanakan laman web berbilang bahasa dalam PHP

王林
Lepaskan: 2023-05-22 11:32:01
asal
1089 orang telah melayarinya

Dengan peningkatan populariti Internet, semakin banyak tapak web perlu menyokong berbilang bahasa. Ini kerana khalayak tapak web mungkin datang dari wilayah dan latar belakang budaya yang berbeza, dan jika tapak web hanya tersedia dalam satu bahasa, ia mungkin mengehadkan bilangan dan pengalaman pelawat. Artikel ini akan memperkenalkan cara melaksanakan laman web berbilang bahasa dalam PHP.

1. Penciptaan dan reka bentuk fail bahasa

Fail bahasa ialah fail yang menyimpan semua rentetan teks dan terjemahannya yang sepadan, dan perlu dibuat dalam format tertentu. Apabila mencipta fail bahasa, aspek berikut perlu dipertimbangkan:

1 Penamaan dan lokasi storan

Nama fail hendaklah menunjukkan dengan jelas bahagian bahasa dan tapak web yang dimiliki oleh fail itu, dan menjadi. disimpan dalam folder Dalam yang mudah diakses dan diurus.

2. Pilihan nama pembolehubah

Nama pembolehubah harus bermakna, mudah difahami dan diingat, dan bahagian tapak web yang berbeza boleh dibezakan melalui awalan penamaan.

3. Ketepatan dan format terjemahan

Terjemahan harus mencerminkan maksud teks asal dengan tepat dan mengikut format tatabahasa dan kosa kata yang betul.

2. Gunakan fungsi PHP untuk melaksanakan pelbagai bahasa

1 Baca fail bahasa

Dalam PHP, gunakan fungsi file_get_contents() untuk membaca rentetan daripada fail bahasa. . Tukar rentetan JSON kepada tatasusunan menggunakan fungsi json_decode() supaya rentetan teks dan terjemahannya yang sepadan boleh diakses melalui pasangan nilai kunci.

Contohnya, coretan kod berikut menunjukkan cara membaca fail bahasa Jerman bernama "de.json":

$language = "de";
$file = "translations/" . $language . ".json";
$string = file_get_contents($file);
$translations = json_decode($string, true);
Salin selepas log masuk

2. Tetapkan bahasa lalai

Tentukan fail bernama Pemalar $lang mewakili bahasa lalai. Sebagai contoh, arahan berikut menetapkan bahasa Inggeris sebagai bahasa lalai:

define('LANG', 'en');
Salin selepas log masuk

3. Tukar bahasa mengikut bahasa yang dipilih oleh pengguna

Jika pengguna perlu menukar bahasa, mereka boleh gunakan permintaan GET atau POST. Pemilih bahasa boleh disediakan sebagai menu navigasi atau dalam menu lungsur di bahagian atas tapak web.

Contohnya, coretan berikut menunjukkan cara membalas permintaan GET bernama "lang" dan menetapkannya kepada bahasa semasa:

if (isset($_GET['lang'])) {
    $_SESSION[LANG] = $_GET['lang'];
}
Salin selepas log masuk

4 Teks keluaran berdasarkan pasangan nilai kunci

Untuk mengeluarkan rentetan teks khusus bahasa, gunakan fungsi paparan seperti gema atau cetakan, dan kemudian masukkan terjemahan untuk kunci. Coretan kod berikut menerangkan cara mencetak rentetan teks dalam PHP:

echo $translations['PAGE_HEADER'];
Salin selepas log masuk

Dalam contoh ini, rentetan "PAGE_HEADER" ialah pengecam nilai kunci yang ditakrifkan dalam fail bahasa.

3. Gunakan pangkalan data untuk menyimpan berbilang bahasa

Jika anda perlu mengurus kandungan tapak web secara dinamik, anda boleh menyimpan rentetan teks berbilang bahasa dalam pangkalan data. Selain itu, sistem pengurusan berbilang bahasa boleh diletakkan di bahagian belakang tapak web dan menyediakan antara muka untuk menambah, mengedit dan memadam rentetan teks.

1. Tambahkan sokongan bahasa

Apabila menambah sokongan untuk bahasa baharu, anda boleh memasukkan rekod ke dalam pangkalan data. Setiap rekod mengandungi kunci rentetan teks, nilai rentetan teks dan pengecam untuk bahasa tersebut. Sebagai contoh, contoh berikut memasukkan rekod bahasa baharu dengan pengecam bahasa "fr".

INSERT INTO translations (key, value, lang) VALUES ('PAGE_TITLE', 'Titre de la page', 'fr');
Salin selepas log masuk

2. Dapatkan rentetan teks dan terjemahannya

Anda boleh menggunakan rentetan gabungan dan pertanyaan SQL untuk mendapatkan kunci dan nilai rentetan teks khusus bahasa. Coretan kod berikut menunjukkan cara untuk mendapatkan terjemahan tajuk halaman Perancis.

$lang = 'fr';
$key = 'PAGE_TITLE';
$query = "SELECT value FROM translations WHERE key='$key' AND lang='$lang'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_row($result);
echo $row[0];
Salin selepas log masuk

Di sini, $conn ialah pembolehubah yang disambungkan ke pangkalan data.

4. Kesimpulan

Artikel ini memperkenalkan cara melaksanakan laman web berbilang bahasa dalam PHP. Ini boleh dicapai dengan mencipta dan mereka bentuk fail bahasa, menggunakan fungsi PHP untuk melaksanakan fungsi berbilang bahasa, dan menggunakan pangkalan data untuk menyimpan berbilang bahasa. Tidak kira kaedah yang anda pilih, tapak web berbilang bahasa boleh memberi perkhidmatan yang lebih baik kepada khalayak yang pelbagai dan meningkatkan kebolehcapaian dan populariti tapak.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan laman web berbilang bahasa dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan