web-dev-qa-db-fra.com

Plusieurs domaines de texte par plugin unique - admin et frontend

Il y a un plugin:

  • Dans la zone d'administration, environ 300 chaînes différentes ont été ajoutées via __('', 'my-textdomain'). La plupart sont des étiquettes de forme, des titres, etc.
  • Sur "frontend" (que l'utilisateur final voit), il n'y a que 15 chaînes ajoutées via la même méthode __('', 'my-textdomain')

La plupart des éditeurs de sites Web voudront traduire une partie "frontend". La partie de la zone administrative est technique et la plupart des éditeurs comprendront la version anglaise.

  1. Vaut-il la peine d’avoir deux plugins textdomains - un pour les chaînes de la zone d’administration et un autre pour "frontend"?
  2. Casse-t-il des directives (le plugin est public)?
  3. Cela améliorera-t-il/simplifiera-t-il l'expérience du traducteur?
  4. Cela vaut-il la peine d'être performant?

Quelque chose comme:

  • __('', 'my-textdomain--admin') pour les étiquettes d'administrateur
  • __('', 'my-textdomain--frontend') pour les étiquettes "frontend"
1
Marvin3

Vaut-il la peine d’avoir deux plugins textdomains - un pour les chaînes de la zone d’administration et un autre pour "frontend"?

En théorie oui

Casse-t-il des directives (le plugin est public)?

glotpress, qui dirige la section de traduction de wordpress.org, n’en aura aucune chance. Pour cela, vous devez utiliser un seul domaine de texte, identique au slug du plugin IIRC. Poedit et d'autres logiciels qui font en gros une correspondance de chaîne sur des éléments tels que __() ne détectent pas les différents domaines de texte et ne génèrent pas de fichiers .pot/.po différents pour les deux. Très probablement, un traducteur qui utilise un tel outil obtiendra tout combiné.

Cela améliorera-t-il/simplifiera-t-il l'expérience du traducteur?

Non, ça va rendre les choses plus difficiles

Vaut-il la peine en termes de performance?

Peu probable. La dernière fois que j'ai vérifié, 50% des utilisateurs de wordpress utilisaient l'anglais, ce qui ne fait aucune différence pour eux. Pour les autres, cela ne semble pas être une différence assez importante (cela dépend de la langue dans laquelle il est traduit, car le principal problème est la consommation de mémoire, et pour des langues comme l'allemand, il est probable que vous utilisiez plus de mémoire, car chaîne plus longtemps), et les personnes soucieuses des performances utiliseront la mise en cache des pages dans tous les cas.

Les performances de traduction de Wordpress sont nulles, et elles ont été nulles pendant des années. En attendant de meilleures infrastructures, il est inutile de lutter contre le flot. Ce que vous pouvez faire, c'est de vous demander pourquoi vous avez besoin d'une traduction pour le début. Ne pouvez-vous pas simplement laisser l’utilisateur personnaliser les chaînes pertinentes au lieu de l’envoyer lui expliquer comment faire des traductions de plug-in?

2
Mark Kaplun

Je cherche aussi une possibilité telle que décrite ci-dessus. Ma solution temporaire est de travailler avec le contexte:

Exemple:

_ex ('Post', 'frontend', 'my-plugin');

_ex ('Post', 'backend', 'my-plugin');

ou

_x ('Post', 'frontend', 'my-plugin');

_x ('Post', 'backend', 'my-plugin');

Ceci est ma solution provisoire, peut-être que ça va aider.

Plus: comment internationaliser votre plugin

0
Severin