Utilitários de importação

Regexp (TMS)

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

A expressão regular (abrevia-se como regex ou regexp) é uma seqüência de caracteres que formam um padrão de pesquisa principalmente para usar em correspondência de padrão com Strings ou correspondência de string. A funcionalidade é semelhante a encontrar e substituir operações com mais complexidade e especificidade ou como um método para excluir conteúdo definido. Veja a entrada wikipedia para uma descrição detalhada de expressões regulares e um quadro de caracteres usados.

Para usar vários expressões regulares de cada vez, insira um caractere de pipeline | entre eles.

Regexps podem ser usados nos campos filtrar, pesquisar e substituir no editor para desktop CAT, nos campos texto original e tradução do recurso de conteúdo, para o recurso converter em tags nas configurações de importação de arquivos e para personalização das regras de segmentação.

Os chatbots da IA podem ser muito efetivos na geração e verificação de expressões regulares.

Importante

O phrase é compatível com Java regexp, mas rejeitará expressões regulares complexas para proteger o sistema de sobrecarga. Expressões regulares complexas são aquelas com quantificadores (exceto possessivos) em grupos que contêm outros quantificadores (exceto possessivos).

Exemplos gerales

Exemplos de converter texto em tags ao importar arquivos e usando expressões regulares no editor para pesquisar e substituir funções:

Exemplo

Descrição

<[^>]+>

represents <html_tag>

\{[^\}]+\}

representa {variável},

\[[^\]]+\]

representa [variável],

\[\[.+?\]\]

represents [[aa[11]bb]].

\$[^\$]+\$

representa $operator_Name1$.

\d+

representa números. Além disso, [0-9]+

[A-Za-z0-9]

representa qualquer caractere alfanumérico.

.+\@.+\..+

Endereço de e-mail name@domain.com

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

da data 2018-08-01

\s$

um espaço em branco no final do segmento

^\s

um espaço em branco no início do segmento

\s\s

de um duplo espaço em branco

^\d

um dígito no início do segmento

\w+\s\s\w+

um duplo espaço em branco entre palavras

\s\n

uma nova linha precedida por qualquer caractere de espaço em branco

\S\n

uma nova linha precedida por qualquer caractere sem espaço em branco

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

converte variáveis PHP e código html ($svariable['name'] =)

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

converte a chave de campo do javascript com espaços em branco adicionados no início da linha ( 'chave' :)

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

não traduz o conteúdo da{{text here}} {{text here}} e o converte em tags

Importar TXT

Exemplos de expressões regulares ao importar um texto específico:

  1. ## ErrorMessage ##1## O número deve ser maior que 0. ##Z##

    Para importar texto entre ##1### e ##Z## ,use expressão regular: (?<=##1##). *(?= ##Z##)

  2. Mensagem de erro ("O número deve ser maior que 0.")

    Para importar texto entre (" e ") , use expressão regular: (?<= \(").*(="\))

  3. 'errorMessage' = 'O número deve ser maior que 0.'

    Para importar texto após o = e entre ' e ' , use expressão regular: (?<= \= ').*(?=')

  4. errorMensagem = "Este deve ser traduzido"

    Para importar texto após o sinal = e entre 'e' use expressão regular: (?<= \= ").*(?=")

  5. msgstr ("O número deve ser maior que 0.")

    Para importar msgstr Strings em arquivos OS monolíngues usando um filtro TXT, use expressão regular: (?<=msgstr ").*(?=")

  6. # Observação: Esta é uma nota

    Para excluir linhas começando com número , use expressão regular: (^[^#].*)

  7. valores '126', 'DCeT', 'Text (pt)'

    Para importar apenas o texto nos orçamentos e com (en), tal como usar (en)' regexp: (?<=')[^]*\(en\)(?=')

Importar JSON

Exemplo de estrutura JSON:

{
"list": {
        "id": "1",
        "valor": "text 1 para tradução."
        },
"text": {
        "id": "2",
        "valor": "text 2 para tradução."
        },
"menu": {
        "id": "3",
        "valor": "text 3 para tradução."
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title": "BLUE"
         },         {        "color": "green",        "title": "GREEN" }}
  • para importar todos os valores independentemente do nível, use: (^.*/)valor

  • para importar apenas um valor de uma lista, use: lista/valor

  • para importar um valor de uma lista e/ou menu, use (OR) operador: lista/valor |menu/valor

  • para importar apenas a primeira instância de um valor de um menu, use: menu\[1\]/value

  • para importar o conteúdo de uma matriz JSON após uma determinada chave, use: (^ |.*/)array\[.*\]

  • para importar o conteúdo de um conjunto específico de objetos, use: (^.*/)arrays\[.*\].*

Importar YAML

Exemplo de arquivo YAML:

título: A
texto: traduzir A
categorias:
  título: B
  texto: traduzir B
categorias:
  título: C
  texto: traduzir C
categorias:
  Conteúdo:
      título: D
      texto: traduzir D

expressões regulares para importação:

  • apenas 'traduzir A' : texto

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

  • apenas 'traduzir D': categories \[\d+\]/content[\1\]/text

  • todo texto: text |categories\[\d+\]/text |categories\[\d+\]/content[\d+\]/text

Regras de segmentação

Okapi, Java e Unicode são usados para regras de segmentação em arquivos .SRX.

Usar expressões regulares em arquivos .SRX é complexo, e é recomendável ter um conhecimento básico de usar expressão regular antes de tentar trabalhar com eles.

Regras nobre (abreviações, etc.) e regras de quebra (finalizar a frase com um ponto, etc.) estão em arquivos .SRX.

Exemplo

Descrição

[\p{C}]

Caractere de controle invisível.

[\p{Z}]

Espaço em branco

[\p{Lu}]

Uma letra maiúscula que tem uma variante minúscula.

[\p{N}]

Qualquer tipo de caractere numérico.

\Q ... \E

Começar e terminar uma cotação - (\QApprox.\E). Isso é usado para abreviações.

\t

Tabulador

\n

Nova linha

\u2029

Separador de parágrafo

\u200B

Espaço de largura zero

\u3002

Ponto completo ideográfico

\ufe52

Pequena interrupção

\uff0e

Fuso total de largura completa

\uff61

Fuso total ideográfico de meio largo

\ufe56

Pequena marca de pergunta

\uff1f

Marca de pergunta de largura completa

\u203c

Dupla marca de exclamação

\u2048

Marca de exclamação de pergunta

\u2762

Ornamento de marca de exclamação pesada

\u2763

Ornamento de marca de exclamação de coração pesado

\ufe57

Pequena marca de exclamação

\uff01

Marca de exclamação de largura completa

Verificações de Controle de qualidade personalizadas comuns

Verificação de Controle de qualidade

Texto original Regexp

Tradução Regexp

Números adicionais na tradução

\d 

\d 

Pedido de tags (não emparelhado, para segmentos com 3 tags).

Ajuste o expressão regular de acordo com o número necessário de tags.

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

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

Pedido de tags (parado, para segmentos com 3 tags).

Ajuste o expressão regular de acordo com o número necessário de tags.

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

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

Espaços antes de 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}\})

Espaços após 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

Não há espaço antes dos 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}\})

Caracteres não em branco após códigos emparelhados

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

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

Consoles quadrados ausentes

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

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

Consoles redondos ausentes

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

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

Esse artigo foi útil?

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.