Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan laman web berbilang bahasa

PHP melaksanakan laman web berbilang bahasa

WBOY
WBOYasal
2023-06-23 10:18:581480semak imbas

Dengan perkembangan globalisasi, laman web berbilang bahasa telah menjadi trend yang tidak dapat dielakkan. Sama ada tapak web korporat, platform e-dagang, laman web media atau komuniti forum, ia perlu menyokong berbilang bahasa. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan tapak web berbilang bahasa.

1. Apakah tapak web berbilang bahasa?

Tapak web berbilang bahasa merujuk kepada tapak web yang boleh menggunakan bahasa berbeza untuk menyampaikan kandungan yang sama. Sebagai contoh, tapak web Inggeris boleh ditetapkan untuk menyokong bahasa Cina supaya pelawat boleh memilih untuk menyemak imbas tapak web dalam bahasa Cina. Dalam laman web berbilang bahasa, versi terjemahan yang berbeza bagi kandungan yang sama diuruskan dalam bentuk fail berbilang bahasa.

2. Bagaimana untuk melaksanakan laman web berbilang bahasa dalam PHP

  1. Tentukan fail berbilang bahasa

Dalam PHP, tatasusunan sering digunakan untuk mentakrifkan berbilang bahasa -fail bahasa . Contohnya, fail berbilang bahasa Inggeris en.php boleh ditakrifkan seperti berikut:

<?php
$lang = array(
    'welcome' => 'Welcome to our website!',
    'about' => 'About us',
    'contact' => 'Contact us',
);

Fail berbilang bahasa Cina zh.php boleh ditakrifkan seperti berikut:

<?php
$lang = array(
    'welcome' => '欢迎来到我们的网站!',
    'about' => '关于我们',
    'contact' => '联系我们',
);
  1. Pilih berbilang bahasa mengikut bahasa pelawat Fail

Dalam PHP, anda boleh menentukan pilihan bahasa pelawat dengan menghuraikan medan Terima-Bahasa dalam pengepala permintaan HTTP. Contohnya:

function get_language() {
    if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
        $languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
        foreach ($languages as $lang) {
            $lang = str_replace('-', '_', strtolower(trim($lang)));
            if (file_exists("lang/$lang.php")) {
                return $lang;
            }
        }
    }
    return 'en';
}

Fungsi ini akan menghuraikan medan Accept-Language, kemudian semak sama ada terdapat fail berbilang bahasa yang sepadan (seperti lang/en.php, lang/zh.php, dsb.), dan kembalikan pemilihan bahasa yang sepadan.

  1. Paparkan kandungan berbilang bahasa

Dalam PHP, anda boleh menggunakan fungsi lang untuk memaparkan kandungan berbilang bahasa. Contohnya:

function lang($key) {
    static $lang;
    if (!$lang) {
        $lang = include "lang/" . get_language() . ".php";
    }
    if (isset($lang[$key])) {
        return $lang[$key];
    }
    return $key;
}

Fungsi ini akan mengembalikan versi terjemahan yang sepadan berdasarkan fail berbilang bahasa yang ditakrifkan sebelum ini. Jika versi yang sepadan tidak dijumpai, teks asal akan dikembalikan.

  1. Gunakan kandungan berbilang bahasa dalam halaman

Anda boleh menggunakan kandungan berbilang bahasa dalam halaman HTML dengan cara berikut:

<h1><?php echo lang('welcome'); ?></h1>
<p><?php echo lang('about'); ?></p>
<a href="contact.php"><?php echo lang('contact'); ?></a>

Semua dalam halaman Teks kandungan boleh diberikan menggunakan fungsi lang untuk menyokong laman web berbilang bahasa.

3. Ringkasan

Menggunakan PHP untuk melaksanakan tapak web berbilang bahasa tidaklah rumit Anda hanya perlu mengikuti tiga langkah di atas. Dengan mentakrifkan fail berbilang bahasa, memilih fail berbilang bahasa berdasarkan bahasa pelawat, dan menggunakan kandungan berbilang bahasa dalam halaman, anda boleh menyokong tapak web berbilang bahasa dengan mudah dan meningkatkan kebolehgunaan tapak web dan pengalaman pengguna.

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

Kenyataan:
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