Import Dienstprogramme

RegEx (TMS)

Inhalte werden von Phrase Language AI maschinell aus dem Englischen übersetzt.

Der reguläre Ausdruck (abgekürzt RegEx oder RegEx) ist eine Sequenz von Zeichen, die ein Suchmuster hauptsächlich für die Verwendung beim Musterabgleich mit Strings oder Stringabgleich bilden. Funktionalität ist ähnlich wie das Suchen und Ersetzen komplexer und spezifischer Operationen oder das Ausschließen definierter Inhalte. Eine detaillierte Beschreibung der RegEx und eine Tabelle der verwendeten Zeichen findest du im Wikipedia-Eintrag.

Um mehrere RegEx gleichzeitig zu verwenden, fügen Sie ein Pipeline-Zeichen | dazwischen ein.

RegEx-Dateien können in den Feldern Filter, Suchen und Ersetzen im CAT Desktop Editor, im Quell- und Zielfeld der Funktion Inhalte suchen, für die Funktion In Tags konvertieren in Dateiimporteinstellungen und zum Anpassen von Segmentierungsregeln verwendet werden.

Wichtig

Phrase unterstützt Java RegEx, lehnt aber komplexe reguläre Ausdrücke ab, um das System vor Überlastung zu schützen. Komplexe RegEx sind solche mit Quantifikatoren (außer Possessiven) für Gruppen, die andere Quantifikatoren (außer Possessive) enthalten.

Allgemeine Beispiele

Beispiele für die Umwandlung von Texten in Tags beim Importieren von Dateien und die Verwendung von RegEx im Editor für Such- und Ersetzungsfunktionen:

Beispiel

Beschreibung

<[^>]+>

represents <html_tag>

\{[^\}]+\}

für {variable} steht,

\[[^\]]+\]

für [Variable] steht,

\[\[.+?\]\]

steht für [[aa[11]bb]].

\$[^\$]+\$

steht für $operator_Name1$.

\d+

für Zahlen steht. Also, [0-9]+

[A-Za-z0-9]

steht für ein beliebiges alphanumerisches Zeichen.

.+\@.+\..+

email address name@domain.com

\d{4}[-]\d{2}[-]\d{2}

Datum 2018-08-01

\s$

ein Leerzeichen am Ende des Segments

^\s

ein Leerzeichen am Anfang des Segments

\s\s

ein doppeltes Leerzeichen

^\d

eine Ziffer am Anfang des Segments

\w+\s\s\w+

ein doppeltes Leerzeichen zwischen Wörtern

\s\n

Zeilenvorschub mit Leerzeichen

\S\n

Zeilenvorschub mit Leerzeichen

<[^>]+>|\$[^=]+=

konvertiert PHP-Variablen und HTML-Code ($svariable['name'] =)

^\s*\'[^:]+:

konvertiert den Feldschlüssel von Javascript mit hinzugefügten Leerzeichen am Zeilenanfang ( 'Schlüssel' :)

\{\{[^\}]+\}\}|\'[^']+\'

übersetzt {{text here}}'{{text here}} Inhalte nicht und konvertiert sie in Tags

TXT-Import

Beispiele für reguläre Ausdrücke beim Importieren eines bestimmten Textes:

  1. ## Fehlermeldung ##1## Die Zahl muss höher als 0 sein. ##Z##

    Um Text zwischen #1## und ##Z## zu importieren, verwende RegEx: (?<=#1##)

  2. Fehlermeldung ("Die Zahl muss höher als 0 sein.")

    Um Text zwischen (" und ") zu importieren, verwende RegEx: (?<=\(").*(?="\))

  3. 'errorMessage' = 'Die Zahl muss höher als 0 sein.'

    Um Text nach dem = Zeichen und zwischen ' und ' zu importieren, verwende RegEx: (?<=\= ').*(?=')

  4. errorMessage = "Dies ist zu übersetzen"

    Um Text nach dem = Zeichen und zwischen 'und' zu importieren, verwende RegEx: (?<=\= ").*(?=")

  5. msgstr ("Die Zahl muss höher als 0 sein.")

    Um msgstr-Strings in einsprachigen PO-Dateien mit einem TXT-Filter zu importieren, verwenden Sie regexp: (?<=msgstr ").*(?=")

  6. # Hinweis: Dies ist ein Hinweis

    Um Zeilen auszuschließen, die mit # beginnen, verwende RegEx: (^[^#].*)

  7. Werte '126', 'DCeT', 'Text (de)'

    Um nur Text in Anführungszeichen und mit (en) zu importieren, z. B. Text (en)', verwende RegEx: (?<=')[^']*\(en\)(?=')

JSON-Import

JSON-Strukturbeispiel:

{
"list": {
        "id": "1",
        "Wert": "Text 1 zur Übersetzung."
        },
"text": {
        "id": "2",
        "Wert": "Text 2 zur Übersetzung."
        },
"menu": {
        "id": "3",
        "Wert": "Text 3 zur Übersetzung."
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title": "BLAU"
         },         {        "color": "green",        "title": „GREEN“ } ]}
  • für den Import aller Werte unabhängig vom Level verwende: (^|.*/)value

  • um nur einen Wert aus einer Liste zu importieren, verwende: list/value

  • Verwenden Sie für den Import eines Wertes aus einer Liste und/oder einem Menü den Operator | (ODER): list/value|menu/value

  • um nur die erste Instanz eines Wertes aus einem Menü zu importieren, verwende: menu\[1\]/value

  • Verwenden Sie für den Import des Inhalts eines JSON-Arrays nach einem bestimmten Schlüssel: (^|.*/)array\[.*\]

  • Um den Inhalt eines bestimmten Arrays von Objekten zu importieren, verwenden Sie: (^|.*/)arrays\[.*\].*

YAML-Import

YAML Fliegenbeispiel:

title: A
text: translate A
Kategorien:
  title: B
  Text: translate B
Kategorien:
  title: C
  Text: translate C
Kategorien:
  content:
      title: D
      text: translate D

RegEx für den Import:

  • nur „A übersetzen“: Text

  • nur 'translate C': categories\[2\]/text

  • nur 'translate D': categories\[\d+\]/content[\1\]/text

  • allen Texten: text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

Segmentierungsregeln

Okapi, Java und Unicode werden für Segmentierungsregeln in .SRX-Dateien verwendet.

Die Verwendung von RegEx in .SRX-Dateien ist komplex, und vor dem Versuch, damit zu arbeiten, werden grundlegende Kenntnisse der Verwendung regulärer Ausdrücke empfohlen.

Nobreak-Regeln (Abkürzungen usw.) und Break-Regeln (Ende des Satzes mit einem Punkt usw.) befinden sich in .SRX-Dateien.

Beispiel

Beschreibung

[\p{C}]

Zeichen für unsichtbare Steuerung.

[\p{Z}]

Leerzeichen

[\p{Lu}]

Ein Großbuchstabe mit einer Kleinbuchstabenvariante.

[\p{N}]

Jede Art von Ziffer.

\Q ... \E

Anfang und Ende eines Angebots - (\QApprox.\E). Dies wird für Abkürzungen verwendet.

\t

Tabulator

\n

Newline

\u2029

Absatztrennzeichen

\u200B

Leerzeichen Nullbreite

\u3002

Ideografische Vollbremsung

\ufe52

Kleine Vollbremsung

\uff0e

Fullwidth full stop

\uff61

Halfwidth ideographic full stop

\ufe56

Kleines Fragezeichen

\uff1f

Fragezeichen für vollständige Breite

\u203c

Doppeltes Ausrufezeichen

\u2048

Frage Ausrufezeichen

\u2762

Schweres Ausrufezeichen Ornament

\u2763

Schweres Herz Ausrufezeichen Ornament

\ufe57

Kleines Ausrufezeichen

\uff01

Ausrufezeichen in voller Breite

Häufige benutzerdefinierte Qualitätsprüfungen

QA-Check

Quelle RegEx

RegEx Zielsprache

Zusätzliche Zahlen im Ziel

\d

\d

Tags Reihenfolge (ungepaart)

^.*\{1\}.*\{2\}.*$

^.*\{1\}.*\{2\}.*$

Tags Reihenfolge (ungepaart)

^.*\{1\}.*\{2\}.*\{3\}.*$

^.*\{1\}.*\{2\}.*\{3\}.*$

Tags Reihenfolge (ungepaart)

^.*\{1\}.*\{2\}.*\{3\}.*\{4\}.*$

^.*\{1\}.*\{2\}.*\{3\}.*\{4\}.*$

Tags Reihenfolge (paarweise)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

Tags Reihenfolge (paarweise)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

Leerzeichen vor Tags

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

Leerzeichen nach Tags

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})\s

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})\s

Kein Space vor Tags

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

Fehlende eckige Klammern

[^\[\]]*\[[^\[\]]*\][^\[\]]*

[^\[\]]*\[[^\[\]]*\][^\[\]]*

Fehlende runde Klammern

[^\(\)]*\([^\(\)]*\)[^\(\)]*

[^\(\)]*\([^\(\)]*\)[^\(\)]*

War dieser Beitrag hilfreich?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.