web-dev-qa-db-fra.com

Qu'est-ce qu'un textdomain Theme?

J'ai trouvé que tous les thèmes WordPress utilisaient cette fonction, mais je ne comprenais pas à quoi sert cette fonction ni dans quel cas, dans ce cas, 'themify'? Voici quelques exemples dans Themify functions.php:

1).

load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );

2).

if (function_exists('register_nav_menus')) {
        register_nav_menus( array(
            'main-nav' => __( 'Main Navigation', 'themify' ),
            'footer-nav' => __( 'Footer Navigation', 'themify' ),
        ) );
    }

Et dans le fichier tempate:

3) <?php _e( 'Sorry, nothing found.', 'themify' ); ?>

Et beaucoup plus! Mon doute est ce que signifie 'themify'? Quel est leur but? Puis-je le changer ou le supprimer? Quel est le lieu, 'themify', pour?

17
Sok Vanrithy

Dans ce cas, 'themify' est le textdomain défini pour le thème, utilisé pour rendre le thème traduisible . (Référence du Codex: load_theme_textdomain() ).

Préparer un thème pour traduction nécessite quelques étapes.

  1. Définissez le thème textdomain:

    load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );
    
  2. Définissez chaînes traduisibles dans le modèle.

    Ceci est fait en utilisant l’une des quelques fonctions de traduction: __() (pour retourné chaînes), _e() (pour echoed strings), et _x() / _ex() (pour contexte gettext strings). Il y en a d'autres, mais vous avez l'idée ...

    Une chaîne de texte statique, telle que <p>Hello world!</p>, est encapsulée dans une fonction de traduction appropriée, telle que <p><?php _e( 'Hello World!', 'themify' ); ?></p>, pour la rendre disponible pour la traduction.

  3. Générez les fichiers .mo/.po
    référence sur comment éditer fichiers de langue

22
Chip Bennett