Meta:Расширение перевода
В Мета-Вики есть много сообщений, которые настолько значимы, что нам нужно переводить их на многие языки. Перевод — это итеративный процесс, в который вовлечено множество не обязательно хорошо понимающих друг друга людей, которые тем не менее могут эффективно работать вместе, если сам процесс выстроен с учётном задач и ролей. Расширение перевода — это инструмент MediaWiki, предназначенный как раз для этих нужд.
Введение
Когда текст высечен на камне, то очевидно, каков исходный текст, однако индустрия переводов процветает благодаря многочисленным изменениям, которые являются результатом развивающегося консенсуса и/или появления новых фактов и цифр. Расширение перевода предназначено для того, чтобы справляться с развивающейся непрерывностью. Первоначально оно было разработано для поддержки процесса локализации ПО MediaWiki, но затем оно было дополнено функцией перевода страниц, которая впервые была использована на сайте translatewiki.net. Его первым крупным внедрением стала поддержка документации KDE на сайте userbase.kde.org и сейчас это расширение также используется в Мета-вики.
Инструмент перевода страниц был разработан с оглядкой на работу профессиональных переводчиков и используемые ими инструменты. Чтобы переводить быстрее, им необходимо фокусироваться на работе, которая должна быть сделана. Так что жизненно необходимо легко распознавать где в исходном тексте произошли изменения, чтобы обновить эти места в переводе.
Важная дополнительная выгода состоит в использовании одинакового инструмента, т.н. «Расширения перевода», так что для локализации программного обеспечения и перевода страниц используются одни и те же навыки. Это упрощает процесс перевода для сообщества переводчиков Меты и сообщества добровольцев, локализующих программы и сайты на translatewiki.net, и позволяет скоординированно работать над одними проектами и делиться опытом.
Инструментарий
В прошлом профессиональные переводчики отказывались помогать нам с переводами. Они хотят использовать знакомые им инструменты, а если нет, то ожидают от наших инструментов гарантий того, что их время не будет потрачено впустую. Для локализации программного обеспечения мы поддерживаем Gettext — формат, понимаемый многими профессиональными инструментами.
Дополнительные сведения о текстовых фрагментах
Часто бывает так, что текст понятен только в определённом контексте. Мы не можем ожидать от наших переводчиков, что они будут понимать всё написанное. Потому если они просят разъяснений, их можно дать в специальном сообщении. В дальнейшем эти разъяснения используются для уточнения переведённых текстов, что позволяет сохранить оригинальный текст неизменным, но пояснить его так, что он стянет ясен людям, читающим его на другом языке.
Отслеживание доступных работ
Специальные страницы автоматически показывают весь оставшийся к переводу текст.
Как это работает
Любой текст средних размеров состоит из абзацев и предложений. Обычно изменения в готовом тексте незначительны: добавляются или убираются абзацы, изменяются предложения. Распознание таких изменений даёт возможность понять, что необходимо перевести заново. Вследствие этого, текст фрагментирован на отдельные части.
Рабочий процесс переводчиков
- Как только текст будет размечен и проверен администратором переводов, он будет доступен для перевода.
- Переводчик выбирает страницу из списка страниц к переводу или через ссылку на странице, которую необходимо перевести.
- Когда часть текста (т.н. «элемент») переведена и сохранена, выбирается следующая.
- Страница перевода становится доступной, а переведённые части становятся видимыми для читателей.
Руководства для переводчиков
All translation systems on Meta are superseded by the Translate extension, in general, with some exceptions. The Translate special pages (Special:LanguageStats mostly) replace the current Translation requests page, which shouldn't be used any longer.
The Translate extension is quite flexible, but to a limit. It has to be used correctly, or it will impose improper burdens on translators. In general, the bigger are the translation units into which the page is split, the more is the translators' freedom; the smaller they are (as in default, automatic splitting) the more translators are forced to follow the original document structure without much freedom and the easier it is to track changes and ensure updates and consistency of translations. Translation administrators should prepare each page for translation correctly as needed: See the "How to prepare a page for translation" tutorial and the in-depth documentation.
- * Эссе и другие страницы сообщества (также и справка?): Чрезвычайно свободно, не более одного элемента перевода на раздел.
- * Официальные правила и руководства, юридические документы, запросы на перевод для публикации в других местах: Стандартное разделение с помощью расширения перевода для обеспечения согласованности. [Не забудьте объяснить рабочий процесс и состояния.]
Между ними есть некоторое совпадение или другая подоснова (между почти полной гибкостью и полной согласованностью).
Вспомогательные задачи
- All categories must be translated: the translation will be in a language code subpage, as e.g. in mw:Special:MyLanguage/Category:Help. The extension automatically produces links to other languages and allows to translate the title of the category (as well as the description), but the category listing will always show the page or category name (see bugzilla). All pages will automatically be put in a translated category without translator intervention via a template which takes the code from its subpage name (todo; there's a translatewiki:Template:Langcat but it's not very intuitive, while wm2012:Template:AddLanguageCategory is quite inefficient and needs the language list to be maintained manually).
- Translated versions of templates should be included as well (cf. translatewiki:Template:Localized). It's not clear whether to use simple subpages (as with {{draft}}) or an autotranslate system as on Commons, but some autotranslated templates exist already;[1]
both systems allow to translate the template's content with the extension. LS-base templates such as {{essay}} are superseded and should probably be migrated, but it's not mandatory.
- Sidebar: Fully translated as explained on doc page about unstructured element translation, probably restricted to sysops anyway because opening to all users is too much. See documentation on Meta-Wiki’s sidebar.
Прочее
- CentralNotice: currently not integrated at all with the extension, still needs manual input of translations. People are still using the old system based on {{cn translation status}} and a single translation request page (see also Fundraising 2011/Translation/Project report). This is currently the only easy way to recycle translation of old messages (combined with the banner-cloning feature of CentralNotice). Translate extension can be used for new translations, probably the best way is to put all strings for a (set of) CentralNotice in a single page, one subpage per language; the extension takes care of the workflow states which can be seen by the sysops on Special:MessageGroupStats.[2]
Процесс
Основное
The translation system will continue to be managed by volunteers mainly, as it's always been. Technically, because page translation syntax can be a bit hard and some checks need to be done, the translation administrator flag is needed to enable translation of (any version of) a page. Meta administrators will be able to add (and remove) themselves to the group if they are willing to help other users or need it and they know what to do (because they've read the documentation and if possible tested it — Meta is not a playground and translators are not toys). Additionally, any user will be able to request it to local bureaucrats at WM:RFA. All details on Мета: Администраторы перевода .[3]
All users are able to add translation tags to a page and request its translation; a translation administrator has to pick it on Special:PageTranslation, check it and mark it for translation. Users can also request help on the usual WM:RFH page if they don't want to learn Translate syntax. There's currently no way to put translations in a higher priority, but this never worked anyway: if a translation is in priority, ask translation on translators-l or directly to translators.[4]
Миграция
- Main page: keep subpages and migrate (without most templates, based on old version).
- Archived translation requests: decategorise etc.
- wmf: wiki policies and most important pages: copy/import (with history) on Meta, translate and keep here (without bothering to export).
- Except board resolutions, votes and minutes and other stuff managed by the board directly, as the board is interested in using Translate directly on wiki.
- A list is being developed at Translation requests/WMF.
- Active translation requests for publishing elsewhere: migrate.
- All other Meta existing non-English pages: migrate.
- User:Nemo bis/Old translations (check also Category:Language link templates and Template:Other languages [1]): to be categorised etc.
- Move all translated pages under langcode subpages, leaving redirects.
- This will also serve to identify what's the actual content sitting around.
- A bot tags all source (English) pages for translation:
- the whole pages is marked for translation, except templates and categories automatically translated;
- the page is edited so that it creates only one translation unit (apart from the title): only one translate tag, all double newlines are removed.
- Pages are marked for translation and the subpages are overwritten with the English text.
- A bot (or an importer) uploads the old content of the translated pages in the (single) relevant translation unit in the Translations namespace.
- This needs to be done immediately because the previous step has hidden all the translated content: everything must be ready before the previous step.
- Ideally, at some point a bot also fetches the old translated pages titles from the redirects and creates the titles translations (translation unit 0).
- Old translations infrastructure.
- Translation requests (with all its translations) is redirected to Мета:Вавилон , which is revamped and greatly simplified, including basically only some pointers to special pages, help and a few other things. Translation is updated/rewritten as a very basic help page for the new system (with Meta-specific info, cf [2]) and Translation FAQ (with all its translations) is redirected to it.
- Translation requests not using the new system (e.g. requests for translations which actually live on other wikis) stay only in the subcategories of Category:Translation requests, kept as an archive as well as Category:Translations by status subdirectories, which are soft-redirected to Special:MessageGroupStats (the same for Translations/Finalizing requests).
- "Translations/links/template" was transformed in a redirect to Special:LanguageStats.
- Category:Translations by language is kept but preferably populated with an automatic template.
- All translation requests templates are marked as deprecated. (Check also templates listed here.)
Примечания
- ↑
See commons:Commons:Localisation; could be improved by the usage of
{{UILANGCODE}}
instead of the {{int:lang}} hack to get the user's language.
В настоящее время{{UILANGCODE}}
возвращает "en" на этой странице либо в виде красной ссылки на отсутствующий Template:UILANGCODE, либо в результате перехода этого шаблона, содержащего хак{{int:lang}}
, который все еще используется в Template:LangSwitch и многих автоматически переведенных шаблонах, хотя этот{{UILANGCODE}}
должен быть встроенным «волшебным словом» самого движка MediaWiki.Many auto translated templates based on LangSwitch are easy to convert to use the new Translate extension: replace those LangSwitch invocations by translate tags around the default language, and move the existing translations in LangSwitch to the subpages per language.
This conversion work (including the transfer of existing translations), could be assisted by a bot account, to be run by someone having the Translate privilege (otherwise these templates prepared using the "translate" tags will not work as long as there are not marked ready for translation).
- ↑ This simplifies a lot for translators, who have a hard time understanding status templates and often make mistakes. The CentralNotice translation currently needs some more development on the administration end; Siebrand and Nikerabbit are going to talk about it, feedback appreciated.
- ↑ This won't basically changed anything compared to the previous system, which used to be managed by Transcom members and other experienced users (usually sysops), but it will make clearer who's working on translations.
- ↑ This won't basically change the old process, which was understood only by very few users. The new system is smoother and documented and has clearer roles and tasks.