Una regla es una instrucción lingüística concreta con nombre que el motor de localización aplica a un idioma de destino: «abreviar Straße como Str. en las direcciones», no «ser más informal». Las reglas viven en conjuntos de reglas: contenedores propiedad de la organización que un motor aplica al asociarlos, para que un único conjunto de reglas pueda regir todos los motores que lo necesiten.
Las reglas antes se llamaban instrucciones
En el panel se llaman reglas y se agrupan en conjuntos de reglas. La API REST sigue exponiendo una regla individual en /instructions con los nombres de campo sin cambios; lo que ha cambiado es dónde se escribe una regla: rulesetId ha sustituido a ownerEngineId.
Cómo funciona#
Un conjunto de reglas pertenece a tu organización, no a un motor. Asociarlo a un motor es lo que hace que sus reglas se apliquen; no se copia nada en el motor.
| Objeto | Campos |
|---|---|
| Conjunto de reglas | Nombre, descripción. Puede contener cualquier número de reglas. |
| Regla | Nombre, idioma de destino (o *), texto. |
Cuando llega una solicitud de traducción, el motor recopila todas las reglas de todos los conjuntos de reglas asociados cuyo idioma de destino coincida con el targetLocale de la solicitud y las incluye en el prompt del LLM junto con la voz de marca y el glosario. Las reglas no compiten entre sí: se incluyen todas las que coinciden, ordenadas primero por la coincidencia de idioma más precisa para que la orientación más ajustada vaya delante.
| Campo | Descripción |
|---|---|
| Nombre | Una etiqueta breve para identificar la regla (por ejemplo, «tratamiento formal en alemán») |
| Idioma de destino | El idioma al que se aplica esta regla, o * para todos los idiomas |
| Texto | La regla lingüística, redactada en lenguaje natural |
Muchas reglas por idioma
Crea tantas reglas como necesite un idioma. Cada regla debe abordar una sola cuestión: eso es lo que permite probarla de forma individual, puntuarla mediante la evaluación de IA de reglas y eliminarla con seguridad.
Los conjuntos de reglas pertenecen a la organización#
| Acción | Efecto |
|---|---|
| Crear un conjunto de reglas | Existe a nivel de organización y no se aplica a nada hasta que se asocia |
| Asociarlo a un motor | Todas sus reglas se aplican a las traducciones de ese motor |
| Asociarlo a varios motores | Las mismas reglas rigen todos ellos: editas una vez y todos los motores las siguen |
| Asociar varios conjuntos de reglas a un motor | Todas sus reglas se combinan |
| Desasociarlo de un motor | El motor deja de aplicarlo. El conjunto de reglas y sus reglas se conservan. |
| Eliminar un conjunto de reglas | Se rechaza mientras algún motor siga aplicándolo: desasócialo primero. Al eliminarlo, sus reglas también se eliminan. |
| Eliminar un motor | Los conjuntos de reglas y las reglas se conservan. Pertenecen a la organización, no al motor. |
Gestiona los conjuntos de reglas desde Rules en la barra lateral de la organización. La pestaña Rules de un motor muestra lo que ese motor aplica en ese momento y te permite asociar o desasociar conjuntos de reglas.
Instrucciones predefinidas#
Lingo.dev selecciona un catálogo de reglas listas para usar: convenciones idiomáticas que la mayoría de los Team necesitan y que pocas personas piensan en dejar por escrito. Abre Predefined Instructions desde la pestaña Rules de un motor y elige las que quieras. Se asocian directamente al motor en lugar de hacerlo mediante un conjunto de reglas, y puedes desasociarlas en cualquier momento.
Las reglas seleccionadas se colocan en el prompt antes que las tuyas, de modo que una regla que escribas refine o sustituya la base en lugar de entrar en conflicto con ella.
Reglas vs. voces de marca#
Ambas modelan el resultado de la traducción, pero a distintos niveles:
| Voz de marca | Regla | |
|---|---|---|
| Alcance | Tono general, estilo, formalidad | Una regla lingüística concreta |
| Por idioma | Un texto por idioma, una voz por idioma y por motor | Muchas reglas por idioma |
| Aplicación | El único texto con la mejor coincidencia | Se combinan todas las reglas coincidentes |
| Comodín | Sí (* actúa como voz predeterminada) | Sí (* se aplica a todos los idiomas) |
| Ejemplo | «Usa du en tono informal, con tono técnico» | «Abrevia siempre Straße como Str. en las direcciones» |
Usa una voz de marca para definir cómo habla tu producto en un idioma: formalidad, registro y estilo de frase.
Usa reglas para recoger convenciones concretas que, de otro modo, el modelo pasaría por alto: abreviaturas, puntuación, formato de unidades o patrones gramaticales específicos de cada idioma.
Funcionan juntas: la voz de marca marca el tono y las reglas se ocupan de los casos límite.
Cómo redactar reglas eficaces#
Cada regla debe ser una instrucción única y sin ambigüedades. El motor incluye el texto completo en el prompt del LLM, así que la claridad importa.
Buenas reglas#
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 %.Qué evitar#
- Indicaciones vagas que se solapan con la voz de marca («ser más informal»): eso va en la voz de marca
- Varias instrucciones no relacionadas en una sola regla: sepáralas para que cada una pueda probarse de forma independiente
- Reglas que contradicen el glosario: los términos del glosario tienen prioridad en la jerarquía del motor
Idioma comodín#
Define el idioma de destino como * para aplicar una regla a todos los idiomas. Es útil para convenciones independientes del 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.Tanto las reglas específicas de un idioma como las reglas comodín se incluyen cuando el motor procesa una solicitud: se combinan, no se anulan.
Uso de reglas con la API#
Las reglas se aplican automáticamente cuando llamas al endpoint localize. El motor recopila todas las reglas que coinciden con el targetLocale de la solicitud (más cualquier regla *) de los conjuntos de reglas que aplica el motor. No hace falta añadir parámetros.
| Llamada | Propósito |
|---|---|
POST /rulesets | Crear un conjunto de reglas para la organización |
GET /organizations/:id/rulesets | Mostrar los conjuntos de reglas de la organización con el número de reglas y motores |
GET /rulesets/:id/rules | Mostrar las reglas de un conjunto de reglas |
POST /instructions con rulesetId | Añadir una regla a un conjunto de reglas |
PUT /engines/:id/rulesets | Sustituir el conjunto de conjuntos de reglas que aplica un motor |
DELETE /engines/:id/rulesets/:rulesetId | Dejar de aplicar un conjunto de reglas a un motor |
GET /engines/:id/instructions | Mostrar todas las reglas que aplica actualmente un motor |
ownerEngineId en POST /instructions sigue funcionando: escribe en el conjunto de reglas propio del motor y crea uno si el motor no tiene ninguno. Es mejor usar rulesetId.
Acceso#
org:ruleset:read y org:ruleset:edit rigen los conjuntos de reglas y las reglas que contienen; para asociar uno a un motor también hace falta engine:edit en ese motor. Un permiso por conjunto de reglas da a alguien acceso de lectura y edición a un único conjunto de reglas en lugar de a todos los conjuntos de reglas de la organización. Consulta Roles & Permissions.
Gestionar reglas con MCP#
Si utilizas el servidor MCP de Lingo.dev, tu asistente de programación con IA puede crear, actualizar y eliminar reglas y conjuntos de reglas directamente:
"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."