Tipi di file supportati (Strings)

File .PO - gettext (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 Scarica. A seconda del metodo di caricare/Scarica (API, CLI, sincronizzazione Repo ecc.), possono essere specificate nei parametri di query caricare, Scarica o nel file di configurazione phrase.yml.

  • msgid_as_default

  • is_bilingual_file

.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 Strings localizzabili vengono estratte dal codice di origine in un file PO per la traduzione. Un file .PO è una serie di coppie chiave-valore. La chiave msgid è dove viene inserita la stringa di origine, mentre il valore msgstr è dove va la traduzione.

gettext estrae le Strings dal codice di origine in un .POT (modello di oggetto portabile). In base alle impostazioni locali definite, gettext converte quindi il file .POT in file .PO specifici per le impostazioni locali da caricare su 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, eccetto per il fatto che i file .POT sono generalmente utilizzati da gettext per generare file .PO specifici per le impostazioni locali. La traduzione diretta di un file .POT e la sua ridenominazione in base alle impostazioni locali previste in seguito non genera problemi. Phrase supporta la traduzione di:

  • File .PO

  • File .PO bilingue

  • File .POT 

  • File .MO leggibili dalla macchina

msgctxt verrà utilizzato come prefisso della 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

is_bilingual_file

Tipo

Booleano

Caricamento

vero

Download

false

Predefinito

false

Descrizione

Sia le traduzioni di origine che di destinazione verranno importate dal file caricato: il contenuto di origine verrà prelevato dal valore msgid, quello di destinazione dal valore di msgstr

Campione di codice

msgid ""
msgstr ""
"Language: Italian\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 è la fantastica descrizione per questa chiave!
msgid "key_with_description"
msgstr "Dai un'occhiata!" Questa chiave ha una descrizione! (Almeno in alcuni formati)"

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

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

msgid "nested.key"
msgstr "Questa chiave è nidificata all'interno di 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. Semplice, no? 2"

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

Voce gettext tipica: 

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

Intestazione gettext

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

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 delle chiavi

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

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

Context

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

msgctxt "menu"
msgid \"Open\"
msgstr \"Sono una traduzione\"

msgctxt \"forum\"
msgid \"Open\"
msgstr \"Sono un'altra traduzione\"

Per aggiungere msgctxt a una nuova chiave, anteponilo al 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 \"new_messages\"
msgid_plural ""
msgstr[0] \"Hai un nuovo messaggio\"
msgstr[1] \"Hai %{count} nuovi messaggi\"

Fuzzy

La parola chiave fuzzy viene utilizzata per la verifica della traduzione. Fuzzy richiama 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.