Skip to content

Web: атрибут lang не меняется при переключении языка #166

Description

@Jelikton

Описание

На всех страницах сайта в теге <html> жёстко прописан lang="en". При переключении языка через параметр ?lang=ru, ?lang=ar или другие, значение атрибута lang не обновляется. Это приводит к тому, что браузеры, скринридеры и инструменты перевода некорректно определяют язык контента.

Пример:

  • Исходный код: <html dir="ltr" lang="en" …>
  • После перехода на ?lang=ru код остаётся тем же — lang="en".

Почему это важно:

  • Скринридеры используют lang для правильного произношения текста (особенно для арабского или русского).
  • Браузерные переводчики (Google Translate) могут предлагать перевод, когда он не нужен, или не предлагать, когда нужен.
  • Поисковые системы могут неправильно индексировать страницу для соответствующего региона.

Шаги для воспроизведения

  1. Открыть любую страницу сайта, например, главную: https://apn.tech/.
  2. Нажать на ссылку переключения языка, например, «Русский» (ведёт на /lang?to=ru&back=/).
  3. После загрузки страницы открыть исходный код (Ctrl+U) и посмотреть атрибут lang в теге <html> — он всё ещё "en".
  4. Повторить для арабского (?lang=ar) — результат тот же.

Ожидаемое поведение

Атрибут lang должен динамически изменяться в соответствии с выбранным языком:

  • lang="ru" для русского,
  • lang="ar" для арабского,
  • lang="zh" для китайского и т.д.

Фактическое поведение

lang всегда "en", независимо от выбранного языка.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions