我有一个drupal英文/法文网站。 我有一个名为'ad'的自定义内容类型,包含各种字段。 我在主题目录中创建了文件'node - ad.tpl.php' 自定义“广告”内容的显示。 我使用pixture重新加载主题和DRUPAL 7。
我正在尝试翻译字段(标签和值) 通过使用“现场翻译”模块。
当我通过管理员创建或修改内容时,字段翻译工作。
但是,当我显示“广告”类型的内容时,字段不会被翻译。 这是因为drupal调用'node - ad.tpl.php'和翻译 可能没有调用模块。 当删除'node - ad.tpl.php'时,drupal调用默认的node.tpl.php 有类似的结果。
任何帮助将不胜感激, 谢谢你提前,
备注: 1 - 我正确激活了模块的每个依赖项。 2 - 用户界面翻译正常工作。
答案 0 :(得分:1)
行 我发现自己该怎么做。 我在这里给出解决方案。 它可能对其他人有所帮助:
首先,在Configuration>中翻译字段标签和值。区域和语言>翻译>进口。不要将值作为字段导入,而是作为用户界面导入。不要指定 一个URL(只有msgstr和msgid)。
现在,您需要在node.tpl.php中添加t()函数,以使转换生效。所以:
在node.tpl.php文件中,如果要翻译字段标签,请写下: $ content ['field_my_field'] ['#title'] = t($ content ['field_my_field'] ['#title']);
然后翻译字段值执行以下操作: $ content ['field_my_field'] [“#items”] [0] ['value'] = t($ content ['field_my_field'] [“#items”] [0] ['value']);
您现在可以渲染您的字段:print render($ content ['field_my_field']);