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

This page is a translated version of the page Help:Extension:Translate/Page translation administration and the translation is 85% complete.
Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Esperanto • ‎Kiswahili • ‎Lëtzebuergesch • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎lietuvių • ‎polski • ‎português • ‎português do Brasil • ‎slovenčina • ‎svenska • ‎čeština • ‎беларуская (тарашкевіца)‎ • ‎македонски • ‎русский • ‎українська • ‎العربية • ‎فارسی • ‎मराठी • ‎हिन्दी • ‎বাংলা • ‎中文 • ‎日本語 • ‎한국어

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

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

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

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

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

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

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

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

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

The interface is explained in Page translation example. The translation administrator's responsibility is to make sure that the segmentation makes sense and that tagging has been proper. The page can be marked again if it has changed in the meanwhile. See below how to make changes that cause minimal disruptions. The marking of the page starts a background process that uses MediaWiki's job queue. This process goes over each translation page and regenerates it: changes in the translation page template will be reflected and outdated translations will highlighted with a pink background. On the contrary, the translation interface is updated immediately.

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

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

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

К примеру, эта страница доступна как Help:Extension:Translate/Page translation administration/en.

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

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

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

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

It is possible to group related pages together. These groups work like all the other message groups. They have their own statistics and contain all the messages of the subgroups: in this case translatable pages. This functionality is currently in Special:AggregateGroups. Aggregate message groups are collapsed by default in Special:LanguageStats in the group selector at Special:Translate.

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

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

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

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

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

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

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

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

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

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

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

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

Сегментация

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

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

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

Порядок разбора. Осторожно, теги <translate> работают не так, как другие тэги, потому что они не проходят через парсер. Обычно это не вызывает проблем, но может, если вы примените некоторую фантазию. Если детально, то они парсятся перед любыми другими тэгеми, такими как <pre> или <source>, за исключением <nowiki>, который распознается расширением перевода в некоторых обстоятельствах (таких как отображение страницы), а в некоторых — не распознается (таких как генерация списка на странице $PageTranslation или страниц, содержащих <translate>). если вы хотите иметь выражение "<translate>" в исходном тексте, вы должны экранировать его например так "<translate>2".

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> больше одного на строке. В противном случае перевод строки после открывающего тега или перед закрывающим съедается. Это значит, что они не вызывают дополнительных пробелов в отображаемой версии страницы.

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

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

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

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

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

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

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

[...]
</translate>

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

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

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

Плохо:

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

Плохо:

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

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

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

Lorem ipsum dolor.
</translate>
Изображения Изображения с языкозависимым содержанием, таким как текст, должны включать весь синтаксис изображения во фрагмент. Другие изображения могут содержать под тегом только описание с дополнительной подсказкой в сообщении документации к странице после того как она будет размечена.
<translate>
[[File:Europe.png|thumb|right|Карта Европы с показом столиц]]
</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>
Списки Списки могут быть длинными, так что вам может захотеться разбить их на множество частей, например, чтобы в каждом фрагменте было не более пяти пунктов. Поступайте так, если пункты достаточно независимы для раздельного перевода во всех языках, но не создавайте «лего-сообщения»: к примеру, вам следует избегать разбиения одного предложения на несколько фрагментов, или разделения логически зависимых частей, которые могут повлиять друг на друга (например пунктуацией или стилем списка). Для разбивки списка используйте тег $translate-tags. Не вставляйте пустые строки, так как это сломает HTML-вывод. Do so only if the items are sufficiently independent to be translate separately in all languages, don't create "lego messages": for instance, you must avoid to split a single sentence in multiple units, or to separate logically dependent parts which may affect each other (with regard to punctuation or style of the list, for instance). To split a list, use <translate>-tags. Do not insert blank lines as this will break the HTML output.
<translate>
* Основные принципы
* Заголовки
* Изображения
* Таблицы
* Категории
</translate>
<translate>
* Ссылки
* Шаблоны
</translate>
Числа С числами и другими нелингвистическими элементами вы можете захотеть исключить их из перевода. Это имеет множество преимуществ:
  • Вы можете обновлять числовые значения без изменения статуса перевода.
  • Память переводов будет работать лучше, если будет игнорировать изменения чисел.
<translate>
Доходы за этот месяц составили <code><tvar|income>{{FORMATNUM:3567800}}</></code> Евро
</translate>

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

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

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

Attributes 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>

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

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

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

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

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

Советы

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