Привет. В французской установке Discourse всё больше английских строк остаются непереведёнными на французский. Вы знаете, почему? Спасибо.
Привет, Патрик
Думаю, перевод этого текста пока отсутствует. Если вы хотите внести свой вклад и перевести его самостоятельно, узнайте больше о переводе здесь.
На самом деле, эта строка, как и многие другие, была на французском языке в предыдущем выпуске Discourse, но больше не является таковой после моего обновления до последней версии.
Я запускаю инстанс на бразильском португальском и чувствую то же самое. Недавно была тема об этом, где я высказал своё предположение.
https://meta.discourse.org/t/2-7-0-beta4-translation/181023/2?u=renato
Я только что нашёл пример:
Обратите внимание, что 12 февраля 2021 года бот удалил старый перевод, потому что в английской строке слово “these” было заменено на “this”.
Я считаю, что в идеале старые переводы следует сохранять, если изменения незначительны, как это делает gettext. Неверный множественный род лучше, чем вся строка на английском.
Я также подробнее изучил строку на вашем скриншоте: её ключ был переименован из-за рефакторинга кода. Думаю, это исключение; скорее всего, большинство случаев отсутствия переводов, которые существовали ранее, вызваны изменением исходного текста.
@gerhard, рассматривался ли этот вариант? Я знаю, что есть ключи, где старый перевод может привести к катастрофическим последствиям (например, шаблоны писем), но в целом начинать с старого перевода может быть лучше, чем ничего. Не уверен… здесь слишком много нюансов.
Ну, давайте посмотрим, здесь есть несколько случаев:
-
Изменение ключа перевода: Мы стараемся избегать этого, но иногда это просто невозможно. Если английская строка не изменилась, мы могли бы использовать память переводов ™ для автоматического применения существующих переводов. В Crowdin есть этап рабочего процесса «Предварительный перевод с помощью TM», который делает именно это.
Предварительно переведите файлы с помощью памяти переводов ™, чтобы ускорить перевод одинаковых или похожих строк…
К сожалению, это не позволяет переводчикам вносить какие-либо изменения в перевод впоследствии, поскольку строка, переведенная с помощью памяти переводов, не может пройти этап рабочего процесса «Краудсорсинг». Я сообщал об этом давно, но, похоже, это еще не исправлено. Вот почему мы в данный момент не используем «Предварительный перевод с помощью TM». cc @Andriy_Crowdin
-
Измененная английская строка: Что считается незначительным изменением? Это сложное решение, которое может даже варьироваться для разных языков. Давайте сделаем шаг назад. Что происходит, когда мы изменяем существующую строку на английском?
- Мы отправляем измененную строку в GitHub
- Робот-переводчик перехватывает её и отправляет в Crowdin
- Это аннулирует все переводы этой строки в Crowdin, но пока не влияет на переводы в Discourse
- Каждую вторник мы загружаем текущие переводы из Crowdin и отправляем их в GitHub.
- Отсутствующие переводы будут удалены
- Новые переводы будут добавлены
Таким образом, если мы не изменили строку непосредственно перед вторником, должно хватить времени для предоставления нового перевода в Crowdin. Предложения в Crowdin обычно делают перевод измененной строки очень простым.
-
Изменения, которые не должны влиять на существующие переводы: Обычно мы стараемся сохранять существующие переводы при внесении незначительных массовых изменений в английские строки. Например, мы делали это в прошлом, когда меняли плейсхолдер
{{count}}на%{count}или во время переименования английского локаля. Существуют специальные команды, которые мы можем добавлять в сообщения коммитов:@discourse-translator-bot keep_translations_and_approvals @discourse-translator-bot keep_translations
Я с радостью внедрю улучшения в наш рабочий процесс, если они выполнимы. Однако в Crowdin нет понятия размытого (fuzzy) перевода. Перевод либо есть, либо его нет. И я думаю, что это хорошо, иначе это просто усложнит ситуацию. Переводчики получают уведомления о новых и измененных строках, что должно помочь им быть в курсе дел.
@patrickemin Я добавил отсутствующий французский перевод из памяти переводов. Он будет включен в сегодняшнее обновление.
Где-то я видел, что gettext использует пороговое значение по умолчанию 0,85 при расчёте расстояния Джаро для измерения схожести. Я понимаю, что идеального решения не существует; это было лишь предложением, потому что отслеживать эти изменения было сложно. Я не переводчик, а помогаю, когда замечаю отсутствующий текст в моём экземпляре, и при этом я «топ-переводчик» для своего языка на Crowdin из-за отсутствия других участников.
К сожалению, для большинства языков отсутствуют активные участники, и я думаю, что недели вряд ли хватит для нового перевода. Я стараюсь проверять уведомления, когда получаю письмо от Crowdin, но в моём языке уже не хватает примерно 11 тысяч слов, и успевать становится всё сложнее.
Предварительно переведите файлы с помощью Translation Memory ™, чтобы ускорить перевод одинаковых или похожих строк…
Это действительно могло бы улучшить рабочий процесс, если бы упомянутое исправление было реализовано в ближайшее время; похоже, оно также решает проблему нечётких строк.
Что происходит, если пользователь настраивает строки локально? Разве в этом случае проблема уже не возникает?
Другой возможной альтернативой было бы не сбрасывать переводы по умолчанию и иметь отдельный рабочий процесс, когда полностью меняется смысл: например, менять ключ перевода или добавлять @discourse-translator-bot invalidate_translations в сообщение коммита. Это предполагает, что изменение смысла для ключа перевода является исключением, хотя это может быть совершенно неверно.
Всё это сказано, работать с Crowdin — одно удовольствие; ни одна из этих проблем не возникла бы, если бы больше людей участвовало в переводах. Я считаю, что многие используют функцию настройки текста как ресурс для переводов.
Мы это осознаём. В ближайшем будущем мы, возможно, привлечём профессиональных переводчиков для работы с некоторыми языками, и, думаю, бразильский вариант португальского входит в этот список. ![]()
Кроме того, я думаю о добавлении ссылок на Crowdin в административном интерфейсе для разделов «Настройка текста» и выбора языка по умолчанию. Это также может помочь переводчикам из сообщества найти правильное направление.
Да, это так.



