web-dev-qa-db-fra.com

Quelle est la meilleure façon de gérer les traductions manquantes?

Dans les logiciels qui ont plusieurs langues disponibles, il y a inévitablement des moments où du texte n'est pas disponible dans un lieu particulier. Quelle est la meilleure façon de gérer cette situation?

Considérer:

  • Certains logiciels utilisent la langue maternelle comme clés (par exemple, "Bienvenue dans le produit x!") Tandis que certains utilisent des clés arbitraires (par exemple, "MAIN_PAGE_INTRO_HEADER")
  • La gestion est-elle différente selon que le logiciel est commercial ou open source?

Je réalise que l'idéal est que vous ayez une couverture à 100% sur les traductions de texte, mais ce n'est pas ce que je demande ici. Parfois, les contraintes de temps ou le manque de ressources (en particulier avec l'open source) signifient que vous sortez sans couverture à 100%. Même si vous pensez avoir une couverture à 100%, il est toujours possible que vous ne le fassiez pas ou qu'un ancien fichier de langue soit supprimé ou que l'une des centaines d'autres choses se passe mal. Ma question est de savoir ce qui devrait arriver quand cela se produit.

1
gregmac

En nous basant sur notre propre expérience, nous substituons les propriétés i18n manquantes à la propriété tirée de la langue qui sera reconnue par le plus grand nombre d'utilisateurs du groupe démographique, qui dans notre cas est l'anglais.

Utiliser la traduction anglaise aura plus de sens que d'utiliser un identifiant i18n, qui dans notre cas pourrait ressembler à:

com.smarttrust.m2m.ui.admin.administration.view.CustomerRetryInheritedViewDescriptor.inheritedSlowRetryInterval.title

Cela n'aurait pas l'air bien dans n'importe quelle interface.

Ce serait bien sûr toujours un problème et la meilleure approche est d'essayer de garder tous les fichiers i18n à jour.

1
AndroidHustle

vous pourriez revenir à un fichier i18n par défaut que vous garantissez est complet

dans les tests de développement, vous pouvez faire de chaque valeur "!"+key+"!" (peut-être tronqué) pour voir immédiatement où il manque

dans les versions, vous pouvez remplir la langue par défaut avec une langue que l'utilisateur peut supposer comprendre (l'anglais vient à l'esprit)

1
ratchet freak

Je suis d'accord avec les autres, que montrer une langue de secours est la voie à suivre. Ne montrez pas les clés i18n, sauf aux développeurs ou à vos traducteurs.

Une chose que j'ai ajoutée par le passé, c'est que lorsque vous vous retrouvez (en anglais dans mon cas), l'anglais devient un bouton ou un lien qui vous amène directement à une interface où vous pouvez fournir la traduction. Dès que la traduction est entrée, le système commence à l'utiliser. C'est facile sur le Web, pas si simple avec une application de bureau, mais toujours possible.

Je l'ai fait parce que cela a permis d'expliquer plus facilement le contexte de chaque phrase aux traducteurs. Je ne vous suggérerais pas de faire cela avec vos utilisateurs finaux, sauf si vous avez une relation très forte avec eux. Vous ne voudriez probablement pas non plus que les traductions deviennent instantanément actives, mais plutôt une fonctionnalité de "suggestion de traduction".

Cela fonctionne très bien dans les tests de développement. Je travaillais avec des traducteurs non techniques, que je ne voulais pas avoir à modifier directement les fichiers i18n (d'autant plus que l'autre langue était l'arabe, qui est RTL, ce qui rend l'édition d'un fichier mixte assez délicate). Au lieu de cela, je leur ai fourni une interface simple.

0
Peter Bagnall