Una volta ottenute le traduzioni AI da PTC, puoi importare le tue traduzioni su WordPress.org o raggrupparle con il tuo plugin o tema. Questa pagina spiega entrambi i flussi di lavoro e ti aiuta a scegliere l’approccio migliore per il tuo progetto.
In questa pagina
Modi per rendere disponibili le traduzioni AI in WordPress
Ci sono due modi per rendere disponibili le tue traduzioni PTC in WordPress.
Il nostro team ha utilizzato entrambi i metodi in plugin WordPress reali.
- Per WPML Multilingual e Multicurrency per WooCommerce (WCML), includiamo le traduzioni con il plugin
- Per WPML Multilingual per Easy Digital Downloads, importiamo le traduzioni su WordPress.org utilizzando un account CLPTE
Noi consigliamo di includere i file di traduzione all’interno del tuo plugin o tema perché ti offre un processo di rilascio più facile e veloce.
Segui i passaggi e i tempi stimati di seguito per scegliere l’opzione più adatta al tuo progetto.
Opzione 1 — come importare le traduzioni su WordPress.org
To import and manage your own translations on WordPress.org, you’ll need a separate account with CLPTE (Cross-Locale Project Translation Editor) rights.
Passaggio 1
Crea un nuovo account CLPTE su WordPress.org
Se hai già un account, potresti riscontrare problemi come la disabilitazione del tuo nuovo account. Questo accade perché WordPress non consente account multipli.
Per risolvere questo problema, contatta forum-password-resets@wordpress.org e spiega che stai cercando di creare un account CLPTE. È utile condividere la documentazione rilevante di Polyglots con il moderatore e pingare il team Polyglots in Slack.
Tempo stimato: ~ 3–5 giorni
(include il tempo di attesa se il tuo nuovo account è disabilitato)
Passaggio 2
Fai una richiesta CLPTE sul blog dei polyglot
Con il tuo account abilitato, fai una richiesta CLPTE per il tuo plugin o tema sulla prima pagina del blog Polygots. Riceverai una notifica quando la tua richiesta sarà approvata.
Vedi la richiesta CLPTE fatta dal nostro team.
Tempo stimato: ~ 1 giorno
Passaggio 3
Importa le tue traduzioni in WordPress.org
Per importare le traduzioni create da PTC in WordPress.org:
- Accedi a https://translate.wordpress.org/ utilizzando il tuo account CLPTE.
- Vai alla pagina del progetto di traduzione del tuo plugin o tema (ad esempio, WPML Multilingual per Easy Digital Downloads).
- Apri il progetto locale per ogni lingua che hai tradotto.
- Scorri verso il basso e fai clic su Importa Traduzioni.
- Carica i tuoi file
.poo.mo. - Ripeti i passaggi per ogni lingua.
Tempo stimato: ~ 10–30 minuti
Opzione 2 — come includere le traduzioni con il tuo plugin o tema WordPress
Puoi includere le traduzioni direttamente nel tuo plugin o tema in modo che gli utenti le ricevano come parte del tuo prodotto. Basta inserire i file di traduzione nella tua cartella /languages/ e aggiungere un piccolo frammento di codice per fare in modo che WordPress li carichi invece delle traduzioni della comunità.
Passaggio 1
Aggiungi i tuoi file di traduzione
Inserisci i tuoi file .mo compilati all’interno della directory /languages/ del tuo plugin o tema.
Questa struttura assicura che WordPress possa trovarli quando carica il tuo text domain.
Esempio:
my-plugin/
├─ my-plugin.php
├─ languages/
│ ├─ my-plugin-es_ES.mo
│ ├─ my-plugin-fr_FR.mo
Suggerimento: Usa lo stesso text domain nei nomi dei file di traduzione e nelle tue chiamate load_plugin_textdomain() o load_theme_textdomain().
Tempo stimato: ~ Pochi minuti
Passaggio 2
Assicurati che WordPress carichi i tuoi file di traduzione
Per impostazione predefinita, WordPress dà la priorità alle traduzioni della community da WordPress.org rispetto a quelle in bundle.
Per assicurarti che il tuo plugin o tema utilizzi i file .mo in bundle invece delle traduzioni della community, aggiungi il filtro load_textdomain_mofile.
Esempio di utilizzo per i plugin
Aggiungi questo snippet al tuo file plugin principale (ad esempio, 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 );
Esempio di utilizzo per i temi
Aggiungi questo snippet al file functions.php del tuo 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 );
Tempo stimato: ~ Pochi minuti
Passaggio 3
Conferma che le tue traduzioni si carichino correttamente
Conferma che WordPress stia caricando le traduzioni che hai incluso nel tuo plugin o tema invece delle traduzioni della comunità da translate.wordpress.org.
Puoi farlo installando il tuo plugin o tema su un sito di test e impostando WordPress su una delle lingue che hai fornito.
- Vai su Impostazioni → Generale → Lingua del sito e seleziona una lingua che hai incluso nella tua cartella
/languages/. - Carica una pagina o schermata che contenga stringhe che sai essere tradotte nel tuo file
.mo. - Verifica che le stringhe appaiano nella lingua corretta e corrispondano alle traduzioni che hai aggiunto.
Se vedi ancora vecchie traduzioni della comunità, rivedi lo snippet di codice nel passaggio precedente per assicurarti che punti correttamente WordPress ai tuoi file .mo in bundle.
In alternativa, puoi installare un plugin come Query Monitor. Apri qualsiasi pagina e guarda sotto Lingue per vedere quale file .mo viene caricato per il tuo dominio di testo.
Tempo stimato: ~ Pochi minuti