Перевод %{filter} в заголовках для маршрутов поиска

У меня возникли трудности с переводом следующих текстов на русский язык. В русском языке прилагательные, такие как «горячие» или «непрочитанные», меняют форму в зависимости от контекста, поэтому одна статическая строка %{filter} грамматически не подходит.

Затронуты ли другие языки? @переводчики, как вы решаете эту проблему в вашем языке?

Одна из идей, которая мне пришла в голову, — добавить слово «все» к строкам, где его сейчас нет в английском варианте, например: «все %{filter} темы в %{category}». Но добавлять «все» повсюду может быть излишним.

Ниже приведена таблица, показывающая, как меняются окончания прилагательных в русском языке:

%{filter} «Все %{filter} темы» «%{filter} темы в %{category}»
latest Все самые свежие темы Самые свежие темы в %{category}
top Все популярные темы Популярные темы в %{category}
hot Все горячие темы Горячие темы в %{category}
new Все новые темы Новые темы в %{category}
unread Все непрочитанные темы Непрочитанные темы в %{category}
unseen Все невиденные темы Невиденные темы в %{category}

Также я задумался, всегда ли %{tags} в category_tag: относится к нескольким тегам. В строках выше %{tag} используется для одного тега, а %{tags} — для нескольких, но я не нашёл вариантов для категории и одного тега.

Строки, о которых идёт речь, для справки
    discovery:
      headings:
        all:
          default: "Все %{filter} темы"
          posted: "Все темы, в которых вы участвовали"
          bookmarks: "Все темы, которые вы добавили в закладки"

        category:
          default: "%{filter} темы в %{category}"
          posted: "Темы в %{category}, в которых вы участвовали"
          bookmarks: "Темы в %{category}, которые вы добавили в закладки"

        no_tags:
          all_default: "Все темы без тегов"
          category_default: "%{filter} темы в %{category} без тегов"
          all:
            posted: "Все темы без тегов, в которых вы участвовали"
            bookmarks: "Все темы без тегов, которые вы добавили в закладки"
          category:
            posted: "Темы в %{category} без тегов, в которых вы участвовали"
            bookmarks: "Темы в %{category} без тегов, которые вы добавили в закладки"

        single_tag:
          default: "%{filter} темы с тегом %{tag}"
          posted: "Темы с тегом %{tag}, в которых вы участвовали"
          bookmarks: "Темы с тегом %{tag}, которые вы добавили в закладки"

        multi_tag:
          default: "%{filter} темы с тегами %{tags}"
          posted: "Темы с тегами %{tags}, в которых вы участвовали"
          bookmarks: "Темы с тегами %{tags}, которые вы добавили в закладки"

        category_tag:
          default: "%{filter} темы в %{category} с тегами %{tags}"
          posted: "Темы в %{category} с тегами %{tags}, в которых вы участвовали"
          bookmarks: "Темы в %{category} с тегами %{tags}, которые вы добавили в закладки"

        categories: "Все категории"

        filter_labels:
          latest: "Самые свежие"
          top: "Популярные"
          new: "Новые"
          unread: "Непрочитанные"
          hot: "Горячие"
          unseen: "Невиденные"

3 лайка

Спасибо за обратную связь, @Moin. Я сообщил нашему коллеге, отвечающему за эту функцию, но нам придётся посмотреть, какой путь окажется наиболее простым, так как, как вы можете представить, это потребует создания довольно большого количества новых строк.

1 лайк

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

Да, верное замечание, здесь следует использовать единственное число, так как мы не можем использовать фильтры для категории и нескольких тегов. Я изменю это на %{tag}.

3 лайка

Я переработал эти заголовки в A11Y: Update accessible headings for more flexible translations by awesomerobot · Pull Request #32863 · discourse/discourse · GitHub

Теперь для каждого маршрута будет доступна полная строка для перевода:

2 лайка