如何使节点标题可翻译?

时间:2015-06-18 13:25:46

标签: drupal

我想将每个节点标题翻译为字符串(使用i18n)。我正在我的主题模板中尝试此功能:

function theme_process_page(&$variables) {
  $variables['title'] = t($variables['title']);
}

然而,当我刷新字符串时,我的节点标题都不在列表中。有什么我想念的吗?

澄清函数名称是使用我的主题名称,而不是单词“theme”。

2 个答案:

答案 0 :(得分:2)

Title是我通常的解决方案(我使用实体翻译,它适用于标题模块)。

此模块通过常规可翻译文本字段替换节点标题。您可以选择必须替换的内容类型标题(在"管理字段"表单中,您将在标题行中找到"替换"链接)。很有用。

祝你好运

答案 1 :(得分:0)

您永远不应该使用t()来翻译用户提供的或变量字符串。请参阅功能上的the documentation

也就是说,有一些解决方案,一个是使用内置的language support for entity fields。接下来,您应该可以在字段挂钩中执行此类操作(在模块中,而不是在模板中):

$langcode = $field_info['translatable'] ? $content_langcode : LANGUAGE_NONE;
$entity->{$field_name}[$langcode][0]['value'] = t("Salut!");