Un motif est une règle qui couvre une famille de termes. Au lieu de lister cinq mille codes produit, vous décrivez leur forme une fois : STK{n:3} signifie les lettres STK suivies de exactement trois chiffres, ce qui couvre STK110 et STK002 et tout autre code de cette forme.
Définissez Correspondance sur Motif dans le panneau de règles et Terme devient un motif au lieu d'un texte littéral. Cette page est la référence complète pour ce que vous pouvez y écrire.
L'idée
Un motif est du texte fixe plus un ou plusieurs champs. Le texte fixe doit apparaître exactement. Un champ représente la partie qui varie.
STK{n:3}
^^^ ^^^^
| a slot: exactly three digits
fixed text
Tout ce qui est en dehors des accolades est littéral, et rien d'autre n'est spécial. R#{n} correspond à R#11223, et le # n'a pas besoin d'être échappé. Seuls { et } sont réservés.
L'aperçu en direct
Lorsque vous tapez un motif, le panneau affiche trois choses : ce que le motif signifie en langage clair, trois exemples générés qui y correspondent, et une boîte pour coller une chaîne réelle et voir si elle correspond.
Utilisez la boîte. Elle exécute le même moteur de correspondance que celui utilisé par le traducteur, donc une chaîne qui correspond là-bas correspondra sur vos pages, et une qui ne correspond pas, ne correspondra pas. C'est plus rapide que de raisonner sur la syntaxe.
Champs
| Champ | Correspondances |
|---|---|
{n} |
chiffres |
{a} |
lettres |
{w} |
lettres ou chiffres |
{h} |
caractères hexadécimaux, 0 à 9 et a à f |
{s} |
lettres, chiffres, tirets et underscores |
Un champ nu signifie un ou plusieurs caractères.
Choisir entre {w} et {s}
{w} s'arrête aux lettres et aux chiffres. {s} autorise également les tirets et les underscores, ce dont vous avez besoin lorsque la partie variable est un seul slug :
#{w} matches #springsale not #spring_sale or #spring-sale
#{s} matches #spring_sale, #spring-sale, and #springsale
{w} est délibérément sans ponctuation, car la ponctuation a un second rôle. Deux champs ouverts ont besoin d'un séparateur qu'aucun d'eux ne peut correspondre, et garder - hors de {w} est ce qui rend SKU-{w}-{w} possible.
Le même compromis s'applique à {s}. Parce que {s} contient -, un motif comme {s}-{s} est refusé, et vous utiliseriez {w} entre les tirets à la place.
Limites
Ajoutez une longueur pour épingler un champ :
| Écrit | Signifie |
|---|---|
{n:3} |
exactement trois chiffres |
{n:2-4} |
deux à quatre chiffres |
{n} |
un ou plusieurs chiffres |
La longueur maximale que vous pouvez demander est de 40.
Les bornes valent les frappes. STK{n:3} correspond à STK110 et ignore STK1234 ; STK{n} correspond aux deux. Si vos codes ont une largeur fixe, dites-le.
Emplacements numérotés pour les traductions
Un modèle associé à une traduction nécessite des emplacements numérotés des deux côtés, afin que les valeurs capturées atterrissent aux bons endroits :
Term Page {n1} of {n2}
Translation Seite {n1} von {n2}
Les numéros sont importants car les langues réorganisent. Ceci est tout aussi valide et place la deuxième valeur en premier :
Term Page {n1} of {n2}
Translation {n2} sayfadan {n1}. sayfa
Les deux côtés doivent porter le même ensemble de numéros. Page {n1} sur {n2} associé à Seite {n1} est refusé lors de la sauvegarde, car la deuxième valeur n'aurait nulle part où aller.
Les emplacements non numérotés conviennent pour une règle Garder tel quel, où rien n'est substitué.
Où un modèle correspond
Un modèle correspond à un mot entier, pas à une partie. Plus précisément : le texte est divisé par des espaces, la ponctuation des bords est supprimée de chaque morceau, et le modèle doit correspondre à un morceau de bout en bout.
rule: Keep as is, pattern "#{w}"
"#hashtag" match
"This is #hashtag here!" match, the trailing ! is trimmed
"(#hashtag)" match, the brackets are trimmed
"#hashtag, #other" both match
"This is#hashtag here" no match, the word does not start with #
"a#hashtag" no match, same reason
"##hashtag" no match, the second # is not a letter or digit
"This is # hashtag" no match, the space splits it into two words
La ponctuation supprimée des bords est exactement . , ; : ! ? ( ) ' ". Les tirets, underscores, barres obliques et dièses ne sont pas supprimés, car les emplacements et le texte fixe en contiennent légitimement. C'est pourquoi ref:STK110 ne correspond pas à STK{n} : le deux-points se trouve à l'intérieur du mot plutôt qu'à son bord.
Les différences d'espacement à l'intérieur d'un modèle de plusieurs mots sont tolérées. Numéro de commande {n} correspond au texte où ces deux mots sont séparés par un saut de ligne ou un double espace.
Modèles de plusieurs mots
Un modèle peut s'étendre sur un maximum de quatre mots :
RTX {n:4} matches "The RTX 4090 is fast"
{a:2}{n:2} {n}{a:2} matches "Ship to AB12 3CD please", a UK postcode
Ce qu'un modèle n'acceptera pas
Les modèles sont délibérément étroits. Une règle qui correspond à trop de choses arrête silencieusement de traduire des phrases réelles, ce qui est plus difficile à remarquer qu'une règle qui ne se déclenche jamais. Ceux-ci sont refusés lors de la sauvegarde, chacun avec un message nommant la correction.
Pas assez de texte fixe. {n} seul correspondrait à tous les nombres de la page, et a{w} correspondrait à tous les mots commençant par a. Ajoutez du texte fixe, comme STK{n}.
Un caractère suffit lorsqu'un mot ordinaire ne peut pas le contenir, donc #{w} et /{n} sont acceptés. Les tirets, apostrophes, points et underscores ne comptent pas, car les mots les contiennent : {w}-{w} correspondrait à « well-known ».
Plus de quatre emplacements, ou plus de quatre mots.
Un emplacement inconnu. {num} n'est pas un emplacement. Les cinq du tableau ci-dessus constituent l'ensemble complet.
Une longueur qui n'a pas de sens, comme {n:9-2}, ou une supérieure à 40.
Deux emplacements ouverts sans rien entre eux. {w}{w} n'a pas de point de séparation défini. Pas plus que 0{n}0{n}, car le 0 entre les emplacements est lui-même un chiffre que l'un ou l'autre emplacement pourrait correspondre. Mettez quelque chose entre eux que ni l'un ni l'autre emplacement ne correspond, comme REF-{w}-{w}.
Un numéro répété, comme Page {n1} sur {n1}.
Les accolades sont réservées en mode Motif. Si votre terme contient réellement { ou }, utilisez Terme exact, où rien n'est interprété.
Exemples
| Motif | Correspondances | Ne correspond pas |
|---|---|---|
STK{n:3} |
STK110, STK002, codes produit de largeur fixe |
STK1234, STK offre spéciale |
STK{n} |
STK1, STK110, STK1234 |
STK seul |
R#{n} |
R#11223, une référence interne |
R# en attente de révision |
#{h:6} |
#3faf21, une couleur hexadécimale dans les documents de conception |
#zzz |
#{s} |
#spring_sale, #spring-sale, hashtags de campagne |
#spring sale, deux mots |
SKU-{a:2}-{n} |
SKU-AB-4471 |
SKU-A-4471, une lettre de moins |
v{n}.{n}.{n} |
v2.10.4, une version de publication |
v2.10 |
Page {n1} sur {n2} |
Page 12 sur 34 |
Page un sur deux |
Coût
Un motif qui correspond à une chaîne entière est résolu sans appeler le traducteur, il ne coûte donc aucun mot et ne stocke aucune traduction. Une page de codes produit couverte par une seule règle STK{n:3} est la chose la moins chère que le glossaire fasse.
Un motif trouvé à l'intérieur d'une phrase plus longue envoie toujours cette phrase au traducteur, le texte correspondant étant transmis comme instruction. Voir Comment les règles sont appliquées.
Les règles de motif sont limitées à 50 par espace de travail, dans la limite globale de 500, car chacune coûte plus cher à évaluer à chaque vue de page qu'un terme exact.