首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Drupal中转换外部api结果

在Drupal中转换外部api结果
EN

Stack Overflow用户
提问于 2010-03-19 01:37:07
回答 1查看 128关注 0票数 3

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

<country code>-<number of months>

因此,我们可以很容易地将其翻译成除英语以外的任何语言。

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

与通用字符串类似:#API_Connection_Error

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-19 08:35:26

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

  1. 你可以直接replace the default English language definition with a custom version。这样,您就可以像翻译任何其他语言一样“翻译”选定的英语字符串。如果您已将区域设置模块配置为在缺少翻译的情况下回退到原始字符串,则只需将特殊情况作为翻译添加到您的自定义英语版本中,其他所有内容都将使用原始英语版本。
  2. 查看String Overrides module -它允许您为通过t()传递的任何字符串定义自定义覆盖,每种语言都有单独的覆盖,包括原始英语。

对于您的情况,我会使用第二个选项,除非‘外部’字符串的数量非常多。查看t()函数的第一个if子句,了解用于覆盖的机制(在特定于语言的Drupal数组中查找)。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2472092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档