Перевод с помощью Weblate

Спасибо за ваш интерес к переводу с помощью Weblate! Если вы здесь впервые, следуйте Сделайте свой первый перевод для пошагового первого вклада.

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

  • Проект принимает сами переводы

  • Проект принимает предложения пользователей по переводу.

Иногда также принимаются анонимные предложения.

Больше деталей о рабочем процессе перевода можно узнать в разделе Рабочие процессы перевода.

Как проекты, так и компоненты внутри них могут быть видны всем или же только определённой группе переводчиков.

Проекты перевода

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

../_images/project-overview.webp

Предложения

Примечание

Фактические разрешения могут отличаться в зависимости от ваших настроек Weblate.

Анонимные пользователи (по умолчанию) могут только вносить предложения. Это всё ещё доступно вошедшим в систему пользователям в случаях, когда возникает неуверенность в переводе, побуждая других переводчиков проверить его. Любой пользователь может клонировать существующее предложение в поля перевода, включая формы множественного числа, и использовать его как основу для нового предложения или перевода.

Все предложения ежедневно сканируются с целью удаления дубликатов и предложений, совпадающих с текущим переводом.

Если у вас есть разрешение Принимать предложения, вы можете массово принять все предложения от конкретного пользователя, нажав значок проверки учётной записи рядом с его предложением. Это полезно для быстрой обработки предложений от доверенных участников. Предложения, не прошедшие проверки качества, пропускаются и остаются для ручного рецензирования. Weblate показывает количество соответствующих предложений для подтверждения и обрабатывает принятие в фоновом режиме. Если вы можете рецензировать перевод, вы можете принять и утвердить предложения в том же шаге.

Массовое принятие выбирает предложения от этого пользователя только для текущего языка в текущем компоненте. Оно не выбирает предложения на других языках или в других компонентах, даже в рамках одного проекта. Например, при переводе компонента на французский массовое принятие выбирает только французские предложения этого пользователя в этом компоненте.

Комментарии

Можно опубликовывать три типа комментариев:

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

Синтаксис Markdown можно использовать во всех комментариях, а также для упоминания других пользователей с помощью @username. Используйте вкладку Предварительный просмотр над полем комментария, чтобы увидеть, как Markdown и упоминания будут отображаться перед публикацией. Упомяните сопровождающего или другого переводчика, когда вам нужно, чтобы они увидели последующий вопрос; они могут ответить на той же вкладке Комментарии.

Чтобы снова найти комментарии, откройте свой Профиль пользователя; счётчик комментариев ссылается на вашу активность по комментариям. Чтобы найти строки с комментариями конкретного пользователя, используйте Поиск. Например, comment_author:USERNAME находит строки с комментариями этого пользователя, а source_comment_author:USERNAME находит строки с комментариями к исходной строке от этого пользователя. Когда вы вошли в систему, меню фильтров поиска также включает ярлыки для ваших комментариев и ваших комментариев к исходным строкам.

Варианты

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

Метки

Метки используются для категоризации строк в проекте для дальнейшего изменения рабочего процесса локализации (например, для определения категорий строк).

Weblate использует следующие метки:

Переведено автоматически

Строка переведена используя Автоматический перевод.

Исходная строка требует рецензии

Строка помечена для рецензирования, используя Рецензирование исходных строк.

См. также

Метки строк

Перевод

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

Все специальные пробельные символы подчёркиваются красным цветом и обозначаются серыми видимыми символами-заменителями. Более одного последовательного пробела также подчёркиваются красным цветом, чтобы предупредить переводчика о потенциальной проблеме форматирования.

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

Ниже перевода переводчики найдут предложения, сделанные другими, которые можно принять (✓), принять с изменениями (✏️), массово принять для конкретного пользователя (👤✓), клонировать в поля перевода (📑) или удалить (🗑).

Безопасный перевод специального текста

Некоторые исходные строки содержат текст, который приложение интерпретирует во время выполнения. Переводите удобочитаемые части, но сохраняйте технические маркеры нетронутыми, если инструкции проекта не говорят иначе.

Заполнители и строки формата

Сохраняйте переменные, такие как %s, %1$d, %(name)s, {count}, {{ value }} или подобные маркеры, в переводе. Именованные заполнители описывают вставляемое значение, но сами имена не переводятся. Вы обычно можете переупорядочивать нумерованные или именованные заполнители, чтобы они соответствовали целевому языку. Используйте ярлыки копирования заполнителей, чтобы вставлять их без ошибок.

Разметка

Сохраняйте HTML- и XML-теги, имена тегов и имена атрибутов неизменными. Переводите видимый текст между тегами и любые значения атрибутов, предназначенные для пользователей, например альтернативный текст или всплывающую подсказку, когда они появляются как часть переводимой строки. Убедитесь, что открывающие и закрывающие теги всё ещё совпадают после перестановки предложения.

Синтаксис программы

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

Пунктуация и пробелы

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

Акселераторы

Метки меню могут отмечать клавиатурные акселераторы символами, такими как &, _ или ~. Если в исходном тексте есть акселератор, сохраните один в переводе. Выберите читаемую клавишу в переведённой метке и избегайте явных конфликтов с соседними пунктами меню или кнопками.

Формы множественного числа

Переводите каждое поле множественного числа, которое показывает Weblate. Не объединяйте формы в одну конструкцию, такую как file(s), если только это не правильно для целевого языка и проекта. Если исходная строка использует неоднозначное множественное число, сообщите об этом с помощью комментария к исходной строке или рецензирования.

Проверки качества Weblate выявляют многие технические ошибки в заполнителях, разметке, пунктуации, пробелах и формах множественного числа. Они не заменяют суждение переводчика, поэтому используйте Контекст перевода, Словарь и Комментарии, когда исходный текст требует разъяснения.

Редактирование исходных строк и ключей

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

Диалог позволяет изменить исходный текст, поддерживаемый ключ или контекст и пояснение к источнику. Существующие переводы, история, комментарии, метки и предложения сохраняются. Изменение исходного текста помечает существующие переводы как требующие правки. Изменение только ключа, контекста или пояснения сохраняет их состояния. Переименование ключа может потребовать соответствующих изменений в коде вашего приложения.

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

Редактирование источника поддерживает PO, TBX, простой XLIFF 1.2, XLIFF 2.0 и Apple XLIFF. Редактирование ключей поддерживает JSON (простой, вложенный, ARB, WebExtension и i18next), YAML, Ruby YAML, TOML, Go-i18n TOML, Java properties, GWT, PHP, DTD, Android, RESX и простые сообщения Fluent. Эти одноязычные форматы также поддерживают редактирование исходного текста. Контексты PO и ключи TBX доступны для редактирования; составные ключи XLIFF — нет.

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

Формы множественного числа

Слова, изменяющие свою форму в зависимости от того, какое число находится рядом с ними, называются в Weblate «формами множественного числа». Каждый язык имеет своё определение множественного числа. В английском языке, например, существует всего одна такая форма. Если слово стоит в единичном числе, к примеру, «автомобиль» — «car» — неявно подразумевается именно одна машина, а во множественном — «автомобили» — «cars» — подразумеваются уже две или более машины, либо же просто понятие «автомобили» как существительное. Такие языки, как, например, чешский, арабский или русский, имеют больше форм множественного числа, а правила употребления этих форм отличаются от правил английского.

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

../_images/plurals.webp

Другие переводы

Добавлено в версии 4.13.

Примечание

В настоящее время это поддерживается только с Многозначный CSV-файл.

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

Горячие клавиши

При переводе можно использовать следующие горячие клавиши:

Горячие клавиши

Описание

?

Открыть доступные горячие клавиши.

Alt+Home

Перейти к первому переводу в текущем поиске.

Alt+End

Перейти к последнему переводу в текущем поиске.

Alt+PageUp или

Ctrl+↑ или

Alt+↑ или

Cmd+↑

Перейти к предыдущему переводу в текущем поиске.

Alt+PageDown или

Ctrl+↓ или

Alt+↓ или

Cmd+↓

Перейти к следующему переводу в текущем поиске.

Ctrl+Enter или

Cmd+Enter

Отправить текущую форму; это то же самое, что нажать «Сохранить и продолжить» при редактировании перевода.

Ctrl+Shift+Enter или

Cmd+Shift+Enter

Снять пометку «На правку» с перевода и отправить его.

Ctrl+Alt+Enter или

Cmd+Alt+Enter

Утвердить перевод и сохранить с продолжением. Доступно только рецензентам.

Alt+Enter или

Option+Enter

Отправить строку как предложение; это работает так же, как нажатие «Предложить» при редактировании перевода.

Ctrl+E или

Cmd+E

Фокус на редакторе перевода.

Ctrl+U или

Cmd+U

Фокус на редакторе комментариев.

Ctrl+M или

Cmd+M

Показ вкладки Автоматические предложения, смотреть раздел Автоматические советы.

Ctrl+1 — Ctrl+9 или

Cmd+1 — Cmd+9

Копирует размещаемый файл заданного числа из исходной строки.

Ctrl+M, затем от 1 до 9 или

Cmd+M, затем от 1 до 9

Копировать машинный перевод заданного числа в текущий перевод.

Ctrl+I, затем от 1 до 9 или

Cmd+I с последующими 1 до 9

Игнорирование одного элемента в списке неудачных проверок.

Ctrl+J или

Cmd+J

Показ вкладки Соседние строки.

Ctrl+S или

Cmd+S

Фокус на поле поиска.

Ctrl+O или

Cmd+O

Копировать исходную строку.

Ctrl+Y или

Cmd+Y

Переключение флажка На правку.

→

Перейти к следующей строке перевода.

←

Перейти к предыдущей строке перевода.

Визуальная клавиатура

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

Показываемые символы разделены на три категории:

  • Настроенные пользователем Специальные символы, определённые в Профиль пользователя

  • Предоставляемые Weblate символы для конкретного языка (например, кавычки или символы, специфичные для письменностей справа налево)

  • Символы, настроенные через параметр SPECIAL_CHARS

../_images/visual-keyboard.webp

Контекст перевода

Это контекстное описание содержит инфо, относящуюся к текущей строке.

Атрибуты строки

Такие вещи, как идентификатор сообщения, его контекст (msgctxt) или местоположение в исходном коде.

Пояснение

Дальнейшие разъяснения могут быть предоставлены в Weblate через Пояснение.

Снимки экрана

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

Соседние строки

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

Другие вхождения

В случае, если сообщение появляется в нескольких местах (например, в нескольких компонентах), эта вкладка показывает их все, если в них найдены противоречия (смотрите раздел Противоречия). Вы можете выбрать, какую из строк использовать.

Память переводов

Показывает похожие строки, переведённые в прошлом, смотрите раздел Память переводов.

Словарь

Отображает термины из словаря проекта, используемые в текущем сообщении.

История

Список людей, которые недавно изменили это сообщение, используя Weblate.

Проект

Информация о проекте, например, инструкции для переводчиков, или каталог, или ссылка на строку в репозитории системе контроля версий, используемой проектом.

Если вам нужны прямые ссылки, формат перевода должен это поддерживать.

Добавление существующего снимка экрана

Чтобы связать уже загруженный снимок экрана, откройте строку в редакторе перевода:

  1. На панели Снимки экрана выберите Добавить существующий снимок экрана.

  2. Просмотрите миниатюры или введите запрос в Поиск снимков экрана и выберите Найти. Используйте Предыдущие и Следующие, чтобы просмотреть дополнительные результаты.

  3. Выберите снимок экрана, щёлкнув его карточку. Карточка подсвечивается и помечается Выбрано. Чтобы выбрать с клавиатуры, нажмите Tab, чтобы добраться до карточек, используйте стрелки для перемещения между ними и нажмите Пробел, чтобы выбрать карточку.

  4. Выберите Добавить снимок экрана. Редактор перезагружается на той же строке и отображает связанный снимок экрана на панели Снимки экрана.

Выбор снимка экрана с подсвеченной карточкой, помеченной «Выбрано».

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

Это действие требует разрешения Редактировать снимок экрана. Чтобы загрузить новое изображение, используйте вместо этого Загрузить снимок экрана. Используйте Управление снимками экрана для полного интерфейса управления снимками экрана.

История переводов

Каждое изменение по умолчанию (если не отключено в настройках компонента) сохраняется в базе данных и может быть отменено. При необходимости переводы также могут быть отменены в базовой системе контроля версий.

Каждое изменение показывает значок происхождения рядом с именем пользователя: Веб, API, Репозиторий или Система. Изменения, сделанные автоматизацией, определяют установленное дополнение и его журнал выполнения во всплывающей подсказке значка происхождения Автоматизация. Наведите курсор на значок или сфокусируйтесь на нём с клавиатуры, чтобы увидеть объяснение происхождения. API-запросы, аутентифицированные сеансом, включая запросы из редактора, считаются веб-действиями. Запросы, аутентифицированные токеном, считаются действиями API. Строки, импортированные из репозитория, считаются изменениями репозитория, тогда как загрузки сохраняют своё происхождение веб или API. Фоновые задачи наследуют инициирующее происхождение; несвязанная фоновая работа использует систему. Исторические изменения без записанного происхождения не имеют значка.

Значки происхождения видны всем, кто может просмотреть изменение. Суперпользователи также видят значок IP-адреса, когда адрес был записан. Метаданные происхождения также доступны через API пользователям, которые могут получить доступ к изменению.

В браузере изменений используйте Старее и Новее для просмотра истории или Последние для возврата к самым новым соответствующим изменениям. Перейти к дате начинается с последних изменений на выбранную дату или раньше. Затем вы можете просматривать в любом направлении, сохраняя фильтры поиска. Используйте Диапазон дат, чтобы ограничить результаты определённым периодом.

Загрузки CSV и RSS-ленты используют фильтры поиска, а не вашу позицию просмотра или дату перехода. Загрузки CSV содержат до 2 000 соответствующих изменений, а RSS-ленты содержат последние 10. Старые нумерованные ссылки на страницы открывают самые новые соответствующие изменения.

Длина переведённой строки

Weblate может ограничивать длину перевода несколькими способами, чтобы гарантировать, что переведённая строка не будет слишком длинной:

  • Ограничение по умолчанию для перевода — в десять раз длиннее исходной строки. Это можно изменить с помощью LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH. Если вы сталкиваетесь с этим, это также может быть вызвано тем, что одноязычный перевод ошибочно настроен как двуязычный, из-за чего Weblate принимает ключ перевода за фактическую исходную строку. Дополнительную информацию см. в Двуязычные и одноязычные форматы.

  • Максимальная длина в символах, определяемая файлом перевода или флагом, в соответствии с Максимальная длина перевода.

  • Максимальный отображаемый размер в пикселях, определяемый флагами; см. Максимальный размер перевода.

Автоматические советы

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

Вы также можете выполнить согласованный поиск по Память переводов.

См. также

Список поддерживаемых инструментов можно найти в разделе Службы перевода.

Автоматический перевод

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

../_images/automatic-translation.webp

Аналогичная операция Пакетный автоматический перевод доступна, если вы выбрали язык проекта, компонент или категорию.

Возможны два режима работы этого инструмента:

  • Использование в качестве источника для переводов других компонентов Weblate.

  • Использование выбранных сервисов машинного перевода с переводами выше определённого порога качества.

При использовании других компонентов в качестве источника Weblate сначала ищет точное совпадение как исходного текста, так и контекста, включая пустой контекст. Если такого нет, используется перевод, совпадающий только по исходному тексту. Совпадения по контексту имеют приоритет над порядком исходных компонентов; порядок компонентов разрешает ничьи между одинаково совпадающими кандидатами.

Weblate применяет переводы только тогда, когда формы множественного числа совместимы. Если исходный компонент использует другие правила множественного числа, строки с множественным числом пропускаются, и Weblate показывает предупреждение, в то время как строки в единственном числе по-прежнему переводятся.

Вы также можете выбрать, какие строки должны быть переведены автоматически.

Предупреждение

Имейте в виду, что если использовать широкие фильтры, вроде фильтра Все строки, это приведёт к перезаписи существующих переводов.

Инструмент полезен в ряде ситуаций, например, при объединении переводов различных компонентов (к примеру, приложения его веб-сайта) или при начальном переводе нового компонента с использованием существующих переводов (памяти переводов).

Автоматически переведённые строки помечены «Автоматически переведено».

Ограничение частоты запросов

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

Ограничения по умолчанию и точная настройка описаны в руководстве по администрированию, см. Ограничение частоты запросов.

Поиск и замена

Эффективно изменяйте терминологию или выполняйте массовое исправление строк с помощью Поиск и замена в меню Управление.

../_images/search-replace.webp

Подсказка

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

Массовая правка

Массовое редактирование позволяет выполнять одну операцию для нескольких строк. Определите строки с помощью поиска и действия для выполнения над совпадающими. Поддерживаемые операции:

Операции с флагами и метками источника влияют на все языки соответствующих строк. Операции с флагами перевода влияют только на соответствующие переводы и пропускают исходные строки. Удаление флагов перевода удаляет локальные значения; унаследованные флаги остаются в силе. Чтобы пометить соответствующие переводы как «только для чтения», добавьте read-only в Добавляемые флаги перевода — соответствующие переводы.

Подсказка

Этот инструмент называется Массовое редактирование и доступен в меню Управление каждого проекта, компонента или перевода.

../_images/bulk-edit.webp

Просмотр в виде матрицы

Вы можете эффективно сравнивать разные языки, используя это представление. Оно доступно на каждой странице компонента в меню Управление. Сначала выберите все языки, которые хотите сравнить, подтвердите свой выбор, затем нажмите на любой перевод, чтобы открыть и отредактировать его.

Матричное представление также является очень хорошей отправной точкой для поиска отсутствующих переводов на разных языках и их быстрого добавления из одного представления.

../_images/matrix-view.webp

Дзен-режим

Этот режим упрощает макет и удаляет дополнительные элементы интерфейса, такие как Близкие строки или Словарь. Он доступен при нажатии кнопки Дзен в правом верхнем углу обычного редактора (перевод строки).

Вы можете выбрать редактор «Дзен» в качестве редактора по умолчанию, используя вкладку Настройки в вашем Профиль пользователя. Там же вы можете выбрать, будут ли переводы перечисляться Сверху вниз или Бок о бок, в зависимости от ваших личных предпочтений.

../_images/zen-mode.webp