Lingua diversa per Frontend vs Backend


9

Uso un pacchetto WordPress inglese e questo va molto bene.

Ora, vorrei tradurre alcuni elementi del blog (come "pubblicato il", "commenti") ecc., Ma lasciare l'interfaccia del dashboard intatta in inglese.

Esiste un meccanismo per tradurre solo gli elementi del sito?

Risposte:


19

Puoi fare quanto segue:

  1. Ottieni il language pack (ad esempio de_DE.mo) da wordpress.org . Se il language pack non è disponibile come download autonomo, è possibile utilizzare anche il .mofile in bundle nel file ZIP di WordPress per la propria lingua. Situato sotto wp-content/languages.
  2. Spostare il .mofile wp-content/languages/sull'installazione di WordPress predefinita (in inglese).
  3. Cambia la WPLANGcostante nella wp-config.phpnuova locale (ad es. de_DE)
  4. Nel tuo functions.phpaggiungi il seguente filtro:

functions.php

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

    return $locale;
}

ora, cosa intendi con "installa il tuo language pack"? dovrei disinstallare il wordpress e installare il nuovo wordpress, ma dire il francese? Non desidero disinstallare il mio wordpress inglese.
serhio,

1
No, non è necessario reinstallare nulla. Basta scaricare WP nella lingua desiderata e copiare il file della lingua dall'installazione wp-content/languages/WP inglese originale e modificarlo wp-config.phpcome descritto sopra. O semplicemente scarica il fr_FR.mofile da questo sito .
rofflox,

Non avevo la wp-content/languages/cartella, quindi dovrei crearla. Dopo aver eseguito quella manipolazione, ho il contrario di ciò che vorrei. Ora ho il pannello di amministrazione in rumeno, ma la pagina (anche registrata o meno) - in inglese. Forse dovrei tradurre il tema ...
serhio

Certo, hai bisogno del tema tradotto. Ma il backend dovrebbe essere in inglese e non rumeno se si imposta is_admin()nel filtro sopra.
rofflox,

1
vedi anche la mia risposta qui sotto per WordPress v> = 4.7, che consente agli utenti di vedere il Backend nella loro lingua
Serge

6

1
Benvenuti nel nostro sito. Per favore, aggiungi una spiegazione: cosa fanno questi plugin, quali sono le differenze?
fuxia

1
Penso che stiano facendo esattamente lo stesso. (Uso solo il primo ...) È possibile installare file di lingue diverse e con i plugin è possibile modificare la lingua per il backend in modo indipendente. Entrambi i plug-in forniscono switch Dashboard per la lingua, una casella di selezione della lingua di accesso e un componente aggiuntivo alla pagina del profilo per la lingua specifica dell'utente.
zodiac1978,

6

Dalla versione 4.7 di WordPress , diversi utenti Backend possono impostare la propria lingua di amministrazione preferita utilizzando il selettore della lingua nativa di WordPress. In questo modo, vedono l'interfaccia di WordPress nella loro lingua e possono gestire più facilmente i contenuti. Lingua diversa per gli utenti Backend in Wordpress indipendentemente dalla lingua Frontend


Il codice imposta che per tutti gli utenti a livello globale, questo funziona solo su un singolo account.
Motaz M. El Shazly,

4

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.


4

In WordPress 5.x è davvero semplice ottenere una lingua diversa per fronda e back-end

Per cambiare la lingua del sito vai su Impostazioni -> Generali -> Lingua del sito e seleziona la lingua del sito.

inserisci qui la descrizione dell'immagine

Per il Pannello di amministrazione, vai a Utenti -> Il tuo profilo e seleziona la lingua che desideri avere nel Pannello di amministrazione

inserisci qui la descrizione dell'immagine

Quindi tutte le soluzioni di cui sopra sono diventate assolute, ogni utente può impostare la propria lingua per l'interfaccia di WordPress


Questa dovrebbe essere la risposta selezionata per il 2019+. Nessun plugin richiesto e la soluzione è così semplice. Grazie!
Stason

Questo lo cambia per ogni utente individualmente, il codice lo cambierà automaticamente a tutti gli utenti.
Motaz M. El Shazly,

2

Una risposta aggiornata per Wordpress 4+

La risposta di @ rofflox è ancora corretta, ma ci sono state alcune modifiche a Wordpress che possono avere un effetto quando si utilizza la sua funzione "così com'è" da WP 4.0.

La costante wp-config WPLANGè stata deprecata a favore dell'impostazione della lingua del sito tramite un menu a discesa in Settings->General. Ciò significa che, dopo aver cambiato la lingua del tuo sito per Svenka (per esempio), amministratore del tuo sito sarà apparire in inglese ... ma che a discesa la lingua del sito in Settings->Generalsarà pre-selezionata come inglese (Stati Uniti) . Ciò significa che, se in seguito si apportano modifiche alle impostazioni generali e si dimentica di selezionare nuovamente Svenka come lingua del proprio sito, l'intero sito tornerà in inglese.

Consiglierei di creare funzioni nel tuo functions.phpfile in questo modo:

//    Set the locale; original function from @rofflox

function vnmFunctionality_setLocale($locale) {
    if (is_admin()) {
        return 'en_US';
    }

    return $locale;
}

add_filter('locale', 'vnmFunctionality_setLocale');

// Enqueue a script to force-set the Language dropdown on the General Options page, just in case we forget about it later.

function vnmFunctionality_countryReminderScript($hook) {
    if ($hook != 'options-general.php') {
        return;
    }

    wp_enqueue_script('lang-reminder-script', get_template_directory() . '/js/site-language.js', array('jquery'), '1.0.0', true);

    wp_localize_script('lang-reminder-script', 'langObject', array(
        'lang'  => get_option('WPLANG'),
    ));
}

add_action('admin_enqueue_scripts', 'vnmFunctionality_countryReminderScript');

E poi un file Javascript chiamato site-language.js(salvato in una /js/cartella nel tuo tema) in questo modo:

jQuery(document).ready(function($) {
    $('select#WPLANG').val(langObject.lang).change();
});

Ciò dovrebbe preselezionare automaticamente la lingua di visualizzazione corrente del sito nell'elenco a discesa nella pagina Opzioni, in modo da non doverti ricordare di farlo manualmente ogni volta.


-1

Ciò di cui hai bisogno è tradurre il tuo tema. Se il tuo tema ha un file .pot, è facile da tradurre. Basta seguire i passaggi a

http://www.appthemes.com/blog/how-to-translate-a-wordpress-theme/

Altrimenti, dovrai modificare i file del tema e cambiare le parole in ogni istanza.


il mio tema (ventisei) ha la cartella "wp-content / themes / twentyten / languages" e all'interno c'è solo un file .pot ...
serhio
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.