Help:Extension:Translate/Unstructured element translation/ru

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

This method is applicable also to wiki content where full page translation just doesn't fit, like pages heavy in markup or templates, the markup of which you don't want to expose to translators. This all revolves around interface messages, or the magic word, that allows you to include interface messages anywhere where you can write wikitext. This magic word allows to automatically substitute the interface message, whether standard, customized or new, in the user interface language.

You can use it to bring the power of the automatic localisation of the wiki's interface to the wiki's content, but it doesn't solve the problem for anonymous users, who cannot change the interface language by default. See the note about the Universal Language Selector extension below.

Compared to page translation, this method has some drawbacks:


 * 1) MediaWiki developers usually discourage the usage of  because it fragments the cache. Instead of storing one cached rendered version of a page, when  is used it needs to be cached potentially in hundreds of different languages.
 * 2) It is harder to setup, requiring access to wiki configuration.
 * 3) There is no automatic tracking of outdated translations and completion statistics might be off when new messages are added or deleted.
 * 4) Only wiki administrators can add messages to the message groups and translate them. This means that the system is suitable only for pages which don't change often, or administrators will have a lot of work.

The good thing is that it works most of the time and you can still get the job done. There are two tutorials that provide examples of the common use cases. Before that there is section which details how to set up a message group, something which is always needed when using this method.

Установка
Для правильной работы администратор сервера должен добавить строки в файл LocalSettings.php: Идентификатор группы сообщений  должен быть уникальными, нельзя использовать этот же самый идентификатор в других местах. Второй параметр конструктора, относится к странице Mediawiki:Sidebar-messages. Это идентификаторы разделов меню и т.д., для которых нужно добавить локализацию. Эти названия появятся на странице Special:Translate вашего проекта, где вы сможете сделать перевод названий на нужные вам языки. приведёные здесь значения можно и нужно изменить на те, что подходит для вашего вики-проекта, а также добавить новые, объединив их в специальную пользовательскую группу сообщений.

Инструкция по созданию локализованной навигационной панели
Предполагается, что настройки из предыдущего шага уже сделаны. Дальше просто тщательно следуйте руководству по настройке боковой навигационной панели. Предположим, что была создана следующая простая боковая панель: Создайте (если её нет) страницу $sidebar-commonpges и запишите в неё, а в MediaWiki:Sidebar-faq —.
 * sidebar-commonpages
 * FAQ|sidebar-faq

Теперь всё, что нам остаётся сделать, это перейти в MediaWiki:Sidebar-messages (или другой раздел, определённый на предыдущем шаге) и записать в него: sidebar-commonpages sidebar-faq То есть, имена системных сообщений без префиксов, разделенные пробелами.

Затем перейдите к Special:Translate/wiki-sidebar (или другому разделу, определённому на предыдущем шаге, см. Special:Translate для получения списка определённых групп). Теперь можно переводить сообщения на другие языки. Поскольку все сообщения находятся в пространстве имен MediaWiki, только администратор вики-проекта может редактировать список сообщений и переводить их.

Инструкция по созданию локализуемой заглавной страницы
Another use case is a page with lots of markup or templates. The advantage of this method is that the language automatically appears in the user's interface language. The drawback is that to change the language in which the page is displayed, the interface language must be changed.

Реализуется так же, как и в предыдущем руководстве:


 * 1) Настраивается новая группа сообщений.
 * 2) Берётся вики-страница.
 * 3) В каждой переводимой части текст заменяется на  и переносится в MediaWiki:Mainpage-messagename.
 * 4) Переходим на страницу MediaWiki:Mainpage-messages (или другую опредёленную в настройках страницу) и добавляем в ней новые имена, разделяя их пробелами.
 * 5) Всё готово. Переходим на Special:Translate, чтобы начать переводить заглавную страницу.

Предположим, например, что Main Page содержит:  is a community for chefs and bakers that love chocolate. We currently have full of chocolate. Меняем содержимое на: 

Создаем страницу MediaWiki:Mainpage-slogan, с текстом: is a community for chefs and bakers that love chocolate. Создаём страницу MediaWiki:Mainpage-pagecount, с текстом: We currently have full of chocolate. Создаём страницу MediaWiki:Mainpage-messages с текстом: mainpage-slogan mainpage-pagecount Всё готово! Вы можете добавлять и удалять новые элементы, когда захотите.

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

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