Почему строки не отображаются в "String translation" WPML?

у меня в моих php-файлах есть такая строка:

<?php
__('My string A', 'a_theme');
_e('My string B', 'a_theme');
?>

и не появляются в "String translation".

Я также купил и установил эту тему:http://preview.ait-themes.com/index.php?bartype=desktop&theme=touroperator и строки из этой темы также не появляются в" переводе строк " WPML.

Это один пример строки, которая уже была в теме, Когда я установил его:

<input type="text" id="dir-searchinput-location" class="dir-searchinput-select" placeholder="{__ 'Destination'}">

Is есть какая-то дополнительная конфигурация, которую мне нужно сделать или что-то еще?

Спасибо за помощь

3 ответов


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

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

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

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

правильный формат

__('Your string', 'yourDomain') или _e('Your string', 'yourDomain')

в этом случае домен должен быть Название вашей темы, 'a_theme'.


эти строки каким-то образом кэшируются. Итак, если вы добавили новый (правильный способ), и он по-прежнему не отображается в переводе строк, перейдите в раздел "локализация темы и плагина" и нажмите кнопку "Сканировать тему для строк". Это будет переиндексировать строки, и ваш недавно добавленный должен появиться (работал для меня).


У меня такая же проблема, моя тема "bookyourtravel", и плагин"WPML string translation", не перевел эти тексты:

<?php _e('Accommodations', 'bookyourtravel'); ?>
<?php _e('Tour', 'bookyourtravel'); ?>
<?php _e('Accommodation', 'bookyourtravel'); ?>    

нет перевода!!!

мое решение было:

  1. в WPML перейдите в раздел "локализация тем и плагинов", проверьте Переведено WPML, затем clic en Save.
  2. теперь, "переведенная строка", кнопка clic in: сохраните настройки и повторите сканирование строк.

Если вы используете кэш, то очистите весь кэш в страницах.

готово, это сработало!!!!!!!

источник: https://wpml.org/forums/topic/using-gettext-for-hard-coded-strings-what-else/