Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk sokongan berbilang bahasa

Cara menggunakan PHP untuk sokongan berbilang bahasa

王林
王林asal
2023-06-23 08:22:391136semak imbas

Dengan perkembangan globalisasi, banyak tapak web dan aplikasi perlu menyokong berbilang bahasa. Dalam kes ini, menggunakan PHP untuk melaksanakan sokongan berbilang bahasa adalah penyelesaian yang patut dipertimbangkan. Dalam artikel ini, kami akan meneroka cara menggunakan PHP untuk sokongan berbilang bahasa.

Pertama, kita perlu mentakrifkan semua bahasa yang disokong. Dalam PHP, kita boleh menggunakan tatasusunan bersekutu untuk menyimpan bahasa ini dan kodnya. Contohnya:

$languages = array(
    "en" => "English",
    "fr" => "French",
    "de" => "German",
    "es" => "Spanish"
);

Dalam tatasusunan di atas, setiap bahasa mempunyai kod dan nama. Jika anda perlu menyokong bahasa lain, anda hanya perlu menambah kod dan nama yang sepadan dalam tatasusunan.

Seterusnya, kita perlu mencipta fungsi untuk mendapatkan bahasa yang dipilih oleh pengguna. Sebelum itu, kita perlu memahami bagaimana untuk mendapatkan kod bahasa dalam PHP. Salah satu cara ialah menggunakan pengepala penyemak imbas. Sebagai contoh, kita boleh menggunakan kod berikut untuk mendapatkan pilihan bahasa penyemak imbas:

$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

Ini akan mengembalikan kod untuk bahasa pilihan penyemak imbas, seperti "en" untuk bahasa Inggeris, "fr" untuk bahasa Perancis dan sebagainya. pada.

Kami boleh menggunakan kod ini untuk mendapatkan nama bahasa daripada $languages ​​​​array seperti yang ditunjukkan dalam kod berikut:

function get_language_name($code) {
    global $languages;
    return $languages[$code];
}

Sekarang kami telah melaksanakan fungsi untuk memilih bahasa oleh pengguna. Tetapi kita perlu membuat beberapa fail terjemahan untuk menyimpan terjemahan untuk bahasa ini. Setiap fail terjemahan mengandungi tatasusunan bersekutu yang mengandungi teks terjemahan dan terjemahan yang sepadan. Contohnya, berikut ialah fail terjemahan Inggeris ke Perancis:

<?php
$translations = array(
    "Welcome" => "Bienvenue",
    "Hello" => "Bonjour",
    "Goodbye" => "Au revoir"
);
?>

Kami boleh mencipta berbilang fail terjemahan untuk menyokong berbilang bahasa. Sebagai contoh, kita boleh mencipta fail terjemahan Inggeris ke Sepanyol seperti ini:

<?php
$translations = array(
    "Welcome" => "Bienvenido",
    "Hello" => "Hola",
    "Goodbye" => "Adiós"
);
?>

Seterusnya, kita perlu menulis fungsi untuk mendapatkan teks terjemahan. Kami boleh menggunakan kod berikut untuk mendapatkan fail terjemahan untuk bahasa yang dikehendaki:

function get_translation_file($language) {
    return "translations/{$language}.php";
}

Di sini, kami menganggap bahawa setiap fail terjemahan disimpan dalam folder yang dipanggil "terjemahan". Kita boleh menggunakan fungsi ini untuk mendapatkan fail terjemahan dalam bahasa yang diperlukan.

Akhir sekali, kita perlu menulis fungsi untuk mendapatkan terjemahan teks yang kita inginkan. Berikut ialah salah satu fungsi tersebut:

function get_translation($text, $language) {
    $translation_file = get_translation_file($language);
    if (file_exists($translation_file)) {
        include($translation_file);
        if (isset($translations[$text])) {
            return $translations[$text];
        }
    }
    return $text;
}

Dalam fungsi ini, kami mula-mula mendapatkan fail terjemahan untuk bahasa yang diperlukan. Jika fail itu wujud, kami memasukkannya dan menyemak sama ada teks yang diperlukan diterjemahkan. Jika ya, teks yang diterjemahkan dikembalikan. Jika tidak, teks asal dikembalikan.

Kini, kami telah melaksanakan aplikasi PHP yang menyokong berbilang bahasa! Untuk menggunakan terjemahan, cuma panggil fungsi get_translation, seperti yang ditunjukkan dalam kod berikut:

echo get_translation("Welcome", "fr"); //输出“Bienvenue”
echo get_translation("Hello", "es"); //输出“Hola”
echo get_translation("Goodbye", "en"); //输出“Goodbye”

Di sini, kami menterjemah "Selamat Datang" kepada Bahasa Perancis, "Hello" kepada Bahasa Sepanyol dan "Selamat Tinggal" untuk Bahasa Inggeris.

Dalam artikel ini, kami meneroka cara melaksanakan sokongan berbilang bahasa menggunakan PHP. Kami boleh melaksanakan sokongan berbilang bahasa dengan mudah dengan mentakrifkan bahasa yang disokong, mendapatkan bahasa pilihan pengguna, mencipta fail terjemahan dan fungsi menulis untuk mendapatkan terjemahan.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk sokongan 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