Собственная тема на нескольких языках. Как?
-
Добрый день.
Есть сайт. Сейчас он на русском языке. Тема к нему создается своя. Для мультиязычности решено использовать плагин Stella (free) и хосты в ней не используются (1 бд). Основным языком, выбран русский, добавлен английский.
Тема сейчас только на русском языке. Как ее можно сделать ещё и английской?
-
Как ее можно сделать ещё и английской?
Я тестировал плагины и отказался от них.
Лучший выход для сайта на нескольких языках — мультисайтинг (это моё личное мнение).
См. Создание сети
Всё просто, доступно и многие вопросы снимаются, в т.ч. по темам.WPML тоже тестировали?
На мой взгляд он попроще создания сети и поддержки двух сайтов.
Основательно пробовал qTranslate и немного один из более «свежих», не помню точно, какой.
Не понравилось однозначно.На мой взгляд он попроще создания сети и поддержки двух сайтов.
Создать сеть ненамного сложней обычной установки Вордпресс, все стандартные действия,.
Вы можете просто попробовать, за час-два можно понять, что это такое.
Переключение между сайтами — создаёте пользовательские поля и вставляете ссылку на эту статью на другом языке.
Самый оптимальный вариант во всех отношениях, отпадает масса вопросов.Создать сеть ненамного сложней обычной установки Вордпресс, все стандартные действия,.
Вы можете просто попробовать, за час-два можно понять, что это такое.Вы таки мне не рассказывайте за мультисайт. Есть у меня таких парочка, тоже детских болезней хватает у этого механизма. Да и запутаться есть где.
Собственная тема на нескольких языках. Как?
Создание этой темы — первое доказательство в пользу мультисайтовой системы 🙂
Ну а вообще спорить не буду, у каждого своё мнение.Спасибо всем за отзывы, хотя к ответу на свой вопрос я пока не приблизился. Наверное не полностью изложил задачу. От нескольких сайтов решено отказаться по причине отдельных бд, отдельных админок и необходимости дважды в двух (а при наличии большего числа языков и больше) сайтах добавлять и хранить информацию. причем и фотогалерей и прочего.
Задача стоит так: человек, который заполняет сайт, добавляет материалы русской версии, и туи же имеет поля для заполнения зеркальных текстов на втором языке. Если эти поля не заполнены, то ему об этом как-то сигнализируется. но в целом, работать не мешает. Именно поэтому выбран плагин Stella.
Сразу оговорюсь: WPML не пробовали в силу его платности. До меня другой человек пробовал плагин Polylang, от которого нужно отказаться в силу того, что он к каждому языку добавляет «папку». Что-то типа: домен/ru/ или домен/en/. И даже для основного языка нет никакой возможности избежать этого суффикса. При этом к чертям летит вся адресация статей на сайте. Речь идет о переносе сайта безо всякой cms, на wordpress. При этом необходимо по максимуму сохранить уже имеющуюся на сайта адресацию. Ясно, что можно наверное через .htaccess для русской версии сделать редиректы, но хотелось бы обойтись без них.Суть моего вопроса в следующем: если это возможно, ткните, где читать или сами подскажите, как при использовании плагина Stella можно было бы собственную тему сделать многоязычной& То есть? чтобы все меню и блоки сайдбара выводились так или иначе, в зависимости от выбранной версии: Rus, Eng.
к ответу на свой вопрос я пока не приблизился
Никто не даст готового решения, в каждом проекте свои особенности.
Создайте площадку и тестируйте вживую, пробуйте разные варианты.WPML не пробовали в силу его платности
Я его тоже не пробовал, мне больше подходит мультисайтинг.
Но если бы использовал плагин, то скорее всего выбрал бы платный WPML, как более надёжный вариант — работает команда, поддержка и т.д.
Тем более для двух, трёх язычного сайта плагин перевода в случае его глюков или прекращения поддержки не получится безболезненно сменить или просто убрать.Как ее можно сделать ещё и английской?
Использовать локализацию на основе gettext.
См также http://codex.wordpress.org/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BC и http://codex.wordpress.org/WordPress_LocalizationМного всякого прочитал за эти 3 дня. Остаётся вопрос: как реализуется многоязыковость в теме? Условно говоря, если это русская версия, то в «шапке» русский лоотип, иначе — логотип на языке. То же самое про подвал сайта и так далее.
Остаётся вопрос: как реализуется многоязыковость в теме?
Очень просто.
1. Для вывода статического текста используются функции _e(), __() и т.п. (см. http://codex.wordpress.org/L10n). Фразы обычно пишут на английском.
2. Все использованные в таких функциях фразы собираются в файл .po (в комплекте утилит poedit есть инструмент). Для каждого из языков сайта, кроме оригинального, фразы на котором используются в качестве аргументов функций _*, создаются переводы .po и компилируются в бинарный код .mo, используемый вордпрессом.
Всё. Дальше работают плагин, выбирающий текущую локаль, и движок, подключающий одноименный .mo-файл.
Что же касается картинок и прочих не-букв, то у каждого плагина есть свой набор условных функции или переменных, которые позволяют написать на php простой условный оператор, либо, что еще проще, «приклеить» код локали к имени или к пути файла.
Если — мультисайтинг, то всё просто
У меня на тестовом два языка, файлы перевода в теме есть, логотип при настройке каждого сайта вставляете свой, если необходимо.
Второй сайт у меня в папке, не на поддомене.
1. example.com
2. example.com/enМультисайтинг для этих целей — всё логично, просто, надёжно.
web911, к несчастью, мультисайтинг не подходит по причине ведения двух отдельных админок и отдельных баз данных. Есть необходимость настроить всё так, чтобы у тех, кто будет вносить информацию на сайт, была возможность в одной админке внести русский и английский тексты. Ну а про фотогалереи, которые пришлось бы добавлять дважды — я вовсе молчу.
Юрий, спасибо, рою в эту сторону. Так как тема, а стало быть и шаблоны собственные, надо будет для нее создавать .mo-файл.
Я под себя тестирую, присматриваюсь.
Тут кому-как удобней.надо будет для нее создавать .mo-файл.
Это не проблема. Тот же poedit его генерирует при сохранении *.po
SeVlad, угу, его и использую.
- Тема «Собственная тема на нескольких языках. Как?» закрыта для новых ответов.