Почему язык поля тела не может быть сохранен на том же языке, что и узел?

9

У меня возникла проблема, когда пользователь создает новые узлы и вводит основной текст, но устанавливает для узлов «нейтральный по отношению к языку» язык. Тем не менее, когда он сохраняет узел, язык поля тела устанавливается на английский. Почему это происходит? Что вызвало бы это?

На этом сайте мы включили и настроили английский и французский языки. Этот сайт D7 работает под управлением i18n.

Это похоже на Пустое тело на странице редактирования узла, за исключением того, что я хочу знать, как поле получило бы язык, отличный от узла в первую очередь.

Патрик
источник

Ответы:

4

По умолчанию drupal устанавливает «und» в качестве языка поля, то есть LANGUAGE_NONE. Итак, когда вы print_r($node), вы увидите поле с чем-то вроде$node->field_name['und'][0]['value']

Теперь, когда вы включите перевод для этого поля, 'und' будет заменен языковым кодом, и каким-то образом $nodeструктура будет выглядеть так, $node->field_name['en'][0]['value']где 'en' - код языка. Ваше поле тела теперь будет иметь «en» в качестве языка и больше не будет пустым при визуализации

На ваш вопрос выше:

У меня возникла проблема, когда пользователь создает новые узлы и вводит основной текст, но устанавливает для узлов «нейтральный по отношению к языку» язык. Тем не менее, когда он сохраняет узел, язык поля тела устанавливается на английский. Почему это происходит? Что вызвало бы это?

Проверьте язык по умолчанию вашего сайта, если он установлен на английский, то, вероятно, Language Neutral примет язык вашего сайта по умолчанию.

gauravjeet
источник
1
Было бы немного лучше, если бы вы могли объяснить, как включить перевод для полей, так как кажется, что вы знаете, как это сделать, и это не очевидно.
Молот
1
@ Mołot, загрузите и установите модуль i18n из: [ drupal.org/project/i18n] , теперь перейдите в Структура> Типы содержимого> «Имя типа содержимого»> Управление полями> «Редактировать поле». Вы получите возможность включить перевод. , С этим вы можете включить перевод на любом заданном поле
gauravjeet
Я имел в виду, что могу это сделать, но редактировать свой ответ (для будущих читателей, многие из которых свежие и зеленые) может быть хорошей идеей. Если вы можете сделать это. В любом случае, у меня есть мотивация для объяснения.
Молот