WPML

Языки с направлением письма справа налево (RTL) представляют собой особую сложность. К счастью, WordPress во многом упрощает эту задачу. Мы покажем Вам, как создать полнофункциональный RTL-сайт на основе темы по умолчанию TwentyTen.

При создании многоязычного сайта с направлениями текста RTL и LTR Вам необходимо решить две задачи:

  • Редактирование и перевод
  • Отображение

Первая часть (создание или перевод сайта) подразумевает работу в админ-панели WordPress на нужном языке и с правильным направлением текста. Если Вы переводите между языками LTR и RTL, имейте в виду, что Вам потребуется просматривать контент со смешанным направлением на одном экране.

При отображении сайта Ваша тема оформления должна поддерживать правильное направление для языков RTL и LTR.

В этом руководстве мы будем использовать наш демонстрационный многоязычный сайт Twenty Ten, доступный на английском, испанском и иврите (RTL).

Подготовка — получение файлов .mo ядра и темы оформления


Сам WordPress и тема оформления по умолчанию полностью локализованы на многие языки. Нам нужна самая последняя версия локализации, поэтому мы решили взять ее из локализованных сборок WordPress. Вы можете скачать их здесь:
После того как Вы скачаете и распакуете WordPress, перейдите в каталог wordpress/wp-content/languages. Скопируйте всё его содержимое в свой каталог languages. Сделайте то же самое для темы оформления. Файлы перевода будут находиться в wp-content/themes/twentyten (или в текущей теме по умолчанию, если Вы читаете эту запись позже).

Вам также следует настроить WPML, чтобы разрешить перевод темы оформления и плагинов.

Перевод


Модуль Управление переводами в WPML позволяет отправлять задания на перевод и переводить с использованием разных учетных записей. Он также дает Вам возможность выполнять перевод с помощью Редактора переводов WPML. Когда речь идет о контенте со смешанным направлением, это особенно важно, поскольку Редактор переводов автоматически корректирует направление для каждого поля.

Если для Вас это в новинку, сначала прочитайте про модуль Управление переводами.

Вот как это выглядит, когда мы переводим запись Hello World на иврит.

Редактирование справа налево

Как видите, английские тексты выровнены по левому краю, а тексты на иврите — по правому. Можно даже использовать режим HTML для копирования и вставки элементов из английского языка. Режим HTML отображается в формате LTR, чтобы Вы могли правильно вводить теги.

При переводе строк WPML также отображает их в правильном направлении. Вот как выглядит экран Перевод строк при переводе заголовка виджета Search.

Перевод строк для RTL

Модули Редактор переводов и Перевод строк позволят нам полностью перевести сайт. Далее мы рассмотрим, как правильно отображать его в нужном направлении.

Отображение сайта в форматах RTL и LTR


Теперь, когда Ваш контент переведен, пора обратить внимание на тему оформления.

Эта небольшая строка делает большую часть магии:

<html dir="rtl" lang="he-IL">

Вы можете увидеть это, если просмотрите исходный код любой страницы на иврите. Например, главной страницы.

Атрибут dir="rtl" сообщает сайту, что направление отображения для всего сайта — справа налево. Браузеры понимают это и перевернут всё в правильном направлении.

Эта единственная строка PHP из файла header.php делает это возможным:

<html <?php language_attributes(); ?>>

Вызов функции language_attributes вставляет атрибуты dir и lang. Значения берутся из файла .mo ядра. Если у Вас есть правильные файлы .mo для WordPress, Вы получите правильные значения для этих атрибутов.

Если HTML и CSS Вашей темы оформления следуют «безопасным» практикам, это действительно всё, что Вам нужно. Под безопасными практиками мы подразумеваем отсутствие абсолютного позиционирования или ширины. Если Вам необходимо использовать абсолютные значения, возможно, стоит рассмотреть загрузку разных CSS для каждого языка.

Вы можете легко сделать это с помощью условных операторов, которые проверяют константу ICL_LANGUAGE_CODE (описана в API программирования WPML).

Результаты


Вот как выглядит наш демонстрационный сайт на английском, испанском и иврите.

Английский

Испанский

Иврит

Это не так сложно, как кажется. Попробуйте и расскажите нам о Ваших успехах.

Считаете это полезным? Поделитесь этой статьей: