Строки, которые я перевожу в «Перевод пользовательского интерфейса» / admin / config / Regional / translate, не могут быть экспортированы в «Управление конфигурацией» / admin / config / development / configuration для меня. Я что-то упускаю?
Я хотел бы автоматизировать этот процесс с помощью hook_update_N
или drush cim -y
.
Как правильно автоматически развернуть «Перевод интерфейса пользователя» в Drupal 8?
- Должен ли я сделать это в
hook_update_N()
? - Должен ли я создать какой-нибудь пользовательский
mytranslations.po
файл в языковой папке?
Я вижу, locale_translate_batch_import_files()
что можно использовать.
8
i18n-l10n
deployment
Мильковский
источник
источник
hook_update_N
. Посмотрите на предложение @ Berdir.translation:sync
? К сожалению, я не могу найти подробную информацию об этой команде, но, возможно, она делает то, что вы ищете.Ответы:
Вы должны сделать это самостоятельно. @rpayanm ответил, где вы можете сделать это вручную, вам нужно будет посмотреть на код там и, например, реализовать команды drush, которые позволяют вам экспортировать и импортировать его снова. Автоматизация, которая затем становится относительно простой, экспортируйте, синхронизируйте ее с другим сервером и снова импортируйте.
Похоже, что проект, который помогает с этим, существует: Drush Language Commands .
Вы можете поместить переводы по умолчанию в модуль, но они импортируются только при установке этого модуля.
hook_update_N()
предназначен для запуска только один раз, поэтому вам нужно будет писать новую функцию каждый раз, когда вы захотите это сделать (и вам все равно нужно сначала экспортировать ее).источник
/admin/config/regional/translate/import
наcore/modules/locale/src/Form/ImportForm.php
.Вспомогательная функция для добавления пользовательских переводов:
Использование в хуке обновления:
источник
Вы можете экспортировать переведенные строки, используемые вашим сайтом A (admin / config / region / translate / export), а затем импортировать их на другой сайт (admin / config / Regional / translate / import).
источник
hook_update_N
илиdrush cim -y
. Я добавлю это в описание.Похоже, что это также можно сделать, написав скрипт для запуска команд из синхронизации Drush locale , хотя я сам не пробовал этот модуль.
источник
Как уже упоминалось в комментариях к вопросу, вы можете использовать модуль Custom Translations . При этом вам просто нужно включить
drush locale-update
в ваш сценарий развертывания.источник