Did you find this page useful? Give us feedback.
Did you find the information
on this page useful?

Yes
Somewhat
No
  Tell us more about your choice:
Missing information
Incorrect information
Misleading information
I have a question
Other
  Enter your comment in the box below

  Type the letters
simple PHP captcha
 

Dieses Thema ist nur für fortgeschrittene Benutzer vorgesehen, die sich mit Skripts auskennen und Skripts erstellen können.

Hinweis: Wenn Sie einen memoQ-Server verwenden, sollten Sie die Anleitung zur Installation des memoQ-Servers zum Einrichten des automatisierten Scriptings für Online-Projekte im Kapitel 5.1.2 lesen. Diese Anleitung ist auf der Kilgray-Website verfügbar.

Geben Sie automatisierte Aktionen der Vor- und Nachbearbeitung für Ihre Dokumente an, bevor Sie sie in Ihr memoQ-Projekt importieren und nachdem Sie sie aus Ihrem memoQ-Projekt exportieren.

Kilgray stellt Ihnen einige ausführbare Dateien bereit, die im Scripting-Ordner-Root separat installiert werden müssen. Laden Sie die Skripts auf der Website von Kilgray im Bereich Downloads unter Tools und Hilfsprogramme herunter.

Verfügbare Skripts:

Konvertieren von URL-codierten Inhalten aus XML-Dateien in Unicode vor dem Import und Rückkonvertieren in URL-codierte Inhalte nach dem Export

Optimieren der Codepage, Unicode-Codierung, Vorhandensein/Fehlen von BOM (alle textbasierten Dateiformate)

Zuordnen der Sprachcodes ohne Ländercodes (z. B. en) zu denen mit Ländercodes (z. B. en-us) in XML – dies wird für einige Content-Management-Systeme benötigt.

Sie können auch Ihre eigenen Skripts erstellen, z. B. um länderspezifische Sprachcodes in XML-Dateien durch nicht länderspezifische Codes zu ersetzen (oder umgekehrt). Ein weiterer Anwendungsfall kann der sein, dass Sie es mit zu übersetzenden Webshop-Datenbanken zu tun haben: Sie erhalten eine CSV-Datei, die Sie in eine HTML-Datei transformieren können, die auf URLs von Bildern der Artikel im Webshop verweist. Auf diese Weise erhalten Sie eine Vorschau der Webshopartikel in memoQ.

Erste Schritte

Die Import- und Exportaktionen können wie alle anderen Projektautomatisierungsaktionen eingerichtet werden. Klicken Sie in der Symbolleiste für den Schnellzugriff auf das Symbol für die Ressourcenkonsole oder auf der Registerkarte memoQ des Menübands auf Ressourcen > Ressourcenkonsole. Klicken Sie in der Ressourcenkonsole auf das Symbol Projektvorlagen. Klicken Sie auf den Link Neu erstellen, um eine neue Vorlage zu erstellen. Oder wählen Sie eine Vorlage aus, und klicken Sie auf Klonen, um die Vorlage zu klonen (eine Kopie davon zu erstellen) und diese dann anzupassen. Sie können auch auf Bearbeiten klicken, um die Vorlage zu bearbeiten.

Nachdem Sie eine Vorlage geöffnet haben, rufen Sie im Dialogfeld Projektvorlage bearbeiten den Bereich Automatisierte Aktionen auf. Klicken Sie auf die Registerkarte Skript vor Import:

Optionen

Geben Sie im Abschnitt Skript- und Dateitypen eine Dateierweiterung im Feld Platzhalterausdruck ein, z. B. *.exe. Mit *.* werden alle Dateitypen angegeben. Es sind alle Platzhalterausdrücke möglich, die von der Windows-Shell erkannt werden. Der Dateityp wird in der Liste Skript und Eingabedateien angezeigt. Fügen Sie einen neuen Ausdruck hinzu, und klicken Sie auf Als neues Element hinzufügen. Oder wählen Sie ein Element aus, und ändern Sie es. Klicken Sie dann auf Aktualisieren. Das Feld Skriptname wird automatisch ausgefüllt, wenn Sie Dateien im unteren Abschnitt hinzufügen.

Klicken Sie im Abschnitt Einstellungen für ausgewähltes Skript auf die Schaltfläche Dateien hinzufügen... Sie können mehrere Dateien auswählen: ausführbare Dateien und null oder mehr zugehörige Dateien (z. B. EXE und mehrere DLLs oder eine BAT-Datei, die andere Dateien aufruft). Wählen Sie eine Datei aus der Liste der hinzugefügten Dateien aus, und klicken Sie dann auf Löschen, um die Datei zu entfernen.

Wählen Sie ein Element im Listenfeld Dateien auswählen, die für Code benötigt werden aus, und klicken Sie auf die Schaltfläche Als Befehl festlegen. Das ausgewählte Element wird zu dem Befehl, den memoQ aufrufen wird. Der Name des Befehls wird in das Feld Befehlsname kopiert. Das Feld für den Namen des Befehls ist bearbeitbar. Enthält das Feld für den Befehlsnamen bereits einen Namen, dann wird dieser Name überschrieben, sobald Sie ein anderes Element aus der Liste auswählen und dieses als Befehl festlegen.

Zudem können Sie ein Befehlszeilenargument angeben. Klicken Sie in das Feld Befehlszeilenargumente und dann auf den Link Platzhalter einfügen. Wählen Sie einen Platzhalter aus: inputfilename, srclangiso2, srclangiso3, trglanglistiso2 oder trglanglistiso3. Sie können Platzhalter auch miteinander kombinieren. Weitere Informationen zu Befehlszeilenargumenten finden Sie hier (in englischer Sprache).

Im Feld Vollständiger Befehl wird Ihre Auswahl angezeigt: Befehlsname und dahinter die Befehlszeilenargumente.

Folgende Parameter werden an den benutzerdefinierten Code weitergegeben:

Name der Eingabedatei (%inputfilename)

Ausgangssprache (%sourcelanguage)

Zielsprachenliste (%targetlanguagelist)

Hinweis: Die Zielsprachenliste wird nur für Importskripts verwendet.

Im Abschnitt Zeitlimit können Sie das Zeitlimit in Sekunden angeben. Der Standardwert beträgt 5 Sekunden. Das obere Zeitlimit wird bei der Installation auf dem Server festgelegt. Das Zeitlimit wird nicht für das Projekt angegeben, sondern immer nur für ein individuelles Skript. Wenn Sie beispielsweise drei Skripts vor dem Import ausführen möchten, dann können diese Skripts drei unterschiedliche Zeitlimitwerte aufweisen.

Klicken Sie auf die Schaltfläche Meinen Befehl testen, um zu testen, ob die ausgewählten Parameter für die ausführbaren Dateien ordnungsgemäß eingerichtet sind.

Sie können zu einer Eingabedatei navigieren. (Klicken Sie hierfür auf die Schaltfläche Durchsuchen.) Es können nicht mehrere Dateien ausgewählt werden. Klicken Sie auf OK, um den Test auszuführen. Die Ausgangs- und Zielsprachen werden aus der Projektvorlage übernommen. Wenn Sie keine Sprachparameter festgelegt haben, wird ein Dialogfeld angezeigt, in dem Sie diese festlegen können.

Hinweis: Da das Projekt noch nicht erstellt ist, erstellt memoQ einen temporären Ordner (Ihren lokal konfigurierten Temp-Ordner; dabei wird für den Ordnernamen der Vorlagenname statt des Projektnamens verwendet). Dieser temporäre Ordner wird automatisch gelöscht, wenn Sie das Dialogfeld Details zum benutzerdefinierten Code festlegen schließen.

Legen Sie das Skript fest, das nach dem Dokumentenexport ausgeführt werden soll. Klicken Sie auf die Registerkarte Skript nach Export. Die Optionen sind mit denen auf der Registerkarte Skript vor Import vergleichbar.

Festlegen der benutzerdefinierten Codeausführung in der Projektvorlage

Wenn Sie auf die Registerkarte Projektautomatisierung klicken, stehen Ihnen Auslöser zur Verfügung. Wählen Sie einen Auslöser aus, z. B. Nach Dokumentenimport oder Vor Neu-Import oder Nach Projektabschluss. Klicken Sie dann auf die Schaltfläche Einstellungen, um die Aktionen für den ausgewählten Auslöser festzulegen. Beachten Sie, dass Sie einen Umfang für Auslöser festlegen können, der ausschließlich für Dokumente oder für das gesamte Projekt gelten kann. Hierfür ist das Element Benutzerdefinierten Code ausführen vorhanden.

Nachdem Sie die Aktion Benutzerdefinierten Code ausführen ausgewählt haben, klicken Sie auf Hinzufügen. Das Dialogfeld Details zum benutzerdefinierten Code festlegen wird angezeigt:

Die Optionen stimmen mit denen auf den Registerkarten Skript vor Import und Skript nach Export überein, es sind jedoch mehr Optionen für Platzhalter vorhanden:

%assignedto

%deadline (Dies ist nicht der finale Liefertermin, sondern der Liefertermin für die Person, der das Dokument aktuell zugewiesen ist.)

%finaldeadline (finaler Liefertermin)

%workflowstatus

%user (Benutzer, der den Auslöser gestartet hat)

%target language (Dieser Parameter wird für Nichtimportskripts verwendet; die Aktion kann z. B. ausgelöst werden, wenn ein Übersetzer für eine Zielsprache liefert.)

Hinweis: Benutzernamen werden durch Benutzerkontennamen dargestellt. Zeitplatzhalter werden durch ein ISO 8601-Standardzeitformat ersetzt. Zeitstempel weisen das UTC-Zeitformat auf. Der Workflow-Status wird als Zeichenfolge weitergegeben; die möglichen Werte werden ebenfalls weitergegeben.

Hinweis: Der erforderliche Ausgabedateiname als Parameter für den benutzerdefinierten Code verwendet einen Platzhalter: {outputfilepath}.

Unterhalb des Abschnitts "Zeitlimit" sind außerdem zwei Kontrollkästchen vorhanden:

Kontrollkästchen Dokumente als MQXLIFF für Skriptverarbeitung exportieren: Aktivieren Sie dieses Kontrollkästchen, um jedes Dokument im Auslöserbereich als MQXLIFF zu exportieren und diese Dokumente an den benutzerdefinierten Code zu übergeben. MQXLIFF ist das zweisprachige XLIFF-Format von memoQ.

Kontrollkästchen Dokumente im Projekt über Skriptausgabe aktualisieren: Aktivieren Sie dieses Kontrollkästchen, um memoQ die Anweisung zu geben, dass durch die benutzerdefinierte Codeausführung Ausgabedateien erstellt werden, die über Zweisprachiges Update wieder importiert werden müssen.

Ausführen des Codes in einem Projekt

Wenn Sie ein lokales memoQ-Projekt über eine Vorlage erstellen und in Ihrer Vorlage benutzerdefinierter Code enthalten ist, erstellt memoQ einen Projektunterordner für das Scripting im Scripting-Root-Ordner (unter C:\ProgramData\memoQ). Wenn Sie memoQ 2015 installieren, wird der Scripting-Root-Ordner automatisch erstellt. memoQ kopiert dann alle Dateien in den Unterordner für Scripting-Code.

Wenn Sie ein Online-Projekt erstellen, werden der Projektordner und die Unterordner im Scripting-Root erstellt. Aktionen mit EXE-Dateien werden übersprungen, wenn die benutzerdefinierte Codeausführung auf dem Server zulässig ist; dies ist nur für Batch möglich. Das Veröffentlichen eines Projekts verläuft gleich – wie in einem Projekt ohne benutzerdefinierte Codeanpassung in Vorlagen.

Was passiert, wenn die benutzerdefinierte Codeausführung für den Import ausgelöst wird?

Wird ein Import- oder Exportskript ausgelöst, kopiert memoQ alle Eingabedateien in das Arbeitsverzeichnis für den benutzerdefinierten Code, ggf. werden diese mit einer GUID umbenannt. Tritt kein Fehler auf, wird der Import normal fortgesetzt. Im Falle von Exportskripts ist der Export bereits erfolgt. (Wenn keine Dateien vorhanden sind, protokolliert memoQ eine Meldung in der Protokolldatei.) Nachdem die Eingabedateien kopiert wurden, ruft memoQ den benutzerdefinierten Code mit den von Ihnen in der Vorlage festgelegten Parametern und Befehlszeilenargumenten auf (für jede Datei einzeln).

Die Ausgabedateien enthalten _out am Ende des Dateinamens. Hat der Dateiname mehrere Platzhalter, werden alle zutreffenden Aktionen ausgeführt – in der Reihenfolge, in der sie in der Vorlage angegeben sind.

Was passiert, wenn die benutzerdefinierte Codeausführung für den Export ausgelöst wird?

Nachdem die Ausführung des benutzerdefinierten Codes ausgelöst wurde, exportiert memoQ zweisprachige Dateien für den Auslöserbereich (sofern in der Vorlage angegeben). Diese Dateien werden in das Arbeitsverzeichnis des benutzerdefinierten Codes exportiert. memoQ ruft dann den benutzerdefinierten Code für jede Datei mit den in der Vorlage angegebenen Parametern und Befehlszeilenargumenten auf. Wird mit der Vorlage ein zweisprachiges Datei-Update angegeben, führt memoQ das zweisprachige Datei-Update mit der Ausgabedatei aus. Fehlt die Ausgabedatei, wird eine Fehlermeldung angezeigt.

Sind keine Eingabedateien mehr übrig, werden in memoQ folgende Vorgänge ausgeführt:

Das Ergebnis des benutzerdefinierten Codes wird als Eingabe für den nächsten Schritt verwendet, den Sie im Workflow angegeben haben.

Die Ein- und Ausgabedateien für diesen speziellen Aufruf des benutzerdefinierten Codes werden gelöscht. Alle temporären Dateien werden entfernt.

Für memoQWeb: Wenn Sie ein vorlagenbasiertes Projekt in memoQWeb starten, wird die Automatisierung wie in einem Online-Projekt ausgeführt. Die Automatisierung kann jedoch nur in Vorlagen eingerichtet werden; diese sind in der memoQ-Desktopanwendung in der Ressourcenkonsole verfügbar.

Veröffentlichen eines lokalen Projekts auf einem memoQ-Server: Wenn Sie über ein lokales Projekt verfügen, in dem Sie benutzerdefinierten Code ausführen, dann können durch diesen benutzerdefinierten Code andere Programme aufgerufen werden, die memoQ nicht kennt (z. B. eine Laufzeitumgebung), oder es kann auf ein anderes Programm mit einem absoluten Pfad auf Ihrem Computer verwiesen werden. Es kann sein, dass dieser benutzerdefinierte Code nicht mehr verwendet werden kann, nachdem Sie Ihr lokales Projekt veröffentlicht und es somit in ein Online-Projekt transformiert haben.

Zeitüberschreitung während der Nachbearbeitung: Reagiert der Prozess nicht innerhalb des festgelegten Zeitlimits, beendet memoQ den Prozess und erstellt einen Eintrag in der Protokolldatei. Wenn Sie in einem Online-Projekt arbeiten, wird eine Warnung zur Zeitüberschreitung generiert (Fehler bei der Automatisierungsaufgabe). Wird der benutzerdefinierte Code aufgrund eines Zeitlimits gestoppt, tritt beim Import oder Export ein Fehler auf (wie bei einem Automatisierungsfehler). Werden bei einer Zeitüberschreitung oder bei einem Fehler einer automatisierten Aufgabe die Ausgabedateien nur teilweise generiert, ersetzt memoQ diese nicht und generiert keine Ausgabedateien.

Was die benutzerdefinierte Codeausführung nicht kann

Wenn Sie Laufzeitumgebungen wie Java verwenden, müssen Sie diese Programme separat installieren.

Alle Pfade in der ausführbaren Datei müssen als relative Pfade zum Arbeitsordner und zum Ausgabeordner der ausführbaren Datei definiert sein.

Durch große ausführbare Dateien in lokalen Projekten können große Vorlagendateien entstehen.

Eine Eingabedatei muss immer einer Ausgabedatei entsprechen.

Der benutzerdefinierte Code ändert nicht den Dateityp und die Dateierweiterung.

Nachdem der benutzerdefinierte Code ausgeführt wurde, werden alle temporären Dateien gelöscht.

Der benutzerdefinierte Code kann keine Dateien vor dem Import und nach dem Export aus memoQ basierend auf unterschiedlichen Zielsprachen verarbeiten. memoQ gibt nur die Liste der Zielsprachen weiter.

Workflow-Status werden als Zeichenfolgen weitergegeben. Benutzer werden durch ihre Benutzerkontennamen dargestellt. Das UTC-Zeitformat wird verwendet.

Kompatibilitätshinweis: Wenn Sie über einen älteren memoQ-Server, aber die aktuelle Version der memoQ-Desktopanwendung verfügen: Die Projektvorlage in der memoQ-Desktopanwendung umfasst Automatisierungsfunktionen. Aber mit der älteren memoQ-Server-Version können Sie diese Automatisierungsfunktionen nicht nutzen. Sie können das Projekt erstellen, aber die benutzerdefinierte Codeausführung ist nicht möglich.