Je veux faire traduire les étiquettes et les descriptions des champs personnalisés en néerlandais, mais peu importe ce que j'essaie, ils restent toujours en anglais (la langue que j'utilise pour les créer). J'espère que mes étapes ci-dessous ont du sens parce que je ne comprends pas pourquoi cela ne fonctionne pas.
Ce que je fais, c'est que je crée un champ (avec la langue du site définie sur l'anglais) dans un profil (à l'aide du module Profil 2) ou directement dans le compte.
Ensuite, je modifie le champ et utilise le bouton de traduction (fourni par Field translation dans i18n) pour ajouter une traduction néerlandaise. Mais si je change ensuite la langue du site en néerlandais, le libellé et la description du champ sont toujours en anglais.
Si je modifie à nouveau le champ (avec la langue du site toujours définie sur le néerlandais), l'onglet de traduction affiche maintenant la traduction néerlandaise avec le statut original et l'anglais comme "niet vertaald" ou non traduit. Si je modifie la traduction néerlandaise, je reçois la version anglaise.
Je peux changer cela à nouveau dans le texte néerlandais et cela s'affichera correctement (en néerlandais). Bien, mais quand je remets le site en anglais, le champ reste néerlandais! Lorsque je modifie le champ, l'onglet de traduction affiche le texte néerlandais en anglais, mais le statut de l'anglais est de retour à l'original.
Je ne peux pas en faire la tête ni la queue. Suis-je complètement absent ou est-ce peut-être un bug? J'utilise Drupal 7.
Vous ne devez pas changer la langue par défaut en néerlandais pour le tester, car il définit ensuite que vos noms de champs (et toutes les autres choses sur le site Web) sont en néerlandais.
Au lieu de cela, je suggère d'utiliser les options "Détection et sélection" et d'activer le navigateur ou l'utilisateur, puis de le tester dans un autre navigateur en néerlandais ou avec un autre utilisateur dont la langue est définie sur le néerlandais.
La meilleure façon et plus confortable serait d'utiliser le bloc Language Switcher, en activant l'URL ou la session sous les paramètres de détection et de sélection.
Ainsi, la langue par défaut du site Web reste l'anglais et les champs sont traduits si quelqu'un utilise le site Web en néerlandais.
Ces derniers jours, j'ai eu le même problème pour traduire des étiquettes et des descriptions de coutume. voici ce que j'ai fait pour le résoudre.
admin/config/regional/translate/i18n_string
admin/config/regional/translate/translate
J'imprime les étiquettes de champs traduites de cette façon (en utilisant i18n_field.module):
$instance = field_info_instance('node', $my_field_name, $my_node_type);
$my_translated_label = i18n_field_translate_property($instance, 'label');
J'espère que cela aide.
Je pense que vous auriez pu garder le néerlandais comme langue par défaut et définir l'anglais comme langue source dans admin/config/regional/i18n/strings.
la façon la plus simple de le faire est d'installer le module Localize field .
il fournit des traductions pour la chose suivante:
vous pouvez l'utiliser même si vous avez installé i18n_field (traduction sur le terrain)