Open main menu

Help:Extension:Translate/Переклад неструктурованих елементів

This page is a translated version of the page Help:Extension:Translate/Unstructured element translation and the translation is 90% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Lëtzebuergesch • ‎Nederlands • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎lietuvių • ‎polski • ‎português • ‎português do Brasil • ‎čeština • ‎русский • ‎українська • ‎العربية • ‎کوردی • ‎हिन्दी • ‎বাংলা • ‎தமிழ் • ‎中文 • ‎日本語

На цій сторінці пояснюється, як з допомогою розширення Translate зробити переклад повідомлень налаштовуваного інтерфейсу вікі трохи легшим. Це стосується будь-якої частини вікі, яку Ви хочете надати мовою інтерфейсу користувача. Найбільш типовим прикладом є бічна панель, оскільки вона одна, але цей же метод можна застосувати до головної, якщо Ви хочете, щоб усі її переклади були під однією назвою, або навіть і для шаблонів.

Цей метод можна застосовувати також до вмісту вікі, коли переклад цілої сторінки не підходить, як у випадку зі сторінками, переобтяженими розміткою чи шаблонами, розмітку яких Ви не хочете розкривати перекладачам. Все це крутиться навколо повідомлень інтерфейсу або магічного слова {{int:}}, яке дає можливість включати повідомлення інтерфейсу будь-де, де можна писати вікітекст. Це магічне слово дозволяє автоматично підставляти повідомлення інтерфейсу, стандартне, налаштовуване чи нове, мовою інтерфейсу користувача.

Ви можете використовувати його, щоб привнести силу автоматичної локалізації інтерфейсу вікі у її контент, але це не вирішує проблеми для анонімних користувачів, які не можуть змінити мову інтерфейсу за замовчуванням. Див. розділ про розширення Universal Language Selector нижче.

У порівнянні з перекладом сторінок, цей метод має деякі недоліки:

  1. Розробники MediaWiki зазвичай недолюблюють використання {{int:}}, бо воно фрагментує кеш. Замість зберігання однієї кешованої інтерпретованої версії сторінки, {{int:}} вимагає кешування потенційно сотнями різних мов.
  2. Його важче встановлювати, зважаючи на необхідність доступу до конфігурації вікі.
  3. Нема автоматичного відслідковування застарілих перекладів і статистика завершеності може не відповідати дійсності, коли додаються чи видаляються нові повідомлення.
  4. Тільки адміністратори вікі можуть додавати повідомлення до груп повідомлень і перекладати їх. Це означає, що система годиться тільки для сторінок, які не змінюються часто, інакше в адміністраторів буде багато роботи.

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

Встановлення

Цей крок повинен зробити адміністратор сервера. До LocalSettings.php треба додати такий фрагмент:

$wgTranslateCC['wiki-sidebar'] = function( $id ) {
        $mg = new WikiMessageGroup( $id, 'sidebar-messages' );
        $mg->setLabel( 'Sidebar' );
        $mg->setDescription( 'Messages used in the sidebar of this wiki' );
        return $mg;
};

ID групи повідомлень, wiki-sidebar, повинен бути унікальним, тому не використовуйте той самий ID для кількох груп. Другий параметр конструктора WikiMessageGroup, sidebar-messages, стосується сторінки [[MediaWiki:Sidebar-messages]]. Мітка показується у випадному меню та інших місцях, де можна обирати групу повідомлень. Опис показується на сторінці Special:Translate. Це значення, які можна і треба змінювати так, як зручно Вашій вікі, при додаванні нової групи повідомлень.

Посібник з локалізованої бічної панелі

Припустимо, що крок встановлення, уже зроблено. Далі Вам треба уважно слідувати інструкції налаштування бічної панелі. Скажімо, було створено таку просту панель:

* sidebar-commonpages
** FAQ|sidebar-faq

І сторінка [[MediaWiki:Sidebar-commonpages]] містить Common pages, а [[MediaWiki:Sidebar-faq]] містить Frequently asked questions.

Тоді усе, що нам треба, це перейти на [[MediaWiki:Sidebar-messages]] (або що там було вказано у попередньому кроці) і написати там:

sidebar-commonpages sidebar-faq

Тобто назви системних повідомлень, без префікса прстору назв "MediaWiki:", розділені пробілом.

Далі ідемо на [[Special:Translate/wiki-sidebar]] (або що там було вказано у попередньому кроці; див. список вказаних груп на [[Special:Translate]]). Тепер можна перекладати повідомлення іншими мовами. Оскільки усі повідомлення знаходяться у просторі назв MediaWiki, тільки адміністратор вікі може редагувати список повідомлень і, власне, перекладати їх.

Посібник з локалізованої головної сторінки

Іншим випадком використання є сторінка з купою розмітки або шаблонів. Див. для прикладу головну сторінку translatewiki.net. Перевагою цього методу є те, що вона автоматично з'являється мовою інтерфейсу користувача. Недолік — для того, щоб змінити мову відображення цієї сторінки, треба змінити мову інтерфейсу.

Втілення таке ж, як і у попередньому випадку:

  1. Створити нову групу повідомлень.
  2. Взяти сторінку вікі.
  3. Замінити кожну перекладабельну частину на {{int:Mainpage-messagename}} і перемістити вміст у [[MediaWiki:Mainpage-messagename]].
  4. Перейти на [[MediaWiki:Mainpage-messages]] (або що там було вказано при встановленні) і додати туди назви повідомлень, розділені пробілом.
  5. Готово. Перейдіть на [[Special:Translate]], щоб перекласти головну сторінку.

Ось приклад. Скажімо, [[Main Page]] містить:

<div style="max-width:20em;font-size:200%;line-height:1.4;text-align:center;color:green">
''{{SITENAME}} is a community for chefs and bakers that love chocolate.''
</div>
We currently have {{NUMBEROFPAGES}} full of chocolate.

Далі замініть це на:

<div style="max-width:20em;font-size:200%;line-height:1.4;text-align:center;color:green">
''{{int:mainpage-slogan}}''
</div>
{{int:mainpage-pagecount}}

Створіть [[MediaWiki:Mainpage-slogan]] із вмістом:

{{SITENAME}} is a community for chefs and bakers that love chocolate.

Створіть [[MediaWiki:Mainpage-pagecount]] із вмістом:

We currently have {{NUMBEROFPAGES}} pages full of chocolate.

Створіть [[MediaWiki:Mainpage-messages]] із вмістом:

mainpage-slogan mainpage-pagecount

І готово! Ви можете додавати і видаляти нові повідомлення будь-коли.

Перемикач мови

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

На щастя, є вихід. З допомогою розширення UniversalLanguageSelector можна вгадати бажану для користувача мову і дати також можливість вибору іншої мови вручну і збереження цього вибору в куках, без трюків на зразок параметра uselang, який годиться здебільшого тільки для відлагодження.