Перевод — Заимствование Ранее Переведенных Строк Дочерним Плагином

  • Автор темы Kirya777
  • Обновлено
  • 18, Oct 2024
  • #1

Суть: При написании расширения плагина может ли расширение «заимствовать» переводы требуемого родительского плагина, используя его текстовый домен?

Сценарий:

Допустим, есть родительский плагин, перевод которого актуален и соответствует стандартам WP в этом вопросе. Я прихожу и пишу плагин расширения.

Для этого расширения требуется родительский плагин (без него оно не будет установлено).

Теперь предположим, что в моем плагине есть строка, переведенная в родительском плагине. Предполагая, что строки абсолютно идентичны (регистр, альфа и т. д.), могу ли я позаимствовать перевод этой строки, которая уже была переведена другими, из родительского плагина и использовать его в своем расширении, просто используя текстовый домен родительского плагина?

например _e('String', 'parentplugin');

Kirya777


Рег
22 Feb, 2012

Тем
79

Постов
161

Баллов
596
  • 25, Oct 2024
  • #2

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

С точки зрения ремонтопригодности это не оптимально. Здесь вы создаете очень сильную зависимость: каждый раз, когда родительский плагин меняет строку (добавляет точку, удаляет пробел), вам также приходится менять свои строки.

Я бы сделал это только для экономии большого количества памяти (1 МБ или более), и когда я знал, что разработчик родительского плагина создает действительно полезные коммиты. В противном случае вы можете пропустить некоторые изменения.

И Марко отмечает один важный аспект: вам нужен инструмент для файлов pot, который создает эти файлы на основе текстового домена, иначе вы не сэкономите много. Локализация кода может это сделать, но у него есть другие проблемы. Я не знаю действительно хорошего решения здесь.

Связанный: Могу ли я исключить текстовый домен плагина для терминов, используемых в ядре?

 

Ed1404


Рег
05 May, 2011

Тем
84

Постов
189

Баллов
629
  • 25, Oct 2024
  • #3

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

Другая проблема заключается в том, что при создании файла pot он включает все переводимые строки. Он не смотрит, какой текстовый домен он использует. В моем случае я изменил makepot.php, чтобы исключить строки с пустым доменом.

 

Slamegalf


Рег
26 Mar, 2014

Тем
61

Постов
223

Баллов
558
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно