Как сделать мультиязычный сайт?

Здравствуйте! Возможно сделать обычный мультиязычный, без натяжки на движок сайт? Если нет, подскажите пожалуйста, какие варианты ещё есть. Спасибо!
  • Вопрос задан
  • 7484 просмотра
Пригласить эксперта
Ответы на вопрос 5
lexxpavlov
@lexxpavlov
Программист, преподаватель
Нужно все переводимые строки хранить в отдельном массиве. А в шаблоне использовать нужный массив.
Пример с шаблоном на php и использованием глобальной переменной (для упрощения кода примера):
$ru = array(
    'site.title' => "Мой сайт",
    'author.name' => "Иванов И.И.",
);
$en = array(
    'site.title' => "My site",
    'author.name' => "John Doe",
);
$LANG = $_GET['lang'] === 'ru' ? $ru : en;

// где-то в шаблоне:
<html>
<head>
    <title><?=$LANG['site.title']?></title>
</head>
<body>
    <p><?=$LANG['author.name']?></p>
</body>
</html>


Подобным образом делается на любом фреймворке и/или шаблонизаторе. Приличные фреймворки уже имеют готовые инструменты для создания таких словарей.
Ответ написан
Exploding
@Exploding
wtf?
Почему-же нет? Конечно возможно! Ставите front-page или аналог какой-то и вперед! Но это если там пару страниц. Иначе лучше все таки двиг какой-то берите! Хостинг то все равно будете покупать, а там как правило можно нажатием одной кнопки все поставить. Да или техподу сказать - они сделают.
Ибо статика коварна! Но надежна...
Ответ написан
sabramovskikh
@sabramovskikh
Создаете папку eng копируете все содержимое сайта туда и там делаете перевод.
Можно вообще гугл переводчик подключить и тогда 100+ язычный сайт будет
Ответ написан
Как вариант можно использовать функцию gettext(), но это достаточно сложный вариант чтобы на него ответить в рамках форума. Это материал для хорошей статьи. И в интернете есть несколько неплохих статей по этому вопросу
Ответ написан
Комментировать
@islombek_gofurov
Easy Multi Language Websites in Javascript
https://www.youtube.com/watch?v=PaJrDAmrOB4

Multiple languages using Jquery and Json
https://www.youtube.com/watch?v=Tjt_u_OSh40
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы