Довідка:Розширення:Переклад/Стани груп повідомлень

This page is a translated version of the page Help:Extension:Translate/Message group states and the translation is 100% complete.
Перевірити статус кожної групи повідомлень можна на сторінці Спеціальна:Мовна статистика (LanguageStats)

Ця сторінка містить документацію щодо станів робочого процесу групи повідомлень. Уявімо, що якась організація використовує MediaWiki з розширенням Translate. Серед іншого вони використовують вікі для написання прес-релізів. Що вони роблять? Спочатку вони пишуть прес-реліз у вікі, потім роблять його перекладним і запрошують перекладачів працювати над ним. Коли переклади будуть готові, вони можуть опублікувати їх в іншому місці на своєму веб-сайті. Але як вони дізнаються, коли переклад готовий або, що ще важливіше, виправлений (див. Гарантія якості)? Що робити, якщо хтось знайде і виправить помилку, а опубліковану версію потрібно оновити?

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

Налаштування

За замовчуванням, ця функція відключена. Її треба встановлювати у конфігурації вікі (LocalSettings.php ). Вам треба вирішити, які стани Ви хочете налаштувати, і призначити для них кольори у hex-форматі. Додатково Ви можете обрати групи користувачів, які за замовчуванням можуть змінювати стани.

Ось зразок конфігурації:


$wgTranslateWorkflowStates = array(
     'new' => array( 'color' => 'FF0000' ), // red
     'needs_proofreading' => array( 'color' => '0000FF' ), // blue
     'ready' => array( 'color' => 'FFFF00' ), // yellow
     'published' => array( 'color' => '00FF00' ), // green
); 

$wgGroupPermissions['translator']['translate-groupreview'] = true;

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

$wgTranslateWorkflowStates = array(
     'published' => array( 'color' => 'FF0000', 'right' => 'translate-publish' )
);

$wgGroupPermissions['translationadmin']['translate-publish'] = true;

Як використовувати

 
Статус відображається на сторінці Спеціальна:Переклад і його можна змінювати

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

Цей стан стосується однієї мови однієї групи повідомлень, скажімо, всього перекладу італійською сторінки «Fréttinga». Навпаки, окремі одиниці перекладу можуть бути прийнятіі, а цілі перекладені сторінки можуть бути відсторонені від подальшого перекладу.

Автоматичні зміни станів

З вересня 2012 року Translate підтримує автоматичні зміни станів. Наприклад, коли усі повідомлення перекладені, стан сам змінюється на «вичитка», а коли всі повідомлення ухвалені, стан змінюється на «готово».

Умови для цих змін називаються переходами. Переходи можуть мати нуль або більше умов щодо наступних змінних: НЕПЕРЕВЕДЕНО, ЗАСТАРІЛО, ПЕРЕКЛАДЕНО, КОРЕКТОР. Кожна змінна представляє кількість повідомлень у цьому стані. Змінна UNTRANSLATED містить повідомлення ЗАСТАРІЛИ. Кожну змінну можна порівняти з трьома значеннями: ZERO, NONZERO і MAX. Наприклад, перехід до стану готовий матиме умову PROOFREAD is MAX. Дивіться приклад коду нижче.

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

$wgTranslateWorkflowStates = array(
	// States
	// 'ready' => ( ... ),
	'state conditions' => array(
		array( 'ready', array( 'PROOFREAD' => 'MAX' ) ),
		array( 'proofreading', array( 'TRANSLATED' => 'MAX' ) ),
		array( 'unset', array( 'UNTRANSLATED' => 'MAX', 'OUTDATED' => 'ZERO', 'TRANSLATED' => 'ZERO' ) ),
		array( 'inprogress', array( 'UNTRANSLATED' => 'NONZERO' ) ),
	)
);