Cómo traducir un theme de Wordpress?

  • Autor Autor ramonjosegn
  • Fecha de inicio Fecha de inicio
ramonjosegn

ramonjosegn

Sigma
Verificación en dos pasos activada
Veo que algunos themes de Wordpress incluyen los archivos para traducir el propio theme

en_EN.po
en_EN.mo

bien, si los pasos a español, cuáles son los pasos para que el theme me cargue el nuevo idioma?

gracias
 
hola ramon...

Lo que desbes hacer es ir al directorio WP Content y aqui creas un nuevo directorio que se llame
languages y en este cargas el archivo es_ES.mo .

luego te vas al directorio donde tienes instalado el blog y en esta parte encontraras un archivo que se llama
wp-config.php , este lo descargas a tu pc y editas la linea 72 que dice define ('WPLANG', '');

y donde estan las comillas copias es_ES ====> ('WPLANG', 'es_ES'); y listo vuelves a subir el archivo a tu hosting. 😀
 
Cierto, tienes que hacer lo que fabianpena te indica, lo único adicional es que cuando edites el wp-config.php, lo hagas en un block de notas, ya que he visto casos que cuando lo editan en notepad cambia la configuracion de lineas y te creas un problema. Suerte.
 
Primero si tu WordPress esta en español debe de tener en wp-config.php
PHP:
define ('WPLANG', 'es_ES');
y ahora solo traduce los archivos en_EN.po
en_EN.mo y los renombras a es_ES.po es_ES.mo y el instantaneamente deberia funcionar la traduccion siempre y cuando el Theme tenga la capacidad de esto.
 
No es cierto!

En wp-content/languages van los archivos de lenguajes de WordPress. Si reemplazos los archivos de ahí con los de tu tema, WP va a empezar a hacer locuras o por lo menos regresa al inglés.

Si los temas tienen su propio archivo de idioma, lo puedes colocar en el directorio del tema, a veces incluso funcionan en el directorio raíz de wp.

Obvio que si tu tema viene con un archivo po o mo es que tiene capacidades i18n.
Y obvio, tiene que estar definido el idioma español en la configuración de WP.
 
¿En que carpeta venían esos archivos? Lo más seguro es que ni siquiera tengas que moverlos, sólo modificalos y renombralos.
 
buf... no esperaba que esto fuera tan contradictorio... los archivos venían (probé varios themes, así que no tengo ahora el que venía con los de lenguaje, pero quiero saber cómo hacerlo), en una carpeta llamada languages...
 
Hola,

Si en el template viene la carpeta languages con idiomas, solo tienes que cambiarle el idioma a wordpress y el template cambiará los textos automáticamente si tiene ese idioma, obviamente... para cambiar el idioma desde el wp-config.php como ya te indicaron lo puedes hacer, no tiene más.
 
En functions.php agrega:

PHP:
load_theme_textdomain('identificador', get_template_directory() . '/languages');

Donde el identificador suele ser el nombre del theme pero puede ser cualquier palabra.

Ejemplos:

PHP:
__('Este texto se traducira pero aun no se exhibe.', 'identificador')

_e('Este texto se traducira y sera exhibido.', 'identificador')

ver Function Reference/load theme textdomain « WordPress Codex
 
Finalmente lo logré

Lo que hice, y al menos con el tema que estoy usando funciona, fue:
1) convertir la instalación de wordpress en español ( acá los pasos WordPress | Español )
2) descargar el archivo .po del theme
3) editar el archivo de lenguajes del theme con Poedit
4) se genera un archivo .mo (debe estar activada la opción en Poedit en las preferencias)
5) renombrar el archivo .mo como es_ES.mo
6) subir el archivo es_ES.mo a la carpeta languages del theme vía FTP ...

Es cierto que con sólo convertir Wordpress a español, el theme adoptó la traducción, pero había como 50 frases sin traducir, por lo que decidí usar Poedit y comprobar cómo podía solucionar este problema de los themes con archivos de lenguaje...

y tachán... tachán... así funcionó, aunque efectivamente por lo que he leído hay que asegurarse que la función que menciona Electrox esté declarada, en mi tema no sé dónde está, pero es evidente que está en alguna parte, aunque oculta, porque funciona

Primero si tu WordPress esta en español debe de tener en wp-config.php
PHP:
define ('WPLANG', 'es_ES');
y ahora solo traduce los archivos en_EN.po
en_EN.mo y los renombras a es_ES.po es_ES.mo y el instantaneamente deberia funcionar la traduccion siempre y cuando el Theme tenga la capacidad de esto.

efectivamente eran los pasos indicados...
 
Muy útil toda la info.
 
En functions.php agrega:

PHP:
load_theme_textdomain('identificador', get_template_directory() . '/languages');

Donde el identificador suele ser el nombre del theme pero puede ser cualquier palabra.

Ejemplos:

PHP:
__('Este texto se traducira pero aun no se exhibe.', 'identificador')

_e('Este texto se traducira y sera exhibido.', 'identificador')

ver Function Reference/load theme textdomain « WordPress Codex

Asi seria un poco mas descriptivo:
PHP:
<?php funcion('valor', __('Este texto se traducira pero solo se debe utilizar dentro de funciones, si se utiliza _e producira un error.', 'identificador'), 'valor2'); ?>

<p><?php _e('Este texto se traducira y sera exhibido.', 'identificador'); ?> </p>
 
Atrás
Arriba