Интернационализация Друпала. Контент на разных языках показывается одновременно.

В Друпале очень многое сделано для многоязычности сайтов и тем удивительнее та малость, которая недоделана. Если использовать многоязычность "из коробки", то есть включить модули Content Translation, Locale и даже догадаться в типе контента разрешить поддержку многоязычности, то в режиме редактирования каждой ноды появится возможность создать для неё перевод. Вот например, одна и та же статья на русском и её перевод.

Казалось бы, всё отлично, кто понимает по-русски, читает русскую версию, кто лучше знает английский - английскую, однако во всех списках (например, на главной странице) эти две статьи будут выглядеть полностью независимыми отдельными сущностями и показываться на сайте одновременно, вне зависимости от того, какой язык выбран пользователем. Это известная проблема, не нужно искать своих ошибок, а нужно сделать две вещи:

  1. В настройке всех языков, включая умолчательный (/admin/config/regional/language), прописать явно домен или префикс
  2. Установить модуль интернационализации, который решит проблему показа только того контента, который написан на языке, выбранном пользователем, а также позволит переводить термины таксономии и вообще полезен крайне.

Примечание: Представления (Views) в том виде, в котором они поставляются, не умеют работать с многоязычным контентом, поэтому главные страницы или страницы терминов таксономии, которые эмулируются через View нужно докручивать дополнительно.

Оценка: