Help:Extension:Translate/Translation aids/uk

Помічники перекладу (translation aids, translation helpers) — модулі, які забезпечують помічну і необхідну інформацію для перекладача під час перекладу. Різні помічники можуть надавати різні поради з пам'ятів перекладів і машинного перекладу, документації про повідомлення або навіть такі звичайні речі, як визначення повідомлення — текст, який має бути перекладеним.

Існує часткове перекривання даних, які видає колекція повідомлень і помічники, але на практиці, як правило, колекція повідомлень містить тільки інформацію, яка безсумнівно необхідна для відображення списку повідомлень: визначення, переклад, статус перекладу, останній перекладач (бо можна вичитувати тільки переклади, зроблені кимось іще) тощо.

Переклад подається з різними класами помічників. Кожен клас, що продовжує клас TranslationAid, потребує тільки впровадження одного методу під назвою. Він має видавати інформацію у структурованому вигляді (вкладених масивів). Ці модулі можуть викликатись прямо з PHP або через WebAPI.

Як користуватись помічниками перекладу всередині MediaWiki
Простий приклад, як отримати документацію повідомлення, якщо така доступна.

Як використовувати API помічники перекладу
Як ми уже бачили вище, помічники перекладу можуть бути доступні через WebAPI, який використовує фреймворк MediaWiki WebAPI. Отримання помічників перекладу таке ж просте, як виконання HTTP GET з URL http://translatewiki.net/w/api.php?action=translationaids&title=MediaWiki%3AJan%2Fde. Воно надає різноманітні формати, але найпопулярніші — JSON та XML. Цей API не потребує автентифікації, але деякі помічники на зразок "inotherlanguages" використовують налаштування користувача для визначення необхідної мови. Щоб використовувати такий помічник, Вам треба спершу увійти в систему, як описано в документації MediaWiki WebAPI.

Видані дані повинні мати приблизно такий вигляд (показано в цікавому форматі json): Кожен запитаний помічник гарантовано має тут ключ (доки запит не з), але поки використовуються винятки у PHP, у JavaScript кожен помічник може мати визначений ключ "error" із повідомленням помилки у значенні. Приклад цього можна побачити вище з. Це сигналізує про неможливість відображення різниці версій, бо не було змін до визначення з часу останнього перекладу.

Приклад JavaScript
Те ж саме і з JavaScript. За замовчуванням API відображає усі помічники, але Ви можете подати запит на конкретний якийсь через параметр. У прикладі ми використали jsonp для роботи з обмеженням запитів на інші сайти. Майте на увазі, що Ви не можете виконати жодних писаних дій з jsonp, тому якщо Ви використовуєте цей API з JavaScript, Вам треба: мати проксі; запустити скрипт на тому ж хості; або завантажити маленький помічник (ще не впроваджений) з цільового сайту.

Принципи іменування і повернення значень
Кожен помічник перекладу має унікальний буквено-цифровий ідентифікатор. В ідентифікаторах варто уникати спеціальних символів, особливо тих, які не коректні для ідентифікаторів JavaScript:  і.

Масив, що видається кожним помічником перекладу, залишається на розсуд розробника, але має відповідати деяким загальним рекомендаціям.

Якщо видається лише одне текстове значення, як ключ до поля має використовуватись. Мову треба вказувати у полі. Користувачі цих даних мають переконатись, що у HTML і будь-де ще текст нормально тегований відповідною мовою і спрямованістю (не надається тут). Якщо є HTML-вихід, він має бути доступним з ключем. Прикладами цього є документація повідомлень і різниці версій (дифи).

Різні види пропозицій перекладів, на зразок машинного перекладу і пам'яті перекладів, мають використовувати ці ключі, коли є потреба:


 * ,  і   (цільова мова [target] — точно те саме, що й мова перекладу)
 * : ідентифікатор використовуваного сервісу
 * : значення з діапазону [0,1], більше значення означає вищу якість пропозиції.
 * : identifier of the service used
 * : value in range [0,1], higher value means that the quality of the suggestions is very good.

Список стандартних помічників
[field] Означає, що видане значення є списком. У PHP це означає, що масив з цифровими індексами + один з ключем ; див. вище, для чого це потрібно.