Diferentes Idiomas para Frontend vs Backend

27 ago 2011, 19:42:43
Vistas: 47.5K
Votos: 17

Uso un paquete de WordPress en inglés y esto funciona muy bien.

Ahora, me gustaría traducir algunos elementos del blog (como "publicado en", "comentarios", etc.), pero mantener la interfaz del panel de administración intacta en inglés.

¿Existe algún mecanismo para traducir solo los elementos del sitio web?

0
Todas las respuestas a la pregunta 7
10
22

Puedes hacer lo siguiente:

  1. Obtener el paquete de idioma (por ejemplo de_DE.mo) desde wordpress.org. Si el paquete de idioma no está disponible como descarga independiente, también puedes usar el archivo .mo que viene incluido en el archivo ZIP de WordPress para tu idioma. Se encuentra en wp-content/languages.
  2. Mover el archivo .mo a wp-content/languages/ de tu instalación predeterminada de WordPress (en inglés).
  3. Cambiar la constante WPLANG en wp-config.php al nuevo locale (por ejemplo de_DE)
  4. En tu archivo functions.php agregar el siguiente filtro:

functions.php

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

    return $locale;
}
27 ago 2011 21:00:06
Comentarios

ahora, ¿qué quieres decir con "instalar tu paquete de idioma"? ¿debería desinstalar WordPress e instalar el nuevo WordPress, pero en francés? No quiero desinstalar mi WordPress en inglés.

serhio serhio
2 sept 2011 18:01:19

No, no tienes que reinstalar nada. Solo descarga WP en tu idioma deseado y copia el archivo de idioma desde wp-content/languages/ a tu instalación original en inglés de WP y modifica wp-config.php como se describió anteriormente. O simplemente descarga el archivo fr_FR.mo desde este sitio.

Roman Roman
2 sept 2011 18:05:22

No tenía la carpeta wp-content/languages/, así que debería crearla. Después de realizar esa manipulación, obtuve lo contrario de lo que quería. Ahora tengo el panel de administración en rumano, pero la página (tanto si estoy logueado como si no) en inglés. Quizás debería traducir el tema...

serhio serhio
7 sept 2011 12:00:49

Por supuesto, necesitas el tema traducido. Pero el backend debería estar en inglés, no en rumano, si configuras is_admin() en el filtro anterior.

Roman Roman
7 sept 2011 12:16:06

Agregué este código al final del archivo functions.php del tema actual (twenty ten)... ¿Es correcto?

serhio serhio
7 sept 2011 19:58:05

Sí... ¿no funciona? ¿Tienes algún plugin instalado?

Roman Roman
8 sept 2011 00:10:28

Tengo código basado en esto, ponerlo en el functions.php del tema no va a funcionar porque es demasiado tarde. Lo coloqué en un mu-plugin y vi resultados considerablemente mejorados.

Tom J Nowell Tom J Nowell
16 abr 2014 19:26:10

esto no funciona

younes0 younes0
19 nov 2015 19:26:01

tampoco funcionó para mí.

wesamly wesamly
13 dic 2015 09:55:18

consulta también mi respuesta más abajo para WordPress v >= 4.7, que permite a los usuarios ver el Backend en su propio idioma

serge serge
14 ago 2018 12:12:05
Mostrar los 5 comentarios restantes
1
17

Desde la versión 4.7 de WordPress, diferentes usuarios del Backend pueden establecer su propio idioma preferido para el administrador utilizando el selector de idioma nativo de WordPress. De esta manera, ven la interfaz de WordPress en su idioma y pueden gestionar el contenido más fácilmente. Idioma diferente para usuarios del Backend en WordPress independiente del idioma del Frontend

14 ago 2018 12:09:22
Comentarios

El código establece que para todos los usuarios globalmente, esto solo funciona en una cuenta individual.

Motaz M. El Shazly Motaz M. El Shazly
18 dic 2019 22:09:08
2
11

En WordPress 5.x es realmente sencillo obtener diferentes idiomas para el frontend y el backend.

Para cambiar el idioma del sitio, ve a Ajustes → General → Idioma del sitio y selecciona el idioma del sitio.

Selección de idioma del sitio en WordPress

Para el Panel de Administración, ve a Usuarios → Tu perfil y selecciona el idioma que deseas tener en el Panel de Administración.

Configuración de idioma del perfil de usuario

Todas las soluciones anteriores se han vuelto absolutas, cada usuario puede establecer su propio idioma para la interfaz de WordPress.

10 jun 2019 22:41:04
Comentarios

Esta debería ser la respuesta seleccionada para 2019 en adelante. No se requieren plugins y la solución es muy simple. ¡Gracias!

stason stason
4 dic 2019 06:15:18

Esto lo cambia por cada usuario individualmente, el código lo cambiará automáticamente para todos los usuarios.

Motaz M. El Shazly Motaz M. El Shazly
18 dic 2019 22:07:51
Comentarios

Bienvenido a nuestro sitio. Por favor, agrega una explicación: ¿Qué hacen estos plugins y cuáles son las diferencias?

fuxia fuxia
6 oct 2012 17:39:42

Creo que hacen exactamente lo mismo. (Yo solo uso el primero...) Puedes instalar diferentes archivos de idioma y con los plugins puedes cambiar el idioma del backend de forma independiente. Ambos plugins proporcionan selectores de idioma en el Dashboard, una caja de selección de idioma para el inicio de sesión y un complemento en la página de perfil para el idioma específico del usuario.

zodiac1978 zodiac1978
8 oct 2012 09:34:20
0

Si alguien todavía está buscando esto, aquí está lo que deberías hacer desde la versión 4.7

// Función para redefinir el idioma en el área de administración
function wp_noshor_redefine_locale($locale) {
    if( is_admin() ):
        switch_to_locale('en_US'); // Cambiar a inglés en el panel de administración
    endif;
}
// Añadir filtro al iniciar
add_filter('init','wp_noshor_redefine_locale');

Esto fuerza que el panel de control se cargue en inglés, luego puedes ir a ajustes y configurar el idioma que prefieras.

7 abr 2018 04:26:51
0

Una respuesta actualizada para WordPress 4+

La respuesta de @rofflox sigue siendo correcta, pero ha habido algunos cambios en WordPress que pueden afectar al usar su función "tal cual" desde la versión 4.0.

La constante wp-config WPLANG ha quedado obsoleta en favor de establecer el idioma del sitio mediante un desplegable en Ajustes->Generales. Esto significa que, después de cambiar el idioma de tu sitio a Sueco (por ejemplo), el panel de administración de tu sitio aparecerá en inglés... pero ese desplegable de Idioma del sitio en Ajustes->Generales estará preseleccionado como Inglés (Estados Unidos). Eso significa que, si realizas cambios en tus ajustes generales más tarde y olvidas seleccionar Sueco como idioma de tu sitio nuevamente, todo el sitio volverá al inglés.

Recomendaría crear funciones en tu archivo functions.php así:

//    Establecer el locale; función original de @rofflox

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

    return $locale;
}

add_filter('locale', 'vnmFunctionality_setLocale');

// Encolar un script para forzar la selección del desplegable de Idioma en la página de Opciones Generales, por si acaso lo olvidamos más tarde.

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');

Y luego un archivo JavaScript llamado site-language.js (guardado en una carpeta /js/ en tu tema) así:

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

Esto debería preseleccionar automáticamente el idioma actual de visualización del sitio en el desplegable de la página de Opciones, para que no tengas que recordar hacerlo manualmente cada vez.

8 ago 2016 21:13:51
1
-1

Lo que necesitas es traducir tu tema. Si tu tema tiene un archivo .pot, entonces es fácil de traducir. Solo sigue los pasos en:

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

De lo contrario, necesitarás editar los archivos del tema y cambiar las palabras en cada instancia.

3 sept 2011 09:46:15
Comentarios

mi tema (twenty ten) tiene la carpeta "wp-content/themes/twentyten/languages" y solo hay un archivo .pot dentro...

serhio serhio
7 sept 2011 16:12:26