Я пытаюсь создать простой многоязычный веб-сайт. (Данные будут храниться в БД позже) В основном у меня будут столбцы, начинающиеся с строки языка в моей таблице, например, tr_text и en_text ... Я не уверен, что это правильный способ сделать это.Получите строку и добавьте ее перед именем переменной
Мой DB будет выглядеть:
--------------------------------
# | en_text | tr_text
--------------------------------
1 | English Text | Turkish Text
--------------------------------
Вот мой код:
<?php
$get_lang = $_GET['language'];
if ($get_lang == 'tr') {
$lang = 'tr_';
} else if ($get_lang == 'en') {
$lang = 'en_';
}
$tr_text = 'Turkish Text'; // It will be stored in my DB
$en_text = 'English Text'; // It will be also stored in my DB
?>
<body>
<?php echo $lang.'text'; ?>
</body>
</html>
Для этого вам понадобится [переменные переменные] (http://php.net/manual/en/language.variables.variable.php), и этого следует избегать. А что касается «правильной» реализации таких переводов, это уже широко обсуждаемая тема, и существует несколько сложных решений - вы можете использовать ключевые слова ['i18n' и/или' L10n'] (https: //en.wikipedia .org/wiki/Internationalization_and_localization) в ваших дальнейших исследованиях. – CBroe
$ field = $ lang.'text '; Выберите $ поле из таблицы; – Scream
http://symfony.com/doc/current/components/intl.html –