Kullanıcı php diziler kullanan çok dilli bir web sitesi dilini değiştirmek izin şey yapmak nasıl?

2 Cevap php

Ben php dizileri kullanarak bir çok dilli web sayfası oluşturmak için aşağıdaki öğretici izledi: http://bytes.com/topic/php/answers/880915-how-develop-multi-lingual-websites-php

kodu:

files tree:

locale/
    english.php
    french.php
set_locale.php
index.php

locale/english.php:

<?php

$locale = array(
    'title' => 'Title in English',
    'h1' => 'The following in in English:',
    'p1' => 'This is a sample text, in English'
);
?>

locale/french.php:

<?php
$locale = array(
    'title' => 'Titre en français',
    'h1' => 'Le texte suivant en en français:',
    'p1' => 'Il s\'agit d\'un échantillon de texte, en français.'
);
?>

set_locale.php:

<?php

// Get the language from the query string, or set a default.
($language = @$_GET['lang']) or $language = 'english';

// Set up a list of possible values, and make sure the
// selected language is valid.
$allowed_locales = array('english', 'french');
if(!in_array($language, $allowed_locales)) {
    $language = 'english'; // Set default if it is invalid.
}

// Inlclude the selected language
include "locale/{$language}.php";

// Make it global, so it is accessible everywhere in the code.
$GLOBALS['L'] = $locale;
?>

index.php:

<?php

// Include the "set_locale" script to fetch the locale
// that should be used.
include_once "set_locale.php"

// Print the HTML, using the selected locale.
?>
<html>
    <head>
        <title><?php echo $GLOBALS['L']['title']; ?></title>
    </head>
    <body>
        <h1><?php echo $GLOBALS['L']['h1']; ?></h1>
        <p><?php echo $GLOBALS['L']['p1']; ?></p>
    </body>
</html>

Şimdi, kullanıcı bir linke tıklayın izin ve dilini değiştirmek için bir şeyler yapmak istiyorum

Böyle bir şey:

<ul id="language-selection">
   <li><a href="something should go here but I'm not sure what">English</a></li>
   <li><a href="ssomething should go here but I'm not sure what">English</a></li>
</ul>

Bunu yapmanın en iyi yolu nedir?

2 Cevap

Sorgu dizesi bir parçası olarak dil Pass:

<ul id="language-selection">
   <li><a href="index.php?lang=english">English</a></li>
   <li><a href="index.php?lang=french">English</a></li>
</ul>

Senin kodunda, $_GET['lang'] kullanıyorsanız, yani bu bunu yakalamak gerekir. Ihtiyaç varsa kod mofify isteyebilirsiniz.

index.php?lang=english 

VEYA

index.php?lang=french