Come importare le traduzioni di temi e plugin in WordPress.org
Due vie mettono i file .po e .mo tradotti davanti agli utenti di WordPress.org. Richieda l'accesso CLPTE (1-2 settimane) oppure includa i file .mo nel Suo rilascio (entro il giorno successivo). Entrambe funzionano. Il compromesso è tra distribuzione canonica e velocità. Questa guida copre quando usare ciascuna via e i passaggi dettagliati per entrambe.
Ha tradotto il Suo plugin o tema con PTC (Private Translation Cloud) e dispone dei file .po e .mo. Gli utenti che installano il Suo plugin da WordPress.org non vedono quelle traduzioni per impostazione predefinita. I pacchetti linguistici di WordPress.org e i Suoi file inclusi sono due canali di distribuzione distinti. Ne scelga uno in base alla Sua cadenza di rilascio e al Suo pubblico.
Via 1: pubblicare le traduzioni tramite i pacchetti linguistici di WordPress.org (CLPTE)
Tempo totale: 4-6 giorni.
Passaggio 1: crei un account CLPTE
Il ruolo CLPTE (Cross-Locale Project Translation Editor) Le consente di inviare traduzioni a nome del Suo tema o plugin per ogni lingua di destinazione da un unico account. Un normale account Translation Editor è per singola lingua; CLPTE no.
Se ha già un account su WordPress.org, potrebbe imbattersi in un problema per cui il Suo nuovo account CLPTE viene disabilitato. WordPress non consente account multipli. Per risolvere, scriva un'e-mail a forum-password-resets@wordpress.org e spieghi che sta cercando di creare un account CLPTE. Condividere la documentazione Polyglots pertinente con il moderatore e contattare il team Polyglots su Slack aiutano entrambi.
Tempo stimato: ~3-5 giorni (incluso il tempo di attesa se il Suo nuovo account viene disabilitato).
Passaggio 2: richieda l'accesso CLPTE sul blog Polyglots
Una volta abilitato il Suo account, pubblichi una richiesta sul blog Polyglots di WordPress.org. Segua il loro modello:
PTE/CLPTE Request
Plugin URL: https://wordpress.org/plugins/my-plugin/
Authors / Editors: @your-wp-username
Type of request: CLPTE
Riceve una notifica quando la Sua richiesta viene approvata.
Tempo stimato: ~1 giorno (il Polyglots Global Team esamina le richieste in batch).
Passaggio 3: importi i file .po tradotti
- Acceda a
https://translate.wordpress.org/con il Suo account CLPTE. - Vada alla pagina del progetto di traduzione del Suo plugin o tema (ad esempio,
translate.wordpress.org/projects/wp-plugins/{your-plugin-slug}/). - Apra il progetto locale per ogni lingua che ha tradotto.
- Scorra verso il basso e clicchi su Import Translations.
- Carichi il Suo file
.po(o.mo). - Contrassegni le stringhe importate come "current" nell'editor di traduzione. Le stringhe approvate entrano nella successiva generazione del pacchetto linguistico (di norma giornaliera).
- Ripeta per ogni lingua di destinazione. Ogni lingua ha la propria pagina di traduzione.
Tempo stimato: ~10-30 minuti per lingua.
Dopo una finestra del pacchetto linguistico di 24-48 ore, i siti che usano il Suo plugin iniziano a ricevere le nuove traduzioni tramite gli aggiornamenti automatici dei pacchetti linguistici di WordPress. Gli utenti non vedono alcun avviso di aggiornamento. Le traduzioni compaiono semplicemente.
Cosa CLPTE fa e non fa per Lei
- Non può sostituire le traduzioni della community esistenti. Vengono importate solo le stringhe non tradotte. Aggiornare una traduzione della community esistente richiede il processo standard e l'attesa dell'esame da parte del team della lingua.
- Gli aggiornamenti richiedono caricamenti manuali a ogni rilascio. Ogni nuovo rilascio comporta un nuovo ciclo di caricamenti.
- La creazione e l'approvazione dell'account possono richiedere fino a una settimana.
Via 2: includere i file .mo nel Suo plugin o tema
Se ha bisogno di traduzioni online più velocemente di quanto consenta CLPTE, o se preferisce non dipendere dalla pipeline di distribuzione di WordPress.org, includa i file .mo direttamente nel rilascio del Suo plugin o tema. Tempo totale: 15-30 minuti.
Passaggio 1: aggiunga i file .mo alla directory /languages/
Collochi i Suoi file .mo compilati nella directory /languages/ del Suo plugin o tema affinché WordPress li trovi durante il caricamento del Suo dominio di testo:
my-plugin/
├─ my-plugin.php
├─ readme.txt
├─ languages/
│ ├─ my-plugin-es_ES.mo
│ ├─ my-plugin-es_ES.po
│ ├─ my-plugin-fr_FR.mo
│ ├─ my-plugin-fr_FR.po
│ ├─ my-plugin-de_DE.mo
│ └─ my-plugin-de_DE.po
Usi lo stesso dominio di testo nei nomi dei Suoi file di traduzione e nelle Sue chiamate load_plugin_textdomain() o load_theme_textdomain().
Passaggio 2: preferisca i Suoi file inclusi alle traduzioni della community
Per impostazione predefinita, WordPress dà priorità alle traduzioni della community di WordPress.org rispetto a quelle incluse. Per assicurarsi che il Suo plugin o tema usi invece i file .mo inclusi, aggiunga il filtro load_textdomain_mofile.
Per i plugin, aggiunga al file principale del Suo plugin (ad es., my-plugin.php):
function my_plugin_load_embedded_translation_file( $mofile, $domain ) {
if ( 'my-domain' === $domain && false !== strpos( $mofile, WP_LANG_DIR . '/plugins/' ) ) {
$locale = apply_filters( 'plugin_locale', determine_locale(), $domain );
$local_mofile = WP_PLUGIN_DIR . '/' . dirname( plugin_basename( __FILE__ ) ) .
'/languages/' . $domain . '-' . $locale . '.mo';
if ( file_exists( $local_mofile ) ) {
return $local_mofile;
}
}
return $mofile;
}
add_filter( 'load_textdomain_mofile', 'my_plugin_load_embedded_translation_file', 10, 2 );
Per i temi, aggiunga al functions.php del Suo tema:
function my_theme_load_embedded_translation_file( $mofile, $domain ) {
if ( 'my-domain' === $domain && false !== strpos( $mofile, WP_LANG_DIR . '/themes/' ) ) {
$locale = apply_filters( 'theme_locale', determine_locale(), $domain );
$local_mofile = get_template_directory() . '/languages/' . $locale . '.mo';
if ( file_exists( $local_mofile ) ) {
return $local_mofile;
}
}
return $mofile;
}
add_filter( 'load_textdomain_mofile', 'my_theme_load_embedded_translation_file', 10, 2 );
Confermi inoltre che il Suo plugin o tema carichi il dominio di testo sull'hook corretto:
add_action( 'init', function() {
load_plugin_textdomain(
'my-plugin',
false,
dirname( plugin_basename( __FILE__ ) ) . '/languages'
);
} );
Passaggio 3: verifichi che le traduzioni incluse si carichino su un sito di test
Installi il Suo plugin o tema su un sito di test e cambi WordPress in una delle lingue che ha fornito:
- Vada in Impostazioni > Generali > Lingua del sito e selezioni una lingua il cui file
.mosi trova nella Sua cartella/languages/. - Carichi una pagina o una schermata che contiene stringhe che sa essere tradotte.
- Confermi che le stringhe compaiano nella lingua corretta e corrispondano alle traduzioni che ha aggiunto.
Se vede ancora vecchie traduzioni della community, riveda lo snippet del Passaggio 2. Deve puntare correttamente WordPress ai Suoi file .mo inclusi.
Effettui il commit dei file .mo, tagghi un rilascio e lo invii a wordpress.org tramite SVN come fa di solito.
Il compromesso tra velocità e distribuzione canonica
- Pro: istantaneo. Le nuove traduzioni sono online nel momento in cui gli utenti aggiornano il Suo plugin (o lo installano per la prima volta). Nessuna attesa di 1-2 settimane per CLPTE. Nessun ciclo di approvazione del team Polyglots.
- Pro: Lei controlla il workflow. La cadenza di traduzione corrisponde esattamente alla Sua cadenza di rilascio.
- Pro: nessuna dipendenza dal badge del plugin. Le traduzioni funzionano indipendentemente dal fatto che il Suo plugin abbia o meno le autorizzazioni CLPTE.
- Contro: la dimensione del file del plugin cresce. Ogni
.moè piccolo (tipicamente 5-50 KB), ma 20 lingue aggiungono ~500 KB al download. - Contro: nessun aggiornamento automatico delle traduzioni tra i rilasci del plugin. Con CLPTE, le traduzioni aggiornate su wordpress.org si propagano agli utenti entro 48 ore, anche se non rilascia una nuova versione. Con l'inclusione, le traduzioni si aggiornano solo quando rilascia una nuova versione.
- Contro: nessun badge "tradotto". WordPress.org mostra un badge di completamento della traduzione nelle schede dei plugin basato sulla copertura dei pacchetti linguistici, non sui file
.moinclusi. La sola inclusione non fa ottenere il badge.
Quale via corrisponde alla Sua cadenza di rilascio
| Situazione | Raccomandazione |
|---|---|
| Distribuzione canonica a lungo termine; vuole il badge di traduzione | CLPTE - segua la candidatura Polyglots |
| Rilascia aggiornamenti del plugin mensilmente o più spesso, e la cadenza di traduzione può tenere il passo | Includere i file MO |
| Ha bisogno di traduzioni online questa settimana e non può aspettare CLPTE | Includa i file MO ora, richieda CLPTE in parallelo |
| Vuole entrambi | Usi entrambi - non si escludono a vicenda |
L'approccio duale è comune: includere i file MO per la disponibilità immediata e inviare a CLPTE per la distribuzione canonica. Gli utenti ottengono le traduzioni incluse all'aggiornamento; l'overlay del pacchetto linguistico le aggiorna tra i rilasci.
Traduca il Suo prossimo rilascio di plugin con PTC
Inizi la Sua prova gratuita di 30 giorni - 20.000 parole offerte, nessuna carta di credito. Generi il Suo file .pot, lo carichi su PTC, ottenga file .po e .mo tradotti in pochi minuti, pronti per CLPTE o l'inclusione.
Correlati:
- Internazionalizzazione di WordPress: come tradurre temi e plugin - il tutorial principale che copre la generazione di POT, i domini di testo e il caricamento delle traduzioni.
- Le traduzioni del plugin WordPress non compaiono? Risolvere le traduzioni mancanti - guida alla risoluzione dei problemi di caricamento più comuni.
- GlotPress vs PTC per la traduzione di plugin/temi WordPress - quando scegliere la traduzione della community anziché PTC.
- Manuale di richiesta PTE/CLPTE dei Polyglots di WordPress.org - il processo di candidatura CLPTE canonico.