Importer des services

Regexp (TMS)

Le contenu est traduit de l’anglais par Phrase Language AI.

L'expression régulière (abrégée en regex ou regexp) est une séquence de caractères qui forme un modèle de recherche principalement pour être utilisée dans la correspondance de motifs avec des chaînes ou la correspondance de chaînes. La fonctionnalité est similaire à trouver et remplacer les opérations avec plus de complexité et de spécificité ou comme méthode pour exclure le contenu défini. Voir l'entrée Wikipedia pour une description détaillée des expreg et un tableau des caractères utilisés.

Pour utiliser plusieurs expreg à la fois, insérez un caractère pipeline | entre elles.

Les expreg peuvent être utilisées dans les champs de filtre, de recherche et de remplacement dans l'éditeur de TAO pour le bureau, dans les champs source et cible de la fonctionnalité Chercher du contenu, pour la fonctionnalité Convertir en balises dans les paramètres d'importation de fichiers Formats de fichiers supportés (TMS)File et pour personnaliser les règles de segmentation.

Important

Phrase supporte les regexp Java, mais rejette les expressions régulières complexes pour protéger le système contre les surcharges. Les expreg complexes sont celles avec des quantificateurs (sauf possessifs) sur des groupes qui contiennent d'autres quantificateurs (sauf possessifs).

Exemples généraux

Exemples pour convertir du texte en balises lors de l'importation de fichiers et utiliser regexp dans l'éditeur pour les fonctions de recherche et de remplacement :

Exemple

Description

<[^>]+>

represents <html_tag>

\{[^\}]+\}

représente {variable},

\[[^\]]+\]

représente [variable],

\[\[.+?\]\]

represents [[aa[11]bb]].

\$[^\$]+\$

représente $operator_Name1$.

\d+

représente des nombres. Aussi, [0-9]+

[A-Za-z0-9]

représente tout caractère alphanumérique.

.+\@.+\..+

adresse électronique name@domain.com

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

la date 2018-08-01

\s$

un espace blanc à la fin du segment

^\s

un espace blanc au début du segment

\s\s

un double espace

^\d

un chiffre au début du segment

\w+\s\s\w+

un double espace entre les mots

\s\n

un saut de ligne précédé de tout caractère d'espacement

\S\n

un saut de ligne précédé de tout caractère non-espacement

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

convertit les variables php et le code html ($svariable['name'] =)

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

convertit la clé de champ du javascript avec des espaces blancs ajoutés en début de ligne ( 'clé' :)

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

ne traduit pas le contenu {{text here}} '{{text here}} et le convertit en balises

TXT Importer

Exemples d'expressions régulières lors de l'importation d'un texte spécifique :

  1. ## Message d'erreur ##1## Le nombre doit être supérieur à 0. ##Z##

    Pour importer du texte entre ##1## et ##Z## ,utilisez regexp: (?<=##1## ).*(?= ##Z##)

  2. Message d'erreur (« Le nombre doit être supérieur à 0. »)

    Pour importer du texte entre (" et ") , utilisez regexp: (?<=\(").*(?="\))

  3. 'errorMessage' = 'Le nombre doit être supérieur à 0.'

    Pour importer du texte après le signe = et entre ' et ' , utilisez regexp: (?<=\= ').*(?=')

  4. errorMessage = "this is to be translation"

    Pour importer du texte après le signe = et entre 'et' utilisez regexp: (?<=\= ").*(?=")

  5. msgstr ("Le nombre doit être supérieur à 0.")

    Pour importer des chaînes msgstr dans des fichiers PO monolingues à l'aide d'un filtre TXT, utilisez regexp: (?<=msgstr ").*(?=")

  6. # Note : Ceci est une note

    Pour exclure les lignes commençant par # , utilisez regexp: (^[^#].*)

  7. valeurs '126', 'DCeT', 'Text (fr)'

    Pour importer uniquement du texte entre guillemets et avec (fr), tel que Texte (fr)' utilisez regexp: (?<=')[^']*\(fr\)(?=')

JSON Importer

Exemple de structure JSON :

{
"list": {
        "id": "1",
        "valeur": "texte 1 pour la traduction."
        },
"text": {
        "id": "2",
        "valeur": "texte 2 pour la traduction."
        },
"menu": {
        "id": "3",
        "value": "text 3 for translation."
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title": "BLUE"
         },         {        "color": "green",        "title": "VERT" } ]}
  • pour importer chaque valeur quel que soit le niveau, utilisez : (^|.*/)value

  • pour importer une seule valeur d'une liste, utilisez : liste/valeur

  • pour importer une valeur depuis une liste et/ou un menu, utilisez l'opérateur | (OU) : liste/valeur|menu/valeur

  • pour importer uniquement la première instance d'une valeur depuis un menu, utilisez : menu\[1\]/value

  • pour importer le contenu d'un tableau JSON suite à une certaine clé, utilisez : (^|.*/)array\[.*\]

  • pour importer le contenu d'un tableau d'objets spécifique, utilisez : (^|.*/)arrays\[.*\].*

YAML Import

Exemple de mouche YAML :

title: A
texte : traduire A
catégories :
  title: B
  texte : traduire B
catégories :
  title: C
  text: traduire C
catégories :
  contenu :
      title: D
      texte : traduire D

expreg pour l'importation :

  • only 'translate A' : text

  • 'traduire C' uniquement : categories\[2\]/text

  • 'traduire D' uniquement : categories\[\d+\]/content[\1\]/text

  • tout le texte : text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

Règles de segmentation

Okapi, Java et Unicode sont utilisés pour les règles de segmentation des fichiers .SRX.

L'utilisation de regexp dans les fichiers .SRX est complexe et une connaissance de base de l'utilisation d'expressions régulières est recommandée avant d'essayer de travailler avec eux.

Les règles de non-saut (abréviations, etc.) et les règles de saut (fin de phrase par un point, etc.) sont dans des fichiers .SRX.

Exemple

Description

[\p{C}]

Caractère de contrôle invisible.

[\p{Z}]

Espace blanc

[\p{Lu}]

Une lettre majuscule qui a une variante minuscule.

[\p{N}]

Tout type de caractère numérique.

\Q ... \E

Début et fin d'un devis - (\Approx.\E). Ceci est utilisé pour les abréviations.

\t

Tabulateur

\n

Newline

\u2029

Séparateur de paragraphe

\u200B

Espace de largeur nulle

\u3002

Full stop idéographique

\ufe52

Petit arrêt complet

\uff0e

Fullwidth full stop

\uff61

Halfwidth ideographic full stop

\ufe56

Petit point d'interrogation

\uff1f

Point d'interrogation pleine largeur

\u203c

Double point d'exclamation

\u2048

Point d'exclamation d'interrogation

\u2762

Ornement lourd de point d'exclamation

\u2763

Ornement lourd de point d'exclamation de coeur

\ufe57

Petit point d'exclamation

\uff01

Point d'exclamation pleine largeur

Contrôles de QA personnalisés courants

Vérification AQ

Source Regexp

Regexp cible

Chiffres supplémentaires dans la cible

\d

\d

Ordre des balises (non apparié)

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

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

Ordre des balises (non apparié)

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

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

Ordre des balises (non apparié)

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

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

Ordre de balises (paire)

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

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

Ordre de balises (paire)

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

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

Espaces avant les balises

\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}\})

Espaces après les balises

(\{[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

Pas d'espace avant les balises

\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}\})

Entre crochets manquants

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

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

Supports ronds manquants

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

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

Cet article vous a-t-il été utile ?

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.