web-dev-qa-db-fra.com

Quel est le but d'un fichier supplémentaire pour la traduction?

Quel code faut-il mettre dans functions.php pour que la traduction du thème soit prête?

Le thème TwentyEleven a uniquement la ligne suivante:

load_theme_textdomain( 'twentyeleven', get_template_directory() . '/languages' );

Mais dans de nombreux tutoriels ils ont mentionné d’ajouter ce qui suit:

load_theme_textdomain( 'twentyeleven', get_template_directory() . '/languages' );
$locale = get_locale();
    $locale_file = TEMPLATEPATH . "/languages/$locale.php";
    if ( is_readable( $locale_file ) )
        require_once( $locale_file );

La deuxième partie est-elle requise pour ajouter le fichier functions.php afin de le rendre prêt à la traduction? Si c'est le cas, pourquoi le thème TwentyEleven ne l'a-t-il pas?

3
jay

La deuxième partie n'est pas requise, elle charge simplement un fichier PHP avec des fonctions spécifiques au langage.

Exemples

  • Dans certains pays/régions/religions, il n’est pas permis d’utiliser des lettres majuscules dans un mot pour autre chose que le nom d’un dieu. Dans ces cas, vous souhaiterez probablement supprimer le filtre de Wordpress vers WordPress .

  • Certaines langues (chinois) n'utilisent pas d'espaces (de manière prévisible). Si vous utilisez une fonction pour définir la longueur de l'extrait avec mots , vous échouerez probablement. Dans un fichier spécifique à une langue, vous pouvez désactiver ce filtre d'extrait.

  • Différentes langues ont besoin de différentes quantités d'espace, verticalement et horizontalement. Voir l'article très utile Taille du texte en traduction .
    Le mot anglais vues est trois fois plus long en italien: visualizzazioni . C’est l’une des raisons pour tester votre mise en page non seulement dans une langue extrêmement compacte comme l’anglais. Le thaïlandais, par exemple, prend plus de place - vous devrez peut-être ajuster la disposition de la grille avec des règles supplémentaires (pensez à <input size> et CSS bien sûr).

6
fuxia