2011-03-23 11 views
8

Acabo de construir mi primer plugin para wp, e incluso si no es una gran "poesía de código";) funciona como debería. Es un complemento que transforma la galería predeterminada de wp con el plugin jquery de GalleryView 3.0 (http://spaceforaname.com/galleryview).Wordpress Plugin Localización

Lo único que no puedo hacer es la localización. La localización de este complemento significa traducir la interfaz de administrador, donde alguien puede configurar las opciones del complemento jquery para cambiar el aspecto de la galería resultante.

He intentado seguir los millones de tutoriales presentes en la web, leer muchos mensajes sobre este tema en los foros y seguir las directrices del Codex ... pero todavía sin suerte.

esto es lo que he hecho:

línea
  1. cada texto se encuentra dentro de una función gettext (__ y _e)
  2. uso de dicho programa creé el .po y .mo archivo de escanear el directorio de plugins (everythig fue bien), luego agregué traducciones en ese archivo.
  3. i denomina el archivo .po como el Nombre-del-LA-plugin-it_IT.po (el archivo .mo se generó con el mismo nombre)
  4. He puesto los archivos de traducciones dentro de la carpeta Programas/idiomas (el nombre de la carpeta es el mismo que el del complemento y el de los archivos de traducción)
  5. luego intenté agregar la función load_plugin_textdomain dentro del archivo del complemento principal. Lo he intentado porque no hay forma de hacerlo funcionar.

Lo único que no estoy seguro es el hecho de que el complemento que he creado no está en una clase + funciones de constructor ... solo porque todavía no soy tan bueno en la codificación.

Pero yo he puesto el load_plugin_textdomain dentro de un init add_action, así:

add_action('init', 'gw_load_translation_file'); 

function gw_load_translation_file() { 
// relative path to WP_PLUGIN_DIR where the translation files will sit: 
$plugin_path = dirname(plugin_basename(__FILE__) .'/languages'); 
load_plugin_textdomain('gallery-view-for-wordpress', false, $plugin_path); 
} 

las líneas anteriores no están dentro de una lógica, no son más que en el archivo principal del plugin, así.

este es un ejemplo de mi uso de las funciones de gettext:

<h3><?php _e('Panel Options','gallery-view-for-wordpress') ?></h3> 

lo supiera no entiendo?

+0

¿Qué idioma se encuentra en su wp-config.php? –

+0

También estoy teniendo problemas con esto. Hasta ahora, no hemos encontrado nada útil en Google. ¿Quizás un nuevo problema con las versiones más recientes de WP? Parece un poco extraño que solo afecte a los complementos. La única diferencia entre mis intentos y los OP es que estoy tratando de cargar archivos .mo y .po desde el directorio raíz/plugins (la misma ubicación que el archivo plugin.php real). Mi wplang está configurado en fr-FR: el tema actual está bien, es solo el complemento que no cargará el dominio de texto. – hollsk

+0

@hollsk, he publicado la pregunta incluso aquí http://wordpress.stackexchange.com/questions/12810/plugin-localization pero no hubo suerte, alguien dice que está funcionando ... pero no para mí – bluantinoo

Respuesta

4

Mi error fue en la declaración de la ruta de los archivos de idioma.

que esto esté arreglado:

$plugin_path = dirname(plugin_basename(__FILE__)) . '/languages/'; 

esto estaba mal:

$plugin_path = dirname(plugin_basename(__FILE__) .'/languages'); 

me contestó en Wordpress Stack Exchange

+0

Muchas gracias! Este es el momento de depuración más molesto que he tenido, desde que aprendí las líneas en blanco al final de. Los archivos PHP no son sin sentido. – daveagp

1

Contrariamente a mi declaración anterior, he tenido éxito usando este nombre de archivo: gallery-view-for-wp-it_IT.mo

extraño, sin embargo - temas de usar Simplemente it_IT.mo.

+0

@bluantinoo He logrado obtener Opzioni Gallery View para Wordpress :) Consulte la edición de la respuesta. –

+0

@Nikolay ¿quiere decir que si va a la página de configuración de la galería, verá la interfaz traducida en italiano? – bluantinoo

+1

Solo el título, no ha traducido los otros campos. –