Traduire une chaîne dans une langue avec des noms masculins / féminins


9

Donc, en anglais, nous n'avons pas de noms de genre. C'est toujours "une table" ou "un bureau" sans avoir à se soucier qu'il soit "une table" ou "un tableau". Donc ma question est que lorsque l'on travaille sur le fichier français .mo, comment traduire une chaîne telle que:

Vous pouvez inclure un% s dans un thème enfant

puisque le "a" dépend de ce qu'est le% s?

Réponses:


7

Ce n'est pas un problème si chaque chaîne obtient son propre modèle de traduction.

Si vous utilisez la chaîne You can include a %s in a childtheme.plusieurs fois pour différents noms, elle n'est pas traduisible.

Un exemple, tiré d'un article récent : New %sest en allemand (oui, nous avons aussi des noms genrés)…

  • Neues Buch (pour un livre, neutre)
  • Neuer Film (pour un film, masculin)

… Vous devez donc écrire New book et New movie ou You can include a logo in a child theme. et You can include a stylesheet in a child theme. .

Note latérale

C'est l'une des raisons pour lesquelles les fichiers de traduction prennent autant de mémoire: vous devez «répéter» de nombreuses chaînes très similaires. Alors qu'une installation WordPress en anglais fonctionnera probablement bien avec 32 Mo de mémoire PHP, elle mourra si vous l'utilisez avec une traduction allemande ou française.

Si votre thème ou plug-in utilise de nombreuses chaînes traduisibles pour le front-end et le back-end, envisagez d'utiliser deux fichiers: un pour le back-end et un fichier distinct pour le front-end.

load_theme_textdomain( 
    'your_text_domain', 
    get_template_directory() . '/languages' . ( is_admin() ? '/backend' : '/frontend' )
);

Le noyau WordPress vient d'être modifié pour ce système pour de meilleures performances.


merci à scho. je suppose que je dois approfondir le but de la chaîne d'origine et voir à quoi sert% s. comment séparer les chaînes back-end et front-end?
helgatheviking

@helgatheviking voir ma mise à jour.
fuxia

je t'ai eu. Merci pour ça. une dernière chose, si la chaîne n'est utilisée qu'une seule fois, pouvez-vous la laisser avec% s et simplement clarifier le contexte?
helgatheviking

@helgatheviking Oui, c'est ce que vous faites. Mais je ne vois pas comment cela faciliterait la traduction. Le paramètre de contexte doit également être une chaîne codée en dur; vous ne pouvez pas utiliser de variable PHP ici.
fuxia

" oui, nous avons aussi des noms genrés " me rappelle Mark Twain: Chaque fois que l'allemand littéraire plonge dans une phrase, c'est la dernière que vous allez voir de lui jusqu'à ce qu'il émerge de l'autre côté de son Atlantique avec un verbe dans son bouche.
brasofilo

0

Helga, vous Viking ... Je dirais que c'est un barrage d'une question simple et intrigante ..!

D'une manière simple, il semble que le problème soit %sle sexe et non le sexe:

Vous pouvez inclure %sdans un thème enfant

Complexifier la question, je dis si une magie de retraduction d' un gettext toscho pourrait résoudre ce problème, ou si elle est hors sujet et devrait être prise en charge par WP Polyglots .

note latérale: Comment: traduire plusieurs formes de thèmes / plugins avec PoEdit


ouf, ce truc de traduction est compliqué. il est clair que je prends le fait d'être natif-anglophone pour acquis! si ce fil serait meilleur chez WP Polyglots, j'espère que quelqu'un le déplacera.
helgatheviking

Eh bien, maintenant, au contraire , avec la réponse canonique fournie par toscho, WP Polyglots peut utiliser ce message comme référence pour le sujet :)
brasofilo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.