Nasıl bu kodun içinde kullanıcının tarayıcının diline göre bir dili görüntüleyebilir?

2 Cevap php

Nasıl benim dilli bir web sitesi için bu mini-çerçeve içinde kullanıcının tarayıcının diline göre bir dili görüntüleyebilir?

Temelde, hiçbir tanımlama varsa kullanıcının varsayılan dili görüntülemek için vardır.

index.php: (render çıkış) örneği

<h2><?php echo l('tagline_h2'); ?></h2>

common.php: (çıkış için hangi dil denetleyicisi)

<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];

// register the session and set the cookie
$_SESSION['lang'] = $lang;

setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'en';
}

//use appropiate lang.xx.php file according to the value of the $lang
switch ($lang) {
  case 'en':
  $lang_file = 'lang.en.php';
  break;

  case 'es':
  $lang_file = 'lang.es.php';
  break;

  case 'tw':
  $lang_file = 'lang.tw.php';
  break;

  case 'cn':
  $lang_file = 'lang.cn.php';
  break;

  default:
  $lang_file = 'lang.en.php';
}

//translation helper function
function l($translation) {
 global $lang;
 return $lang[$translation]; }

include_once 'languages/'.$lang_file;
?>

Örnek /languages/lang.en.php: (burada çok dilli içerik depolanır ediliyor)

<?php
$lang = array(
 'tagline_h2' => '...',

2 Cevap

Burada kontrol ve hatta desteklenen diller karşısında iyi bir maç almak için çok iyi bir sınıftır:

http://snippets.dzone.com/posts/show/6539