Alfa
El Compiler de Lingo.dev está en fase alfa. Es inestable, no se recomienda para su uso en producción y las API pueden cambiar entre versiones.
El atributo data-lingo-override te da un control preciso sobre traducciones concretas. Si necesitas una traducción exacta para un nombre de marca, un texto legal o un titular de marketing, añade el atributo a cualquier elemento JSX y el compilador usará las traducciones que proporciones en lugar de generarlas con IA.
Uso básico#
Pasa un objeto que asigne códigos de idioma a sus traducciones:
<h1 data-lingo-override={{ es: "Bienvenido", de: "Willkommen", fr: "Bienvenue" }}>
Welcome
</h1>El compilador usa el valor de sobrescritura para cada idioma especificado. Para los idiomas que no aparezcan en el objeto de sobrescritura, el compilador genera las traducciones con normalidad.
Cómo funcionan las sobrescrituras#
El Compiler encuentra un elemento JSX con data-lingo-override
Durante la fase de análisis del AST, el compilador detecta el atributo data-lingo-override en el elemento.
Se extraen los valores de sobrescritura
La asignación de idioma a traducción se lee a partir del valor del atributo.
Las sobrescrituras tienen prioridad
Para cada idioma presente en el objeto de sobrescritura, el compilador usa la traducción proporcionada. La traducción por IA se omite para esos idiomas. Los idiomas que no estén en la sobrescritura se traducen con normalidad.
Casos de uso#
| Caso de uso | Por qué usar una sobrescritura | Ejemplo |
|---|---|---|
| Nombres de marca | La IA puede localizar nombres que deberían mantenerse consistentes en todos los idiomas | data-lingo-override={{ es: "Lingo.dev", de: "Lingo.dev" }} |
| Copy de marketing | Una formulación concreta creada por un copywriter | data-lingo-override={{ es: "Tu motor de localizacion" }} |
| Texto legal | Los requisitos regulatorios exigen una redacción exacta | data-lingo-override={{ de: "Datenschutzerklarung" }} |
| Modismos y juegos de palabras | Juegos de palabras que requieren creatividad humana | data-lingo-override={{ fr: "C'est la vie" }} |
| IU con límites estrictos de caracteres | Las traducciones con IA pueden superar las limitaciones de espacio | data-lingo-override={{ ja: "OK" }} |
Ejemplos#
Texto de párrafo#
<p data-lingo-override={{ es: "Crea un motor de localizacion en Lingo.dev" }}>
Create a localization engine on Lingo.dev
</p>Atributos#
Las sobrescrituras se aplican al contenido de texto del elemento. En el caso de atributos traducibles como placeholder, alt o aria-label, el compilador los gestiona por separado mediante su flujo estándar de traducción de atributos.
Sobrescrituras parciales#
No hace falta que proporciones sobrescrituras para todos los idiomas de destino. Indica solo los idiomas que necesiten control manual:
<h2 data-lingo-override={{ ja: "はじめに" }}>
Getting Started
</h2>En este ejemplo, el japonés usa la sobrescritura, mientras que el resto de idiomas de destino reciben traducciones generadas por IA.
Cuándo usar sobrescrituras frente a otros enfoques#
| Enfoque | Cuándo usarlo |
|---|---|
data-lingo-override | Elementos concretos en los que conoces la traducción exacta. |
| Glossary (Lingo.dev Engine) | Términos que deben traducirse de forma consistente en toda la aplicación. |
| Brand Voice (Lingo.dev Engine) | Preferencias de tono y estilo que se aplican a todas las traducciones. |
| Prompts personalizados | Instrucciones generales de traducción para todo el contenido. |
Las sobrescrituras son la opción más granular: se aplican a un único elemento. Para mantener la consistencia en todo el proyecto, usa un glossary o la voz de marca a través del motor de localización de Lingo.dev.
