Lingua Diversa per Frontend vs Backend
Utilizzo un pacchetto WordPress in inglese e questo funziona molto bene.
Ora, vorrei tradurre alcuni elementi del blog (come "pubblicato il", "commenti") ecc., ma mantenere l'interfaccia della dashboard intatta in inglese.
Esiste un meccanismo per tradurre solo gli elementi del sito?

Puoi fare quanto segue:
- Scarica il pacchetto linguistico (ad esempio
it_IT.mo
) da wordpress.org. Se il pacchetto linguistico non è disponibile come download separato, puoi anche utilizzare il file.mo
incluso nel file ZIP di WordPress per la tua lingua. Si trova nella cartellawp-content/languages
. - Sposta il file
.mo
nella cartellawp-content/languages/
della tua installazione WordPress predefinita (in inglese). - Modifica la costante
WPLANG
nel filewp-config.php
impostando la nuova localizzazione (ad esempioit_IT
) - Aggiungi il seguente filtro nel tuo file
functions.php
:
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 pacchetto linguistico"? dovrei disinstallare wordpress e installare la nuova versione di wordpress, ma in francese? Non voglio disinstallare il mio wordpress in inglese.

No, non devi reinstallare nulla. Basta scaricare WP nella lingua desiderata e copiare il file della lingua da wp-content/languages/
alla tua installazione originale di WP in inglese e modificare wp-config.php
come descritto sopra. Oppure puoi semplicemente scaricare il file fr_FR.mo
da questo sito.

Non avevo la cartella wp-content/languages/
, quindi ho dovuto crearla. Dopo aver eseguito quella manipolazione, ho ottenuto l'effetto contrario di ciò che volevo. Ora ho il pannello di amministrazione in rumeno, ma la pagina (sia che sia loggato o meno) in inglese. Forse dovrei tradurre il tema...

Ovviamente, hai bisogno che il tema sia tradotto. Ma il backend dovrebbe essere in inglese, non in rumeno, se imposti is_admin()
nel filtro sopra.

Ho aggiunto questo codice alla fine del file functions.php del tema corrente (twenty ten)... È corretto?

Ho un codice basato su questo, inserirlo nel functions.php
del tema non funzionerà perché è troppo tardi. L'ho inserito in un mu-plugin e ho visto risultati notevolmente migliorati.

A partire dalla versione 4.7 di WordPress, diversi utenti del backend possono impostare la propria lingua preferita per l'amministrazione utilizzando il selettore di lingua nativo di WordPress. In questo modo, vedono l'interfaccia di WordPress nella loro lingua e possono gestire più facilmente i contenuti.

In WordPress 5.x è davvero semplice ottenere una lingua diversa per il frontend e il backend
Per cambiare la lingua del sito, vai su Impostazioni -> Generale -> Lingua del sito e seleziona la lingua del sito.
Per il Pannello di Amministrazione, vai su Utenti -> Il tuo Profilo e seleziona la lingua che desideri per il Pannello di Amministrazione
Quindi tutte le soluzioni sopra indicate sono diventate obsolete, ogni utente può impostare la propria lingua per l'interfaccia di WordPress

Questa dovrebbe essere la risposta selezionata per il 2019 e versioni successive. Non sono richiesti plugin e la soluzione è così semplice. Grazie!

Puoi utilizzare questi plugin per quello: http://wordpress.org/extend/plugins/kau-boys-backend-localization/ oppure http://wordpress.org/extend/plugins/wp-native-dashboard/

Benvenuto nel nostro sito. Aggiungi una spiegazione: Cosa fanno questi plugin, quali sono le differenze?

Penso che facciano esattamente la stessa cosa. (Io uso solo il primo...) Puoi installare diversi file di lingua e con i plugin puoi cambiare la lingua per il backend in modo indipendente. Entrambi i plugin forniscono switch per la lingua nel Dashboard, una casella di selezione della lingua per il login e un add-on alla pagina del profilo per la lingua specifica dell'utente.

Se qualcuno sta ancora cercando questa soluzione, 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 forza la dashboard a caricarsi in inglese, dopodiché puoi andare nelle impostazioni e selezionare la lingua che preferisci.

Una risposta aggiornata per WordPress 4+
La risposta di @rofflox è ancora corretta, ma ci sono stati alcuni cambiamenti in WordPress che possono avere un effetto quando si utilizza la sua funzione "così com'è" dalla versione 4.0.
La costante wp-config WPLANG
è stata deprecata a favore dell'impostazione della lingua del sito tramite un menu a discesa in Impostazioni->Generale
. Ciò significa che, dopo aver cambiato la lingua del tuo sito in Svedese (per esempio), l'area di amministrazione del sito apparirà in inglese... ma quel menu a discesa Lingua del sito in Impostazioni->Generale
sarà pre-selezionato come Inglese (Stati Uniti). Questo significa che, se in seguito apporti modifiche alle impostazioni generali e dimentichi di selezionare nuovamente Svedese come lingua del sito, l'intero sito tornerà all'inglese.
Consiglierei di creare funzioni nel tuo file functions.php
come segue:
// Imposta la localizzazione; funzione originale di @rofflox
function vnmFunctionality_setLocale($locale) {
if (is_admin()) {
return 'en_US';
}
return $locale;
}
add_filter('locale', 'vnmFunctionality_setLocale');
// Carica uno script per forzare l'impostazione del menu a discesa Lingua nella pagina Opzioni Generali, nel caso ci dimentichiamo in seguito.
function vnmFunctionality_countryReminderScript($hook) {
if ($hook != 'options-general.php') {
return;
}
wp_enqueue_script('lang-reminder-script', get_template_directory_uri() . '/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 cartella /js/
nel tuo tema) come segue:
jQuery(document).ready(function($) {
$('select#WPLANG').val(langObject.lang).change();
});
Questo dovrebbe pre-selezionare automaticamente la lingua corrente del sito nel menu a discesa nella pagina Opzioni, così che non sia necessario ricordarsi di farlo manualmente ogni volta.

Ciò di cui hai bisogno è tradurre il tuo tema. Se il tuo tema ha un file .pot, allora è facile da tradurre. Segui semplicemente i passaggi su
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.
