Справка:Расширение:Перевод/Управление страницами, доступными для перевода

This page is a translated version of the page Help:Extension:Translate/Page translation administration and the translation is 83% complete.
Outdated translations are marked like this.

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

Зачем это нужно. Если требуется перевести на другие языки более чем несколько страниц, то, без какой-либо поддержки, это становится в лучшем случае бесполезной тратой времени, а в худшем — приводит к полному беспорядку. С функцией перевода страниц вы можете избежать беспорядка и внести структурированность в процесс перевода. Ключевая идея состоит в том, что исходный текст делится на небольшие фрагменты, каждый из которых можно переводить отдельно от других. Когда исходный текст сегментирован, все изменения могут быть разграничены и переводчикам просто надо обновить переводы тех частей, в исходном тексте которых произошли изменения. Это также позволяет переводчикам работать с фрагментами разумного размера и делить работу между несколькими людьми или продолжать перевод в другой раз, поскольку им не нужно делать всё и сразу.

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

Чтобы подать заявку на расширенные права в качестве администратора перевода, перейдите по ссылке Project:Requests.

Жизненный цикл доступных для перевода страниц

Роли. Написанием и переводом вики-страниц занимаются разные люди: один автор создаёт страницу, другой — исправляет на ней ошибки, администратор перевода исправляет разметку и помечает страницу для перевода, переводчики переводят её, кто-то вносит изменения в страницу, администратор перевода снова помечает эти изменения для перевода, и затем переводчики обновляют свои переводы. Роли участников могут в большей или меньшей степени перекрываться, однако конечную ответственность за обеспечение беспроблемного перевода лежит на администраторе перевода. Администратор решает, когда страница готова для первого перевода, убеждается, что сегментация отвечает указанным целям и принимает (или исправляет) изменения.

Подготовка. Для того, чтобы что-то перевести, надо это сперва написать. Если у вас уже есть перевод, выполненный без помощи расширения перевода — читайте ниже раздел о миграции переводов. Если хотите, чтобы переводы выполнялись быстрее, позаботьтесь о том, чтобы исходный текст был в хорошем состоянии. Перед разметкой страницы для перевода попросите кого-нибудь вычитать текст и, по возможности, найдите специалиста, который сделает текст яснее и лаконичнее. Многих добровольных переводчиков останавливают сложные термины и тяжёлые для восприятия предложения. Проблемы для переводчиков может также создать и разметка, но будучи администратором, вы можете избежать этого: читайте ниже раздел про обработку разметки. Надо понимать, что любое изменение текста, подлежащего переводу, вызывает обновление всех имеющихся переводов этого текста. Следовательно, лучше дождаться, пока исходный текст не придёт к завершённому виду. С другой стороны, изменения случаются, и система успешно справляется с ними — об этом рассказано в разделе про обработку изменений.

Разметка. Когда текст так или иначе готов для перевода, кто-нибудь может пометить переводимые части, заключив их в теги ‎<translate> и добавить на страницу панель со списком языков ‎<languages />. Эта плашка отображает все переводы данной страницы с актуальными процентами завершённости. Другой индикации наличия переводов нет. Смотрите далее о том, как выполнять разметку. Система заметит появление этих тегов и добавит ссылку, позволяющую пометить страницу для перевода. Также система позаботится о том, чтобы вы, к примеру, не сохранили страницу с незакрытыми тегами. Переводимая страница появится на странице Special:PageTranslation в разделе «страницы, предложенные для перевода».

Маркировка. После расстановки тегов, администратор перевода помечает страницу для перевода. Процесс объясняется в рамках описания примера перевода страницы. Администратор перевода должен позаботиться об адекватной сегментации и наличии необходимых тегов. При необходимости, изменившуюся страницу можно повторно пометить как доступную для перевода. См. ниже о том, как минимизировать дестабилизацию при внесении изменений. Маркировка страницы инициирует фоновый процесс очереди работ MediaWiki. В ходе данного процесса, бот обращается к каждой странице перевода и обновляет её: в шаблоне страницы отображаются все связанные изменения исходной страницы, устаревшие переводы подсвечиваются розовым фоном. В отличие от этого, интерфейс перевода обновляется сразу же.

Изменения. Участники могут продолжать вносить изменения в исходный текст переводимой страницы. Соответствующие изменения будут заметны пользователям, просматривающим страницу на языке оригинала, перевод же строится на основе фрагментов перевода, вычленяемых на основе разметки последней версии исходной страницы, отмеченной для перевода — поэтому, если все фрагменты перевода были переведены, у перевода будет статус «переведено 100 % текста» даже в том случае, когда в исходный текст переводимой страницы уже внесены изменения. Наличие немаркированных изменений легко заметно при просмотре исходных версий переводимых страниц: в случае наличия изменений, уведомление вверху страницы, сообщающее о возможности её перевода, отображает соответствующую ссылку.

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

Исходный язык. Также существует страница перевода с языковым кодом исходного языка: она не содержит экстра-тэгов и другой разметки, соответствующей странице перевода, которая используется в исходном тексте переводимой страницы. Эта страница не связывается с интерфейсом перевода, но удобна, к примеру, когда вы хотите выполнить включение этой страницы (как правило, это актуально для переводимых шаблонов) или для ее экспорта. К примеру, страница, на которой вы находитесь, доступна без разметки как Help:Extension:Translate/Page translation administration/en.

Смена языка оригинала. Расширение обычно предполагает, что переводимая исходная страница находится на языке Вики по умолчанию. Администраторы могут изменить языковые настройки конкретной страницы с помощью страницы Special:PageLanguage, так что его можно использовать в качестве исходной страницы для перевода. Для уточнения деталей см. Page content language.

Язык перевода. Не полностью переведённые страницы могут содержать текст на разных языках. On translation pages, untranslated translation units will be tagged with appropriate language and text direction so that CSS rules are applied correctly. MediaWiki, however, does not currently allow setting the language for parsing other than at the page level. All magic words and parser functions use the translation target language, even if the surrounding text is not translated. This can create an unwanted mismatch for example when formatting numbers or dates. Some magic functions and parser tags allow setting the output language, in which case you can use magic word {{TRANSLATIONLANGUAGE}} that returns either the source language for untranslated units or the target language for translated units.

Закрытые запросы на перевод. Некоторые переводимые страницы содержат материал, имеющий значимость только в течение определённого периода времени. Например объявления и постоянные обновляемые дайджесты, такие как ежемесячные сводки важных новостей движения Викимедиа. Вы можете сохранять переводы этих страниц, но исключить их из интерфейса перевода. Это не предотвратит дальнейший перевод страниц, но существенно уменьшит шанс, что участники начнут их переводить. Исключение (Discouraging) и его отмена производится на странице Special:PageTranslation.

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

Группировка. Имеется возможность группировать связанные страницы вместе друг с другом. Эти группы работают как и все другие группы сообщений. Они имеют собственную статистику и содержат все сообщения подгрупп: в данном случае, переводимых страниц. В настоящее время эта функциональность находится на странице Special:AggregateGroups. Агрегированные группы сообщений по умолчанию отображаются в свёрнутом виде на странице Special:LanguageStats и в селекторе групп на странице Special:Translate.

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

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

Отмена. Аналогично, отмена некорректных правок работает как обычно (включая кнопку отката (rollback)): вы редактируете только затронутый фрагмент перевода и переведенная страница будет обновлена. Чтобы найти правку фрагмента перевода из правки переведённой страницы, просто кликните на ссылку «вклад» в редакторе и ищите правку в это же время.

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

Отключение перевода. Также можно убрать со страницы пометки о переводе. Вы можете использовать служебную страницу Special:PageTranslation или проследовать по ссылке в верхней части переводимой страницы, чтобы удалить ее из перевода. Это удалит все структуры, относящиеся к переводу страницы, но оставит все существующие страницы на месте, в виде свободно редактируемых. Так делать не рекомендуется.

Language aware transclusion. It is possible to transclude a translatable page into another page as a template. In such a case, the translatable page will be loaded in the language of the source page if it has been translated to that language. If that translation does not exist, the translatable page will be loaded in the source language. This behavior of a translatable page is controlled by the Enable translation aware transclusion for this page option when marking the page for translation. New translatable pages will have this behavior turned on by default.

Анатомия переводимых страниц

Перевод доступной для перевода страницы создает много страниц, которые вместе составляют переводимую страницу в широком смысле: заголовки этих страниц определяются заголовком исходной Page:

  • Page (исходная страница)
  • Page/<код языка> (страницы перевода, плюс копия исходной страницы без разметки)
  • Translations:Page/<идентификатор фрагмента перевода>/<код языка> (все страницы фрагментов переводов)

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

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

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

  • укажите исходный код языка (для английского - en) и откройте Page/<код языка>;
  • кликните "История" чтобы получить адрес, такой как этот и замените action=history на action=raw в адресной строке, и нажмите enter:
текст будет отображен или сохранен.

Сегментация

Основные принципы:

  1. Весь текст, требующий перевода, должен быть «обёрнут» в теги ‎<translate>. На одной странице может использоваться более одной пары таких тэгов.
  2. Всё, находящееся вне данных тэгов, на переведённых страницах будет отображаться как в оригинале. Данный неизменный текст, а также блоки-заполнители, в которые будет размещен перевод соответствующих фрагментов, называются шаблоном переведённой страницы.
  3. Большое количество разметки в тексте усложняет работу переводчиков. В подобных случаях, размещайте теги ‎<translate> аккуратнее.
  4. Текст внутри тегов ‎<translate> разбивается на фрагменты перевода в тех местах, где имеется одна или более пустых строк.

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

Parsing order. Beware, the ‎<translate> tags work differently from other tags, because they do not go through the parser. This should not cause problems usually, but may if you are trying something fancy. In more detail, they are parsed before any other tags like ‎<pre> or ‎<source>, except for ‎<nowiki> which is recognized by the Translate extension.

Before Translate version 2020.10, ‎<nowiki> was not handled consistently and pages would still appear in Special:PageTranslation. Escape it like "&lt;translate>...&lt;/translate>" as a workaround.

Размещение тэгов. Если возможно, старайтесь размещать тэги в отдельных строках, не допуская пустых строк между содержанием и тэгами. Иногда это может быть невозможно - к примеру, когда вы хотите перевести контент, окруженный разметкой, не влияя на разметку. Это тоже возможно, например:

{{Template|1=<translate>Некоторый локализованный параметр</translate>}}

Чтобы это работало, расширение имеет простую обработку пробелов: пробелы сохраняются, если открывающих или закрывающих тегов ‎<translate>‎</translate> больше одного на строке. В противном случае перевод строки после открывающего тега или перед закрывающим съедается. Это значит, что они не вызывают дополнительных пробелов в отображаемой версии страницы.

Переменные. Возможно использование переменных примерно таким же образом, как в шаблонах. Для них синтаксис выглядит так: ‎<tvar name=name>содержание‎</tvar>. Для переводчиков это будет выглядеть только как $name, и в страницах перевода будет автоматически заменяться на значение, определённое в исходной странице (так что такие значения будут глобальными «константами» для всех переводов этой страницы). Переменные могут использоваться, чтобы скрыть не требующий перевода фрагмент, находящийся в середине элемента перевода. Это также может быть удобно для числовых значений, которые часто обновляются. Вы можете обновить число во всех переводах, просто изменив его на исходной странице и пометив её для перевода. Вам не требуется при этом дестабилизировать перевод, так как число не является частью элемента перевода.

До версии расширения Translate 2021.04, синтаксис был <tvar|name>содержимое</> (T274881). Данный синтаксис всё ещё поддерживается, но считается устаревшим.

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

Plain-text values. To prevent any kind of modification of the translation value, use nowrap attribute like this: <translate nowrap>...</translate>. By default outdated and untranslated values are modified in order to support highlighting and language tagging.

Примеры разметки

Ниже перечислены некоторые альтернативы и предлагаемые способы обработки различных видов вики-разметки.

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

If you have the categories in the translation page template, all translations will end up in the same category.

If you have categories inside translation units, you should teach the users a naming scheme.

On the right we show two possible schemes which are independent of the technical means to adopt them.

Перевод с добавлением языкового суффикса: Category:Cars/fi (рекомендуется)

[...]
</translate>

[[Category:MediaWiki{{#translation:}}]]
  • Названия категорий не переводятся (так же, как и названия страниц).
  • Одна категория для каждого языка.
  • Механизм перевода страниц может использоваться и для страниц категорий как таковых: категории будут ссылаться друг на друга, переведённые названия категорий будут отображаться на их страницах (но переводы не действуют в ссылках и т.п.).

Остаётся без перевода: Category:Cars

  • Все переводы помещются в ту же самую категорию (годится, если языков немного, и очень неудобно, если много).
  • Названия категорий не переводятся (можно оставить их «как есть» в шаблоне перевода)
Заголовки В принципе, заголовки могут быть связаны со следующим параграфом, но лучше, если они будут отделены пустой строкой. Этот способ позволяет быстро перевести заголовки разделов (и сформировать содержание страницы) перед переводом основного текста. При разметке заголовков важно включить вики-разметку заголовка внутрь маркеров перевода и вставить пустую строку перед открывающим тегом перевода и разметкой заголовка, иначе MediaWiki не будет их правильно обрабатывать. Например, редактирование раздела работает только с рекомендуемой разметкой, приведённой в примере. Разметка также сразу задаёт контекст для переводчиков, показывая, что переводится именно заголовок.

When tagging headers, it is important to include the header markup inside the tags and insert a newline between the opening translate tag and the header markup, or MediaWiki will no longer identify them properly. For example, section editing only works with the recommended mark-up given in the example. The markup also immediately gives translators a context: they are translating a header.

Wrong: (no newline after ‎<translate> tag, heading out of translate tags)

== <translate>Культура</translate> ==

Плохо: (no newline)

<translate>== Культура==</translate>

Рекомендуемая сегментация:

<translate>
== Культура ==

Lorem ipsum dolor.
</translate>
Изображения Изображения с языкозависимым содержанием, таким как текст, должны включать весь синтаксис изображения во фрагмент. Другие изображения могут содержать под тегом только описание с дополнительной подсказкой в сообщении документации к странице после того как она будет размечена.
<translate>
[[File:Europe.png|thumb|Карта Европы с показом столиц]]
<translate>
[[File:Ball.png|50px|<translate>Иконка с изображением шара</translate>]]
Ссылки Ссылки могут быть добавлены в абзац, в котором они находятся. Это позволяет изменять название ссылки, но также изменять и назначение ссылки в локализованных версиях страницы.

Если целевая страница является или должна быть переведенной, вы должны ссылаться на нее подготовив Special:MyLanguage/. Теперь только метка ссылки требует перевода, т.к. это автоматически переместит пользователя на страницу перевода на языке их интерфейса, который можно выбрать через UniversalLanguageSelector. Тем не менее, чтобы получить постоянное поведение, такой синтаксис должен использоваться во всех ссылках.

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

Внутренние ссылки:

<translate>
Хельсинки — столица [[Финляндия (страна)|Финляндии]].
</translate>

Ссылки на переводимые страницы:

<translate>
Здесь имеются прекрасные пляжи с большим количеством [[Special:MyLanguage/чайка|чаек]].
</translate>

Внешние ссылки:

<translate>
PHP ([http://php.net веб-сайт]) — это язык программирования.
</translate>

Ссылки в рамках той же страницы:

<span id=culture></span>
<translate>
== Культура==

Какой-то текст про что-то.

...

Чтобы узнать подробнее о еде, см. [[#culture|раздел о культуре]].
</translate>
Списки Списки могут быть длинными, так что вам может захотеться разбить их на множество частей, например, чтобы в каждом фрагменте было не более пяти пунктов.

Поступайте так, если пункты достаточно независимы для раздельного перевода во всех языках, но не создавайте «лего-сообщения»: к примеру, вам следует избегать разбиения одного предложения на несколько фрагментов, или разделения логически зависимых частей, которые могут повлиять друг на друга (например пунктуацией или стилем списка). To split a list, use ‎<translate>-tags for each item without including leading asterisks/hashes/semicolons. Do not insert blank lines as this will break the HTML output.

* <translate>Основные принципы</translate>
* <translate>Заголовки</translate>
* <translate>Изображения</translate>
* <translate>Таблицы</translate>

or

<translate>
Please visit:
* our main page
* then the FAQ page.
</translate>
Числа С числами и другими нелингвистическими элементами вы можете захотеть исключить их из перевода. Это имеет множество преимуществ:
  • Вы можете обновлять числовые значения без изменения статуса перевода.
  • Память переводов будет работать лучше, если будет игнорировать изменения чисел.
<translate>
Доходы за этот месяц составили <tvar name=income>{{FORMATNUM:3567800}}</tvar> Евро
</translate>

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

Шаблоны Шаблоны имеют разные функции и назначения, и от этого зависит лучшее решение для них. Если шаблон не является частью длинного параграфа, он должен быть исключен, если не имеет параметров, требующих перевода. Если сам шаблон не имеет лингвистического содержания, вы не должны ничего делать с самим шаблоном. Примеры шаблонов, переводящихся при помощи средств перевода страниц, см. Template:Extension-Translate . Для использования этого шаблона вам нужен другой шаблон похожий на {{Translatable navigation template}}, так как при помощи обычного вызова {{TemplateName}} вы такой шаблон вставлять больше не можете. Это пока что не поддерживается самим расширением перевода, но стоит в планах.

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

Атрибуты By default the Translate extension may wrap outdated translation units to highlight them and untranslated units to set proper language metadata.

In some circumstances the additional markup added by this wrapping is not suitable.

<abbr title="<translate nowrap>Frequently asked questions</translate>"><translate>FAQ</translate></abbr>
Translation language (introduced in 5e8106cdc353) When text is using language-dependent formatting methods, a mismatch may appear for untranslated sections.

{{TRANSLATIONLANGUAGE}} can be used to avoid that.

2020-09-15 is {{#time:l|2020-09-15|{{TRANSLATIONLANGUAGE}}}}

The above input may render as:

  • английский: 2020-09-15 is Tuesday.
  • финский: 2020-09-15 on tiistai.

Without the magic word, untranslated text on a Finnish translation page would render as:

  • 2020-09-15 is tiistai

Изменение исходного текста

Основные принципы:

  • Избегайте изменений
  • делайте изменения изолированно, на сколько это возможно
  • Не добавляйте маркеры фрагментов перевода самостоятельно

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

<translate>
== Birds == <!--T:1-->
Birds are animals which....

<!--T:2-->
Birds can fly and...
</translate>

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

Добавление нового текста. Вы можете свободно добавлять новый текст внутри тегов ‎<translate>. Убедитесь, что между соседними блоками есть одна пустая строка, чтобы система увидела её как новую единицу. Вы также можете добавить теги ‎<translate> вокруг нового текста, если он не находится внутри существующих тегов ‎<translate>. Опять же, не добавляйте маркеры блоков самостоятельно, это сделает система.

Удаленный текст. Вы можете удалить целые блоки. Если Вы это сделаете, Вы также удалите маркер блока.

Расщепляющие блоки. Вы можете разделить существующие блоки, добавив пустую строку в середине блока или разместив теги ‎<translate> так, чтобы они разделили блок. Вы можете либо сохранить маркер блока с первым блоком, либо удалить его полностью. В первом случае переводчики видят старый текст при обновлении старого перевода. Если вы удалили маркер блока, оба блока будут вести себя так, как будто никакого перевода никогда не существовало, после того как страница будет повторно помечена для перевода.

Исходное состояние Сохранение маркера Удаление маркера
<!--T:1-->
Cat purrs. Dog barks.
<!--T:1-->
Cat purrs.

<!--T:2--> (Добавлено после переразметки)
Dog barks.
<!--T:2--> (Добавлено после переразметки)
Cat purrs.

<!--T:3--> (Добавлено после переразметки)
Dog barks.
Kissa kehrää. Koira haukkuu. Kissa kehrää. Koira haukkuu.

Dog barks.

Cat purrs.

Dog barks.

Объединение блоков. Если Вы объединяете блоки, вам нужно удалить по крайней мере все, кроме одного маркера блока.

Перемещение блоков. Вы можете перемещать блоки, не делая недействительными переводы: просто переместите маркер блока вместе с остальной частью блока.

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

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

Миграция на перевод страниц

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

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

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

Как пользоваться?

 
Скриншот показывает показывает пример использования Special:PageMigration для страницы с именем «Help:Special pages» и кодом языка «fr».
  1. Перейдите на Special:PageMigration
  2. Введите заголовок страницы и код языка. например "Help:Special pages" & "fr"
  3. Исходный текст, который разделен на фрагменты Переводом и импортируемые переводы будут размещена напротив друг друга с небольшим начальным смещением.
  4. Используйте доступные действия для каждого врагмента для ручного восстановления выравнивания
  5. Т.к. переведенные фрагменты можно редактировать, сделайте ручные улучшения (для переменных перевода, поправьте ссылки и разметку и т.д.)
  6. Кликните кнопку "Сохранить". Это создаст страницы в пространстве имен Translations в виде Translations:Page/<идентификатор фрагмента перевода>/<код языка>. Старые переводы будут импортированы в Translate.
  7. Иначе, если вы хотите отменить импортирование, кликните по кнопке 'Cancel'.

Доступные действия

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

  1. Add: Клик по этой иконке добавит новый пустой фрагмент после текущего. Используйте эту возможность, если хотите разделить текущий фрагмент и вам нужен еще один ниже.
  2. Swap: Клик по иконке этого действия поменяет содержимое текущего и следующего фрагментов. Вы можете использовать эту возможность, если фрагменты выровнены неправильно из-за различного порядка секций. Или когда вам нужно переместить фрагмент выше или ниже. В обоих случаях оно обменяет его с фрагментом ниже и не создаст дополнительных фрагментов.
  3. Delete: Клик по этой иконке полностью удалит фрагмент назначения и сдвинет оставшиеся фрагменты назначения выше. Используйте это для удаление нежелательного содержимого, такого как код или импортированные переводы, которые полностью присутствуют в исходном языке. Осторожно: это необратимое действие (в текущей сессии).

Поиск и устранение неисправностей

  1. Если вы разметили страницу для перевода и сразу же перешли на служебную страницу и попытались импортировать переводы, вы можете получить сообщение об ошибке наподобие «<page-name>/<language-name> не содержит старые переводы». Это из-за того, что FuzzyBot ещё не пометил сообщения на старой странице: расширение не нашло правку FuzzyBot-а на странице перевода. В этом случае просто подождите, пока FuzzyBot сделает свою работу. Как только увидите правку, то можете продолжить импорт.
  2. Пожалуйста подождите некоторое время после нажатия кнопки «Сохранить». Пока кнопка остаётся серой, происходит процесс импортирования непустых фрагментов. Импорт завершится, когда кнопка станет цветной.

Советы

  1. Миграция будет проще, если вы вначале (до начала разметки маркерами перевода) проверите, похож ли существующий перевод на оригинальный английский текст, и вручную отредактируете структуру страницы: разобьёте абзацы и списки, добавите отсутствующие заголовки (пусть даже пустые).
  2. Полезно проверить перевод в основном интерфейсе перевода — некоторые фрагменты могут быть сразу помечены как устаревшие из-за ошибочной разметки или если были добавлены не все переменные перевода.
  3. Перевод заголовка страницы может быть добавлен вручную. Если вам слабо знаком язык импортируемой страницы, вы можете попробовать найти перевод заголовка страницы с помощью служебной страницы «ссылки сюда» или иногда в перенаправлениях. Важно: пожалуйста, не переводите название пространства имён, оставьте его непереведённым.