Intereting Posts

переменные в переводе текста

Я добавляю список предлагаемых плагинов к своей теме с помощью активации TGM Plugin – https://github.com/thomasgriffin/TGM-Plugin-Activation/

Тем не менее, когда я запускаю проверку темы, около 40 или около того появляются рекомендации, потому что плагин использует переменные в переводческих функциях. Я смог удалить около половины проблем, набрав текстовый домен вместо использования переменной, используемой автором плагина. Однако мне нужна помощь в исправлении ошибки ниже:

РЕКОМЕНДУЕТСЯ: Возможная переменная $ instance найдена в функции перевода в class-tgm-plugin-activation.php. Вызов функции перевода НЕ должен содержать переменные PHP.

Вот код, связанный с ошибкой:

$table_data[$i]['source'] = __( 'External Link', TGM_Plugin_Activation::$instance->domain ); 

Я знаю, что функции перевода должны выглядеть примерно как __ ('Item Name', 'text-domain'), но я не уверен, что делать со второй частью функции:

 TGM_Plugin_Activation::$instance->domain 

Как я могу настроить это так, чтобы он работал правильно с переводами?

Solutions Collecting From Web of "переменные в переводе текста"

Строки перевода не только анализируются во время рендеринга (вывод на экране / в браузере), но также и анализатор GNU gettext. Это не парсер PHP, поэтому он не может выбирать переменные. Это единственная часть темы или плагина, где вам нужно повторить себя и добавить простую строку для каждого вызова функции перевода / gettext.

 // Wrong: __( 'External Link', TGM_Plugin_Activation::$instance->domain ); // Right: __( 'External Link', 'your_textdomain' ); 

Просто пояснить это: оба вышеупомянутых вызова будут работать с POEdit. Первый просто не сработает, когда Automattic / wp.org когда-либо приносит инструмент автоматического перевода, который обещал Марк Яквит. И это та часть, о которой говорит «Проверка темы» -Plugin. Вы отлично игнорируете сообщения «РЕКОМЕНДУЕТСЯ» . Как вы можете прочитать на этом посту М. Джакита – прочитайте кратко, затем перейдите к комментариям – это именно то, что рекомендуется «официальными» источниками / ведущими разработчиками.

Не похоже, что код TGM правильно переводится. Вы должны просто изменить все места в том коде, в котором вызывается функция перевода, чтобы использовать текстовый домен вашей темы.