Імпортуйте po-файли за допомогою Drush


15

У мене є близько 20 сайтів, які мають спільний переклад. Я не хочу входити в адміністратор кожного сайту щоразу, коли po-файл оновлюється.

Чи можливо імпортувати po-файл за допомогою Drush?

Відповіді:


25

Я знайшов спосіб зробити це за допомогою оновлення Drush and Localization .

  1. Встановіть оновлення локалізації drush en l10n_update
  2. Налаштуйте локальний шлях для po-файлів (адміністратор / конфігурація / регіональний / мова / оновлення)
  3. Налаштуйте автоматичні оновлення з віддалених серверів або просто локальних джерел

Тепер ви можете помістити власні po-файли в локальний шлях (наприклад, сайти / всі / переклади). Якщо у вас є переклади для вашого власного модуля, ви називаєте його відповідно до цієї умови іменування:

modulename-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

Я не міг змусити цього справді працювати. Я експортував переклади у po-файл за допомогою інтерфейсу користувача. Його назвали de.poнімецькою. Я перейменував його на моє ім'я модулів і приклав його версію мого модуля , як: controller-7.x-1.0.de.po. Підштовхнув його git і виконав команди drush. Але він не виявляє мого щойно висунутого po-файлу і каже "Усі переклади актуалізовані". Де я роблю неправильно?
Елін Й.

Ви повинні розмістити файл po в каталозі, налаштованому l10n_update як джерело, як правило, сайти / усі / переклади
FGM

2
Хтось знає, як це зробити в Drupal 8?
Гійом Буа

Стережись! Якщо ви хочете використовувати цей метод для місцевих модулів, ваш файл .info повинен мати projectвластивість , інакше модуль буде повністю ігнорований.
thedotwriter

Останню деталь, з версією 2.2, мені довелося вказати --mode=overwriteпід час запуску drush l10n-update, інакше зміни в моєму .po-файлі не будуть враховані (навіть якщо modeце вже встановлено overwriteв бекенде).
thedotwriter

3

На даний момент немає можливості зробити це з Drush, але ви можете використовувати оновлення локалізації модуль .

Ви також можете спробувати використовувати ID Selenium або скрипт Selenium, якщо у вас багато сайтів. Це найкраще рішення, яке мені вдалося придумати для отримання перекладів як експорту.



1

Ваша найкраща ставка - використовувати модуль Potx Exportable s.

Це викриває команду Друша drush potx-import-all


Ласкаво просимо до відповідей Drupal! Чи є в модулі також підтримка Drush? ОП просить спосіб це зробити з Друшем.
kiamlaluno

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.