Po-Dateien mit Drush importieren


16

Ich habe ungefähr 20 Websites, die eine gemeinsame Übersetzung haben. Ich möchte nicht jedes Mal, wenn die PO-Datei aktualisiert wird, in den Admin-Bereich der einzelnen Websites wechseln.

Ist es möglich, eine PO-Datei mit Drush zu importieren?

Antworten:


25

Ich habe einen Weg gefunden, dies mit Drush and Localization Update zu tun .

  1. Installieren Sie das Lokalisierungsupdate drush en l10n_update
  2. Konfigurieren Sie einen lokalen Pfad für po-Dateien (admin / config / regional / language / update)
  3. Konfigurieren Sie automatische Updates von Remoteservern oder nur von lokalen Quellen

Jetzt können Sie Ihre eigenen PO-Dateien in einem lokalen Pfad ablegen (zum Beispiel sites / all / translations). Wenn Sie Übersetzungen für Ihr eigenes Modul haben, benennen Sie es gemäß dieser Namenskonvention:

modulenname-version.language.po

So würde eine schwedische po-Datei für 'my_module', Version 7.x-1.1, heißen:

my_module-7.x-1.1.sv.po

Jetzt haben Sie alles eingerichtet und können beginnen, Ihre Website-Übersetzung mit Drush zu aktualisieren:

drush l10n-update-refresh # Looks for new po-files
drush l10n-update # Updates translations

Ich konnte das nicht wirklich zum Laufen bringen. Ich habe die Übersetzungen über die Benutzeroberfläche in eine PO-Datei exportiert. Es wurde wie de.pofür Deutsch benannt. Ich habe es auf meine Module Namen umbenannt und hängten es die Version meiner Modul wie: controller-7.x-1.0.de.po. Drückte es mit git und führte die Drush-Befehle aus. Aber es erkennt meine neu gepushte PO-Datei nicht und sagt 'Alle Übersetzungen auf dem neuesten Stand'. Wo mache ich falsch
Елин Й.

Sie müssen die PO-Datei in dem von l10n_update konfigurierten Verzeichnis als Quelle ablegen, normalerweise sites / all / translations
FGM

2
Weiß jemand, wie man das in Drupal 8 macht?
Guillaume Bois

Achtung! Wenn Sie diese Methode für benutzerdefinierte lokale Module verwenden möchten, muss Ihre INFO-Datei über die projectEigenschaft verfügen . Andernfalls wird das Modul vollständig ignoriert.
TheDotwriter

Ein letztes Detail, mit der Version 2.2, musste ich --mode=overwritebeim Ausführen angeben drush l10n-update, sonst würden die Änderungen in meiner .po-Datei nicht berücksichtigt (auch wenn im Backend modebereits festgelegt overwrite).
TheDotwriter

3

Im Moment gibt es keine Möglichkeit, dies mit Drush zu tun, aber Sie können das Lokalisierungsupdate- Modul verwenden.

Sie können auch versuchen, Selenium IDE oder ein Selenium-Skript zu verwenden, wenn Sie viele Websites haben. Dies ist die beste Lösung, die ich finden konnte, um Übersetzungen als exportierbar zu erhalten.

  • Ich sage, es gibt keine Möglichkeit, dies mit Drush zu tun, da ich vor ein paar Wochen eine Funktionsanforderung in der Problemwarteschlange geöffnet habe und sie als "nicht behebbar" geschlossen wurde, mit dem Grund, dass die Betreuer glauben, dass ein solcher Befehl in der getestet werden sollte i18n oder andere Module, bevor Sie es in den Drush-Kofferraum integrieren.


1

Am besten verwenden Sie das Potx Exportable- Modul.

Der Drush-Befehl wird angezeigt drush potx-import-all


Willkommen bei Drupal Answers! Hat das Modul auch Drush-Unterstützung? Das OP fragt nach einer Möglichkeit, dies mit Drush zu tun.
kiamlaluno

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.