Uma regra é uma instrução linguística com nome que o motor de localização aplica a um idioma de destino - "abbreviate Straße to Str. in addresses", não "be more casual". As regras vivem em conjuntos de regras: contentores da organização que um motor aplica ao associá-los, 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.
| Objeto | Campos |
|---|---|
| Conjunto de regras | Nome, descrição. Pode conter qualquer número de regras. |
| Regra | Nome, 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.
| Campo | Descrição |
|---|---|
| Nome | Uma designação curta que identifica a regra (por exemplo, "tratamento formal em alemão") |
| Idioma de destino | O idioma a que esta regra se aplica, ou * para todos os idiomas |
| Texto | A 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ção | Efeito |
|---|---|
| Criar um conjunto de regras | Existe ao nível da organização e não se aplica a nada até ser associado |
| Associá-lo a um motor | Todas as regras nele contidas passam a aplicar-se às traduções desse motor |
| Associá-lo a vários motores | As mesmas regras orientam todos eles - edite uma vez, todos os motores seguem |
| Associar vários conjuntos de regras a um motor | Todas as regras se combinam |
| Desassociá-lo de um motor | O 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 motor | Os 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.
Instruções predefinidas#
A Lingo.dev mantém um catálogo de regras prontas a usar - convenções por idioma de que a maioria das equipas precisa e que poucas se lembram de registar. Abra Predefined Instructions no separador Rules de um motor e escolha as que pretende. São associadas diretamente ao motor, em vez de passarem por um conjunto de regras, e pode desassociá-las 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 Marca | Regra | |
|---|---|---|
| Âmbito | Tom geral, estilo, formalidade | Uma regra linguística específica |
| Por idioma | Um texto por idioma, uma voz por idioma por motor | Muitas regras por idioma |
| Aplicação | O único texto com melhor correspondência | Todas as regras correspondentes se combinam |
| Wildcard | Sim (* 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 instrução única e inequívoca. O motor inclui o texto completo no prompt do LLM, por isso a clareza é essencial.
Boas regras#
Always use the Oxford comma in English lists.In Japanese, use full-width parentheses ()instead of half-width ().For German addresses, abbreviate "Straße" to "Str." and
"Nummer" to "Nr."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 instruções sem relação entre si numa só regra - divida-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:
Never translate product feature names: "Smart Compose",
"Quick Actions", "Flow Builder".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.
| Chamada | Finalidade |
|---|---|
POST /rulesets | Criar um conjunto de regras para a organização |
GET /organizations/:id/rulesets | Listar os conjuntos de regras da organização com contagem de regras e de motores |
GET /rulesets/:id/rules | Listar as regras de um conjunto de regras |
POST /instructions com rulesetId | Adicionar uma regra a um conjunto de regras |
PUT /engines/:id/rulesets | Substituir o conjunto de conjuntos de regras que um motor aplica |
DELETE /engines/:id/rulesets/:rulesetId | Deixar de aplicar um conjunto de regras a um motor |
GET /engines/:id/instructions | Listar 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:
"Create a ruleset called German conventions and apply it to
the marketing engine.""Add a rule to that ruleset: always abbreviate Straße to Str.
in addresses.""Add a wildcard rule: never translate the term Smart Compose."