我想将每个节点标题翻译为字符串(使用i18n)。我正在我的主题模板中尝试此功能:
function theme_process_page(&$variables) {
$variables['title'] = t($variables['title']);
}
然而,当我刷新字符串时,我的节点标题都不在列表中。有什么我想念的吗?
澄清函数名称是使用我的主题名称,而不是单词“theme”。
答案 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!");