Tipi di file supportati (Strings)

.PO - gettext files (Strings)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

Estensioni dei file 

.po

Estensione API 

gettext

Importa 

Esporta 

Supporto forme plurali 

Supporto descrizione 

Opzioni di formato

Queste opzioni possono essere specificate quando un file viene caricato e/o scaricato. A seconda del metodo di caricamento/scaricamento (API, CLI, sincronizzazione Repo, ecc.), possono essere specificate nei parametri di query Carica, Scarica o nel file di configurazione phrase.yml.

  • msgid_as_default

  • è_file_bilingue

.PO (Portable Object) è il formato di file standard per la localizzazione con GNU gettext, una libreria GNU open-source progettata per semplificare il processo di localizzazione. Con GNU gettext, le stringhe localizzabili vengono estratte dal codice sorgente in un file PO per la traduzione. Un file .PO è una serie di coppie chiave-valore. La chiave msgid è dove viene posizionata la stringa sorgente mentre il valore msgstr è dove va la traduzione.

gettext estrae le stringhe dal codice sorgente in un .POT (template di oggetto portatile). Sulla base delle impostazioni locali definite, gettext converte quindi il file .POT in file .PO specifici per la localizzazione da caricare in uno strumento CAT per la traduzione. Dopo la traduzione, gettext converte i file .PO tradotti in file .MO (file oggetto macchina) utilizzati infine per la localizzazione.

.I file .PO sono identici ai file .POT, tranne per il fatto che i file .POT sono generalmente utilizzati da gettext per generare file .PO specifici per la localizzazione. Tradurre un file .POT direttamente e rinominarlo secondo la successiva localizzazione prevista non genera problemi. Phrase supporta la traduzione di:

  • .I file .PO

  • File .PO bilingue

  • .POT file 

  • File .MO leggibili dalla macchina

msgctxt sarà utilizzato come prefisso chiave, combinato con msgid e separato da ||

Opzioni di formato

Identificatore

msgid_as_default

Tipo

Booleano

Caricamento

vero

Download

false

Predefinito

false

Descrizione

Prende il contenuto della traduzione dal valore msgid invece che da msgstr

Identificatore

è_file_bilingue

Tipo

Booleano

Caricamento

vero

Download

false

Predefinito

false

Descrizione

Sia le traduzioni di origine che quelle di destinazione saranno importate dal file caricato: il contenuto di origine sarà prelevato dal valore msgid, la destinazione dal valore di msgstr

Campione di codice

msgid ""
msgstr ""
"Lingua: Inglese\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"
"X-Generator: PhraseApp (phraseapp.com)\n"

msgid "boolean_key"
msgstr "--- true\n"

msgid "empty_string_translation"
msgstr ""

# Questa è l'incredibile descrizione per questa chiave!
msgid "key_with_description"
msgstr "Controllalo! Questa chiave ha una descrizione! (Almeno in alcuni formati)"

msgid "key_with_line-break"
msgstr "Questa traduzione contiene\un’interruzione di riga."

msgid "nested.deeply.key"
msgstr "Wow, questa chiave è nidificata ancora più profondamente."

msgid "nested.key"
msgstr "Questa chiave è nidificata in uno spazio dei nomi."

msgid "null_translation"
msgstr ""

msgid "pluralized_key"
msgid_plural ""
msgstr[0] "Trovata solo una pluralizzazione."
msgstr[1] "Wow, hai %s pluralizzazioni!"

msgid "sample_collection"
msgstr "---\n- primo elemento\n- secondo elemento\n- terzo elemento\n"

msgid "simple_key"
msgstr "chiave semplice, messaggio semplice, così semplice."

#, fuzzy
msgid "unverified_key"
msgstr "Ho bisogno di verifica, per favore verificami!" (In alcuni formati esportiamo anche lo stato)"

Voce tipica di gettext: 

# descrizione (Opzionale)
msgid "key-name"
msgstr "La mia traduzione"

Intestazione gettext

L'intestazione di un file gettext può contenere un nome locale e dati per le forme plurali che vengono estratti durante l'importazione:

msgid ""
msgstr ""
"Lingua: en\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"
"X-Generator: PhraseApp (phraseapp.com)\n"

Descrizioni

I commenti in un file gettext vengono aggiunti come descrizioni delle chiavi durante l'importazione:

# Questa è la mia descrizione
msgid "app_title"
msgstr "Il mio progetto software"

Contesto

gettext utilizza la notazione msgctxt per distinguere i diversi contesti per lo stesso msgid. Ogni nome di chiave deve essere unico, quindi msgctxt viene aggiunto come prima parte del nome della chiave, separato da due simboli pipe ||:

msgctxt "menu"
msgid "Apri"
msgstr "Sono una traduzione"

msgctxt "forum"
msgid "Apri"
msgstr "Sono un'altra traduzione"

Per aggiungere il msgctxt a una nuova chiave, precedilo con il nome della chiave:

my_context||my_key_name

Output gettext risultante:

...
msgctxt "my_context"
msgid "my_key_name"
...

Forme plurali

gettext supporta forme plurali per una traduzione:

msgid "nuovi_messaggi"
msgid_plural ""
msgstr[0] "Hai un nuovo messaggio"
msgstr[1] "Hai %{count} nuovi messaggi"

Fuzzy

La parola chiave fuzzy è utilizzata per la verifica della traduzione. Fuzzy attiva automaticamente il processo di non verifica all'interno di Phrase.

#, fuzzy
msgid "app_title"
msgstr "Il mio progetto software"
Questo articolo ti è stato utile?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.