Problemas traduciendo un plugin
-
Hola muy buenas
Estoy creando un plugin que cambia «el aspecto» del admin de WP y aunque lo tengo casi listo para lanzar, he tropezado con el tema de la internacionalización.
He creado en la raíz del plugin una carpeta que se llama /languages, dentro he creado una archivo .pot (minimal-admin.pot), con este aspecto:
# Copyright (C) 2023 Minimal Admin # This file is distributed under the GPL v2 or later. msgid "" msgstr "" "Project-Id-Version: Minimal Admin 1.0.0\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/w3-total-cache\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "POT-Creation-Date: 2023-04-23T21:21:22+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.5.0\n" "X-Domain: minimal-admin\n" #. Settings theme tab #: admin/settings/settings.php:19 msgid "Light/Dark" msgstr "" #. Settings menu tab msgid "Menu" msgstr "" #. Settings brand tab msgid "Brand" msgstr ""
A partir de ahí he generado los archivos minimal-admin_ES.po y minimal-admin_ES.mo
Luego en mi archivo .php principal del plugin defino el Text Domain así:
/** * @package Minimal Admin * @version 0.0.1 * Plugin Name: Minimal Admin * Plugin URI: http://hartum.net * Description: Bring your admin panel into the 21st century with this minimalist design and give your customers a professional looking interface. * Author: Hartum * Version: 0.0.1 * Author URI: http://hartum.net/ * Text Domain: minimal-admin * License: GPLv2 or later. * License URI: https://www.gnu.org/licenses/gpl - 2.0.html */
Y añado el textdomain lo primero del todo, así*:
//--- ADD LANGUAGES BY LOAD add_action( 'plugins_loaded', 'wpdocs_load_textdomain' ); function wpdocs_load_textdomain() { load_plugin_textdomain( 'minimal-admin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); }
Finalmente, donde quiero traducir mi cadena (settings.php), lo hago de esta manera:
<?php _e('Light/Dark', 'minimal-admin'); ?>
Pero no parece funcionar 🙁
¿Alguna idea u orientación de que estoy haciendo mal?
Muchas gracias!!*PD: También lo he intentado con el action ‘init’ y ‘admin_init’, en lugar de ‘plugins_loaded’
- El debate ‘Problemas traduciendo un plugin’ está cerrado a nuevas respuestas.