Traduzione PO/Gettext
Lingua di origine: en-US (English, United States)
Il codice della lingua di origine. Esempio: fr, fr-FR, fil, zh-Hans-CN. Digita per cercare.
Lingua di destinazione: zh-Hans-CN (Chinese, Simplified Chinese, China)
Il codice della lingua di destinazione. Esempio: en, en-US, fil, zh-Hans-CN. Digita per cercare.Gestisci glossariGestisci istruzioni linguistiche
Traduci metadati:
Genera e salva glossario:
La traduzione tramite IA richiede tempo (fino a 5 minuti) poiché l'IA elabora il tuo contenuto. Questa pagina di traduzione PO traduce in tempo reale e non memorizza il tuo contenuto sui nostri server. Per file PO di grandi dimensioni, consigliamo di utilizzare laTraduzione file i18n pagina per una consegna più affidabile. Ti preghiamo di non abbandonare questa pagina finché la traduzione non è completa.

Come tradurre file PO/Gettext online

Tradurre file PO (Portable Object) con il nostro servizio basato su IA è veloce e preciso. Segui questi passaggi per tradurre il tuo contenuto di localizzazione gettext preservando la struttura del formato PO.

  1. Incolla il tuo contenuto PO: Nella sezione "Contenuto PO di origine", incolla il contenuto del tuo file PO o POT. Il nostro servizio riconosce il formato PO standard, inclusi msgid, msgstr, commenti, forme plurali e voci di contesto.
  2. Imposta lingua di destinazione: Inserisci il codice della lingua di destinazione (es. 'fr-FR' per il francese, 'de' per il tedesco) per la traduzione.
  3. Avvia traduzione: Fai clic sul pulsante "Traduci" per iniziare. La nostra IA elabora la struttura PO, traduce i valori msgstr preservando le voci msgid, i commenti e i segnaposti di formato.
  4. Copia o salva: Una volta completata la traduzione, copia il contenuto PO tradotto negli appunti o salvalo come file .po pronto per l'uso nel tuo progetto.

Cosa sono i file PO e POT?

I file PO (Portable Object) sono un formato di localizzazione ampiamente utilizzato creato dal sistema di internazionalizzazione GNU gettext. Memorizzano stringhe traducibili come coppie chiave-valore utilizzando voci msgid (testo originale) e msgstr (testo tradotto).

I file PO sono il formato di localizzazione standard per molti progetti e framework open source, tra cui WordPress, applicazioni PHP, Python (Django, Flask), Ruby on Rails, programmi C/C++ e applicazioni desktop create con GTK o GNOME.

Struttura del formato file PO

Un file PO è costituito da voci con i seguenti elementi chiave:

# Translation file for MyApp
#: src/components/header.js:12
msgid "Welcome to our application"
msgstr ""

#: src/components/login.js:8
msgid "Sign in to your account"
msgstr ""

#: src/components/dashboard.js:15
msgid "You have %d new messages"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""
  • msgid — La stringa originale non tradotta (testo di origine). Serve come chiave per la ricerca delle traduzioni.
  • msgstr — La stringa tradotta per la lingua di destinazione. I valori msgstr vuoti indicano stringhe non tradotte.
  • Commenti (#) — Forniscono contesto ai traduttori. #: indica i riferimenti al file di origine, #. contiene commenti estratti e #, contiene flag come fuzzy.
  • Forme plurali (msgid_plural, msgstr[N]) — Gestiscono regole plurali specifiche della lingua. Lingue diverse hanno un numero diverso di forme plurali (es. l'inglese ne ha 2, il polacco 3, l'arabo 6).
  • Contesto (msgctxt) — Elimina l'ambiguità tra stringhe di origine identiche che necessitano di traduzioni diverse a seconda del contesto (es. "Apri" come verbo vs. aggettivo).

File PO vs. POT

Un file POT (Portable Object Template) è il modello utilizzato per creare file PO. Contiene tutte le stringhe di origine con valori msgstr vuoti. Quando inizi una nuova traduzione, copi il file POT, lo rinomini per la tua lingua di destinazione (es. fr.po) e inserisci le traduzioni.

Il nostro servizio accetta sia contenuti PO che POT. Incolla semplicemente uno dei due formati e l'IA genererà traduzioni per tutte le voci msgstr.

Esempio di file POT

Ecco un tipico file modello POT con un'intestazione e stringhe traducibili:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-01 00:00+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: src/app.py:42
msgid "Hello, World!"
msgstr ""

Generazione glossario IA per traduzioni PO/Gettext

La nostra funzione di generazione glossario IA ti aiuta a mantenere una terminologia coerente in tutti i tuoi file di localizzazione PO. Abilitala attivando Genera glossario nelle opzioni di traduzione:

  • Terminologia coerente — l'IA analizza il tuo contenuto PO di origine e le traduzioni di destinazione esistenti per creare un glossario di termini chiave, assicurando che i nomi dei prodotti, le etichette dell'interfaccia utente e i termini tecnici siano tradotti allo stesso modo in tutto il tuo progetto.
  • Termini specifici del dominio — fornisci un esempio di contenuto PO già tradotto nel campo delle stringhe di destinazione. L'IA apprende la tua terminologia preferita e la applica automaticamente alle nuove voci msgstr.
  • Come utilizzarlo — incolla il tuo contenuto PO tradotto nel campo opzionale delle stringhe di destinazione che appare quando la generazione del glossario è abilitata. L'IA estrae le coppie di termini ricorrenti e le utilizza come guida alla traduzione. Se non viene fornito alcun contenuto di destinazione, l'IA genera un glossario dalle sole stringhe di origine.

Perché utilizzare il nostro servizio di traduzione PO

  • Traduzione contestuale basata su IA: La nostra IA avanzata comprende la struttura del file PO, gestisce i segnaposti del formato gettext (come %s, %d, %(name)s) e adatta le traduzioni alle sfumature culturali della lingua di destinazione.
  • Supporto completo al formato gettext: Il nostro servizio gestisce tutte le funzionalità del formato PO, incluse intestazioni, commenti, voci di contesto (msgctxt), forme plurali e flag di formato. La struttura PO viene completamente preservata durante la traduzione.
  • Gestione delle forme plurali: Genera correttamente le traduzioni delle forme plurali in base alle regole della lingua di destinazione. Che la tua lingua di destinazione abbia 2, 3 o 6 forme plurali, la nostra IA genera le voci msgstr[N] appropriate.
  • Regolazioni specifiche per locale: Adatta automaticamente numeri, date e altri contenuti sensibili alle impostazioni locali all'interno delle stringhe tradotte per corrispondere alle convenzioni della lingua di destinazione.
  • Gestione errori: Rileva e corregge gli errori di traduzione dell'IA, garantendo un output del file PO costantemente di alta qualità.
  • Conveniente: Approfitta di prezzi accessibili con 10,000 caratteri gratuiti al mese.Visualizza prezzi
  • Ottimizzato per file PO di grandi dimensioni: Elabora in modo efficiente file PO di grandi dimensioni dividendoli in blocchi gestibili, garantendo la coerenza della traduzione con terminologia e contesto predefiniti in tutte le voci.

Casi d'uso comuni per la traduzione di file PO

I file PO sono il formato di localizzazione standard per un'ampia gamma di piattaforme e framework:

  • WordPress: I temi e i plugin di WordPress utilizzano file PO/POT per l'internazionalizzazione. Il sistema gettext è il modo standard per rendere il contenuto di WordPress traducibile in oltre 200 lingue.
  • Applicazioni PHP: L'estensione gettext di PHP utilizza i file PO in modo nativo. Framework come Laravel, Symfony e CakePHP supportano la localizzazione basata su PO per applicazioni multilingua.
  • Python (Django, Flask): Django utilizza gettext e file PO come meccanismo di localizzazione standard. Il comando makemessages estrae le stringhe traducibili in file POT e compilemessages compila i file PO in file MO binari.
  • Ruby on Rails: Sebbene Rails utilizzi YAML come impostazione predefinita, molti progetti Ruby utilizzano la gemma gettext con file PO per la localizzazione, specialmente quando si integrano flussi di lavoro di traduzione esistenti basati su gettext.
  • Programmi C/C++: GNU gettext è stato originariamente progettato per programmi C. Molte utilità di sistema, strumenti da riga di comando e applicazioni desktop utilizzano file PO per le traduzioni della propria interfaccia utente.
  • JavaScript/TypeScript (Lingui): Lingui è una moderna libreria i18n per React, Next.js e altri framework JavaScript che utilizza file PO/POT come formato di traduzione principale. Lo strumento @lingui/cli estrae le stringhe traducibili in cataloghi PO e il runtime di Lingui carica le traduzioni compilate al momento della build per prestazioni ottimali.
  • Applicazioni desktop (GTK/GNOME/KDE): Gli ambienti desktop Linux e le applicazioni GTK/Qt si basano sui file PO. I progetti GNOME e KDE gestiscono migliaia di file PO in decine di lingue.

Traduzione PO vs. altri formati di localizzazione

I file PO sono uno dei formati di localizzazione più consolidati, con oltre 30 anni di storia nella comunità open source. A differenza dei formati basati su JSON o YAML, i file PO includono il supporto integrato per forme plurali, commenti del traduttore, riferimenti all'origine e disambiguazione contestuale.

Sebbene i framework moderni utilizzino spesso JSON (i18next, React Intl) o YAML (Rails), PO rimane il formato preferito per plugin WordPress, applicazioni PHP, progetti Python Django e software desktop Linux. Il nostro servizio colma il divario tra i due mondi: traduci il contenuto PO qui o utilizza la nostra pagina Traduzione file i18n per l'elaborazione batch di qualsiasi formato.

La nostra traduzione tramite IA preserva l'intera struttura del file PO, incluse intestazioni (Project-Id-Version, Content-Type, Plural-Forms), commenti del traduttore, riferimenti al file di origine e flag di formato, garantendo che i tuoi file PO tradotti siano pronti per l'uso immediato con strumenti gettext come msgfmt.