Traduci file di risorse .NET .resx
Un file .resx mescola testo con icone e altre risorse tipizzate in un unico XML. KAERIS traduce solo le stringhe, lascia il resto byte per byte e controlla gli elementi di formato {0}.
KAERIS ha tradotto questa pagina e controllato ogni riga ritraducendola. Un madrelingua non l'ha ancora revisionata. Originale in inglese
Come viene creato un file .resx
Un <root> XML con voci <data name="…"><value>…</value></data>. Una voce con un attributo type o mimetype (un'icona, un'immagine) non è testo. Nomi come SaveButton.Text sono proprietà di controllo da WinForms.
<?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>
Cosa controllare nelle traduzioni .resx
Le voci tipizzate non sono testo
La voce
AppIconnell'esecuzione reale di seguito è un riferimento a un file. Viene copiata nell'output invariata e mai inviata per la traduzione.Elementi di formato
{0}instring.Formatdeve essere ripristinato; nell'esecuzione reale di seguito entrambi lo sono stati, e uno mancante sarebbe stato segnalato.Le chiavi non sono testo
Nomi come
SaveButton.Textsono proprietà di controllo da WinForms. Sono chiavi: mantenute così come sono scritte, mai tradotte.I commenti rimangono nell'origine
Gli elementi
<comment>non vengono riportati nel file tradotto. Conserva le note per i traduttori nel file di origine.
Un'esecuzione reale: tradotto in tedesco e controllato
Un'esecuzione reale, 27 ottobre 2026, nulla modificato manualmente: kaeris translate Strings.resx --langs de con kaeris 0.2.35, 2,6 secondi, modello openai/gpt-4.1-mini (il modello di fallback del servizio ha risposto a questo lavoro). Di seguito, il file tedesco che ha scritto e cosa dice kaeris check al riguardo.
<?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 check --source Strings.resx --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Cosa fa KAERIS con esso
Solo stringhe
Le voci tipizzate e binarie vengono preservate verbatim, come nell'esecuzione reale sopra: la voce
AppIconè tornata invariata.DTD ed entità rifiutate
I file con una dichiarazione DOCTYPE o di entità vengono rifiutati prima del parsing, una protezione condivisa con XLIFF e Android XML.
Controllo gratuito per questo formato
Il controllo gratuito su /check legge questo formato e viene eseguito senza chiave o account. Anche il comando da terminale
kaeris checklo legge: gestisce tutti i 13 formati da kaeris 0.2.35, con le stesse regole e nulla inviato da nessuna parte.
Eseguilo in tre passaggi
Installa la CLI
Esegui
pip install kaeris.Traduci il file di risorse
Esegui
kaeris translate Resources/Strings.resx --langs de,ja.Controlla il risultato
Carica l'origine e il .resx tradotto sulla pagina di controllo gratuita.
pip install kaeris kaeris translate Resources/Strings.resx --langs de,ja --verify
Domande
Le icone e altre risorse tipizzate vengono modificate?
No. Le voci con un attributo type o mimetype vengono mantenute verbatim.
Gli elementi vengono mantenuti?
No: il file tradotto viene scritto senza di essi. Il tuo file di origine li conserva.
È gratuito?
Sì, senza account: 10.000 caratteri per file e fino a 8 lingue per esecuzione. Una chiave API gratuita aumenta il limite di file a 50.000 caratteri. A vita costa $79 una tantum, sulla tua chiave OpenRouter; i piani mensili partono da $19. Prezzi
Posso eseguirlo dal terminale o in CI?
Sì. pip install kaeris, quindi kaeris translate Resources/Strings.resx --langs de,ja. La GitHub Action esegue la stessa traduzione in una pull request. Documentazione CLI · GitHub Action
Continua
Riferimento CLI · Riferimento Check · Traduci nel browser · Controllo gratuito · Converti formati · Pseudo-localizzazione
Altri formati: JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .properties · CSV · Markdown · Fluent · Android XML