web-dev-qa-db-fra.com

Détails Gettext

J'ai quelques questions gettext() qui ne sont traitées nulle part dans WordPress Codex mais je pense qu'elles sont importantes.

  1. __('string') dans THEME doit être utilisé pour les chaînes susceptibles de figurer également dans le fichier de traduction WordPress principal. Aucun textdomain nécessaire. Exemples: un, deux, soumettre, annuler, supprimer et autres mots courants. Correct?
  2. __('string', 'textdomain') dans THEME doit être utilisé pour les chaînes spécifiques à un thème. Exemples: 'cette option active la fonctionnalité X'. Correct?
  3. Je pense qu'il est préférable de créer un domaine de texte pour le front-end du thème et un autre pour le back-end. Comme __('string', 'textdomain') et __('string', 'textdomain-admin'). Tout le monde ne veut pas passer des heures à traduire 100 chaînes supplémentaires du panneau d'administration. Correct ou c'est une mauvaise pratique?
  4. Chaque PLUGIN doit avoir son propre domaine de texte: __('string', 'plugin-name'). Correct?
  5. Je pense que le réglage de CONTEXT pour THEME string est très utile mais personne ne le fait. Pourquoi? Comme: _x('add item', 'add slide text', 'textdomain') et _x('add item', 'shopping cart', 'textdomain').
  6. Comment traduire les commentaires, les dates, les devises, les heures, les chiffres?
    1. Exemple: un commentaire, deux commentaires, mais dans certaines langues, cela peut être: un commentaire, deux commentaires, trois commentairesX, quatre commentairesXY, cinq commentairesXYZ, six commentairesABXY (beaucoup plus de formes plurielles différentes avec des motifs complexes).
    2. Exemple: presque tous les thèmes utilisent the_time(get_option('date_format')); - ne devrait-il pas s'agir de echo date_i18n(get_option('date_format'), strtotime($post->post_date)); ou echo date_i18n('F jS, Y'), strtotime($post->post_date));?
    3. Exemple: l'anglais utilise 12,345.12, mais certaines langues peuvent en utiliser 12.345,12.
5
Paul

Des questions intéressantes, je ferai de mon mieux, mais j'espère que d'autres pourront également apporter leur contribution.

re 1. En général, j'utilise le domaine de texte du thème également pour les chaînes susceptibles de figurer dans le fichier de traduction WordPress principal.

re 2. correct

re 3. Je pense que c'est une bonne idée, mais je ne sais pas si c'est une mauvaise pratique ou quelque chose comme ça

re 4. correct

re 5. Je pense aussi que c'est très utile.

re 6.1. Il y a quelques mois, Otto a écrit un message sur la manière correcte d'internationaliser les chaînes. Pour tout ce qui concerne les nombres, il donne ce qui suit:

$string = sprintf( __('You have %d tacos', 'plugin-domain'), $number );

re 6.2. correct

re 6.3. Je devais chercher cela et trouver la réponse sur un fil de discussion dans le forum WordPress :

if (0 < $numtags) $numcats= number_format_i18n($numtags);

N'oubliez pas que l'internationalisation des thèmes et des plugins n'est pas encore très répandue. WordPress est très orienté vers les États-Unis (ou l'anglais) et, cette année encore, il semble que les gens y accordent plus d'attention. J'ai écrit un article sur WPCandy plus tôt cette année sur le sujet même.

1
user2015