在Drupal中转换外部api结果

在Drupal中转换外部api结果,drupal,localization,internationalization,locale,Drupal,Localization,Internationalization,Locale,我们正在构建一个多语言Drupal堆栈,其中一个问题是我们的支付处理器将不得不向我们发回一些信息。我们已经能够缩小范围,使他们发送回来的字符串看起来像 - 因此,我们可以轻松地将其翻译成除英语以外的任何语言 t('FR-12')如果我们想把它翻译成法语描述,那就很好了,但是因为没有英语,类似于t('EN-12')的字符串是不可翻译的 类似地,对于一般字符串:#API_Connection_Error 这种通用的字符串方法一开始对我来说似乎很有吸引力,但在Drupal中似乎不起作用。对于如何将这样

我们正在构建一个多语言Drupal堆栈,其中一个问题是我们的支付处理器将不得不向我们发回一些信息。我们已经能够缩小范围,使他们发送回来的字符串看起来像

-

因此,我们可以轻松地将其翻译成除英语以外的任何语言

t('FR-12')
如果我们想把它翻译成法语描述,那就很好了,但是因为没有英语,类似于
t('EN-12')
的字符串是不可翻译的

类似地,对于一般字符串:#API_Connection_Error

这种通用的字符串方法一开始对我来说似乎很有吸引力,但在Drupal中似乎不起作用。对于如何将这样的通用字符串翻译成英语和其他语言,您有什么建议吗


谢谢,我整个上午都在谷歌上搜索

目前我认为有两种方法可以实现这一目标:

  • 你可以。这样,您就可以像使用任何其他语言一样“翻译”选定的英语字符串。如果您已将locale模块配置为在缺少翻译的情况下回退到原始字符串,则只需将特殊情况作为翻译添加到自定义英语版本中,其他所有内容都将使用原始英语版本

  • 看看-它允许您为通过的任何字符串定义自定义覆盖,每种语言(包括原始英语)有单独的覆盖

  • 在您的情况下,我会使用第二个选项,除非“外部”字符串的数量非常高。请参阅函数的第一个if子句,了解用于重写的机制(在特定于语言的Drupal变量数组中查找)


    请注意,字符串覆盖模块只是添加了管理UI页面,以在后端配置这些Drupal变量-您也可以自己添加/调整它们(例如,从自定义模块)。

    感谢您的回复,这正是我需要知道的。我最终按照你的建议使用了字符串覆盖,如果只是因为我相信使用不同的英语会让翻译人员感到困惑的话。我希望我能给你超过25分!