2010-03-18 10 views
3

Nous construisons une pile Drupal multilingue et l'une de nos préoccupations est que notre processeur de paiement va nous renvoyer certaines informations. Nous avons pu réduire cette baisse afin que les cordes qu'ils envoient regardent en arrière commeLa traduction des résultats de l'API externe en Drupal

<country code>-<number of months>

afin que nous puissions facilement traduire en un certain nombre de langues, sauf l'anglais.

t('FR-12') est très bien si nous voulons traduire cela en une description française, mais parce qu'il n'y a pas une langue anglaise une chaîne similaire comme t('EN-12') n'est pas traduisible.

De même pour la chaîne générique: #API_Connection_Error

Ce type d'approche de chaîne générique semblait vraiment convaincant pour moi au début, mais il semble ne pas fonctionner dans Drupal. Avez-vous des suggestions sur la façon de traduire des chaînes génériques comme celle-ci en anglais et dans d'autres langues?

Merci, j'ai regardé Google toute la matinée.

Répondre

3

Je vois deux façons d'y parvenir: au moment

  1. Vous pourriez juste replace the default English language definition with a custom version. De cette façon, vous pouvez «traduire» les chaînes anglaises sélectionnées comme dans n'importe quelle autre langue. Si vous avez configuré le module locale pour qu'il se replie sur la chaîne d'origine en cas d'absence de traduction, vous pouvez simplement ajouter vos cas spéciaux en tant que traductions à votre version anglaise personnalisée, et tout le reste utilisera la version anglaise originale.

  2. Jetez un oeil à la String Overrides module - il vous permet de définir des remplacements personnalisés pour toute chaîne qui est passé à travers t(), avec overrides séparés par la langue, y compris le original anglais.

J'utiliserais la deuxième option dans votre cas, sauf si le nombre de chaînes 'externes' est très élevé. Voir la première clause if de la fonction t() pour le mécanisme utilisé pour les remplacements (recherche dans les tableaux de variables Drupal spécifiques au langage). Notez que le module String Overrides ajoute simplement des pages d'interface utilisateur d'administration pour configurer ces variables Drupal dans Backend - vous pouvez également les ajouter/les ajuster vous-même (par exemple, à partir d'un module personnalisé).

+1

Merci pour la réponse, c'est exactement ce que j'avais besoin de savoir. J'ai fini par aller avec des substitutions de chaînes comme vous l'avez suggéré si seulement parce que je suis confiant qu'ayant un anglais différent confondrait la morve hors des traducteurs. J'aimerais pouvoir vous donner plus de 25 points! –