У меня около 20 сайтов, которые имеют общий перевод. Я не хочу заходить в админ каждого сайта каждый раз, когда обновляется po-файл.
Можно ли импортировать po-файл с помощью Drush?
Я нашел способ сделать это с помощью Drush и Localization Update .
drush en l10n_update
Теперь вы можете поместить свои собственные po-файлы в локальный путь (например, sites / all / translations). Если у вас есть переводы для вашего собственного модуля, вы называете его в соответствии с этим соглашением об именах:
имя_модуля-version.language.po
Таким образом, шведский po-файл для my_module версии 7.x-1.1 будет иметь имя:
my_module-7.x-1.1.sv.po
Теперь у вас есть все настройки и вы можете начать обновлять перевод сайтов с помощью Drush:
drush l10n-update-refresh # Looks for new po-files
drush l10n-update # Updates translations
de.po
для немецкого языка. Я переименовал его на мое имя модулей и приложил его версию моего модуля , как:controller-7.x-1.0.de.po
. Вытолкнул его с помощью git и выполнил команды drush. Но он не обнаруживает мой недавно отправленный po-файл и говорит: «Все переводы актуальны». Где я делаю не так?project
свойство , иначе модуль будет полностью проигнорирован.--mode=overwrite
при запускеdrush l10n-update
, иначе изменения в моем .po-файле не были бы приняты во внимание (даже еслиmode
уже задано значениеoverwrite
в бэкэнде).На данный момент нет способа сделать это с Drush, но вы можете использовать модуль Localization Update .
Вы также можете попробовать использовать Selenium IDE или скрипт Selenium, если у вас много сайтов. Это лучшее решение, которое мне удалось найти для получения перевода на экспорт.
источник
Также модуль drush Drush Language Commands поддерживает импорт и экспорт po-файлов.
источник
Лучше всего использовать модуль Potx Exportable s.
Это выставляет команду Drush
drush potx-import-all
источник
Для тех, кто приземлится здесь много лет спустя, те же самые команды для Drush 9:
источник