Вы помещаете статическую информацию в *.links.menu.yml, где вы также определяете плагины ссылок динамического меню, которые предоставляют информацию, которую вы не можете поместить в статический yml. И производный для создания плагина для каждого языка. Пример с локальной задачей был просто примером перевода.
Рабочий статический пример:
мой модуль.ссылки.меню.yml
мой модуль.язык.топ:
название: 'EN'
имя_меню: основное
route_name: '<нет>'
развернуто: правда
# Класс плагина для динамического переопределения заголовка:
# класс: Drupal\mymodule\Plugin\Menu\TranslatedNodeTop
мой модуль.язык.элемент:
title: 'Узел 8 испанский'
родитель: mymodule.language.top
route_name: entity.node.canonical
route_parameters: {узел: '8'}
имя_меню: основное
параметры:
атрибуты:
учебный класс:
- foo-класс
- бар-класс
# производное для установленных языков
производный: Drupal\mymodule\Plugin\Derivative\TranslatedNodeTabDeriver
# Класс плагина, расширяющий MenuLinkDefault, динамически переопределяющий статические свойства,
# параметр маршрута из текущего совпадения маршрута, язык из производного
# добавлен заголовок из обоих атрибутов и атрибутов ссылки для текущего языка:
# класс: Drupal\mymodule\Plugin\Menu\TranslatedNodeItem
Вам нужно добавить два динамических плагина, расширяющих MenuLinkDefault. Я переработал TranslatedNodeTabDeriver из Как получить ссылки на страницу редактирования переведенного узла на дополнительных вкладках.