Localizzazione: voglio il backend: inglese e frontend in una lingua definita


9

Mi piacerebbe avere il backend di Wordpress in inglese e usare un locale diverso per il frontend

finora ho capito che forse avrei potuto farlo impostando in wpconfig le impostazioni locali che voglio usare nel frontend, quindi aggiungere in funzioni.php qualcosa del genere:

add_filter('locale', 'mytheme_backendlocale');
function mytheme_backendlocale($locale) {
    if ( is_admin() ) {
        return 'en_US';
    }
    return $locale;
}

è questa la migliore pratica per ottenere ciò che voglio o dovrei farlo diversamente?

Risposte:



1

C'è un plugin che potrebbe essere quello che ti serve.

http://wordpress.org/extend/plugins/fe-be-localization/


bene grazie, darò un'occhiata al codice, ma forse non lo userò poiché non è aggiornato dal 2008 e supporta solo fino a WP 2.6 - se mi piace e ho la possibilità forse proverò a parlare con lo sviluppatore e aggiornalo
unfulvio

oh appena controllato, fa praticamente la stessa cosa della funzione che ho scritto sopra, in un altro stile
unfulvio

Sì, è vecchio, ma sembra l'unico in circolazione. Se il codice è come l'hai fatto, immagino che la risposta sia che sei sulla buona strada ed è come l'avrei fatto .. non riesco a pensare a un modo migliore.
Andy James,

1

Fino ad ora, penso che la risposta di Fulvio sia la migliore. Sto usando quel filtro anche su una configurazione multisito, con una sola riga:

add_filter('locale', 'set_admin_locale');
function set_admin_locale($locale) {
  return 'en_US';
}

Fondamentalmente a volte, e in questo caso, utilizzo multisito per siti multilingue anziché plug-in. Inoltre, ho 1 tema singolo per ogni lingua (di solito temi figlio della lingua principale). Quindi ogni sito della rete ha una sua lingua, ma dal lato amministratore ho bisogno di tutte le interfacce in italiano.

Quindi quello che faccio è:

  1. Non uso la costante generale WPLANG in wp-config.php
  2. Ho impostato l'italiano in ogni sito della rete
  3. Nelle funzioni.php di ogni tema utilizzo il filtro sopra per controllare la lingua / le impostazioni locali del frontend.

NOTA: quel filtro non cambierà la lingua dell'amministratore, quindi non è necessario verificare se is_admin ()


0

Se qualcuno lo sta ancora cercando, ecco cosa dovresti fare dalla versione 4.7

function wp_noshor_redefine_locale($locale) {
    if( is_admin() ):
        switch_to_locale('en_US');
    endif;
}
add_filter('init','wp_noshor_redefine_locale');

Questo costringe il dashboard a caricarsi in inglese, quindi puoi andare alle impostazioni, impostare la lingua che desideri.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.