Hướng dẫn check browser language php - kiểm tra ngôn ngữ trình duyệt php

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọcheaders, paths, and script locations. It is basically an associative array in PHP which has keys like SERVER_NAME, SERVER_ADDR, REQUEST_METHOD, etc.

    Bàn luận

    Syntax:

    $_SERVER['HTTP_ACCEPT_LANGUAGE']

    Chúng tôi có thể phát hiện yêu cầu Ngôn ngữ trình duyệt bằng cách sử dụng biến siêu toàn cầu của PHP $_SERVER. Đây là một biến siêu cơ bản chứa thông tin về các tiêu đề, đường dẫn và vị trí tập lệnh. Về cơ bản, nó là một mảng kết hợp trong PHP có các khóa như SERVER_NAME, SERVER_ADDR, REQUEST_METHOD, v.v.

    en-US, en;q=0.9, hi;q=0.8, fr;q=0.7

    Chúng tôi có thể sử dụng khóa HTTP_ACCEPT_LANGUAGE để có được ngôn ngữ của trình duyệt.
    In order to get the current language of the browser, we can use PHP’s built-in substr function to get the first two letters of the string like-

    <?php

    Chúng ta có thể thấy một đầu ra như:

    en-US, en;q=0.9, hi;q=0.8, fr;q=0.77

    Ví dụ 1: Để có được ngôn ngữ hiện tại của trình duyệt, chúng ta có thể sử dụng chức năng phụ chất tích hợp của PHP để lấy hai chữ cái đầu tiên của chuỗi như-

    en

       en-US, en;q=0.9, hi;q=0.8, fr;q=0.70 en-US, en;q=0.9, hi;q=0.8, fr;q=0.71en-US, en;q=0.9, hi;q=0.8, fr;q=0.72$_SERVERen-US, en;q=0.9, hi;q=0.8, fr;q=0.74en-US, en;q=0.9, hi;q=0.8, fr;q=0.75en-US, en;q=0.9, hi;q=0.8, fr;q=0.76

    Sau khi chạy chương trình trên, bạn sẽ thấy đầu ra là ngôn ngữ trình duyệt hiện tại của bạn -

    Bạn có thể kiểm tra nó bằng cách thay đổi ngôn ngữ trình duyệt của bạn. Nếu bạn đang sử dụng chrome, bạn có thể truy cập en-US, en;q=0.9, hi;q=0.8, fr;q=0.78 và chọn một ngôn ngữ khác. If your website has different pages for different languages, you can use this method in order to redirect to the page according to the user’s browser’s language.

    Bây giờ hãy chạy lại chương trình trên và bạn sẽ thấy đầu ra là ngôn ngữ mới được chọn.

    //www.example.com/en/index.php

    Ví dụ 2: Nếu trang web của bạn có các trang khác nhau cho các ngôn ngữ khác nhau, bạn có thể sử dụng phương thức này để chuyển hướng đến trang theo ngôn ngữ của người dùng Trình duyệt.

    Chương trình trên sẽ chuyển hướng đến các liên kết như

    Tôi sử dụng tập lệnh PHP sau làm chỉ mục cho trang web của tôi.

    Tập lệnh này nên bao gồm một trang cụ thể tùy thuộc vào ngôn ngữ của trình duyệt (tự động được phát hiện).

    <?php // Open session var session_start(); // views: 1 = first visit; >1 = second visit // Detect language from user agent browser function lixlpixel_get_env_var($Var) { if(empty($GLOBALS[$Var])) { $GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))? $GLOBALS['_SERVER'][$Var] : (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var])) ? $GLOBALS['HTTP_SERVER_VARS'][$Var]:''; } } function lixlpixel_detect_lang() { // Detect HTTP_ACCEPT_LANGUAGE & HTTP_USER_AGENT. lixlpixel_get_env_var('HTTP_ACCEPT_LANGUAGE'); lixlpixel_get_env_var('HTTP_USER_AGENT'); $_AL=strtolower($GLOBALS['HTTP_ACCEPT_LANGUAGE']); $_UA=strtolower($GLOBALS['HTTP_USER_AGENT']); // Try to detect Primary language if several languages are accepted. foreach($GLOBALS['_LANG'] as $K) { if(strpos($_AL, $K)===0) return $K; } // Try to detect any language if not yet detected. foreach($GLOBALS['_LANG'] as $K) { if(strpos($_AL, $K)!==false) return $K; } foreach($GLOBALS['_LANG'] as $K) { //if(preg_match("/[[( ]{$K}[;,_-)]/",$_UA)) // matching other letters (create an error for seo spyder) return $K; } // Return default language if language is not yet detected. return $GLOBALS['_DLANG']; } // Define default language. $GLOBALS['_DLANG']='en'; // Define all available languages. // WARNING: uncomment all available languages $GLOBALS['_LANG'] = array( 'af', // afrikaans. 'ar', // arabic. 'bg', // bulgarian. 'ca', // catalan. 'cs', // czech. 'da', // danish. 'de', // german. 'el', // greek. 'en', // english. 'es', // spanish. 'et', // estonian. 'fi', // finnish. 'fr', // french. 'gl', // galician. 'he', // hebrew. 'hi', // hindi. 'hr', // croatian. 'hu', // hungarian. 'id', // indonesian. 'it', // italian. 'ja', // japanese. 'ko', // korean. 'ka', // georgian. 'lt', // lithuanian. 'lv', // latvian. 'ms', // malay. 'nl', // dutch. 'no', // norwegian. 'pl', // polish. 'pt', // portuguese. 'ro', // romanian. 'ru', // russian. 'sk', // slovak. 'sl', // slovenian. 'sq', // albanian. 'sr', // serbian. 'sv', // swedish. 'th', // thai. 'tr', // turkish. 'uk', // ukrainian. 'zh' // chinese. ); // Redirect to the correct location. // Example Implementation aff var lang to name file /* echo 'The Language detected is: '.lixlpixel_detect_lang(); // For Demonstration echo "<br />"; */ $lang_var = lixlpixel_detect_lang(); //insert lang var system in a new var for conditional statement /* echo "<br />"; echo $lang_var; // print var for trace echo "<br />"; */ // Insert the right page iacoording with the language in the browser switch ($lang_var){ case "fr": //echo "PAGE DE"; include("index_fr.php");//include check session DE break; case "it": //echo "PAGE IT"; include("index_it.php"); break; case "en": //echo "PAGE EN"; include("index_en.php"); break; default: //echo "PAGE EN - Setting Default"; include("index_en.php");//include EN in all other cases of different lang detection break; } ?>

    Chủ đề