i18n - проблема с префиксами и путями...

Главные вкладки

Аватар пользователя jazy jazy 23 августа 2009 в 2:25

Доброй ночи, коллеги!

Кто-нибудь сталкивался с реализацией следующей задачи c i18n:

Допустим создается сайт с 2-мя языками: английский (основной) и немецкий(дополнительный). При этом создаются (Path prefix with language fallback) автоматом алиасы вида:

http://www.site.com/super_mega_node
http://www.site.com/de/super_mega_node

Когда сайт переводится 1 к 1 - проблем 0, но когда на одной языковой версии контента становится заметно больше: например, создается раздел новости, фотогалерея (cck+views) и прочее, встает вопрос - как отображать данный контент в другой языковой версии сайта.

Ведь, например, при выводе английского блока с последними фотками (сформированного с помощью views) в немецкой версии сайта формируется ссылка вида

http://www.site.com/de/photogallery/95 (ссылка на фото)

то есть автоматом подставляется префикс под немецкую версию... хотя должен http://www.site.com/photogallery/95 - ведь у фоток проставлены английский язык...

таким образом в глазах поисковых систем (яндекс, гугл и прочее) - создается видимость дублирования контента - что есть ооочень нехорошо.

И как бороться с этим пока не знаю...(

Есть решение данной проблемы?...

Комментарии

Аватар пользователя gn@drupal.org gn@drupal.org 23 августа 2009 в 14:37

А как должен вести себя Друпал в данной ситуации?
Переключаться на http://www.site.com/photogallery/95?
А какой при этом должен выводиться логотип, заголовок, меню, блоки и всё остальное - английский или немецкий?
По-моему, даже если картинка одна и та же, то окружение у неё разное. Так что я бы назвал это не багой, а фичей.

Аватар пользователя jazy jazy 23 августа 2009 в 15:55

Таким образом в глазах поисковых систем (яндекс, гугл и прочих) - создается видимость дублирования контента - что есть ооочень нехорошо. Зачем, если язык нейтральный у этих нод, создавать дополнительные алиасы вида http://www.site.com/de/photogallery/95 ?

А если новостной блок выведен? Причем новости пишутся только на английском... то получется а английском окружении в блоке будет:
http://www.site.com/news/1
в немецком окружении:
http://www.site.com/de/news/1

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

Пусть уж в немецком окружении выводится стандарно - без префикса de. Пользователи переживут - роботы поисковых систем нет. Можно ведь такое организовать?

Аватар пользователя gn@drupal.org gn@drupal.org 23 августа 2009 в 19:11

Тут дело хозяйское. Хотите делать ноду нейтральной - делайте, не хотите - делайте одноязычной, а в качестве перевода поставьте "ещё не переведено на немецкий" или "немецкой версии нет в наличии". С приложением далее англоязычной версии или без.
Аналогично и с видами. Хотите ставьте фильтр по языку, хотите - нет, чтобы на альтернативном языке находилось то же самое или не находилось ничего, как оно лучше по логике и по смыслу.
Я вообще считаю, что сайт делается в первую очередь для людей, и только во вторую - для роботов.

Аватар пользователя jazy jazy 23 августа 2009 в 20:47

Да не в этом дело....

при выводе на немецкой странице вьюса с нейтральным контентом автоматом вставляется языковой префикс.

таким образом все страницы - новости, видео и фото - которые у меня нейтральные будут дублироваться на всех языках (((((( а их будет со временем не менее 5.

Во вьюсе просто нет ни фильтра, ни возможности такой.

Я так понимаю, что нужно писать модулек, который будет реврайтить урл (или убирать префикс) если нода нейтральная. Кто-нибудь возьмется?...$$$

Аватар пользователя gn@drupal.org gn@drupal.org 23 августа 2009 в 21:18

Стоп.
Давайте суп отдельно и мухи отдельно. Есть язык контента и язык интерфейса (которые обычно переключаются вместе, хотя есть и модули, которые позволяют переключать их отдельно).
Вы хотите, чтобы немецкие юзеры, кликая среди немецкого контента на ссылку, которая ведёт к нейтральному контенту (например, к фотогалерее), видели, как интерфейс, менюшки, заголовок, логотип и т.п. переключались с немецкого на дефолтный английский? И тогда, чтобы перейти опять на какой-то конкретный немецкий контент, немецкие юзеры должны сначала кликнуть на ссылку на английский контент (потому что другие ссылки им сейчас не видны), а уже потом опять переключиться на немецкий?
И типа пусть немцы терпят, лишь бы Гугол (якобы) был доволен?
Меня такой вариант не вдохновляет.

Аватар пользователя jazy jazy 23 августа 2009 в 21:35

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

Аватар пользователя gn@drupal.org gn@drupal.org 23 августа 2009 в 22:09

В чём в данном случае должна заключаться гибкость системы и грамотность навигации?
В том, что для любого нейтрального по языку контента логотип, заголовок, менюшки, блоки, ссылки и прочий интерфейс должны выводиться _только_ на дефолтном языке? И что при этом должно происходить с переключателем языка? Должен ли он быть на странице с нейтральным контентом (а) вообще не виден, (б) неактивен, или (в) псевдоактивен (то бишь как бы активен, но на самом деле не переключать ни контента, ни интерфейса, ни URL)?

Аватар пользователя jazy jazy 23 августа 2009 в 22:22

должен быть виден для фото, видео и новостей флажок языка по-умолчанию (в нашем случае английский).

Также интересует поднятая вами тема http://drupal.ru/node/32455. Есть ли у нее решение... у то каждый раз вручную приходится алиасы прописывать =(.

Аватар пользователя gn@drupal.org gn@drupal.org 23 августа 2009 в 23:14

Если флажок должен быть виден, куда он должен показывать?

На тему симметризации мне пока ничего не подсказали - ни на drupal.ru (1, 2), ни на drupal.org (1, 2).

Аватар пользователя gn@drupal.org gn@drupal.org 24 августа 2009 в 12:01

Стало быть, если на немецкой странице немецкий юзер кликает на ссылку, показывающую language-neutral content (например, фотографию или фотогалерею), то при этом всё окружение фотографии должно переключиться на англоязычное, и на странице должен показываться только английский флажок, который в данном случае служит чисто для Refresh?
И для переключения на любой немецкий контент он должен сначала переключиться с нейтрального на английский, и только тогда увидеть родной немецкий флажок?
Я бы на месте немецкого юзера удивился и огорчился.

Если же вернуться к исходной постановке задачи, то я, честно говоря, не понимаю, почему поисковые системы должны рассматривать одну и ту же фотографию в окружении разных заголовков, логотипов, меню, блоков и прочих language-specific элементов как дублирование контента, и исключать его из каталогов.