Вопрос или проблема
Я хочу добавить строку в файл .pot для языка, но он говорит, что есть ошибка. Я открыл файл .pot в текстовом редакторе и добавил этот код
#:D:\Programe\InstantWP\InstantWP_4.3.1\iwpserver\htdocs\wordpress\wp-
content\themes\sydney-child/category-38.php:56
msgid “”
“Читать далее”
msgstr “”
в то время как в моем файле я добавил это
<?php _e( ‘Читать далее’, ‘sydney-child’ ); ?>
Затем я скачал файл .pot и открыл его с помощью Poedit, я добавил перевод “Читать далее”, но когда я обновляю, он говорит: “Исходный код недоступен. Переводы не могут быть загружены по исходному коду, потому что в пути, указанном в свойствах каталога, нет исходного кода” (сообщение было на итальянском, так что надеюсь, что правильно перевел на английский)
Может кто-то помочь? Спасибо
Итак, как я работаю с Poedit:
- Открыть Poedit
- Открыть файл .pot с помощью Poedit
- Определить язык перевода
- Найти информацию, которую хотите перевести, в левом столбце
- Поместить перевод в правый столбец
- Сохранить .po
- Скомпилировать .mo
- Сохранить оба файла в папке ‘language’ темы
Поскольку вы пытаетесь создать термин, где его не существует, вторая строка вашего первого шага кажется неверной.
#: theme-name.php:123 // ссылка
msgid "Заголовок страницы" // оригинальный термин
msgstr "" // перевод
Ссылка: https://developer.wordpress.org/themes/functionality/localization/
Ответ или решение
Добавление строки в файл .pot с использованием Poedit требует правильного подхода, особенно когда у вас возникают ошибки. Вот шаги, которые помогут вам правильно сделать это:
-
Откройте Poedit: Убедитесь, что у вас установлена последняя версия Poedit.
-
Откройте .pot файл: Выберите файл .pot, который вы хотите редактировать.
-
Убедитесь в правильности формата: В вашем случае вы добавили строку вручную в файл .pot, но, похоже, что форматирование может быть нарушено. Убедитесь, что вы используете стандартный формат:
#: путь/к/файлу.php:номер_строки msgid "Read more" msgstr ""
Обратите внимание на использование кавычек: они должны быть стандартными двойными кавычками (").
-
Определите язык перевода: В Poedit убедитесь, что выбран правильный язык для перевода (например, итальянский).
-
Добавьте перевод: Найдите строку "Read more" в левой колонке, и в правой колонке введите перевод. Убедитесь, что перевод соответствует формату.
-
Сохраните .po файл: После добавления перевода сохраните изменения.
-
Компиляция .mo файла: Poedit автоматически создаст .mo файл при сохранении .po файла. Это важно, так как WordPress использует .mo файлы для загрузки перевода.
-
Сохраните в папку с языками: Поместите оба файла (.po и .mo) в папку ‘languages’ вашей темы. Обычно путь будет таков:
wp-content/themes/ваша-тема/languages/
. -
Проверьте настройки каталога: Если Poedit сообщает о том, что "Исходный код недоступен", проверьте настройки каталога в Poedit. Откройте меню "Свойства каталога" и убедитесь, что путь к исходному коду указан правильно (это должен быть путь к вашей теме).
Если вы будете следовать этим шагам, это должно решить проблему с добавлением переводов. Также не забывайте, что изменения в .pot файле могут не обновляться в этом файле, если они не были сгенерированы с помощью инструмента извлечения строк (например, xgettext или встроенные функции в IDE).
Если проблемы все еще сохраняются, убедитесь, что ваши файлы не содержат дополнительных символов и сохраняйте их в формате UTF-8 без BOM (byte order mark).