Решился сделать первый сайт на 8. сайт будет двуязычным. и сразу грабли:
1. Хочу сделать переключатель языка EN RU. захожу в admin/config/regional/language И переименовываю. Русский язык переименовался. Английский не меняется. остаётся English. Куда копать?
2.переключатель языка не показывается, если залогиниться на сайт.
3.выбрал тему icemagic. У этой темы контент главной страницы (слайдер, тексты,... ) жёстко забит в оформление темы admin/appearance, а сайт должен быть двуязычный. как лучше поступить? посоздавать свои блоки в двух версиях EN/RU, выковырять контент из темы и раскидать по блокам? Или есть более элегантное решение?
4. имена шаблонов страниц так же как в 7 формируются? только вместо tpl twig в расширении файлов?
Комментарии
Language Icons
А не надо его переименовывать. Заходит на сайт англоязычный юзер и видит ссылку "Английский".
Поймет он, о чем речь, если его родной язык - английский, а русского он не знает?
Если бы вы зашли на японский сайт, было бы вам понятно, что ロシア語 - это ссылка для переключения на русский?
Вы не поняли. Мне нужно, чтобы названия языков были короткие. Не English, а EN, не Русский, а RU. Иконки тоже не подойдут. В D7 делал десятки раз. а тут глюк какой-то
Ага, удалось воспроизвести ошибку:
и всё, в блоке Language switcher - он навсегда стал Русский, не помогло ни удаление перевода, вообще ничего.
Решилось переустановкой корного модуля Language.
Срань какая-то.
В .theme-файле своей темы пропишите
<?php
function my_theme_preprocess_links__language_block(&$variables) {
foreach (
$variables['links'] as $i => $link) {/** @var \Drupal\language\Entity\ConfigurableLanguage $linkLanguage */
$linkLanguage = $link['link']['#options']['language'];
$variables['links'][$i]['link']['#title'] = $linkLanguage->get('id');
}
}
?>
Айдишники языков - это как раз их двухбуквенные обозначения. Если ничего не путаю, они пишутся маленькими буквами, но регистр можно поправить в css
Спасибо. не помогло. Всё равно тут /admin/config/regional/language названия языков EN и RU. А в блоке выводятся RU и English. Если с костылями, можно и JS -ом менять. Хочу понять. Это глюк D8?
С пп.3 и 4 разобрался.
По поводу того, что блок переключения языков перестаёт выводиться после входа на сайт не подскажете? Явно глюк темы. т.к. переключаю на стандартную, выводится. но куда копать не понимаю.
Странно, у меня работало. Вы my_theme на машинное имя своей темы заменили?
вместо переключателя выводится такая муть
<span data-big-pipe-placeholder-id="callback=Drupal%5Cblock%5CBlockViewBuilder%3A%3AlazyBuilder&args%5B0%5D=pereklucatelazyka&args%5B1%5D=full&args%5B2%5D&token=J7xQxO5vnrJMk8lbDtvW6vtYHaSFG5PruwivvRuo-Gs"></span>
</div>
Если не секрет, как разобрались с контентом (п.3)?
в теме отключил, выдрав оттуда контент. создал свои блоки в двух языковых версиях и забросил контент в них.
заменял. после обеда попробую ещё раз. сейчас с выводом блока борюсь. глюк в базовой теме mbase. сейчас разбираю её и пытаюсь найти где косяк.