ホームページ >バックエンド開発 >PHPチュートリアル >PHP でブラウザ言語を確実に検出するにはどうすればよいですか?

PHP でブラウザ言語を確実に検出するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 04:29:10336ブラウズ

How Can I Reliably Detect Browser Language in PHP?

PHP でのブラウザ言語の検出: 堅牢なソリューション

提供された PHP スクリプトは、ブラウザ言語を正確に検出する際に課題が発生し、多くの場合デフォルトで「index_en」になっています。すべての言語の .php」。この問題に対処するには、より包括的なアプローチが必要です。

堅牢な解決策の 1 つは、組み込みの PHP 関数と単純なアルゴリズムを利用することです。次のスクリプトはこれを実現します:

<?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"; 
?>

このスクリプトは次のように動作します:

  1. ブラウザによって設定された優先言語を保持する HTTP_ACCEPT_LANGUAGE ヘッダーから最初の 2 文字を抽出します。 .
  2. 次に、この値をサポートされている事前定義されたリストと比較します。
  3. ブラウザ言語がサポートされていない場合は、デフォルトで英語 ("en") になります。
  4. 最後に、対応する言語固有のページ ("index_fr.php" など) が含まれます。フランス語の場合は「index_en.php」、他のすべての言語の場合は「index_en.php」。

以上がPHP でブラウザ言語を確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。