Las cadenas que traduzco en "Traducción de interfaz de usuario" / admin / config / regional / translate no son exportables por "Administración de configuración" / admin / config / development / configuration para mí. ¿Me estoy perdiendo de algo?
Me gustaría automatizar este proceso con hook_update_N
o drush cim -y
.
¿Cuál es la forma correcta de implementar automáticamente "Traducción de interfaz de usuario" en Drupal 8?
- ¿Debo hacerlo en
hook_update_N()
? - ¿Debo crear algún
mytranslations.po
archivo personalizado en la carpeta de idioma?
Veo que hay uno locale_translate_batch_import_files()
que podría usarse.
8
i18n-l10n
deployment
milkovsky
fuente
fuente
hook_update_N
. Echa un vistazo a la sugerencia de @ Berdir.translation:sync
? Lamentablemente, no puedo encontrar ninguna información detallada sobre este comando, pero tal vez hace lo que está buscando.Respuestas:
Tienes que hacer esto tú mismo. @rpayanm respondió dónde puede hacerlo manualmente, deberá mirar el código allí y, por ejemplo, implementar comandos drush que le permitan exportarlo e importarlo nuevamente. Automatizar eso es relativamente fácil, exportar, sincronizar con el otro servidor e importar de nuevo.
Parece que existe un proyecto que ayuda con eso: Drush Language Commands .
Puede poner traducciones predeterminadas en un módulo, pero solo se importan cuando instala ese módulo.
hook_update_N()
está diseñado para ejecutarse solo una vez, por lo que deberá escribir una nueva función cada vez que desee hacerlo (y aún debe exportarla primero).fuente
/admin/config/regional/translate/import
sobrecore/modules/locale/src/Form/ImportForm.php
.Función auxiliar para agregar traducciones personalizadas:
Uso en un enlace de actualización:
fuente
Puede exportar las cadenas traducidas utilizadas por su sitio A (admin / config / regional / translate / export) y luego importarlas en el otro sitio (admin / config / regional / translate / import).
fuente
hook_update_N
odrush cim -y
. Agregaré esto a la descripción.Parece que también debería ser posible hacer esto escribiendo un script para ejecutar comandos desde Drush locale sync , aunque no he probado ese módulo yo mismo.
fuente
Como aexl mencionado en los comentarios sobre la cuestión, se puede utilizar el encargo Traducciones módulo. Con eso, solo debe incluir
drush locale-update
en su script de implementación.fuente