DEV: Убедитесь, что для всех настроек сайта есть запись ключевого слова

Как переводчики добавляют эти ключевые слова? По моему опыту, пустые строки не отображаются для перевода в Crowdin.

6 лайков

@pento Какую реальную проблему это должно решить? Как отметил Мойн, пустые строки не отображаются в Crowdin, поэтому их нельзя перевести. Кроме того, по моему опыту, у переводчиков недостаточно знаний, чтобы придумать ключевые слова, которых нет в исходном английском файле.

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

1 лайк

Спасибо за вопрос по этому поводу, Moin!

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

Хорошая мысль, Gerhard, цель этого момента немного запутана. Вот PR, где я рассматриваю возможность предоставления дополнительного контекста для каждой записи ключевого слова:

Не уверен, как мы можем добавить ключевые слова для каждого параметра сайта на английском языке, которые не были бы в основном избыточными. Поиск параметров уже выполняет простое совпадение с любой подстрокой имени параметра (например, поиск по слову «avatar» также покажет параметры «gravatar»), поэтому не так много параметров, для которых можно было бы добавить дополнительные вручную определённые ключевые слова.

2 лайка

Только те, что относятся к ключевым словам, или все пустые строки? Пустых строк больше, поэтому это может вызвать путаницу. В каких случаях имеет смысл «переводить» пустую строку, а когда намеренно оставляют её пустой?

Когда я увидел этот PR, у меня возникла идея добавить перевод названия настройки. Иногда слова из названия настройки не повторяются в описании, поэтому их сложнее найти при использовании неанглийского языка интерфейса. В настоящее время я обычно переключаю язык интерфейса на английский перед поиском, чтобы находить результаты как по названию, так и по описанию настроек одним запросом.

Простой пример — поиск по слову «whisper» (тихая беседа). Пока язык интерфейса английский, я могу найти две настройки, так как «whisper» является частью названия в одной и упоминается в описании в другой:

whispers разрешённые группы
Разрешить приватное общение в темах для участников указанных групп.

создавать пост при изменении категории и тегов
Создавать пост типа whisper, когда категория или теги темы меняются; требуется включение постов типа whisper.

При немецком интерфейсе я не могу сделать то же самое. Я могу использовать «whisper», чтобы найти первую настройку, и «Flüstern», чтобы найти вторую. Но нет способа найти обе сразу. Если бы название настройки было добавлено как ключевое слово и переведено, то поиск по слову «Flüstern» возвращал бы обе настройки. Это ещё более актуально для всех настроек, где, например, слово «email» есть только в названии, но не упоминается в описании.

Возможно, добавление названия как ключевого слова сделает это более очевидным. Это создаст проблему для английского языка, если название тоже будет ключевым словом?

Но я не уверен, как найти другие полезные ключевые слова. Я вижу, что ваш PR добавляет английское описание для контекста (с большим количеством кавычек), но это всё ещё не говорит мне, чего может не хватать в немецком переводе. Что ещё вы имели в виду? Всё, что я могу придумать, например, наличие ключевых слов «личное сообщение» для всех настроек, где в названии и описании используется «PM», вероятно, было бы полезно для всех языков. Но при текущей реализации каждый переводчик должен был бы придумать это самостоятельно и добавить соответствующие ключевые слова.

4 лайка

Честно говоря, я считаю, что добавление ключевых слов — это проигрышная борьба. Это может стать хорошим случаем для применения ИИ, который мог бы искать настройки на основе связанных слов на нескольких языках.

3 лайка

Я считаю, что наиболее полезным аспектом для поиска является последовательный перевод. Если слово «tag» всегда переводится как «тег», то добавлять его как ключевое слово не нужно. (В случаях, когда это не так, например site_settings.remove_muted_tags_from_latest, лучше улучшить перевод.) А в тех случаях, когда в английском описании используется ключевое слово, вероятно, полезно включить его и в немецкое описание. Так, в случае описания contact email:

English

Email address of key contact responsible for this site. Used for critical notifications, and also displayed on /about. Visible to anonymous users on public sites.

German

E-Mail-Adresse einer verantwortlichen Person für diese Website. Wird verwendet für kritische Benachrichtigungen und unter /about angezeigt. Sichtbar для анонимных пользователей на публичных сайтах.

Немецкий перевод можно улучшить, включив слово «контакт», чтобы поиск по нему возвращал эту настройку. Однако это не поможет для site contact group name и site contact username, так как в английском описании нет слова «contact»; оно является лишь частью названия. В этом случае поможет переведённое название настройки. Было бы ещё полезнее, если бы в интерфейсе отображались не только ключевое слово, но и само название настройки на обоих языках. Поскольку дополнительный контекст, который даёт название настройки, полезен не только для поиска, но и для понимания описания настройки.

2 лайка

Много лет назад мы отказались от перевода названий настроек, так как это создавало кошмар для поддержки. Если пользователи задают вопросы и упоминают переведённые названия настроек, вам приходится сначала искать их соответствие, прежде чем вы сможете им помочь. Кроме того, переводы со временем меняются. Переименование названий настроек на английском языке уже является обременительной задачей, а поддержка множества переведённых вариантов станет непосильной ношей. Поэтому нам нужно найти решение, которое улучшит настройки для локализованных сайтов, сохранив при этом простоту использования названий настроек только на английском языке. :sweat:

3 лайка

Я имел в виду что-то вроде этого:

Хотя для этого потребуется довольно много места. Поэтому, возможно, лучше подойдёт , который показывает перевод при наведении курсора или длительном нажатии.

Но в таком случае пользователи, не владеющие английским языком, с той же вероятностью не поймут, что означает «Количество флагов от других пользователей перед предупреждением» и кому будет выдано предупреждение.

1 лайк

Я бы хотел иметь два языковых параметра: отдельные языки для бэкенда и фронтенда.

Но при этом мне всё ещё нужен быстрый переключатель языков.

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

Я отменю изменения из этого PR, и мы сможем рассмотреть другие подходы к её решению. Хорошая новость в том, что улучшение многоязычного функционала — это то, над чем мы активно работаем, так что, надеюсь, у нас всё получится в ближайшее время. :slight_smile:

1 лайк

Эта тема была автоматически закрыта через 3 дня. Новые ответы больше не допускаются.