Utilità di importazione

Regexp (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

L'espressione regolare (abbreviata in regex o regexp) è una sequenza di caratteri che formano un modello di Cerca principalmente per l'usare nella corrispondenza di modelli con Strings o corrispondenza di stringa. La funzionalità è simile per trovare e sostituire operazioni con maggiore complessità e specificità o come metodo per escludere contenuti definiti. Vedi la voce wikipedia per una descrizione dettagliata della regexp e una tabella dei caratteri usati.

Per usare più regexp alla volta, inserire un carattere pipeline | tra di esse.

Le regexp possono essere utilizzate nei campi filtro, ricerca e sostituzione nel CAT desktop editor, nei campi origine e destinazione della funzione Cerca contenuto, nella funzione Converti in tag nelle impostazioni di importazione dei file nei e nella personalizzazione delle regole di segmentazione.

Importante

Phrase supporta la regexp Java, ma rifiuterà espressioni regolari complesse per proteggere il sistema dal sovraccarico. Le regexp complesse sono quelle con quantificatori (eccetto i possessivi) su gruppi che contengono altri quantificatori (eccetto i possessivi).

Esempi generali

Esempi di conversione del testo in tag durante l'importazione di file e l'utilizzo di regexp nell'editor per le funzioni Cerca e sostituisci:

Esempio

Descrizione

<[^>]+>

represents <html_tag>

\{[^\}]+\}

rappresenta {variabile},

\[[^\]]+\]

rappresenta [variabile],

\[\[.+?\]\]

rappresenta [[aa[11]bb]].

\$[^\$]+\$

rappresenta $operator_Name1$.

\d+

rappresenta i numeri. Inoltre, [0-9]+

[A-Za-z0-9]

rappresenta qualsiasi carattere alfanumerico.

.+\@.+\..+

indirizzo e-mail name@domain.com

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

la data 2018-08-01

\s$

uno spazio alla fine del segmento

^\s

uno spazio all'inizio del segmento

\s\s

un doppio spazio

^\d

una cifra all'inizio del segmento

\w+\s\s\w+

un doppio spazio tra le parole

\s\n

un ritorno a capo preceduto da qualsiasi carattere spazio

\S\n

un ritorno a capo preceduto da qualsiasi carattere senza spazi

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

converte variabili PHP e codice html ($svariable['name'] =)

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

converte la chiave del campo di javascript con spazi aggiunti all'inizio della riga ( "chiave")

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

non traduce il contenuto {{text here}} "{{text here}}" e lo converte in tag

Importa testo

Esempi di espressioni regolari durante l'importazione di un testo specifico:

  1. ## Messaggio di errore ##1## Il numero deve essere superiore a 0. ##Z##

    Per importare testo tra ##1## e ##Z## , usare regexp: (?<=#1## ).*(?= ##Z##)

  2. ErrorMessage ("Il numero deve essere superiore a 0.")

    Per importare testo tra (" e "") , usare regexp: (?<=\(").*(?="\)

  3. 'errorMessage' = 'Il numero deve essere superiore a 0.'

    Per importare testo dopo il segno = e tra " e " , usare regexp: (?<=\= ").*(?=")

  4. errorMessage = "questo deve essere tradotto"

    Per importare testo dopo il segno = e tra 'e' usare regexp: (?<=\= ").*(?=")

  5. msgstr ("Il numero deve essere superiore a 0.")

    Per importare Strings msgstr in file PO monolingue usando un filtro TXT, usare regexp: (?<=msgstr ").*(?=")

  6. # Nota: Questa è una nota

    Per escludere righe che iniziano con # , usare regexp: (^[^#].*)

  7. valori '126', 'DCeT', 'Text (en)'

    Per importare solo testo tra virgolette e con (en), come ad esempio Testo (en)' usare regexp: (?<=")[^']*\(en\)(?=')

Importa JSON

Esempio di struttura JSON:

{
"list": {
        "id": "1",
        "valore": "testo 1 per la traduzione."
        },
"testo": {
        "id": "2",
        "valore": "testo 2 per la traduzione."
        },
"menu": {
        "id": "3",
        "valore": "testo 3 per la traduzione."
         },"array": ["blue","green"],"arrays": [{ "color": "blue", "title": "BLU"
         }, { "color": "green", "title": "VERDE" } ]}
  • per importare ogni valore indipendentemente dal livello, usare: (^|.*/)value

  • per importare solo un valore da un elenco, usare: elenco/valore

  • per importare un valore da un elenco e/o da un menu, usare l’operatore | (OR): elenco/valore|menu/valore

  • per importare solo la prima istanza di un valore da un menu, usare: menu\[1\]/value

  • per importare il contenuto di un array JSON seguendo una determinata chiave, usare: (^|.*/)array\[.*\]

  • per importare il contenuto di un array specifico di oggetti, usare: (^|.*/)arrays\[.*\].*

Importa YAML

Esempio di volo YAML:

titolo: A
testo: tradurre A
categorie:
  titolo: B
  testo: tradurre B
categorie:
  titolo: C
  testo: tradurre C
categorie:
  contenuto:
      titolo: D
      testo: tradurre D

regexp per l'importazione di:

  • solo "traduci A" : testo

  • solo 'traduci C': categorie\[2\]/testo

  • solo 'translate D': categorie\[\d+\]/content[\1\]/text

  • tutto il testo: text|categorie\[\d+\]/text|categorie\[\d+\]/content[\d+\]/text

Regole di segmentazione

Okapi, Java e Unicode sono utilizzati per le regole di segmentazione nei file .SRX.

L'utilizzo di regexp nei file .SRX è complesso e si consiglia una conoscenza di base dell'usare delle espressione regolare prima di tentare di lavoro con loro.

Le regole nobreak (abbreviazioni, ecc.) e le regole break (fine frase con un punto, ecc.) sono nei file SRX.

Esempio

Descrizione

[\p{C}]

Carattere di controllo invisibile.

[\p{Z}]

Spazi

[\p{Lu}]

Una lettera maiuscola che ha una variante minuscola.

[\p{N}]

Qualsiasi tipo di carattere numerico.

\Q... \E

Inizio e fine di un preventivo - (\QApprox.\E). Questo è usato per le abbreviazioni.

\t

Tabulatore

\n

Newline

\u2029

Separatore di paragrafo

\u200B

Spazio zero-larghezza

\u3002

Punto e basta ideologico

\ufe52

Piccolo punto e basta

\uff0e

Fullwidth punto e basta

\uff61

Interruzione ideografica a mezza larghezza

\ufe56

Piccolo punto interrogativo

\uff1f

Punto interrogativo a larghezza intera

\u203c

Doppio punto esclamativo

\u2048

Punto esclamativo della domanda

\u2762

Ornamento pesante del punto esclamativo

\u2763

Ornamento pesante del punto esclamativo del cuore

\ufe57

Piccolo punto esclamativo

\uff01

Punto esclamativo a tutta larghezza

Controlli QA comuni personalizzati

Controllo QA

Origine Regexp

Destinazione Regexp

Numeri aggiuntivi nella destinazione

\d

\d

Ordine tag (non accoppiato)

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

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

Ordine tag (non accoppiato)

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

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

Ordine tag (non accoppiato)

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

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

Ordine tag (accoppiato)

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

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

Ordine tag (accoppiato)

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

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

Spazi prima dei tag

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

Spazi dopo i tag

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

Nessuno spazio prima dei tag

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

parentesi quadre mancanti

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

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

parentesi tonde mancanti

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

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

Questo articolo ti è stato 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.