Почему страница "администратор/модули" отображается на неправильном языке?
Ошибка появляется на странице с одним языком, на котором включен только один язык, кроме английского (здесь: немецкий), и установлен по умолчанию. Все остальные страницы администратора показывают правильный язык. Тема администратора - "семь". Я знаю, это, вероятно, слишком широко или локализовано, но я не могу понять этого...
Обновление: Я установил "Панель инструментов администрирования", и это исправляет, по крайней мере, языковую ошибку на панели инструментов. Если я намеренно включу "лучшую панель инструментов" - опция (это означает 2 панели инструментов, одна из которых является ядром drupal, а другая одновременно из "Панели инструментов администрирования"), одна отображается на немецком языке, как и должно быть, а ядро drupal по-прежнему на английском языке.
Но все остальные текстовые строки по-прежнему на английском языке. Хотя они присутствуют и правильно переведены на странице "интерфейс перевода" (администратор/конфигурация/региональный/перевод/перевод).
Я установил последний файл .po (7.43) для немецкого языка, несколько раз очищал кэш, но не выгода.
Есть какие-нибудь подсказки, где искать?
ОБНОВЛЕНИЕ II: Ошибка связана с модулем функций (https://www.drupal.org/node/2636140 ) Этого было трудно выследить.
ОБНОВЛЕНИЕ III: Ошибка была исправлена в последнем обновлении модуля функций (7.x-2.8)
5 answers
Я провел аналогичную проверку на одном из наших сайтов, который имеет 3 языка (EN, NL и FR). Я отключил модуль "module_filter", чтобы увидеть, каким будет результат, если я посмотрю, что показано на admin/modules
. Я также использую "меню администратора", но для своих проверок я не экспериментировал ни с чем, связанным с этим меню (я просто хотел проверить, что на самом деле представляет собой СОДЕРЖИМОЕ admin/modules
, в зависимости от языка, который я использовал. И я экспериментировал с EN и NL (=голландский), предполагая, что FR даст аналогичные результаты, такие как NL. И я использовал (ту же) тему Seven для администратора
Чтобы на самом деле провести свои эксперименты, я включил "блок переключения языков", чтобы он отображался в моей теме, используемой для администрирования. У меня этот блок показан в области "Содержимое" над блоком "Главная страница содержимого" (чтобы я мог переключаться между EN и NL для своего эксперимента). НО: нигде в вопросе здесь ничего не говорится об использовании этого "блока переключения языков". Так что это уже кое-что для тебя для проверки: вы знаете, я полагаю, о том, как использовать этот блок для переключения языков, верно?
В любом случае, когда я затем использую этот блок переключения языков для переключения с EN на NL, часть того, что показано на этой странице, находится в NL (голландский), хотя другие части остаются в EN. Например:
- описания моих модулей (из файлов .info) показаны на голландском языке
- но строки, такие как "Требуется" и "Требуется", не переведены на голландский язык. Хотя значения, такие как "(включено)" или "(отключено)" или также переведено на NL, например "(ingeschakeld)" или "(uitgeschakeld)".
- текст (жестко закодированный) вверху, например "Загрузить дополнительные...", НЕ переведен.
- типичные сообщения (зеленого, желтого или красного цвета) вверху также переводятся в NL.
- Имена модулей, такие как "Цвет", не переводятся (на что-то вроде "Kleur").
- ссылки, такие как "настроить", также переводятся в "instellen".
- группы модулей, такие как "Ядро", переводятся в "Керн".
При всем этом у меня сложилось впечатление, что, используя "блок переключения языков" и установив его на NL-язык, эта страница admin/modules
дает мне "настолько хорошую, насколько это возможно" переведенную версию всей этой страницы. Но если вы не используете этот "блок переключения языков" (для переключения на NL), то все остается в EN (конечно). И для вещей, которые не переведены, я думаю, это потому, что либо не используется типичная функция t()
, либо требуемая переведенная строка все еще отсутствует (для NL в моем случае).
Не уверен, в какой степени это действительно ответит на ваш вопрос, но, по крайней мере, это должно помочь понять, что происходит, и как "блок переключения языков" кажется частью головоломки.
Но, не волнуйся... В D8 есть много улучшений для многоязычных материалов (пока не уверен в этой конкретной "проблеме", однако...).
Чтобы избавиться от двойных панелей инструментов, просто отключите модуль панели инструментов из модулей, и у вас просто останутся включенными панели инструментов меню администрирования.
Что касается языковой проблемы, пожалуйста, проверьте URL-адрес ссылки, так как я предполагаю, что вы используете наложение администратора, тогда часть наложения имеет свой собственный языковой тег как таковой:
Http://dev.mysite.com/en/blog/lalala#!=&overlay=en/admin/modules
Обратите внимание на две языковые "переменные"?
Ошибка, описанная в моем вопросе, связана с модулем функций. Я обнаружил это случайно, при обновлении модулей на другом сайте drupal, когда впоследствии появилась та же ошибка. Поэтому я отключал каждый обновленный модуль один за другим. После отключения функций все пришло в норму. Быстрое сканирование очереди выдачи модулей выявило еще несколько человек с такими же симптомами. Ссылка:
Включить страницу со списком модулей функций, вызывающих модули, в Английский.
Используйте этот модуль (admin_menu) также после отключения модуля панели инструментов он будет отображать ссылки меню при наведении курсора на родительские элементы, что облегчает навигацию по внутренним страницам всего одним щелчком мыши.