Regras

Max PrilutskiyCEO e cofundadorUpdated mês passado · 6 min read

Uma regra é uma convenção linguística identificada que o motor de localização aplica a um idioma de destino — "abreviar Straße para Str. em moradas", e não "ser mais informal". As regras vivem em conjuntos de regras: contentores da organização que o motor aplica por associação, para que um único conjunto de regras possa orientar todos os motores que dele precisem.

As regras antes chamavam-se instruções

No dashboard, chamam-se regras e são agrupadas em conjuntos de regras. A API REST continua a expor uma regra individual em /instructions, com os nomes dos campos inalterados — o que mudou foi o local onde a regra é escrita: rulesetId substituiu ownerEngineId.

Como funciona#

Um conjunto de regras pertence à sua organização, não a um motor. É ao associá-lo a um motor que as respetivas regras passam a ser aplicadas - nada é copiado para o motor.

ObjetoCampos
Conjunto de regrasNome, descrição. Pode conter qualquer número de regras.
RegraNome, idioma de destino (ou *), texto.

Quando chega um pedido de tradução, o motor recolhe todas as regras de todos os conjuntos de regras associados cujo idioma de destino corresponde ao targetLocale do pedido e inclui-as no prompt do LLM, juntamente com a voz da marca e o glossário. As regras não competem entre si: todas as regras correspondentes são incluídas, ordenadas pelo idioma com melhor correspondência primeiro, para que a orientação mais específica venha à frente.

CampoDescrição
NomeUma designação curta que identifica a regra (por exemplo, "tratamento formal em alemão")
Idioma de destinoO idioma a que esta regra se aplica, ou * para todos os idiomas
TextoA regra linguística, escrita em linguagem natural

Muitas regras por idioma

Crie tantas regras quantas forem necessárias para cada idioma. Cada regra deve tratar de um único aspeto - é isso que a torna testável individualmente, passível de avaliação pela avaliação por IA de regras e segura de eliminar.

Os conjuntos de regras pertencem à organização#

AçãoEfeito
Criar um conjunto de regrasExiste ao nível da organização e não se aplica a nada até ser associado
Associá-lo a um motorTodas as regras nele contidas passam a aplicar-se às traduções desse motor
Associá-lo a vários motoresAs mesmas regras orientam todos eles - edite uma vez, todos os motores seguem
Associar vários conjuntos de regras a um motorTodas as regras se combinam
Desassociá-lo de um motorO motor deixa de o aplicar. O conjunto de regras e as respetivas regras são mantidos.
Eliminar um conjunto de regrasÉ recusado enquanto algum motor ainda o estiver a aplicar - desassocie-o primeiro. Ao eliminá-lo, elimina também as respetivas regras.
Eliminar um motorOs conjuntos de regras e as regras mantêm-se. Pertencem à organização, não ao motor.

Faça a gestão dos conjuntos de regras em Rules na barra lateral da organização. O separador Rules de um motor mostra o que esse motor aplica atualmente e permite associar ou desassociar conjuntos de regras.

Regras predefinidas#

A Lingo.dev reúne um catálogo de regras prontas a usar — convenções de idioma de que a maioria das Team precisa e que poucas equipas se lembram de registar. Abra Predefined Rules no separador Regras de um motor e escolha as que pretende. Estas regras são associadas diretamente ao motor, em vez de passarem por um conjunto de regras, e podem ser desassociadas a qualquer momento.

As regras selecionadas são colocadas no prompt antes das suas, para que uma regra criada por si refine ou substitua a base, em vez de entrar em conflito com ela.

Regras vs. voz da marca#

Ambas moldam o resultado da tradução, mas em níveis diferentes:

Voz da MarcaRegra
ÂmbitoTom geral, estilo, formalidadeUma regra linguística específica
Por idiomaUm texto por idioma, uma voz por idioma por motorMuitas regras por idioma
AplicaçãoO único texto com melhor correspondênciaTodas as regras correspondentes se combinam
WildcardSim (* funciona como voz predefinida)Sim (* aplica-se a todos os idiomas)
Exemplo"Use informal du, technical tone""Always abbreviate Straße to Str. in addresses"

Use uma voz da marca para definir como o seu produto comunica num idioma - formalidade, registo, estilo de frase.

Use regras para codificar convenções específicas que, de outra forma, o modelo poderia falhar - abreviaturas, pontuação, formatação de unidades ou padrões gramaticais específicos do idioma.

Funcionam em conjunto: a voz da marca define a voz, e as regras tratam dos casos limite.

Como escrever regras eficazes#

Cada regra deve ser uma única instrução, clara e inequívoca. O motor inclui o texto completo no prompt do LLM, por isso a clareza faz toda a diferença.

Boas regras#

text
Always use the Oxford comma in English lists.
text
In Japanese, use full-width parentheses ()instead of half-width ().
text
For German addresses, abbreviate "Straße" to "Str." and
"Nummer" to "Nr."
text
When translating percentage values for French, add a
non-breaking space before the percent sign: 42 %.

O que evitar#

  • Orientações vagas que se sobrepõem à voz da marca ("be more casual") - nesse caso, coloque isso na voz da marca
  • Várias convenções sem relação entre si na mesma regra — separe-as para que cada uma possa ser testada de forma independente
  • Regras que contradizem o glossário - os termos do glossário têm prioridade na hierarquia do motor

Idioma wildcard#

Defina o idioma de destino como * para aplicar uma regra a todos os idiomas. Útil para convenções independentes do idioma:

text
Never translate product feature names: "Smart Compose",
"Quick Actions", "Flow Builder".
text
Preserve Markdown formatting in all translated strings.
Keep bold (**), italic (*), and link syntax [text](url) intact.

As regras específicas do idioma e as regras wildcard são ambas incluídas quando o motor processa um pedido - combinam-se, não se sobrepõem.

Usar regras com a API#

As regras são aplicadas automaticamente quando chama o endpoint localize. O motor recolhe todas as regras que correspondem ao targetLocale do pedido (mais quaisquer regras *) dos conjuntos de regras que o motor aplica. Não são necessários parâmetros adicionais.

ChamadaFinalidade
POST /rulesetsCriar um conjunto de regras para a organização
GET /organizations/:id/rulesetsListar os conjuntos de regras da organização com contagem de regras e de motores
GET /rulesets/:id/rulesListar as regras de um conjunto de regras
POST /instructions com rulesetIdAdicionar uma regra a um conjunto de regras
PUT /engines/:id/rulesetsSubstituir o conjunto de conjuntos de regras que um motor aplica
DELETE /engines/:id/rulesets/:rulesetIdDeixar de aplicar um conjunto de regras a um motor
GET /engines/:id/instructionsListar todas as regras que um motor aplica atualmente

ownerEngineId em POST /instructions continua a funcionar - escreve no conjunto de regras do próprio motor, criando um se o motor não tiver nenhum. Dê preferência a rulesetId.

Acesso#

org:ruleset:read e org:ruleset:edit regem os conjuntos de regras e as regras no seu interior; associar um deles a um motor também requer engine:edit nesse motor. Uma permissão por conjunto de regras dá a alguém acesso de leitura e edição a um único conjunto de regras, em vez de a todos os conjuntos de regras da organização. Consulte Roles & Permissions.

Gerir regras via MCP#

Se utilizar o servidor MCP da Lingo.dev, o seu assistente de programação com IA pode criar, atualizar e eliminar regras e conjuntos de regras diretamente:

text
"Create a ruleset called German conventions and apply it to
the marketing engine."
text
"Add a rule to that ruleset: always abbreviate Straße to Str.
in addresses."
text
"Add a wildcard rule: never translate the term Smart Compose."

Próximos passos#