Обновлено 23.08.2023
Здравствуйте, уважаемые читатели блога Trushenk.com!
Сайт на одном языке уже не может полноценно конкурировать в современном интернет-океане.
По крайней мере у нас в Украине. Русскоязычные сайты переходят на украинский или просто дублируют контент, а то и английскую страницу норовят сделать.
Поговорим про это…

Плагины для Вордпресс, которые занимаются переводом, охватывают далеко не все. Поэтому страница на другом языке выглядит иногда странно.
Тут тебе на одном языке, тут на другом и не всегда понятно, как это все исправить.
Но исправить это все можно. Попытаться, по крайней мере…
Не забывайте перед любыми изменениями на сайте сделать резервную копию файлов и базы!!!
Как поменять существующий перевод на сайте WordPress
Итак, вы хотите, например, поменять надпись над полем комментария.
Вместо стандартного «Ваше мыло не будет опубликовано» написать что-то душевное от себя. Типа «Всякая фигня будет удалена, пишите дело…»
Тут есть два варианта, как это сделать.
Если у вас на сайте один язык, то можно просто залезть в файл, в котором есть эта надпись и изменить ее там.
То есть вы стандартную надпись, в файле comment-template.php «Your email address will not be published» меняете на вашу про всякую фигню.
Только обращайте внимание на кавычки, скобки и прочее, чтобы было точно так же.
Ну и все. Почистили кеш, обновили, посмотрели. Все должно работать.
Второй вариант, если у вас несколько языков и вы хотите, чтобы все работало, как положено.
То есть, переключили на другой язык — сменилась надпись на нужном языке.
Здесь надо править файл перевода. Это чуть дольше, но оно того стоит.
Чтобы на странице изменить уже существующую надпись, которую вы не сами написали, а именно выводит сайт, сначала находим, какой файл эту надпись выводит.
Здесь не будем расписывать, как искать. Найти можно. Иногда дольше, иногда быстро. Если не смогли найти, то, может и не надо ковыряться в сайте, а лучше обратиться к специалистам?
Далее смотрим, где находится этот файл. Если он в папке вашей темы, то файл перевода будем править тут:
ваш_сайт/wp-content/themes/ваша_тема/languages
Если это украинский язык, то находим файл:
uk.po
Открываем его в нормальном текстовом редакторе типа Notepad++ и находим нашу исходную строчку.
Например, мы хотим изменить строку «Читати далі» на что-то более интересное.
Вот хочу на «Далі почитати».
Находим;
#: inc/html-blocks.php:14 msgid "Read more" msgstr "Читати далі"
меняем на:
#: inc/html-blocks.php:14 msgid "Read more" msgstr "Далі почитати"
Сохраняем файл. Если вы меняете исходную надпись (Read more), то ее, само собой, надо изменить и в том файле, в котором она выводится (по-английски). Иначе перевод не сработает.
Тогда просто копируем все три строки (первая строка — это просто комментарий) и вставляем их после скопированных (можно в любом месте — не принципиально). Изменяем как уже необходимо.
Пример:
#: inc/html-blocks.php:14 msgid "Read more" msgstr "Читати далі" #: inc/html-blocks.php:14 msgid "Read later" msgstr "Читати пізніше"
И вот это «Read later» надо вставить вместо «Read more» в тот файл, где оно проживало.
Но это еще не все. Это только начало (не пугайтесь- шутка).
Далее идем на ресурс:
ptc.wpml.org
и перетаскиваем наш измененный и сохраненный языковый файл uk.po
в поле Drag & drop your language file here.

Перетаскиваем в это поле файл или добавляем текст, нажав на кнопку ниже
Чуть ниже выбираем украинский язык.
Еще чуть ниже ставим птичку
.mo files with compiled translations и нажимаем Translate.

Выбираем язык, ставим птичку и нажимаем Translate
Оно там все варит некоторое время в зависимости от размера файла (от нескольких секунд до минуты) и выдает для скачивания архив.

Скачиваем архив с двумя файлами, один из которых исходный, а другой вновь созданный. Внизу можно посмотреть все варианты перевода, которые есть в файле. Раскрываем список стрелкой в середине рисунка
Этот архив скачиваем себе на комп и распаковываем. Там будет два файла — наш исходный:
uk.po
и вновь созданный:
uk.mo
Последний файл лежит у вас в папке на хостинге, но изменить мы его не можем — там сплошные краказяблы, и его может прочитать только программа.
Поэтому мы его таким долгим путем отредактировали.
Проверяем, чтобы имена файлов были такие же, как и на хостинге. Если из архива выпрыгнули файлы, у которых добавлен «хвостик» к имени — убираем его.
И теперь остается только закинуть с заменой эти два файла (uk.po, uk.mo) в ту папку на хостинге, где вы брали исходный uk.po.
После этого очистите кеш и проверьте. Все должно заработать.
Это мы рассмотрели случай, когда ваш файл лежал в папке темы Вордпресса.
Если это какой-то общий файл, например comment-template.php, который отвечает за вывод комментариев, то его перевод живет в:
Ваш_сайт/wp-content/languages
и менять языковый файл необходимо в этой папке. Алгоритм изменения такой же.
Как вставить свой перевод в любое место на сайт
Итак, изменить надпись, которая была, мы можем. А если хочется вставить перевод в какое-то определенное место на сайте?
Это чуть сложнее, но тоже можно попробовать.
Тут вся закавыка найти правильно нужное место. Если это получилось, то пишем изначально наш текст на английском и запихиваем его в функцию:
<?php _e( 'Ваш текст на английском' , $domain);?>
Что такое этот $domain? Это место, где лежит наш файл с переводом. Если перевод общий для Вордпресса, то можно его вообще не ставить.
Тогда код, который нужно вставить будет выглядеть так:
<?php _e( 'Ваш текст на английском' );?>
То есть, эта фраза уже должна быть в файле перевода в папке:
Ваш_сайт/wp-content/languages
Если перевода там нет, то его необходимо добавить в файл uk.mo в этой папке по схеме, описанной выше (то есть через изменение в файле uk.po) .
Если вы вставляете свой перевод в файл темы, то функцию необходимо прописывать полностью. И $domain будет название темы:
<?php _e( 'Ваш текст на английском' , 'название вашей папки темы вордпресс');?>
Чтобы знать, куда лезть и искать файл перевода программе.
Если фраза или слово на английском корректно отображается у вас на сайте, то меняем файл перевода по схеме, описанной выше.
Проверяем, как все работает, очистив предварительно кеш.
Чтобы придать вашей фразе необходимый стиль, можно саму функцию обернуть нужными тегами. Например, для жирного текста делаем так:
<strong><?php _e( 'Ваш текст на английском' , 'название вашей папки с темой вордпресс');?></strong>
В кодексе Вордпресс есть небольшая статейка по этой теме.
Также необходимо помнить, что при обновлении переводов через админку Вордпресс все ваши изменения будут утеряны.
Чаще обновляется файл переводов самого WordPress, чем темы, поэтому именно его придется подправлять заново.
Можно просто кинуть старый обратно на хостинг, но это же не вариант, мы понимаем.
Так что не запутайтесь в этих соснах.
Вроде все рассказали. Удачи!