Traduci online un file PO o POT, con plurali e contesto gestiti
Carica un modello .pot o un file .po tradotto in parte e ricevi un .po con ogni msgstr vuoto compilato. msgid e msgctxt non cambiano mai, commenti e riferimenti restano al loro posto e le voci al plurale ricevono tante forme quante ne richiede la lingua di destinazione. Le prime stringhe sono gratis e senza registrazione; il file completo, fino a 5,000 stringhe, costa $5, con pagamento una tantum.
- Le voci vuote e fuzzy vengono tradotte; quelle che hai già tradotto restano com'è
- Le voci msgid_plural ricevono msgstr[0], msgstr[1] … per la lingua di destinazione, con Plural-Forms nell'intestazione
- msgctxt, commenti del traduttore (#.) e riferimenti (#:) vengono inviati come contesto e conservati nel file
- Segnaposto php-format, c-format e python-format controllati in ogni stringa
- Funziona con plugin e temi WordPress e con progetti Django, Python, PHP e C
{
"home.greeting": "Good morning, {name}Buenos días, {name}",
"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",
"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",
"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",
"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."
}
Giallo: segnaposto e sintassi plurale ICU, controllati in ogni stringa. Verde acqua: tag, caratteri di escape ed emoji, mantenuti come sono.
Stesse chiavi. Stessi segnaposto. Nuova lingua.
Cambiano solo i valori. Il file torna con la stessa struttura e lo stesso ordine, con il nome es.json, e ogni stringa che perde un segnaposto viene rigenerata prima di arrivare alla tua build.
App demo inventata per questa pagina; le stringhe in spagnolo sono risultati reali dello strumento, da un file di 85 stringhe.
Da un modello POT a un file PO
Un file .pot è l'elenco delle stringhe che un progetto deve far tradurre, con ogni msgstr vuoto. Lo carichi, scegli una lingua e ricevi un .po con l'intestazione compilata: Language, una riga Plural-Forms per quella lingua e UTF-8 come charset. Il file prende il nome della lingua, per esempio myplugin.pot diventa myplugin-de.po; rinominalo come richiede il tuo progetto, per esempio myplugin-de_DE.po per WordPress, e compilalo in .mo con lo strumento che usi di solito.
Forme plurali e voci fuzzy
Le lingue contano in modi diversi. L'inglese ha due forme; polacco e russo ne usano tre in gettext; l'arabo ne usa sei. Per ogni voce al plurale il traduttore riceve le forme della lingua di destinazione con numeri di esempio ("forma 1: 2, 3, 4, 22") e scrive una stringa per ogni forma. Se il tuo .po ha già un'intestazione Plural-Forms per la stessa lingua, viene usata quella regola.
Le voci contrassegnate come fuzzy vengono tradotte di nuovo; il flag fuzzy e le vecchie righe #| msgid vengono rimossi, mentre gli altri flag come php-format restano. Le voci obsolete #~ non vengono toccate.
Come funziona lo strumento, quanto costa e come vengono gestiti i tuoi file lo trovi nella pagina Traduci file di localizzazione; i prezzi di ogni strumento sono nella pagina prezzi.
Ultimo aggiornamento:
Domande e risposte
Sovrascriverà le mie traduzioni esistenti?
No. Le voci che hanno già un msgstr e non sono fuzzy restano esattamente come sono; vengono tradotte solo quelle vuote e quelle fuzzy.
Produce un file .mo?
No, ti dà il .po. Compilalo con msgfmt, Poedit o con il comando del tuo framework, per esempio wp i18n make-mo o compilemessages in Django.
I segnaposto printf sono al sicuro?
Ogni %s, %d, %1$s e %(name)s presente nel msgid deve esserci anche nella traduzione. Una stringa che ne perde uno viene tradotta di nuovo; se continua a non andare bene, il suo msgstr resta com'era (vuoto o fuzzy) e viene inserita nell'elenco, così gettext ripiega sul testo originale invece di mostrare una stringa rotta.
Quanto costa?
Le prime stringhe sono gratis. Il file completo, fino a 5,000 stringhe, costa $5, con pagamento una tantum e senza abbonamento. I lavori piccoli fanno eccezione: un lavoro fino a 300 stringhe è gratis per intero, download inclusi.