Почему строки не отображаются в "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'); ?>
нет перевода!!!
мое решение было:
- в WPML перейдите в раздел "локализация тем и плагинов", проверьте Переведено WPML, затем clic en Save.
- теперь, "переведенная строка", кнопка clic in: сохраните настройки и повторите сканирование строк.
Если вы используете кэш, то очистите весь кэш в страницах.
готово, это сработало!!!!!!!
источник: https://wpml.org/forums/topic/using-gettext-for-hard-coded-strings-what-else/