Traduci

Traduci file .po gettext

Un file .po è basato su chiavi di testo: la frase in inglese è la chiave. Contesti, slot per plurali e variabili in stile Python si trovano attorno a quel testo. KAERIS li conserva e scrive gli slot per plurali necessari alla lingua di destinazione.

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 .po

Ogni voce ha un msgid (il testo sorgente) e un msgstr (la traduzione). msgctxt distingue due frasi identiche. I plurali usano msgid_plural e uno msgstr[n] per ogni forma, e la riga Plural-Forms nell'header indica quante forme ha la lingua.

File sorgenteen.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: app/views.py:12
msgid "Welcome back, %(name)s!"
msgstr ""

#: app/views.py:20
msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] ""
msgstr[1] ""

msgctxt "menu"
msgid "Open"
msgstr ""

msgctxt "verb"
msgid "Open"
msgstr ""

Cosa osservare nelle traduzioni .po

Un'esecuzione reale: tradotto in tedesco e controllato

Un'esecuzione reale, 27 ottobre 2026, nulla modificato manualmente: kaeris translate en.po --langs de con kaeris 0.2.35, 3,9 secondi, modello google/gemini-2.5-flash-lite, il predefinito del piano gratuito. Sotto, il file tedesco che ha scritto e cosa dice kaeris check al riguardo.

Risultato tedescode.po
# Generated by KAERIS i18n Tool
# Language: de
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: de\n"

msgid "Welcome back, %(name)s!"
msgstr "Willkommen zurück, %(name)s!"

msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] "%(count)d Datei"
msgstr[1] "%(count)d Dateien"

msgctxt "menu"
msgid "Open"
msgstr "Öffnen"

msgctxt "verb"
msgid "Open"
msgstr "Öffnen"
kaeris checkexit code 0
$ kaeris check --source en.po --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Cosa fa KAERIS con esso

Eseguilo in tre passaggi

  1. Installa la CLI

    Esegui pip install kaeris.

  2. Traduci il catalogo

    Esegui kaeris translate django.po --langs de,ja. I file di output sono nominati per lingua.

  3. Controlla il risultato

    Carica il sorgente e un .po tradotto sulla pagina di controllo gratuita per vedere variabili perse e termini incoerenti.

pip install kaeris
kaeris translate locale/en/LC_MESSAGES/django.po --langs de,ja --verify

Domande

Gestisce le forme plurali per russo o arabo?

L'header per i plurali e il numero di slot msgstr[n] vengono scritti per la lingua di destinazione. In un'esecuzione con il russo, l'esempio sorgente ha prodotto nplurals=3 e tre slot.

E per msgctxt?

Il contesto rimane collegato alla voce, quindi due sorgenti identici con contesti diversi sono stringhe separate. Il controllo avvisa quando vengono restituiti tradotti in modo diverso.

È 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 django.po --langs de,ja. Vedi anche Django. 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 · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML