Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengesan Bahasa Pelayar dengan Amanah dalam PHP?

Bagaimanakah Saya Boleh Mengesan Bahasa Pelayar dengan Amanah dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-14 04:29:10335semak imbas

How Can I Reliably Detect Browser Language in PHP?

Kesan Bahasa Pelayar dalam PHP: Penyelesaian Teguh

Skrip PHP yang disediakan menghadapi cabaran dalam mengesan bahasa penyemak imbas dengan tepat, selalunya lalai kepada "index_en .php" untuk semua bahasa. Untuk menangani isu ini, pendekatan yang lebih komprehensif diperlukan.

Satu penyelesaian yang mantap ialah menggunakan fungsi PHP terbina dalam dan algoritma yang mudah. Skrip berikut mencapai ini:

<?php
    // Extract the first two characters from the HTTP_ACCEPT_LANGUAGE header as the browser language.
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

    // Define a list of supported languages.
    $acceptLang = ['fr', 'it', 'en']; 

    // Check if the browser language is in the supported list.
    $lang = in_array($lang, $acceptLang) ? $lang : 'en';

    // Include the appropriate language-specific page.
    require_once "index_{$lang}.php"; 
?>

Skrip ini beroperasi seperti berikut:

  1. Ia mengekstrak dua aksara pertama daripada pengepala HTTP_ACCEPT_LANGUAGE, yang memegang bahasa pilihan yang ditetapkan oleh penyemak imbas .
  2. Ia kemudian membandingkan nilai ini dengan senarai pratakrif yang disokong bahasa.
  3. Jika bahasa penyemak imbas tidak disokong, bahasa itu lalai kepada bahasa Inggeris ("en").
  4. Akhir sekali, ia termasuk halaman khusus bahasa yang sepadan, seperti "index_fr.php" untuk bahasa Perancis atau "index_en.php" untuk semua bahasa lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Bahasa Pelayar dengan Amanah dalam PHP?. 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