MediaWiki/Многоязычность

Материал из СисадминВики (SysadminWiki.ru)
Перейти к: навигация, поиск
На этой странице были произведены изменения, не отмеченные для перевода.

Поддержка нескольких языков на сайте MediaWiki поддерживается в двух направлениях:

  1. Системные сообщения и элементы оформления (локализация движка, интерфейса)
  2. Содержимое или наполнение (собственно статьи)

Локализация МедиаВики

Первое направление реализовано разработчиками движка (и сообществом), предоставляющими переводы на более 380 языков (см. каталог languages\i18n\ в дистрибутиве).

Перевод статей

Второе направление более трудоёмко и воплощается администраторами и редакторами сайта. Существует несколько способов:

Отдельное вики для каждого языка

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

Автоматический (машинный) перевод

Это осуществляется налету такими Интернет службами как Гугл и Микрософт. Эта возможность встраивается в некоторые обозреватели, а также её можно подключить с помощью расширения Live Translate (по состоянию на 2018.04.12 у него нет разработчиков).

Отдельный частичный перевод каждой страницы

Такой подход использует, например, сайт самого движка МедиаВики. Для этого достаточно расширения Translate и UniversalLanguageSelector , но можно установить собирательное расширение MediaWiki Language Extension Bundle, объединяющее в себе несколько полезных расширений, связанных с облегчением работы на многоязычных сайтах: Babel (Вавилон) , CLDR , CleanChanges , LocalisationUpdate , UniversalLanguageSelector , Translate .

Инструменты (расширения) перевода

Babel
Сведения о языках участников (Вавилон)
ru-5 Этот участник профессионально владеет русским языком.
en-3 This user has advanced knowledge of English.
Участники по языкам

Расширение Вавилон предоставляет тэг #babel, с помощью которого можно указать какими языками и в какой степени владеет участник. Языки перечисляются через вертикальную линию | и указываются в формате: XX-N, где

  • XX - буквенный код языка в МедиаВики (ISO 639-1, двух буквенные или ISO 639-3, трёх буквенные), посмотреть можно, например, в каталоге МедиаВики \languages\i18n\.
  • N - степень владения языком: от 0 - не владею, до 5 - владею на профессиональном уровне

Пример:

{{#babel: ru-5| en-3}}

Расширение призвано помогать разным участникам-переводчикам находить друг друга и налаживать сотрудничество. Логично размещать такую информацию на странице участника


CLDR

Это расширение предоставляет различные функции языковой адаптации данных (локализации): вид валюты, формат даты и времени и т.п.


CleanChanges

Это расширение настраивает страницу последних изменений (свежих правок), отражая там в том числе, информацию о языковых правках


LocalisationUpdate

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

php extensions/LocalisationUpdate/update.php

либо прописать запуск в планировщик задач (crontab, например).


UniversalLanguageSelector

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


Translate

Расширение Перевод -- основной инструмент переводчика. Позволяет переводить текст (см. далее).

Использование расширения Перевод (Translate)

1) Установить и настроить все расширения, перечисленные выше.

2) В месте расположения тэга <languages/> выводится таблица языков, на которые есть переводы на этой странице (хотя бы частичные). Логично расположить этот тэг в начале статьи.

3) Фрагменты текста, нуждающиеся в переводе необходимо заключить в тэговые скобки <translate> </translate>. Фрагмент может содержать одно слово, абзац или всю страницу.

4) Пометить страницу для перевода, т.е. включить в список статей, нуждающихся в переводе (Служебная:Перевод страниц). Система обработает помеченный для перевода текст и разобьёт на блоки с нумерованными метками вида <!--T:1-->.

5) Под заголовком страницы нажать на ссылку "Перевести эту страницу" и выбрать язык перевода.

6) Обновление перевода. После изменения уже переведённой страницы её нужно заново пометить для перевода. Для этого:

  1. Под заголовком страницы нажимаем на ссылку "Эта страница была изменена с момента последней отметки о переводе".
    Блоки серого цвета означают фрагменты не нуждающиеся в переводе, блоки чёрного цвета показывают фрагменты для перевода.
  2. Нажимаем на кнопку "Отметить эту версию для перевода" внизу страницы.

Вспомогательные страницы