J'essaie d'internationaliser le plugin que je crée mais il ne semble pas afficher les textes traduits traduits dans le fichier .po
.
Tout d’abord, j’ai fait référence aux sources suivantes: https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/https://www.sitepoint.com/wordpress-i18n-make-your-plugin-translation-ready/https://premium.wpmudev.org/blog/ultimate-guide-wordpress-localization/#plugins
Voici mon répertoire actuel comme:
--my-custom-dragon-plugin
--my-custom-dragon-plugin.php
--languages
--my-custom-dragon-plugin-de_DE.mo
--my-custom-dragon-plugin-de_DE.po
Initialement, mon domaine de texte n’était pas le plugin (n’est-il pas possible d’utiliser un autre domaine de texte?). J’ai donc dû le changer selon le deuxième lien que j’ai posté, il est mentionné:
Le domaine de texte doit correspondre au slug du plugin. Par exemple, si votre plug-in est un fichier unique appelé sample-plugin.php ou s'il est contenu dans un dossier appelé sample-plugin, le domaine de texte doit être sample-plugin.
Donc, dans mes fichiers php, j'ai quelque chose comme __('Read More', my-custom-dragon-plugin)
Dans mon my-custom-dragon-plugin.php
, j'ai la définition du plugin et la fonction qui charge le domaine de texte:
/*
Plugin Name: My Custom Dragon
Plugin URI: https://www.xxxxxx.de/
Description: This is a plugin customized for my dragons.
Author: Jedragon
Text Domain: my-custom-dragon-plugin
Domain Path: /languages/
Version: 0.1.0
*/
add_action( 'plugins_loaded', 'load_my_textdomain' );
function load_my_textdomain() {
$domain = 'my-custom-dragon-plugin';
load_plugin_textdomain( $domain, false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
J'utilise aussi POEdit pour mes fichiers .po
.
Lorsque j'essaie de vérifier si les modifications sont reflétées, le texte reste en anglais, même si je change la langue du site.
Y a-t-il quelque chose que j'ai oublié ou que je fais mal?
Merci d'avance.
Je viens de le trouver, c'est parce que j'ai manqué de placer le domaine de texte dans '' dans mon code php.
CA devrait etre
__('Read More', 'my-custom-dragon-plugin');
au lieu de
__('Read More', my-custom-dragon-plugin);
Maintenant, ma traduction fonctionne. Je me demande simplement s'il est possible d'utiliser un domaine de texte personnalisé au lieu de mon long plugin.
J'ai été capable de comprendre avant d'avoir vu la réponse de @mat. J'ai voté votre commentaire bien que @ mat.