为什么正文字段的语言不会保存为与节点相同的语言?


9

我遇到了一个问题,用户正在创建新节点并输入正文,但是将节点设置为该语言的“语言中立”。但是,当它保存节点时,正文字段的语言将设置为英语。为什么会这样呢?是什么原因造成的?

在此站点上,我们同时启用和配置了英语和法语。该站点是运行i18n的D7。

这类似于节点编辑页面中的“空正文”,不同之处在于,我想知道该字段将如何获得与节点最初不同的语言。

Answers:


4

默认情况下,drupal将'und'设置为现场语言,即LANGUAGE_NONE。因此,当您print_r($node)看到时,您会看到一个类似$node->field_name['und'][0]['value']

现在,当您在此字段上启用翻译时,“ und”将被语言代码替换,并且$node结构看起来像$node->field_name['en'][0]['value']“ en”是语言代码。现在,您的“身体”字段将使用“ en”作为语言,并且在渲染时将不再为空

对于上述问题:

我遇到了一个问题,用户正在创建新节点并输入正文,但是将节点设置为该语言的“语言中立”。但是,当它保存节点时,正文字段的语言将设置为英语。为什么会这样呢?是什么原因造成的?

检查您网站的默认语言,如果将其设置为英语,则语言中立语言可能会采用您网站的默认语言。


1
如果您可以解释如何在字段上启用翻译,效果会更好一些,因为您似乎知道如何进行翻译,而且这并不明显。
Mołot

1
@Mołot,从以下位置下载并安装i18n模块:[ drupal.org/project/i18n],现在转到“结构”>“内容类型”>“内容类型名称”>“管理字段”>“编辑字段”,您将获得启用翻译的选项,这样您就可以在任何给定字段上启用翻译了
gauravjeet

我的意思是我可以做到,但是编辑您的答案(对于将来的读者,其中许多是新鲜的和绿色的)可能是个好主意。如果您愿意的话。无论如何,您都赞成我的解释。
Mołot
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.