Traducción de widgets en mi plugin
Estoy añadiendo i18n al widget en List Category Posts. He creado correctamente el archivo pot, y los archivos po y mo para español e inglés. Todas las cadenas se muestran con _e()
en el archivo del formulario.
La estructura del directorio es la siguiente:
/
include/
ListCategoryPostsWidget.php
lcp_widget_form.php
languages/
es_ES.mo
en_US.mo
plugin.php
Hay otros archivos, pero estos son los involucrados en la traducción. Desde mi clase Widget (ListCategoryPostsWidget.php) estoy usando esto para registrar la traducción:
$translation_dir = '../languages';
load_plugin_textdomain( 'list-category-posts', null, $translation_dir );
Y este es el código que estoy usando para incluir el archivo del formulario en el archivo ListCategoryPostsWidget.php:
/** @see WP_Widget::form */
function form($instance) {
include('lcp_widget_form.php');
}
El idioma predeterminado es inglés, por lo que eso funciona bien. Pero cuando configuro WP_LANG a "es_ES" en mi wp-config, todavía veo el texto en el widget en inglés. ¿Alguna idea? EDIT: Entonces, estoy añadiendo un poco más de código:
<p><label for="<?php echo $this->get_field_id('title'); ?>">
<?php _e("Título", 'list-category-posts')?></label>
Así es como estoy usando la función _e en lcp_widget_form.php.

Basado en tu comentario:
¿El html generado por el widget? Ese solo muestra las cadenas en la función _e, por ejemplo: _e("Category") muestra "Category"
Sospecho que no has configurado correctamente tus cadenas de traducción. Necesitas incluir el textdomain en cada llamada a función de cadena de traducción, de lo contrario las cadenas nunca se traducirán.
Por ejemplo, para tu textdomain 'list-category-posts'
:
_e( 'Category' )
...debería ser en su lugar:
_e( 'Category', 'list-category-posts' )
Asegúrate de que todas tus funciones de cadenas de traducción estén declaradas acordemente.

Uy, lo siento, me equivoqué en los comentarios, lo estoy usando como debería: _e("Categoría", 'list-category-posts')

Esta es una pregunta antigua pero estaba revisando mi cuenta por aquí. Finalmente se agregó i18n: http://wordpress.org/extend/plugins/list-category-posts/changelog/, ¡gracias Chip! :)
