Comment: traduire plusieurs formes de thèmes / plugins avec PoEdit

8

Comme le titre l'indique: Comment traduiriez-vous ...

  • _n()
  • _n_noop()
  • _nc()
  • _nx()
  • _nx_noop()

... dans vos fichiers .mo?

kaiser
la source

Réponses:

17

Étape 1

Ouvrez votre fichier dans PoEdit .

Étape 2

Allez dans " Catalogue " »" Paramètres "

Étape 3

Remplissez " Langue " et " Pays " 1) .

Étape 4

Remplissez " Pluralform " (dernier champ).

// For 2 plural forms
nplurals=2; plural=n != 1;

// For 3 plural forms (for e.g. russian), use:
nplurals=3; plural=(n%10==1 && n%100!=11) ? 0 : ((n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20)) ? 1 : 2);

// For 4 plural forms (for e.g. slovenian), use:
nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;

Étape 4

Accédez au 3ème onglet " Mots clés ".

Ajoutez la liste suivante. 2) Bien sûr, vous devez étendre à 1,2,3des langues avec trois formes plurielles différentes, etc.

_n:1,2
_n_noop:1,2
_nx:1,2
_nx_noop:1,2

Liens

  • Cet article de Mark Jaquith peut être intéressant.
  • Heiko Rabe explique très bien comment travailler avec des fichiers de traduction (en allemand). Il propose également un PDF intéressant.

Plugins

Ce plugin par (encore) Heiko Rabe fait un très bon travail pour aider à traduire votre plugin.


Notes de bas de page

1) Par exemple, le Royaume-Uni et les États-Unis ont différentes formes de "couleur / couleur"

2) Chaque ligne va dans une seule (nouvelle) entrée.

kaiser
la source
1
_nc est déconseillé dans WP, c'est la même chose que _n
onetrickpony
1
"Par exemple, le Royaume-Uni et les États-Unis ont différentes formes de" couleur / couleur "" - et bien d'autres encore. Les Américains aiment épeler beaucoup de mots avec Z plutôt que S;) D'où la raison pour laquelle les locaux en_GB et en_US.
Scott
@OneTrickPony Saw _cdéprécié et d'autres choses, mais a supervisé celui-ci. Merci.
kaiser
1
"Bien sûr, vous devez étendre à 1,2,3 pour les langues avec trois formes plurielles différentes et ainsi de suite." Ce n'est pas vrai du tout, l'API gettext reste la même quelle que soit la langue de la traduction. Lisez les documents.
Václav Slavík
0

Il vous suffit de définir la forme plurielle de la langue que vous traduisez dans votre fichier PO (qui est compilé en MO).

Par exemple, l'anglais a deux formes, donc votre fichier PO doit avoir deux définitions "msgstr" pour chaque chaîne avec msgid_plural.

Si vous utilisez PoEdit, c'est plus facile, collez simplement la définition du formulaire pluriel dans les paramètres du catalogue et vous obtiendrez des champs supplémentaires pour les chaînes plurielles ...

onetrickpony
la source
2
Ce n'était pas si simple. Vous devez savoir comment configurer le fichier po ...
kaiser