Как перевести шаблон для WordPress на русский язык. Три способа.
КАК ОПРЕДЕЛИТЬ ГОТОВ ЛИ ШАБЛОН К ПЕРЕВОДУ
Прежде чем приступить к переводу, определите является ли ваш шаблон translation-ready, т.е. готовым к переводу. Обычно разработчик темы широко рекламирует этот факт. Однако, если ваш разработчик — скромный, застенчивый малый, вы можете можете выяснить это самостоятельно. Вот несколько явных фактов:
1. В папке шаблона есть папка Languages, в которой есть к-л файл с расширением .pot, .po, .mo. Если таковой имеется, переходите сразу к чтению о способах перевода.
2. В .php файлах темы, например в functions.php, есть строчка «load_theme_textdomain(‘название вашей темы’, TEMPLATEPATH.’/languages’);»
3. В .php файлах темы, слова которые вы собираетесь перевести, например «post comment», находятся в таком коде: e_(‘leave a comment’) или __(‘leave a comment’).
ЧТО ДЕЛАТЬ ЕСЛИ ШАБЛОН НЕ ГОТОВ К ПЕРЕВОДУ
Если разработчики вашего шаблона не подготовили его к переводу, можно предпринять следующие действия:
1. Удалить такой шаблон, мысленно зарядить пяткой разработчика за его лень и не уважение к своей особе, и скачать новый шаблон, соответствующий требованиям современного пользователя. Скачать бесплатные темы готовые к переводу можно на официальном сайте WordPress.org. Качественные платные темы в изобилии на официальном сайте Themeforest.
2. Перевести топорным способом, т.е. редактировать каждый php.файл в отдельности с помощью редактора, например Notepad++. Подробнее читайте ниже «Перевод вручную».
3. Самостоятельно подготовить шаблон к переводу, прочитав «Как сделать translation-ready шаблон для WordPress» . Это для опытных.
ПЕРЕВОД С ПОМОЩЬЮ ПЛАГИНА «CODESTYLING LOCALIZATION»
На мой взгляд, это наиболее простой и удобный способ. После установки и активации заходим в: Админпанель –> Инструменты –> Локализация.
В меню плагина выбираем вкладку «Темы». Слева мы видим названия наших установленных тем, справа переводы, которыми снабжена тема . Кликаем батон «добавить новый язык».
Выбираем нужный язык, в моем случае русский «ru_RU».
Кликаем «создать po-файл. В списке, напротив названия языка «Русский», нажимаем сканировать.
И после, жмакаем редактировать. Вот так просто и удобно.
ПЕРЕВОД С ПОМОЩЬЮ «POEDIT»
Poedit — легкая программа для создания и редактирования .po и компилирования mo. файлов. Файл с расширением .po содержит исходный текст вашего шаблона и перевод. Например, po.файл с названием «ru_RU» будет содержать две графы: исходный текст, скорей всего английский, и перевод на русский. Mo.файл создается программой автоматически.
Итак, открываем программу Poedit. Для начала поменяем интерфейс на русский. Нажимаем File->Preferences, на вкладке Personalize, снизу, жмем Change UI Language и из списка выбираем язык Russian. Перезапускаем программу, чтобы действия вступили в силу.
Теперь проверим какие языки уже есть у шаблона. Заходим в папку с языками темы, обычно путь такой: ваш сервер\название_вашего_сайта\wp-content\themes\название_вашей_темы\languages\
Идеально, если в вашей теме уже есть файл с русским переводом ru_RU.po. Тогда, скачиваем его с хостинга на компьютер и открываем в Poedit для редактирования.
Открываем: Файл —> Свойства каталога —> Свойства перевода. Заполняем форму.
В графе множественного числа указываем код для формы множественного числа русского языка: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
Коды множественного числа для других языков указаны там же на сайте Translate House
Далее, заполняем следующую вкладку «Пути исходных файлов». В графе «Базовый путь» ставим точку. В графе «Пути» указываем путь к нашему файлу с переводов ru_RU.po.
Или в графе «Пути» можно поставить две точки.
На вкладке «Ключевые слова…» указываем
Закончив с настройками, приступим к переводу шаблона. Выбираем из верхнего списка слово для перевода и в самой нижней графе указываем наш перевод.
По окончанию, сохраняем как:
Название файла: ru_Ru
Расширение: .po
Файл с расширением .mo создается программой автоматически.
Все! Загружаем обратно оба файла ru_RU.po и ru_RU.mo в папку languges.
Примите участие в развитие WordPress и отправьте файлы .po .mo с вашим переводом автору темы. Автор может включить ваш перевод при выпуске следующего обновления к своей теме.
FAQ
1. Что, если в папке Languages нет ru_RU.po?
Если в папке темы не оказалось русского перевода «ru_RU.po», но есть другие языковые файлы с расширением .po, то можно перевести любой из них на русский и сохранить как ru_RU.po. Еше программа позволяет создать .po файл из .pot файла.
2. Все равно не работает. Что не так?
Убедитесь, что в файле wp-config.php, который находится в корне сайта, прописан правильный языковой идентификатор: define(‘WPLANG’, ‘ru_RU’);
ПЕРЕВОД «ВРУЧНУЮ»
Этот метод отнимает много времени и имеет ряд других существенных недостатков, а именно, при обновлении темы, ваш перевод будет утерян и придется переводить снова. Редактируя php.файлы, будьте предельно внимательным и аккуратным, чтобы не сломать по полам php код. Не переводите функциональные части php кода в файлах шаблона. Перед редактированием, желательно сделать бэкап темы.
Вот основной список файлов, в которых мы будем искать слова для перевода :
- comments.php — комментарии
- index.php — шаблон страницы
- header.php — заголовок
- footer.php — подвал
- page.php — шаблон страницы
- 404.php — шаблон ошибки
- single.php — шаблон записи
- archive.php — шаблон рубрики
Для редактирования файлов я использую Notepad++, потому, что нравится. Встроенный редактор в WordPress мне тоже понравился, после установки плагина Advanced Code Editor.
Итак, начну с перевода comments.php. В этом файле, я переведу такие слова, как: комментарии, оставить комментарий, войдите, чтобы оставить комментарий…
Открываем блокнот Notepad++. 1. Кликаем на иконку поиск (бинокль) или ctrl+F. 2. В окне поиска переходим во вкладку “найти в файлах”. Указываем слово для поиска, например «comment». В строку фильтры напишите: *.* В строку папка – место где находится папка с темой. 3. Жмем “найти все”
Появится список всех предложений, в которых встречается слово «comments». В большинстве предложений, слово «comment» будет функциональной частью кода, который НЕЛЬЗЯ трогать. Например:
- <?php comment_id_fields(); ?>
- <?php echo $comment_author; ?>
- <textarea id=»comment»>
А вот пример, что можно переводить:
- (‘This comment is password protected.’)
- <!— comments —> — Текст в таких скобках на сайте не отображается. Это пояснение от создателя темы.
Надеюсь, у вас все получится.