Анализировать ценность результата в HTML - PullRequest
0 голосов
/ 28 января 2010

Я хочу использовать что-то вроде этого в файле PHP:

$about = array ('dutch' => 'over', 'spanish' => 'sobre', 'english' => 'about');
if ($USER['lang'] == 'dutch'){
 // $about - becomes 'over' 
   } 
elseif ($USER['lang'] == 'spanish') {
// $about - becomes 'sobre'
  }
else {
// $about - becomes 'about'
}

И перенести результат в файл HTML. Я думал, что использую {about} на странице HTML, чтобы напечатать результат.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

2 голосов
/ 28 января 2010

Используя ту же структуру кода, что и у вас:

$about = array ('dutch' => 'over', 'spanish' => 'sobre', 'english' => 'about');

if ($USER['lang']) {
    echo $about[$USER['lang']];
} else {
    echo 'about';
}

Убедитесь, что $ USER ['lang'] правильно санирован / проверен

Это решение идеально, только если у вас есть несколько слов для перевода. Если вы хотите сделать что-то еще, то вам следует изучить вопрос с использованием полной библиотеки переводов.

Вот несколько библиотек перевода, которые вы могли бы проверить:

Редактировать: В качестве альтернативы, вы можете использовать переключатель. Это означает, что вам не нужно сравнивать $ USER ['lang'] со списком доступных языков.

switch ($USER['lang']) {
    case 'dutch':
        $about = 'over';
    case 'spanish':
        $about = 'sobre';
    default:    //if $USER['lang'] doesn't match any of the
                //cases above, do the following:
        $about = 'about';
}
1 голос
/ 28 января 2010

Вы хотите настроить многоязычную страницу. Самый простой способ получить доступ к словам - использовать массив

if ($USER["lang"] == "dutch")

$words = array("about" => "over",
                 "word1" => "translation1",
                 "word2" => "translation2");

...

echo $words["about"]; // Outputs the correct word for "about"

Если это большой проект с множеством слов, вы можете посмотреть на полноценное решение по интернационализации, например Zend Framework Zend_Translation . Он позволяет хранить переводы во многих различных форматах, включая файлы XML, текстовые файлы или базу данных для ускорения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...