Drupal 6 + Ubercart Language Switcher Mystery (каталог в норме, продукт в норме, категория НЕ в порядке)

Я использую установку Drupal 6.32 + Ubercart 6.x-2.13 со всеми последними обновлениями с точки зрения интернационализации.

У меня проблема с переключателем языков.

Переключатель языков работает только 66% времени

Речь идет о веб-сайте www.holistichorsecare.com, и он работает большую часть времени.

Главная страница каталога -> ОК

Если вы зайдете в Каталог:

www.holistichorsecare.com/catalog

(переключатель)

www.holistichorsecare.com/zh/catalog

Переключатель языков работает нормально.

Страница продукта -> ОК

Если вы выберете любой данный продукт

www.holistichorsecare.com/products/aromadog-arf-ritis-pain-relief-1oz

(переключатель)

www.holistichorsecare.com/zh/products/aromadog-arf-ritis-pain-relief-1oz

Переключатель языков работает нормально.

Страница просмотра категорий -> НЕ ОК

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

www.holistichorsecare.com/products/catalog/dogs

(переключатель)

www.holistichorsecare.com/zh/products/catalog/dogs

Я ожидаю увидеть следующее:

www.holistichorsecare.com/zh/products/catalog/ 護 犬 系列

Моя переведенная (Ubercart) таксономия

В таксономии каталога у меня есть:

1) Установите для собак английский язык

2) Установите 護 犬 系列 на традиционный китайский

3) Установите перевод для 護 犬 系列 на Собаки.

Поэтому, когда я использую переключатель языков, я хочу видеть каталог «護 犬 系列» в контексте (zh), а не каталог «собак» в контексте (zh).

В замешательстве и разочаровании

Я работаю над этим уже несколько дней, но безуспешно, поэтому обращаюсь к сообществу Drupal / Ubercart за советом.

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

Редактировать

Теперь я убежден, что на самом деле это проблема locale.module / Language Switcher, и я думаю, что именно на это нужно направить энергию. Я понимаю, что проект Language Switcher мог иметь мало общего с проектом Ubercart, что могло привести к возникновению этой ситуации - которая, вероятно, довольно ограничена многоязычными установками Ubercart.

Я обратился к некоторым выдающимся людям в мире locale.module, и я надеюсь, что они видят очевидную возможность помочь здесь или, по крайней мере, помочь в создании модуля uc_language_switcher (или даже кода блока), специфичного для Ubercart.

Тем не менее, любая помощь или предложения с благодарностью принимаются.

g.


person Graham Leach    schedule 02.08.2014    source источник


Ответы (1)


Я тоже это испытал, и решить эту проблему сложно. Если вы используете основные страницы таксономии и имеете простую структуру терминов, вам может повезти, реализовав hook_alter_translation_link() в настраиваемом модуле для изменения URL-адреса, предоставленного языковому siwtcher. См. Пример в i18n_alter_translation_link().

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

На сайте, над которым я работал, у меня была таксономия с родительскими / дочерними терминами, и я использовал представление с аргументом термина таксономии для создания каталога. Аргумент View term был настроен для использования перевода имени термина и замены пробелов на тире, поэтому анализ URL оказался затруднительным.

person Stewart Adam    schedule 02.08.2014
comment
Стюарт, я прочитал ваш ответ и мне интересно, где эту функцию следует реализовать. Должен ли он быть реализован в переключателе языков (который не имеет ничего общего с Ubercart) или в функциональности блока каталога Ubercart (что приведет к ДВУМ переключателям языков на странице, один из которых будет продолжать нарушать работу сайта)? Вы видите выход из этого? - person Graham Leach; 04.08.2014