web-dev-qa-db-fra.com

Rendre le thème traduisible pour WPML

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.

1
pulla

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.

Préparation du code

style.css

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
 */

Modèles

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.

Répertoire thématique

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 );
}
5
fuxia

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.

2
s1lv3r