У меня есть куча плагинов. И у них у всех есть свои собственные уникальные текстовые домены textdomain
для перевода (i18n).
У меня также есть куча файлов, которые я включаю во все мои плагины — я собираю их в директории под названием common. Они содержат общий функционал, типа мониторинга и обновлений.
Мне нужна возможность просто поместить общую папку в каждый из моих плагинов без необходимости редактирования файлов. Но проблема в том, что текстовые строки, которые внутри не подхватывают изменения.
В общем, могу ли я вызвать load_plugin_textdomain
дважды, для двух разных доменов, в пределах одного плагина? Как лучше всего решить эту проблему с i18n?
Или мне придется вручную изменить textdomain для каждого отдельного плагина?
Вы можете вызвать
load_plugin_textdomain()
сколько угодно раз, но я бы не стал этого делать.Поместите общие файлы в отдельный плагин, например
luke-carbis-library
. И в этом плагине создайте две функции для загрузки строк:Пример кода:
В зависимости от плагина можете цеплять нужный хук:
Теперь вы можете изменить внутреннюю структуру базового плагина по своему усмотрению — другие плагины будут использовать
$dir
и$url
из вашего хука.Здесь больше работы, чем я расчитывал ) но я согласен, это похоже единственный нормальный способ. Спасибо!
Проблема до сих пор сохраняется. Если я предложу пользователям устанавливать плагин luke-carbis-library, если у них его нет. что за сообщение будет в итоге? мне до сих пор требуется добавить в каждый плагин и я не хочу менять textdomain каждый раз. Какие мысли?
Это сообщение будет продублировано во всех плагинах, использующих textdomain. Я бы не переживал об этом.