আমি আমার ওয়েবসাইটের জন্য সূচক হিসাবে নিম্নলিখিত পিএইচপি স্ক্রিপ্ট ব্যবহার করি।
এই স্ক্রিপ্টটিতে ব্রাউজারের ভাষার উপর নির্ভর করে একটি নির্দিষ্ট পৃষ্ঠা অন্তর্ভুক্ত করা উচিত (স্বয়ংক্রিয়ভাবে সনাক্ত করা হয়েছে)।
এই স্ক্রিপ্টটি সমস্ত ব্রাউজারের সাথে ভাল কাজ করে না, তাই এটি সর্বদা অন্তর্ভুক্ত index_en.php
সনাক্ত হওয়া কোনও ভাষার জন্য (সমস্যাটির কারণ সম্ভবত কিছু স্বীকৃত-ভাষা শিরোনাম বিবেচনা করা হচ্ছে না এমন সমস্যা)।
আপনি কি আমাকে আরও শক্তিশালী সমাধানের পরামর্শ দিতে পারেন?
<?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;
}
?>
locale_accept_from_http()
আপনি শ্রেষ্ঠ ফলাফলের এটা ফেরৎ যাতে আপনি এখনও আছে সমর্থন নাও করতে পারে হয় পার্স হেডার নিজেকে খুঁজে পেতে পরবর্তী শ্রেষ্ঠ ।
locale_accept_from_http()
যাAccept-Language
হেডার থেকে পছন্দসই ভাষা পায় । স্ব-লিখিত পদ্ধতির চেয়ে আপনার এই পদ্ধতিটি সর্বদা পছন্দ করা উচিত। আপনি চেষ্টা করেছেন এমন নিয়মিত প্রকাশের তালিকার বিপরীতে ফলাফলটি পরীক্ষা করে দেখুন এবং সেইভাবে পৃষ্ঠা ভাষাটি নির্ধারণ করুন। উদাহরণের জন্য PHP-I18N দেখুন ।