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

  • msgid_as_default

  • is_bilingual_file

.PO (Portable Object) è il formato standard di file per la localizzazione con GNU gettext, una libreria GNU di origine aperta progettata per semplificare il processo di localizzazione. Con GNU gettext, Localizable Strings vengono estratte dal codice origine in un file PO per la traduzione. Un file .PO è una serie di coppie chiave-valore. La chiave msgid è dove viene posta la stringa di origine mentre il valore msgstr è dove va la traduzione.

gettext estrae Strings dal codice origine in un .POT (modello di oggetto portatile). In base alle impostazioni locali definite, gettext converte quindi il file .POT in file .PO specifici delle impostazioni locali da caricare in un CAT tool per la traduzione. Dopo la traduzione, gettext converte i file PO tradotti in file .MO (file oggetto macchina) eventualmente utilizzati 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 delle impostazioni locali. Tradurre direttamente un file .POT e rinominarlo secondo le impostazioni locali successive non genera problemi. phrase supporta la traduzione di:

  • File PO

  • File PO bilingue

  • File .POT 

  • File .MO leggibili automaticamente

msgctxt verrà usato 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 di traduzione dal valore msgid invece che da msgstr

Identificatore

is_bilingual_file

Tipo

Booleano

Caricamento

vero

Download

false

Predefinito

false

Descrizione

Sia la traduzione di origine che quella di destinazione saranno importate dal file caricato: il contenuto origine sarà prelevato dal valore msgid, destinazione dal valore del msgstr

Campione di codice

msgid ""
msgstr ""
"Language: Inglese\n"
"Versione MIME: 1,0\n"
"Tipo di contenuto: testo/piano; charset = UTF-8\n"
"Codifica trasferimento contenuti: 8bit\n"
"Forme plurali: 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 descrizione incredibile per questa chiave!
msgid "key_with_description"
msgstr "Guarda qui! 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, this chiave is nested even deep."

msgid "nested.key"
msgstr "This chiave is nested inside a namespace."

msgid: "null_translation"
msgstr ""

msgid "pluralized_key"
msgid_plural ""
msgstr[0] "Trovata solo una pluralizzazione."
msgstr[1] "Wow, you have %s pluralizations!"

msgid "sample_collection"
msgstr "--\n- first item\n- second item\n- third item\n"

msgid "simple_key"
msgstr "chiave semplice, messaggio semplice. Semplice, no?",

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

Tipica voce gettext: 

# descrizione (opzionale)
msgid "nomechiave"
msgstr "La mia traduzione"

gettext Header

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

msgid ""
msgstr ""
"Lingua: en\n"
"Versione MIME: 1,0\n"
"Tipo di contenuto: testo/piano; charset = UTF-8\n"
"Codifica trasferimento contenuti: 8bit\n"
"Forme plurali: nplurals=2; plural=(n != 1);\n"
"X-Generator: PhraseApp (phraseapp.com)\n"

Descrizioni

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

# This is my description
msgid "app_title"
msgstr "Il mio progetto software"

Contesto

gettext utilizza la notazione msgctxt per distinguere contesti diversi 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 di pipe ||:

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

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

Per aggiungere l'msgctxt a una nuova chiave, anteponilo al nome della chiave:

my_context||my_key_name

Risultato output gettext:

...
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 del traduttore. Fuzzy invoca automaticamente il processo di annullamento della verifica all'interno dell'app.

#, 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.