Importer des fichiers po à l'aide de Drush

15

J'ai environ 20 sites qui ont une traduction commune. Je ne veux pas entrer dans l'administrateur de chaque site à chaque mise à jour du fichier po.

Est-il possible d'importer un fichier po à l'aide de Drush?

D. Wroblewski
la source

Réponses:

25

J'ai trouvé un moyen de le faire en utilisant Drush and Localization Update .

  1. Installer la mise à jour de localisation drush en l10n_update
  2. Configurer un chemin local pour les fichiers po (admin / config / regional / language / update)
  3. Configurer les mises à jour automatiques à partir de serveurs distants ou uniquement de sources locales

Vous pouvez maintenant placer vos propres fichiers po dans un chemin local (par exemple sites / all / translations). Si vous avez des traductions pour votre propre module, vous le nommez selon cette convention de dénomination:

modulename-version.language.po

Ainsi, un fichier po suédois pour 'my_module', version 7.x-1.1 serait nommé:

my_module-7.x-1.1.sv.po

Vous avez maintenant tout configuré et vous pouvez commencer à mettre à jour la traduction de vos sites avec Drush:

drush l10n-update-refresh # Looks for new po-files
drush l10n-update # Updates translations
D. Wroblewski
la source
Je ne pouvais pas vraiment faire fonctionner ça. J'ai exporté les traductions dans un fichier po à l'aide de l'interface utilisateur. Il a été nommé comme de.popour l'allemand. Je l' ai retitré à mes modules nom et il la version apposé mon module comme: controller-7.x-1.0.de.po. Poussé avec git et exécuté les commandes drush. Mais il ne détecte pas mon fichier po nouvellement poussé et dit «Toutes les traductions à jour». Où est-ce que je fais mal?
Елин Й.
Vous devez placer le fichier po dans le répertoire configuré par l10n_update comme source, généralement sites / all / translations
FGM
2
Tout le monde sait comment faire cela dans Drupal 8?
Guillaume Bois
Fais attention! Si vous souhaitez utiliser cette méthode pour des modules locaux personnalisés, votre fichier .info doit avoir la projectpropriété , sinon le module sera complètement ignoré.
scénariste
Un dernier détail, avec la version 2.2, j'ai dû préciser --mode=overwritelors de l'exécution drush l10n-update, sinon les modifications de mon fichier .po ne seraient pas prises en compte (même si elles modesont déjà paramétrées overwritedans le backend).
scénariste
3

Pour le moment, il n'y a aucun moyen de le faire avec Drush, mais vous pouvez utiliser le module Localization Update .

Vous pouvez également essayer d'utiliser Selenium IDE ou un script Selenium si vous avez beaucoup de sites. C'est la meilleure solution que j'ai pu trouver pour obtenir des traductions en tant qu'exportables.

Patrick Kenny
la source
1

Votre meilleur pari est d'utiliser le module Potx Exportable .

Il expose la commande Drush drush potx-import-all

vancho17
la source
Bienvenue dans Drupal Answers! Le module prend-il également en charge Drush? Le PO demande un moyen de le faire avec Drush.
kiamlaluno