Первод терминов таксономии. Посоветуйте как лучше реализовать.

Аватар пользователя VasyOK VasyOK 4 июня 2018 в 16:40

Вопрос к знатокам мультиязычности. Установлен i18n
Возможно ли переводить термины таксономии?

Если в настройках словаря выбрать
"Локализуется. Общие термины для всех языков, но их имена и описания могут быть локализованы." - можно перевести только название и описание термина. Но у термина есть еще поля.

Если вывбрать
"Переводится. Различные термины будут доступны для каждого языка, и они могут быть переведены." - переводятся все поля. Но, например, поля изображений переводить не нужно. Логотип бренда для всех языков одинаковый.

Как быть?

Комментарии

Аватар пользователя kolyuchy.org kolyuchy.org 4 июня 2018 в 18:46

При первом варианте у Вас нет в настройках полей (в самом низу) Field translation. Users may translate all occurrences of this field: ... ???

Аватар пользователя VasyOK VasyOK 4 июня 2018 в 19:19

Есть. Но при переводе термина все равно можно указать только Название и Описание

Аватар пользователя Kaylang Kaylang 4 июня 2018 в 22:16

admin/config/regional/content-language
Посмотрите в настройках. Если не ошибаюсь, там можно указать поля для которых предусмотрен перевод и для которых не предусмотрен.
Тогда сможете использовать второй вариант

Аватар пользователя univerico univerico 4 июня 2018 в 23:22

Здравствуйте! Я не знаток, но много времени пришлось провести над этой темой, перевод терминов как полей делается с помощью Entity translation (на 7 его надо ставить, на 8 вроде из кробоки используется), благодаря этому модулю на /admin/structure/taxonomy/имя_словаря (т.е. при редактировании или создании словаря) появляется пятый пункт Field translation.
Также могу привести некоторые соображения:
1)Да, термины таксономии переводить можно.
2)Одно из основных отличий между локализацией и переводом таксономии описано на русском здесь (это перевод одной из статей drupal.org на русский с комментариями)
3)О каких полях териминов, кроме названия и описания Вы говорите, которые Вы еще хотите перевести я не совсем пойму?
4)Стандартно при использовании i18n у Вас будет 4 варианта
"термины не переводятся. Переводится только словарь.
Локализуется.
Переводится.
Фиксированный язык:"
Благодаря Entity translation появляется пятый.
Чтобы это было возможно нужно также включить термины таксономии в список на странице
/admin/config/regional/entity_translation
в разделе Translatable entity types

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

Про особенность пунтка с вараинтом "локализация" цитата с вышеуказанного сайта:

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

В случае если вы выберете этот вариант, но захотите создать материал на каком-то другом языке, язык термина будет всё равно соответствовать языку по умолчанию, установленному на этом сайте. Например, вы создаете какой-то документ на итальянском языке, а языком по умолчанию у вас является русский язык. При создании материала на итальянском языке вы добавляете какой-то термин с автозавершением ввода, если потом вы зайдёте на страницу перевода этого термина, то увидите, что термин не будет автоматически создан на итальянском языке, а будет на русском языке, потому что русский язык является языком сайта по умолчанию. Именно поэтому и рекомендуют не использовать виджет автозаполнения в случае, если вы хотите локализовать термины."

Аватар пользователя VasyOK VasyOK 4 июня 2018 в 23:33

Kaylang wrote:

admin/config/regional/content-language

Может где-то в другом месте? Скриншот дайте, я там таких настроек не вижу.

univerico wrote:

О каких полях териминов, кроме названия и описания Вы говорите

о полях, которые я добавил для термина, в настройках словаря
univerico wrote:

Благодаря Entity translation появляется пятый.

Да, появлется. Но паля у термина все равно не переводятся.

Аватар пользователя alexo alexo 5 июня 2018 в 0:27

VasyOK wrote:

Да, появлется. Но паля у термина все равно не переводятся.


1)Я добавляю свое поле в настройках словаря
2)Потом в настройках этого поля выбираю в самом низу
"Users may translate all occurrences of this field:"
3)В настроках словаря у меня выбран вариант Field translation.
4)Захожу в список терминов и выбираю нужный термин
5)С вкладки редактирования теримина перехожу на вкладку перевода термина / translate
Выбираю нужный язык "add"
У меня отркывается окно для добавления перевода термина в том числе поля для которого ранее было выбрано "Users may translate all occurrences of this field:"

Аватар пользователя VasyOK VasyOK 5 июня 2018 в 2:06

Если в настройках словаря выбираю Field translation - вкладка перевода терминов у меня пропадает
В настройках поля можно выбрать Enable translation
"Users may translate all occurrences of this field" - такого у меня нету.

Аватар пользователя univerico univerico 5 июня 2018 в 7:42

VasyOK wrote:
вкладка перевода терминов у меня пропадает


Также еще для названия и описания нужно заменить эти поля термина таксономии на обычное поле: кнопка replace на странице редактировнаия полей словаря (видео).
Но если Вы создаете свое поле, то его в ряде случаев не нужно замещать, оно часто сразу создается как поле.
Точно уже не помню, возможно, если у Вас в поле - файл, то, чтобы работать с файлами как с полями, нужно еще поставить какой-то модуль типа file entity (но это больше еще для работы с заголовком и альтом файла как с полями )

Аватар пользователя alexo alexo 5 июня 2018 в 7:25

Эту настройку вы делали?

univerico wrote:

Благодаря Entity translation появляется пятый.

Чтобы это было возможно нужно также включить термины таксономии в список на странице

/admin/config/regional/entity_translation

в разделе Translatable entity types

Аватар пользователя Kaylang Kaylang 5 июня 2018 в 11:13

VasyOK wrote:

Kaylang написал:

admin/config/regional/content-language

Может где-то в другом месте? Скриншот дайте, я там таких настроек не вижу.

Извиняюсь, был невнимателен. Не обратил внимания, что вопрос про 7.
Но для 8 это действительно.
Добавил поле "test" в словарь таксономии "О нас"
1

2

скрин со страницы admin/config/regional/content-language (если не отметить чекбокс, то поле значение поля будет одинаковым для всех языков)
3

4

ЗЫ.
Вот так выглядит при неактивном чекбоксе
5

Аватар пользователя VasyOK VasyOK 6 июня 2018 в 19:09

Спасибо, за ответы!
Ситуация немного прояснилось благодаря видео univerico.
Сейчас разбираюсь со способом от модуля entity_translation пока что вырисовались 2 вопроса:
1) при редактировании уже существующих терминов пропадают заданные пути (урлы). Да, их можно заново вбить по CTRL+V, но технически неграмотный контенщик не всегда об этом вспомнит.
2) смотрю на список терминов словаря и не вижу какие термины переведены, какие нет. Тоже неудобно.

Аватар пользователя gun_dose gun_dose 7 июня 2018 в 6:48

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

Аватар пользователя VasyOK VasyOK 7 июня 2018 в 13:44

алиас у термнина есть и он работает. Но когда термин редактируешь - алис стирается.

Аватар пользователя VasyOK VasyOK 6 июня 2018 в 23:28

3) самое неудобное. Если при переводе есть поле "ссылка на термина" термины в этом поле идут языком оригинала (даже если переведены). Хотя при просмотре ноды ссылка идет куда нужно.

Аватар пользователя univerico univerico 6 июня 2018 в 23:34

VasyOK wrote:

2) смотрю на список терминов словаря и не вижу какие термины переведены, какие нет. Тоже неудобно.


Можно попробовать настройки tmgmt или модуля типа translation table (точно не помню название)
Также есть taxonomy manager (там вроде нет таблицы переводов в таком виде, как Вам нужно, но много удобных функций для таксономии)

Аватар пользователя univerico univerico 6 июня 2018 в 23:36

VasyOK wrote:

1) при редактировании уже существующих терминов пропадают заданные пути (урлы). Да, их можно заново вбить по

Вы сам URL имеете ввиду или способ его создания
Если Вы по какому-то шаблону его создаете, то где-то была статья по изменению алисаов для таксономии
Т.е. можно попробовать задать способ создания URL и он при редактировании будет автоматически снова воссоздаваться

Аватар пользователя univerico univerico 6 июня 2018 в 23:45

VasyOK wrote:

3) самое неудобное. Если при переводе есть поле "ссылка на термина" термины в этом поле идут языком оригинала (даже если переведены). Хотя при просмотре ноды ссылка идет куда нужно.


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

Аватар пользователя univerico univerico 10 июня 2018 в 23:17

У меня кстати была похожая проблема с картой и переводами, при включении модуля xmlsitemap_i18n

выскакивала ошибка или предупреждение, приходистя его не включать совсем пока
А для entity translations там же кроме пэтчей в шапке еще очень много в обсуждении, можно их пробовать, 11 и 21 у многих работает хорошо.