J'ai eu beaucoup de mal à faire traduire mon site.
J'ai des fichiers MO et PO, mais mon thème n'est pas compatible avec WPML et l'équipe de développement ne le modifie pas.
Par conséquent, je devrai peut-être créer un plugin ou un code de compatibilité par moi-même. Mais je ne trouve pas vraiment comment faire et ce que je dois faire.
Est-ce que quelqu'un sait comment faire? Ou un tutoriel pour ça? Je ne trouve pas vraiment le site WMPL également.
Vous n'avez rien de spécial à faire pour WPML, utiliser le code de traduction habituel devrait suffire. Voir I18n pour les développeurs WordPress dans le Codex.
Ajoutez Text Domain
et Domain Path
au style.css
de votre thème.
Exemple:
/*
* Theme Name: My awesome theme
* Text Domain: my_awesome_theme
* Domain Path: /languages
*/
Recherchez toutes les chaînes devant être traduites et utilisez la valeur Text Domain
avec les fonctions de traduction appropriées.
Exemple:
Remplacer…
echo 'Comments'
… avec …
esc_html_e( 'Comments', 'my_awesome_theme' );
Voir wp-includes/l10n.php
pour les fonctions disponibles et suivre les liens dans l'article du Codex mentionné plus haut.
Créez un répertoire pour les fichiers de traduction à partir de la valeur Domain Path
.
Exemple:
my-awesome-theme/languages
Maintenant, WPML devrait pouvoir trouver toutes les chaînes pour la traduction et créer les fichiers de langue appropriés.
Enfin, assurez-vous que le fichier de langue est réellement chargé. Ajoutez le code suivant au functions.php
dans votre thème:
add_action( 'wp_loaded', 'my_awesome_theme_load_theme_language' );
/**
* Load translations.
*
* @wp-hook wp_loaded
* @return bool
*/
function my_awesome_theme_load_theme_language()
{
$lang_dir = get_stylesheet_directory() . '/languages';
return load_theme_textdomain( 'my_awesome_theme', $lang_dir );
}
WPML a une très bonne documentation sur comment rendre un thème compatible .
La plupart du temps, tous les thèmes devraient fonctionner immédiatement avec WPML si le concepteur de thème respectait les normes wp d'internationalisation.
Si vous ne parvenez pas plus loin avec ce lien et que vous avez un problème concret avec lequel nous pouvons vous aider, veuillez ajouter les détails de ce qui ne va pas et comment vous avez essayé de le résoudre pour votre question.