Traduci file .properties Java
Un file .properties è un bundle di righe chiave=valore dove i valori contengono argomenti {0} per MessageFormat. KAERIS traduce i valori, conserva i tuoi commenti e l'ordine delle chiavi, e scrive il file in puro ASCII in modo che Java lo legga ovunque.
KAERIS ha tradotto questa pagina e controllato ogni riga ritraducendola. Un madrelingua non l'ha ancora revisionata. Originale in inglese
Come viene costruito un file .properties
chiave=valore, chiave: valore o chiave valore, commenti con # o !, continuazione di riga con una barra rovesciata finale. Le versioni Java più vecchie leggono i bundle come ISO-8859-1, quindi il testo non latino viene scritto come \uXXXX, che ogni versione legge.
# Login form login.title=Sign in to {0} login.attempts=You have {0} attempts left cart.total=Total: {0,number,currency} about.url=https\://example.com/about help.text=Need help?\nWrite to [email protected]
Cosa osservare nelle traduzioni .properties
Argomenti MessageFormat
{0},{1}e quelli tipizzati come{0,number,currency}devono essere restituiti intatti. Nell'esecuzione reale sottostante{0,number,currency}è stato restituito tipizzato; un argomento modificato o perso verrebbe segnalato.Codifica
L'output è ASCII: una "ö" tedesca o un carattere giapponese viene scritto come escape
\u, che ogni versione Java legge.Apici in MessageFormat
In MessageFormat di Java, un singolo apice inizia una sezione quotata, quindi un pattern che utilizza argomenti necessita di
''per un apostrofo. Controlla le stringhe con apostrofi nell'app dopo la traduzione.Escape e URL
\nin un valore rimane un'interruzione di riga. Un\:in un URL viene riscritto come un normale due punti, che è anche valido.
Un'esecuzione reale: tradotto in tedesco e controllato
Un'esecuzione reale, 27 ottobre 2026, nulla modificato manualmente: kaeris translate messages.properties --langs de con kaeris 0.2.35, 3,3 secondi, modello openai/gpt-4.1-mini (il modello di fallback del servizio ha risposto a questo lavoro). Sotto, il file tedesco che ha scritto e cosa dice kaeris check al riguardo.
# Generated by KAERIS i18n Tool - de # Login form login.title=Anmelden bei {0} login.attempts=Sie haben noch {0} Versuche cart.total=Gesamt: {0,number,currency} about.url=https://example.com/about help.text=Brauchen Sie Hilfe?\nSchreiben Sie an [email protected]
$ kaeris check --source messages.properties --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Cosa fa KAERIS con esso
Commenti e ordine conservati
Le righe di commento, le righe vuote e l'ordine delle chiavi vengono riemessi attorno ai valori tradotti, e viene aggiunto un header di una riga con la lingua.
Argomenti contati
Un
{0}perso o un tipo modificato viene trovato senza un modello.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 bundle
Esegui
kaeris translate messages.properties --langs de,ja.Controlla il risultato
Carica il sorgente e il bundle tradotto sulla pagina di controllo gratuita.
pip install kaeris kaeris translate src/main/resources/messages.properties --langs de,ja --verify
Domande
Scrive in UTF-8 o usa escape \u?
Escape. Il file di output è ASCII, con caratteri non ASCII scritti come \uXXXX.
I miei commenti vengono mantenuti?
Sì. Commenti e righe vuote dell'origine vengono riscritti nella loro posizione e viene aggiunta una riga di intestazione che indica la lingua.
È 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 messages.properties --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 · .resx · CSV · Markdown · Fluent · Android XML