Skip Navigation
Обновлено
16 января, 2023

Не удалось найти нужные строки на странице Перевода строк? Мы рассмотрим несколько распространенных причин для этого, и где их можно найти.

В этой статье:

Почему мне не удается найти мои строки?Решения
Файлы перевода темы или плагина изменились
Строки не выбраны для перевода
По-прежнему не удается обнаружить строки и есть необходимость в расширенных инструментах Перевода строк
Переводы не синхронизированы на всех ваших серверах

Файлы перевода темы или плагина изменились

Темы и плагины обычно поставляются с собственными переводами текстов пользовательского интерфейса, а также тех, которые выводятся во внешнем интерфейсе. Эти переводы хранятся в файлах перевода.

По умолчанию WPML не сканирует эти файлы перевода и не загружает их в базу данных. Поэтому этих строк не будет на странице Перевода строк.

Если вы хотите перевести или отредактировать эти строки, сначала необходимо отсканировать файлы перевода соответствующей темы или плагина.

Сканирование темы и плагинов

  1. Перейдите в WPML → Перевод строк.
  2. Выполните поиск строки. Появится раскрывающийся список Не удалось найти нужные строки на перевод? Разверните его. В разделе Некоторые переводы изменились, выберите тему или плагины, которые WPML должен сканировать. Затем щелкните Сканировать файлы перевода.
Сканирование файлов перевода на предмет наличия строк
  1. После завершения сканирования страница обновится, и теперь можно будет выбрать соответствующую тему или плагин в раскрывающемся списке Выбрать строку в домене.

Сканирование на предмет наличия жестко запрограммированных строк

В некоторых темах или плагинах содержатся жестко запрограммированные строки, маркированные функцией gettext. Перевод строк сканирует только MO-файлы на предмет наличия переводимых строк, поэтому все жестко запрограммированные строки будут упущены.

Сканирование на предмет наличия жестко запрограммированных строк:

  1. Перейдите в WPML → Локализация темы и плагинов.
  2. Выберите тему или плагин и щелкните кнопку для сканирования.
  3. После завершения сканирования строки отобразятся на странице Перевод строк.
Сканирование на предмет наличия жестко запрограммированных строк

Строки не выбраны для перевода

Тексты многих тем и плагинов хранятся в таблице wp_options. Эти строки сначала необходимо зарегистрировать как переводимые и добавить в Перевод строк.

Регистрация строк:

  1. Перейдите в WPML → Перевод строк.
  2. Выполните поиск строки. Появится раскрывающийся список Не удалось найти нужные строки на перевод? Разверните раскрывающийся список и щелкните Выбрать тексты для перевода.
Choosing texts for translation
Выбор текстов для перевода
  1. Если раскрывающийся список не отображается, прокрутите вниз страницы и щелкните ссылку Перевести тексты экранов администрирования.
Ссылка Перевести тексты экранов администрирования внизу страницы Перевода строк
  1. Откроется список администраторских строк, поддерживающий поиск. Выберите нужную строку и щелкните Добавить в Перевод строк. Затем переведите строку как обычно на странице Перевода строк.
Adding admin strings to the String Translation page
Добавление администраторских строк на страницу Перевода строк
  1. Также можно щелкнуть Экспортировать в виде файла конфигурации WPML, чтобы создать фрагмент кода для использования в файле конфигурации языков.
Exporting as a WPML configuration file
Экспорт в виде файла конфигурации WPML

Другие расширенные инструменты Перевода строк

Если вы по-прежнему не можете найти свои строки, в WPML есть инструменты, которые помогут вам в этом. Они находятся в WPML → Перевод строк.

Определение местоположения строк на сайте

Этот параметр помогает определить, где строки используются на страницах сайта с публичным доступом. Если его включить, WPML будет регистрировать PHP-источник и страницы, на которых отображается каждая строка. Эта функция может помочь в понимании контекста строк и выборе варианта их перевода.

Как это использовать:

  1. Включите параметр Определить местоположение строк на сайте.
  2. Откройте страницы во внешнем интерфейсе сайта.
  3. Переключитесь с языка сайта по умолчанию на другой.
  4. WPML зарегистрирует все строки, которые будут отображаться на странице, которую вы просматриваете. Переходите от страницы к странице, чтобы охватить все необходимые вам строки.
Включение / выключение использования строк Информационные значки в списке строк Строка в PHP-коде Строка на общедоступной странице
tracking_strings string-debug-options see-where-string-appears show-on-page
Включение или выключение отслеживания мест отображения строк на общедоступных страницах. Щелкните значки, чтобы увидеть, где в коде или на общедоступной странице отображается строка. Статическая операция без дополнительной нагрузки на сервер. Динамическая операция, предназначенная для разработки сайта (оказывает нагрузку на сервер).

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

Автоматическая регистрация строк на перевод

WPML использует анализ статического кода для определения строк в теме и плагинах, требующих перевода. В некоторых случаях сканирование статического кода не может найти все строки без исключения. Подобное часто случается, если строки генерируются динамически с помощью кода.

Если включить автоматическую регистрацию, WPML будет регистрировать строки изо всех текстовых областей, которые необходимо переводить при отображении. Традиционный вариант – регистрировать строки после входа в систему в роли администратора. Таким образом, во время просмотра сайта администратором WPML регистрирует для перевода все отображаемые строки.

Включение параметра автоматической регистрации строк на перевод

Эта операция может увеличить количество запросов к базе данных во время регистрации строк на перевод.

Синхронизация файлов перевода для сайтов, работающих на нескольких серверах

По умолчанию Перевод строк хранит MO-файлы только на одном сервере. Это означает, что если ваш сайт работает на нескольких серверах, все запросы, обрабатываемые другими серверами, не преобразуют строки.

Начиная с WPML 4.4.0 можно включить пользовательский режим для синхронизации MO-файлов на ваших серверах. Для этого добавьте в свой файл wp-config следующее:

define( 'WPML_ST_SYNC_TRANSLATION_FILES', true );

Этот режим синхронизации добавит еще один уровень логики, который может повлиять на производительность сайта. Советуем использовать его только в случае необходимости.