partyzanx
@partyzanx

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

Хочу сделать мультиязычный сайт с уроками по китайскому языку. Для начало на русском и на английском языках.
Как его лучше реализовать? Сделать ли разные точки входа? Сделать лучше на wordpress или как?
Опыта у меня мало. За деньги буду позднее заказывать, но мне нужно иметь представление. Есть ли у кого-нибудь успешные работы?
  • Вопрос задан
  • 166 просмотров
Решения вопроса 3
@MrTimon
Как по мне самый легкий вариант это юзать wordpress + WPML - это платный плагин но очень удобный.

Другой (безплтный) вариант з worpress-ом это делать мультисайт и юзать к примеру Multisite Language Switcher

есть еще несколько решений но думаю эти наиболее подходящие.
Ответ написан
Комментировать
@ipokos
Хочу сделать мультиязычный сайт

Как его лучше реализовать?

Если с точки зрения реализации, а не обучения, то берете тот инструмент который +- знаете и на нем делаете.
Для wordpress есть плагины которые позволяют сделать мультисайт

Сделать ли разные точки входа?

зависит от потребности, некоторые и на поддомен выносят.. ну а вообще так:
yourdomain.com
yourdomain.com/en/
Ответ написан
Комментировать
frost18
@frost18
Программист PHP
Есть четыре момента при создании мультиязычного сайта:
1) База
Нужно создать таблицу "language" в которой будут перечислены языки.
Для каждой таблицы в которой содержится переводимый текст нужно создать связующую таблицу к примеру для таблицы article создать article_lang в которой будут поля с текстом и связь указывающая на article_id и language_id
2) Статический текст на сайте.
Нужно создать функцию которая будет принимать на вход текст по умолчанию и в зависимости от текущего языка возвращать ее перевод. Перевод можно организовать или в php или в ini файлах к примеру.
3) Все ссылки на сайте обернуть в функцию. К примеру за место
<a href="/article/123">статья</a>
писать
<a href="<?=urlToRoute('/article/123')?>">статья</a>

И сделать так чтобы в зависимости от сегмента строки (или параметра) lang, переделывать ссылку
4) Сделать функцию currentLang которая возвращает текущий язык из сегмента адресной строки (или параметра). На основе нее будут получаться данные из базы и из функции urlToRoute

Примерно так.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы