Traducir

Traducir archivos de recursos .resx de .NET

Un archivo .resx mezcla texto con iconos y otros recursos tipados en un XML. KAERIS traduce solo las cadenas, deja el resto byte a byte y verifica los elementos de formato {0}.

KAERIS ha traducido esta página y revisado cada línea traduciéndola de vuelta. Un hablante nativo aún no la ha revisado. Original en inglés

Cómo se construye un archivo .resx

Un XML <root> con entradas <data name="…"><value>…</value></data>. Una entrada con atributo type o mimetype (un icono, una imagen) no es texto. Nombres como SaveButton.Text son propiedades de controles de WinForms.

Archivo fuenteStrings.resx
<?xml version="1.0" encoding="utf-8"?>
<root>
  <resheader name="resmimetype"><value>text/microsoft-resx</value></resheader>
  <data name="WelcomeMessage" xml:space="preserve">
    <value>Welcome back, {0}!</value>
    <comment>{0} is the user's first name</comment>
  </data>
  <data name="ItemsInCart" xml:space="preserve">
    <value>You have {0} items in your cart.</value>
  </data>
  <data name="SaveButton.Text" xml:space="preserve">
    <value>Save and close</value>
  </data>
  <data name="AppIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\app.ico;System.Drawing.Icon, System.Drawing</value>
  </data>
</root>

Qué tener en cuenta en las traducciones .resx

Una ejecución real: traducido al alemán y verificado

Una ejecución real, 27 de octubre de 2026, sin ediciones manuales: kaeris translate Strings.resx --langs de con kaeris 0.2.35, 2.6 segundos, modelo openai/gpt-4.1-mini (el modelo de reserva del servicio respondió este trabajo). Abajo, el archivo alemán que generó y lo que kaeris check dice sobre él.

Resultado en alemánde/Strings.resx
<?xml version="1.0" encoding="utf-8"?>
<root>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <data name="WelcomeMessage" xml:space="preserve">
    <value>Willkommen zurück, {0}!</value>
  </data>
  <data name="ItemsInCart" xml:space="preserve">
    <value>Sie haben {0} Artikel in Ihrem Warenkorb.</value>
  </data>
  <data name="SaveButton.Text" xml:space="preserve">
    <value>Speichern und schließen</value>
  </data>
  <data name="AppIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\app.ico;System.Drawing.Icon, System.Drawing</value>
  </data>
</root>
kaeris checkexit code 0
$ kaeris check --source Strings.resx --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Lo que KAERIS hace con él

Ejecuta en tres pasos

  1. Instala el CLI

    Ejecuta pip install kaeris.

  2. Traducir el archivo de recursos

    Ejecute kaeris translate Resources/Strings.resx --langs de,ja.

  3. Verificar el resultado

    Suba el archivo fuente y el .resx traducido en la página de verificación gratuita.

pip install kaeris
kaeris translate Resources/Strings.resx --langs de,ja --verify

Preguntas

¿Se modifican los iconos y otros recursos tipados?

No. Las entradas con atributo type o mimetype se mantienen literalmente.

¿Se conservan los elementos ?

No: el archivo traducido se escribe sin ellos. Su archivo fuente los conserva.

¿Es gratis?

Sí, sin cuenta: 10.000 caracteres por archivo y hasta 8 idiomas por ejecución. Una clave API gratuita eleva el límite de archivos a 50.000 caracteres. La licencia vitalicia cuesta $79 una vez, con tu propia clave OpenRouter; los planes mensuales empiezan en $19. Precios

¿Puedo ejecutarlo desde la terminal o en CI?

Sí. pip install kaeris, luego kaeris translate Resources/Strings.resx --langs de,ja. El GitHub Action ejecuta la misma traducción en un pull request. Documentación CLI · GitHub Action

Seguir adelante

Referencia CLI · Referencia de verificación · Traducir en el navegador · Verificación gratuita · Convertir formatos · Pseudo-localización

Otros formatos: JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .properties · CSV · Markdown · Fluent · Android XML