Не зависящий от языка контент в Linguaplone 4.02 / Plone 4.0.4 невидим

У нас есть сайт Plone, который в основном на английском языке, но имеет некоторый контент, переведенный на французский, и в меньшей степени имел некоторые страницы первоначально на французском языке и переведены на английский. В Plone 3 это работало нормально.

В Plone 4 пользователь, чей язык установлен на "fr", практически ничего не видит - только те страницы с переводом на французский.

Если мы запустим @@language-setup-folder, то станет еще хуже - теперь все, что определено как "нейтральный по отношению к языку", невидимо и для английских пользователей.

Конечно, предполагаемое поведение заключается в том, что пользователь, чей язык установлен на английский, увидит папки в "/Plone/en/...", а французский пользователь увидит "/Plone/fr/...", но если страница не найдена, она должна вернуться к /Plone. Этого не происходит.

  1. Должно ли это?
  2. Если да, то при каких условиях?

4 ответа

Решение

LinuaPlone поддерживает только "полные переводы", то есть для каждой статьи должен быть перевод. Очень плохо для многих случаев использования, когда у вас есть только один основной язык, и только часть всех статей фактически должна быть переведена...:(

Вы должны взглянуть на http://plone.org/products/raptus.multilanguageplone (и его зависимость http://plone.org/products/raptus.multilanguagefields). Эти аддоны делают что хочешь:)

Я полагаю, что не зависящая от языка вещь - это известная ошибка. Что касается отступления: как я понимаю, текущее поведение выглядит следующим образом: если вы переключаетесь с en на fr и текущий объект не имеет перевода fr, пользователь возвращается вверх к корню сайта, пока не появится папка fr. (Или рут получен.) Нет, я не думаю, что это имеет слишком много смысла, но, по крайней мере, пользователь fr никогда не увидит страницу en.;)

Если вы запускаете @@language-setup-folder, вы запускаете установку, которая предполагает, что весь контент находится в деревьях, зависящих от контента. Языковые папки помечены как INavigationRoot и будут иметь navtree и все привязанные к языковой папке.

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

- Кроме того, управление переводами будет сохранять "ссылки" между переведенными версиями контента и папками.

Вы все еще можете сделать элементы нейтральными по отношению к языку. И таким образом они все еще могут появляться на сайте другого языка через коллекцию.

Я думаю, что установка элементов в Language Neutral раньше работала через "управление переводами", но теперь все еще работает через:

Правка> Категоризация> язык
Выберите нейтральный язык

Другие вопросы по тегам