2 языка на сайте с использованием php

Помогите пожалуйста организовать двуязычный сайт.

Итак, сначала есть два файла eng.php, es.php, и они будут храниться на сайте перевода.

пример:

$lang['hi'] = 'Hi';

Как я могу организовать дальнейший выбор языка на сайте и записать информацию о языке в куки?

Ответы на вопрос(2)

Решение Вопроса

Вы можете иметь два файла, как это.

Источникen.php:

$lang = array(
    'hi' => 'Hi'
);

Источникes.php:

$lang = array(
    'hi' => 'Hello'
);

А для основного файла содержимого источник должен быть таким:

<?php
    session_start(); // Make sure you initialize cookies / session
    $allowedLangs = array('en', 'es'); // Array with allowed values
    if(isset($_SESSION['lang'])) { // If already user had stored language in session
        include $_SESSION['lang'] . ".php";
    } elseif(isset($_GET['lang']) && in_array($_GET['lang'], allowedLangs)) { // If user had requested like index.php?lang=en
        include $_GET['lang'] . ".php";
        $_SESSION['lang'] = $_GET['lang']; // Update the session with the language
    } else { // If user is visiting for the first time, then...
        include "en.php";
    }

    echo $lang['hi'];
?>
 mulekula06 июн. 2012 г., 14:21
это хороший пример? & lt; a name = "es" HREF = & Quot;? LANG = ES & Quot; & GT; ES & л; / а & GT;
 mulekula06 июн. 2012 г., 14:18
большое спасибо за ваш ответ ... если я могу дать пользователю выбор языка?
 06 июн. 2012 г., 14:15
Вам нужно подтвердить & quot; разрешено & quot; $ _GET ['aang; lang' '] или вы рискуете сделать недопустимые включения в файл, например, & quot; index.php? Lang = .. / .. / .. / .. / .. / .. / .. / .. /. ./../etc/passwd%00"
 06 июн. 2012 г., 14:23
@mulekula да, вы можете использовать это. Но не нужноname="es", не нужно в этом контексте. И всякий раз, когда вы используете, дайте как./?lang=es вместо просто?lang=es, иногда это может не сработать!
 06 июн. 2012 г., 14:21
Вы можете использовать pagename.php? lang = en ИЛИ pagename.php? lang = es
<?php
    if(!isset($_COOKIE['lang'])){
        ?>
        Choose Language...
        <a href="es.php">ES</a><a href="eng.php">ENG</a>
        <?php
    } else {
        if($_COOKIE['lang']=='es'){
            header("location:es.php");
        }
        elseif($_COOKIE['lang']=='eng'){
            header("location:eng.php");
        }
    }
?>

es.php // eng.php

<!--Your Content-->
<?php
    setcookie("lang","es/eng",time()+SECONDS_YOU_WANT)
?>
 06 июн. 2012 г., 14:39
напишите ob_start (); в верхней части страницы 1-я строка
 mulekula06 июн. 2012 г., 15:38
я использую код ANSI
 06 июн. 2012 г., 15:32
Проверьте свой код для спецификации UTF-8.Remove UTF 8 BOM
 mulekula06 июн. 2012 г., 15:37
Попытка сделать перевод, но ничего не выходит. Использование echo $ lang = ['hi & apos;];
 mulekula06 июн. 2012 г., 14:34
У меня возникла проблема. Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начался с H: \ home \ werwolf.com.ua \ www \ index.php: 6) в H: \ home \ werwolf.com.ua \ www \ index.php в строке 17

Ваш ответ на вопрос