Довідка:Розширення:Переклад/Адміністрування перекладу сторінок
- Як перекладати
- Кращий досвід
- Статистика та звіти
- Забезпечення якості
- Стан груп повідомлень
- Офлайн переклад
- Глосарій
Адміністраторам перекладу
- Як підготувати сторінку до перекладу
- Адміністрування перекладу сторінок
- Переклад неструктурованих елементів
- Керування групами
- Переміщення сторінки, що перекладається
- Import translations via CSV
- Working with message bundles
Сисадміни та розробники
This page is related to best practices in page translation intended for page translation administrators, and anyone editing the source text of translated pages. For a simpler guide, see page translation tutorial. |
Що. Функція перекладу сторінок дозволяє контрольований переклад вікісторінок іншими мовами. Це означає, що вміст кожного перекладу буде зазвичай ідентичний оригінальній сторінці. Це відрізняється від, наприклад, інших мовних версій статей у різних Вікіпедіях, які повністю незалежні одна від одної. Передбачається, що сторінки перекладаються лише з одної основної мови на інші, але перекладачі можуть скористатися перекладами іншими мовами, якщо вони існують.
Чому. Без жодної допомоги, перекладання більш ніж кількох сторінок іншими мовами стає в кращому випадку убиванням часу, в гіршому — марне казна-що. З функцією перекладу сторінок ви можете уникнути безладу і внести структурованість у процес перекладу. Ключова ідея полягає у тому, що вихідний текст поділяється на менші шматки, кожен з яких можна перекласти окремо. Коли вихідних текст сегментований, усі зміни можуть бути розмежовані і перекладачам просто треба оновити переклад тих частин, у вихідному тексті яких стались зміни. Це також дає змогу перекладачам працювати з блоком посильного розміру і ділити роботу між кількома людьми або продовжувати переклад іншим разом, оскільки їм не треба робити усе одразу.
Хто. Ця сторінка детальніше розвиває посібник з перекладу сторінок, показуючи глибше бачення того, як працює система, і пропонує кращі рішення для широкого спектру випадків. Ця сторінка призначена для адміністраторів перекладу і загалом усіх, хто редагує вихідний текст перекладабельних сторінок, навіть якщо у них немає доступу до адміністраторських функцій позначення змін для перекладу.
Життя перекладабельної сторінки
Ролі. Численні люди задіяні у процесі написання і перекладу вікісторінки: початковий автор створює сторінку, хтось виправляє орфографічні помилки, адміністратор перекладу позначає сторінку на переклад, перекладачі перекладають, хтось вносить зміни на сторінки, адміністратор перекладу позначає ці зміни до перекладу, а перекладачі оновлюють переклади. Ці ролі можуть накладатися більше чи менше, але кінцева відповідальність за безпроблемний переклад лежить на адміністраторі перекладу. Адміністратор вирішує, коли сторінка готова для першого перекладу, перевіряє, щоб поділ на блоки відповідав цілям і підтверджує (або виправляє) зміни.
Підготовка. Аби щось було перекладено, його спершу треба написати. Якщо Ви маєте вже готові переклади, виконані без використання розширення Translate, див. нижче розділ про міграцію перекладів. Якщо потрібно багато перекладів і швидко, дуже важливо, щоб вихідний текст був у гарній формі. До того, як позначати сторінку на переклад, попросіть когось вичитати її текст і, якщо це можливо, попросіть спеціаліста-мовника зробити його більш чітким і зрозумілим. Rare words and complex sentences are difficult to translate. Вікірозмітка також може викликати проблеми у перекладачів, але як адміністратор перекладу, Ви можете уникнути цих складнощів, див. розділ про поводження з вікірозміткою. Зміни, які Ви вносите у вихідний текст, спричиняють оновлення усіх існуючих перекладів, тому краще почекати, поки вміст сторінки стабілізується. З іншого боку, зміни трапляються, і система з ними справляється, тому перегляньте нижче розділ про поводження зі змінами.
Теґування. Коли текст готовий до перекладу, будь-хто може позначити частини, що можуть бути перекладені, взявши їх у теги <translate> і додавши на сторінку панель <languages />.
Остання додає список усіх перекладів сторінки, з відсотками їх завершеності і актуальності.
Іншої вказівки на наявні переклади немає.
Див. нижче, як, власне, робиться тегування.
Система виявить, що на сторінку було додано теги, і на ній з'явиться посилання для позначення її до перекладу.
Вона також сповістить і не дозволить зберегти сторінку, якщо Ви, наприклад, забули додати закривальний тег.
Перекладабельна сторінка також буде у списку на $PageTranslation як готова до позначення.
Позначення. Після тегування, адміністратор перекладу позначає сторінку для перекладу. Інтерфейс пояснено на сторінці Приклад перекладу сторінки. Обов'язок адміністратора перекладу переконатись, що сегментування логічне, і що тегування зроблене правильно. Сторінка може бути позначена знову, якщо її між тим було змінено. Див. нижче, як робити зміни, що спричиняють мінімальні збої. Позначення сторінки запускає фоновий процес, що використовує чергу задач MediaWiki. Цей процес проходить по кожній сторінці перекладу і регенерує її: зміни у шаблоні сторінки перекладу відобразяться і застарілі переклади будуть тимчасово замінені вихідним текстом. Натомість, перекладацький інтерфейс оновлюється миттєво.
Зміни. Користувачі можуть продовжувати робити зміни у вікірозмітці перекладабельної сторінки. Зміни будуть видимими для користувачів, що переглядають її вихідною мовою, але переклади будуть зроблені до блоків перекладу останньої версії перекладабельної сторінки, що була позначена на переклад: сторінки перекладу будуть відображатись як 100% актуальні, якщо перекладені усі блоки, навіть якщо вихідна сторінка містить нові зміни. Ви легко можете побачити, чи є непозначені зміни, коли переглядаєте перекладабельну сторінку вихідною мовою: у верхній частині є сповіщення, у якому сказано, що Ви можете перекладати цю сторінку, і є посилання на зміни, якщо такі були. The changes will be visible to users viewing the page in the source language, but translations are done against the translation units extracted from the last version of the translatable page which has been marked for translation: the translation pages are reported to be 100 % up to date if all translation units have been translated, even if the source page has new changes. You can easily see whether there are unmarked changes when viewing the translatable page in the source language: there is a notice at the top which says that you can translate this page and also links to changes if there are any.
Застарівання. Якщо у код перекладабельної сторінки вносяться зміни, адміністратор перекладу бачитиме галочку «Вимагати оновлення перекладу» для кожного блоку перекладу.
Якщо блок позначено як застарілий, то в наявних перекладах цей блок буде на рожевому фоні, а перекладачі в інтерфейсі перекладу бачитимуть іконку годинника.
Якщо блок не позначався як застарілий, то ніяких змін на перекладених сторінках читачі не побачать, а перекладачі матимуть переглянути блок в інтерфейсі перекладу, щоб побачити зміни.
Вихідна мова. Також є сторінка перекладу з мовним кодом вихідної мови: вона не містить додаткових тегів та іншої вікірозмітки, що стосується перекладу сторінки, які використані у початковій перекладабельній сторінці. На цю сторінку немає посилань з інтерфейсу, але вона зручна, якщо ви, наприклад, хочете зробити її включення (зазвичай для перекладабельних шаблонів) або експортувати її. Наприклад, сторінка, на якій ви перебуваєте, доступна без націнок за Help:Extension:Translate/Page translation administration/en.
Зміна вихідної мови. У звичайній ситуації це розширення вважатиме, що джерело перекладу — це сторінка мовою, яка у цій вікі за замовчуванням. Адміністратори можуть змінити мовні налаштування конкретної сторінки на сторінці Special:PageLanguage, так щоб вона використовувалася як джерело для перекладу. Див. детальніше на сторінці Page content language. Administrators can change a specific page's language setting, using the Special:PageLanguage page, so that it can be used as a source page for translation. See Page content language for details.
Мова перекладу. Сторінки перекладу можуть містити текст різними мовами, якщо він не повністю перекладений.
На сторінках перекладу неперекладені одиниці перекладу будуть позначені тегами відповідної мови та напрямку тексту, щоб правила CSS застосовувалися правильно.
Проте MediaWiki наразі не дозволяє встановлювати мову для розбору, крім як на рівні сторінки.
Усі магічні слова та функції парсера використовують цільову мову перекладу, навіть якщо навколишній текст не перекладено.
Це може створити небажану невідповідність, наприклад, під час форматування чисел або дат.
Деякі магічні функції та теги парсеру дозволяють встановити вихідну мову, і в цьому випадку ви можете використовувати магічне слово {{TRANSLATIONLANGUAGE}}, яке повертає або вихідну мову для неперекладених одиниць, або цільову мову для перекладених одиниць.
Закриті запити на переклад. Деякі перекладабельні сторінки містять контент, цікавий лише певний період часу. Наприклад, оголошення і регулярні оновлення, як-от щомісячні новини Вікімедіа. Ви можете тримати ці сторінки під рукою з перекладами, але приховати їх з перекладацького інтерфейсу. Це не відверне подальші переклади, але значно зменшить шанс того, що користувач випадково почне перекладати цю сторінку. Знеохочення і його відміна робляться на $PageTranslation. For example announcements and regular status updates, like the Wikimedia monthly highlights. You can keep those pages around with translations, but hide them from the translation interface. This does not prevent further translations to the pages, but it greatly reduces the chance that a user accidentally starts translating the page. Discouraging and its reversion are done from Special:PageTranslation.
Встановлення пріоритетних мов. Ви можете також встановити список мов, переклади на які особливо потрібні; якщо залишити список мов порожнім, інтерпретується як усі дозволені мови. Сторінка поводитиметься як знеохочена (див. попередній абзац) для мов, які не вказані у списку пріоритетних, і під час перекладу ними, перекладачі побачать сповіщення. Ви також можете запобігти перекладу іншими мовами, скажімо, якщо переклади з даної сторінки використовуються деінде, і Ви не зможете використати ці переклади іншими мовами, окрім лише декількох. The page will behave like a discouraged page (see previous paragraph) for the languages not in the priority list and, when translating into them, translators will be given a notice. You can also prevent the translation in other languages, say if translations are actually used elsewhere and you won't be able to use them but in some languages.
Групування. Є можливість групувати пов'язані між собою сторінки. Ці групи працюють як і всі інші групи повідомлень. Вони мають свою статистику і містять усі повідомлення із підгруп: у цьому випадку — перекладабельних сторінок. Цей функціонал зараз на Special:AggregateGroups. Агреговані групи повідомлень за замовчуванням згорнуті на Special:LanguageStats у виборі груп на Special:Translate.
Перейменування. Ви можете перейменовувати перекладабельні сторінки так само, як би ви це робили з будь-якою іншою сторінкою. При перейменуванні ви можете вказати, чи бажаєте перейменувати також кожну неперекладну сторінку. Перейменування використовує фонову задачу для перейменування багатьох пов'язаних сторінок. Поки іде процес перейменування, сторінку перекладати не можна. Його завершення відмічається у журналі перекладу сторінки. For more information, see the guide to moving a translated page.
Вилучення. Як і перейменування, вилучення здійснюється у звичному місці. Ви можете вилучити або усю перекладабельну сторінку, або лише одну сторінку перекладу, натиснувши кнопку вилучення на такій сторінці. Вилучення сторінки також спричиниться до вилучення усіх пов'язаних блоків перекладу. Як і з перейменуванням, фоновий процес вилучить сторінки з часом, а завершення цього процесу буде відмічене в журналі перекладу сторінки. Вилучення потребує прав «delete» та «pagetranslation», однак окремі сторінки блоків перекладу можна видалити, використовуючи стандартну кнопку «вилучити». You can delete either the whole translatable page, or just one translation page, from the delete button on it. Deletion will also delete all the related translation unit pages. As in move, a background process will delete the pages over time and completion is noted in the page translation log. Deletion requires "delete" and "pagetranslation" permission, but individual translation unit pages can always be deleted with standard "delete".
Відкидання. Аналогічно, відкидання некоректних редагувань працює, як звичайно (включно з кнопкою відкоту): Вам треба тільки відредагувати відповідний блок перекладу, а сторінка з перекладом також оновиться. Щоб знайти редагування блоку перекладу з історії редагувань сторінки перекладу, просто клацніть на посилання «$1» редактора, і знайдіть редагування, виконане в той же час.
To find the edit to the translation unit from the edit to the translation page, just click the внесок link for the editor and look for an edit at a similar time.
Within the translation system, you can mark an existing translation as outdated by adding !!FUZZY!! at the start of the translation unit's translated message box.
Захист. Перекладабельну сторінку можна захистити. Сторінки перекладу захищеними бути не можуть, і на них не поширюється захист перекладабельної сторінки. Щоб унеможливити подальші редагування перекладів, Вам треба вказати вихідну мову єдиною пріоритетною і вимкнути можливість перекладу іншими мовами, див. встановлення пріоритетних мов вище. Ці дві дії разом ефективно захищають від редагувань і вихідну сторінку, і сторінки перекладів разом зі сторінками блоків перекладу. Можна захистити окремі сторінки блоків перекладу, але це робити не рекомендується.
Припинення перекладу. Також можна зняти позначення сторінки на переклад. Ви можете використовувати Special:PageTranslation або перейти за посиланням у верхній частині перекладної сторінки, щоб видалити його з перекладу. Це вилучить усі структури, пов'язані з перекладом сторінки, але залишить на місці усі існуючі сторінки, доступні для редагування. Цю дію виконувати не рекомендується.
Перекладення, усвідомлене мовою. Можна перекласти перекладну сторінку на іншу сторінку як шаблон. У такому разі сторінка для перекладу буде завантажена мовою цільової сторінки, якщо вона була перекладена цією мовою. Якщо такого перекладу немає, сторінка для перекладу буде завантажена мовою оригіналу. Таку поведінку сторінки, яку можна перекладати, контролює параметр Увімкнути трансляцію з урахуванням перекладу для цієї сторінки, коли позначається сторінка для перекладу. Для нових перекладених сторінок ця поведінка буде ввімкнено за замовчуванням.
Анатомія перекладабельної сторінки
Переклад перекладабельної сторінки продукуватиме багато сторінок, які усі разом складають перекладабельну сторінку latu sensu: їхня назва визначається назвою перекладабельної Page:
Сторінка– вихідна сторінкаСторінка/<коди мови>– сторінки перекладу, плюс копія вихідної сторінки без вікірозміткиTranslations:Сторінка/<ідентифікатор блоку перекладу>/<коди мови>– усі сторінки блоків перекладу
На додачу, також є шаблон сторінки перекладу і вихідні тексти для блоків перекладу, виокремлені з вихідної сторінки і збережені у базі даних. Система слідкує за тим, які версії вихідної сторінки містять теги перекладу і яка версія була позначена для перекладу.
Кожного разу, як оновлюється сторінка блоку перекладу, система також регенерує відповідну сторінку перекладу. В результаті відбувається два редагування. Редагування сторінки блоку перекладу за замовчуванням приховується у нових редагуваннях і показуватиметься, якщо вибрати показувати переклади у фільтрі перекладів. Будь-яка інша дія, крім редагування (наприклад, вилучення чи перейменування) сторінок блоків перекладу, не буде спричиняти регенерацію відповідної сторінки перекладу.
Якщо Вам потрібна копія вихідної сторінки без вікірозмітки, скажімо, для того, аби вставити її текст у іншу вікі без тегів розширення Translate,
- визначте вихідний код мови (для англійської це буде en), та перейдіть на сторінку
Page/<language code>;
- клацніть кнопку «
Переглянути історію», аби дістатися до адреси на кшталт цієї, та замінітьaction=historyнаaction=rawв адресному рядку браузера, після чого натисніть кнопку Enter: - текст відобразиться або збережеться.
Сегментування
- Увесь текст, призначений для перекладу, повинен бути взятий у теґи
<translate>. На одній сторінці може бути багато пар тегів. - Усе, що поза цими тегами, не зміниться на жодній сторінці перекладу. Цей статичний текст, разом із заповнювачами, які позначають місце, де будуть замінені переклади кожного блоку перекладу, називається шаблоном перекладабельної сторінки.
- Надмір вікірозмітки у тексті робить його складним для перекладу перекладачами. Якщо вікірозмітки багато, ставте теги
<translate>частіше. - Текст всередині теґів
<translate>розбивається на блоки перекладу там, де є один чи кілька порожніх рядків.
Застереження. Функція перекладу сторінок має деякі застереження до тексту. Не має бути вікірозмітки, що поширюється на два і більше блоків перекладу. Іншими словами, кожен абзац має бути самодостатнім. Програмне забезпечення до цього не примушує, але порушення цього принципу призведе до невідповідного відображення сторінки, його серйозність залежатиме від того, чи може MediaWiki обробити HTML, який буде в результаті, чи ні.
Порядок розбору. Обережно, теги <translate> працюють інакше, ніж інші теги, оскільки вони не проходять через парсер.
Зазвичай це не повинно викликати проблем, але може, якщо ви спробуєте щось вишукане.
Більш детально, вони аналізуються перед будь-якими іншими тегами, як-от <pre> або <source>, за винятком <nowiki>, який розпізнається розширенням Translate.
Tag placement
<translate> for it to function properly, particularly related to whitespace handling, use in unnamed parameters and tables, and the spacing between unit marker and text, mentioned below.Розміщення тегів. Якщо можна, то намагайтесь ставити теги в окремих рядках, без порожніх рядків між вмістом і тегами. Інколи це зробити неможливо, наприклад, якщо Ви хочете перекласти якийсь вміст всередині вікірозмітки, але не саму розмітку. Це також спрацює, наприклад:
{{Template|1=<translate>Деякий локалізований параметр</translate>}}
Щоб це працювало, розширення просто працює з пробілами: пробіл зберігається, тільки якщо відкриваючий чи закриваючий теґ <translate></translate> — не єдине, що є у рядку. У такому разі новий рядок після відкриваючого теґу або перед закриваючим з'їдається. Це означає, що вони не спричиняють додаткового рядка у відображеній версії сторінки.
In that case the newline after the opening tag or before the closing tag is ignored.
This means that they don't cause extra space in the rendered version of the page.
<translate> tags.If you insert a tag inside a parameter value of a template call, ensure the parameter is named (else add a numeric name, like 1=).
If you insert a tag inside a table cell, ensure there is no excess whitespace between the tags and the table markup, as this will disrupt the HTML output.
Примітка:
You must leave the space between the content and the unit marker (that space is automatically added by the software).
Otherwise, the editor will display an error message: "Translation unit markers in unexpected position," and you will not be able to publish.
For example:
<translate><!--T:1--> Hello, world.</translate>Incorrect:
<translate><!--T:1-->Hello, world.</translate>
Variables
Змінні. Є можливість використання змінних, подібних до змінних у шаблонах.
Синтаксис цього такий: <tvar name="$2">вміст</tvar> (лапки необов'язкові, якщо значення не містить пробілів чи будь-якого символу із " ' ` = < >).
Примітка: variables must be named, if not it may cause invalid rendering of the page.
Для перекладачів це відобразиться лише як $code3, і на сторінках перекладу буде автоматично замінене значенням, вказаним на перекладабельній сторінці (таким чином воно є глобальною «константою» на всіх сторінках перекладу).
Це також працює для таких речей, як числа, які треба часто оновлювати.
Ви можете оновити число у всіх перекладах, змінивши його у вихідному тексті перекладабельної сторінки і позначивши її знову.
Вам не треба позначати переклади застарілими, бо число не є частиною сторінок блоків перекладу.
Note that variables are not shared between different translation units. If you want to use the same variable in more than one unit, you must repeat the code in each unit. You can use the same name. Змінні можна використовувати, щоб приховати неперекладабельний вміст всередині блоку перекладу. For example, this can be used to show a link whose label should be translated, but not the actual URL:
[[<tvar name="example">Special:MyLanguage/Help:Extension:Translate</tvar>|Translation extension]]
Значення, розділені комою (CSV). Для вмісту на зразок даних Graph, які мають аналізуватися програмним забезпеченням, як значення, розділені комою, вам треба розділяти блоки перекладу між кожною комою, щоб перекладачі не використовували локалізовані коми, що заплутає програмне забезпечення.
Звичайні текстові значення.
Щоб запобігти будь-яким змінам значення перекладу, використовуйте атрибут nowrap, наприклад: <translate nowrap>...</translate>.
За замовчуванням застарілі та неперекладені значення змінюються, щоб підтримувати виділення та позначення мови.
<nowiki> handling:
До версії Translate 2020.10 <nowiki> не оброблявся послідовно, і сторінки все одно відображалися в Special:PageTranslation.
Використовуйте його як «<translate>...</translate>» як обхідний шлях.
Previous syntax:
До версії Translate 2021.04 синтаксис був <tvar|$2>вмістом</> (T274881).
Цей синтаксис все ще підтримується, але він не підтримується.
Приклади розмітки
Нижче перераховані деякі альтернативи і пропоновані шляхи поводження з різними видами вікірозмітки.
Атрибути |
За замовчуванням розширення Translate може обернути застарілі одиниці перекладу, щоб виділити їх, і неперекладені одиниці для встановлення належних мовних метаданих.
За деяких обставин додаткова розмітка, додана цією обгорткою, не підходить. |
<abbr title="<translate nowrap>Frequently asked questions</translate>"><translate>FAQ</translate></abbr>
|
Категорії |
Категорії можна додати двома способами: у шаблоні сторінки перекладу або в одному з блоків перекладу.
Якщо у вас є категорії в шаблоні сторінки перекладу, усі переклади будуть в одній категорії. Якщо у вас є категорії всередині одиниць перекладу, ви повинні навчити користувачів схемі іменування. Праворуч ми показуємо дві можливі схеми, які не залежать від технічних засобів їх застосування. |
Переклад з додаванням мовного суфікса: Category:Cars/fi (рекомендується) [...]
</translate>
[[Category:Cars{{#translation:}}]]
Без перекладу: Category:Cars
|
Code comments |
Although code samples should not be translated, you can translate comments in code samples using <translate> tags and the nowrap attribute.
|
<syntaxhighlight lang="php">
public static function registrationCallback() {
// <translate nowrap>Must match the name used in the extension configuration</translate>
define( 'CONTENT_MODEL_EXAMPLE', 'example' );
}
</syntaxhighlight>
|
Заголовки |
Recommended markup in translation tagging section headings:
Заголовки в принципі можна прив’язати до наступного абзацу, але краще розділяти їх порожнім рядком. Таким чином, хтось може швидко перекласти зміст, перш ніж перейти до змісту. Additionally, it ensures that linkable anchors are generated for the heading. |
Correct: <translate>
== Culture ==
Lorem ipsum dolor.
</translate>
Неправильно: (без нового рядка після тегу == <translate>Культура</translate> ==
Неправильно: (без нового рядка) <translate>== Culture ==</translate>
|
Посилання |
If the target page is or should be translatable, then the wikilink must be prepended with
Special:MyLanguage/.Якщо цільова сторінка є (або повинна бути) доступною для перекладу, Вам треба дати посилання на неї, додавши $MyLanguage на початку її назви. Перекласти треба буди лише текст посилання, оскільки отаке оформлення посилання автоматично перенаправлятиме користувачів на перекладену сторінку їхньою мовою інтерфейсу, яка могла бути обрана, скажімо, через Універсальний мовний селектор. Проте, аби досягти стабільної поведінки посилань, цей синтаксис має використовуватися в усіх посиланнях. Посилання можна включати в абзац, у якому вони є. Це дозволить змінити мітку посилання, і також призначення посилання на локалізовану версію, якщо така існує. Untranslatable elements of wikilinks can be hidden from the translator using variable syntax. On mediawiki.org, you can use Template:Localized link to link to pages on the same wiki as a simpler alternative to
Special:MyLanguage/. This also works on Meta-Wiki and other multilingual, Wikimedia wikis with a similar template. |
Посилання на сторінки, доступні для перекладу: <translate>
Developers can [[<tvar name=1>Special:MyLanguage/Manual:Extensions</tvar>|write new extensions]].
</translate>
Links to pages with a separate, localized version: <translate>
Гельсінкі — столиця [[Фінляндія (країна)|Фінляндії]].
</translate>
Links to untranslatable pages: <translate>
The sidebar is defined in <tvar name=1>[[MediaWiki:Sidebar]]</tvar>.
</translate>
Зовнішні посилання: <translate>
PHP ([http://php.net вебсайт]) — це мова програмування.
</translate>
|
Списки |
Списки можуть бути довгими, тому можна розділити їх на кілька частин з, наприклад, п'ятьма чи менше пунктами в кожній. Робіть так, тільки якщо пункти повністю не залежні, щоб перекладатись окремо усіма мовами, не створюйте «повідомлень легко»: наприклад, вам треба уникати поділу одного речення на кілька шматків, поділу логічно залежних частин, що можуть впливати одна на одну (залежно від пунктуації чи стилю списку, наприклад). Do not insert empty lines between list items, as doing so will split the list, causing incorrect appearance and accessibility problems ("list gap").
|
Correct: <translate>
Будь ласка, відвідайте:
* нашу головну сторінку
* потім сторінку із поширеними запитаннями.
</translate>
або * <translate>Загальні принципи</translate>
* <translate>Заголовки</translate>
* <translate>Зображення</translate>
* <translate>Таблиці</translate>
<translate>* General principles</translate>
<translate>* Headings</translate>
<translate>* Images</translate>
<translate>* Tables</translate>
|
Media |
If a different version of a media file is needed for different languages, include the full file syntax inside translate tags. For example, a diagram that includes text should be replaced with a new image in each language.
If a media file should stay the same in different languages, translate only the caption or other text parameters. |
Different file for each language: <translate>
[[File:Europe countries map en.png|thumb|Мапа Європи зі столицями]]
</translate>
Same file for each language: [[File:Ball.png|50px|<translate>Іконка кулі</translate>]]
|
Числа |
У ситуації з числами та іншими нелінгвістичними елементами можна виносити самі числа поза переклад і позначати їх змінними. Це має декілька переваг:
|
<translate>
Дохід цього місяця: <tvar name=income>{{FORMATNUM:3567800}}</tvar> EUR
</translate>
Майте на увазі, що це не дасть перекладачам локалізувати число, зробивши конвертацію валют. Викликання |
Tables |
To translate tables, add <translate> tags around only the translatable text.
|
{| class="wikitable"
! <translate>Version<translate>
! <translate>Status<translate>
|-
| 1.0.0
| <translate>Stable</translate>
|}
|
Шаблони |
Шаблони мають різні функції і цілі, тому найкраще рішення залежить від призначення шаблону. Якщо шаблон не є частиною більшого абзацу, його варто залишити поза перекладом, якщо тільки його параметри не потребують перекладу. Якщо шаблон не має ніякого лінгвістичного вмісту, Вам не треба робити щось із самим шаблоном.
Приклади шаблонів, що перекладаються перекладом сторінок, див. Шаблон:Extension-Translate. Щоб використати цей шаблон, Вам треба мати інший шаблон, подібний до $tntn, оскільки Ви більше не зможете просто включити шаблон як $canonical Це поки що не передбачено самим розширенням Translate, але є у планах. Іншим способом є використання для перекладу шаблону можливості перекладу неструктурованих елементів, але в такому разі мова шаблону буде залежати від мови інтерфейсу користувача, а не мови сторінки, яку вони переглядають. |
Templates without parameters: {{Subpages}}
Templates with translatable parameters: {{MyTemplate|1=<translate>Hello!</translate>}}
When translating a template parameter, ensure the parameter is named, or use a numeric name such as
1=. |
Transclusion |
You can transclude a translated page into another translated page using the standard Включення syntax. If no translation is available for the target language, the transcluded content is displayed in the source language. | <translate>
== Communication tips ==
</translate>
{{:Communication tips}}
|
Translatable page(introduced in a582f3ad21bd) |
It can be used in templates that are transcluded on both translatable and non-translatable pages, and should behave differently depending on whether the page is translatable (e.g. use user language on non-translatable pages). It returns the title of the translation page (the page other languages are translated from) if a page is translatable (including translated pages), and nothing if the page is not translatable. Similarly to the <languages> parser tag, it returns nothing if the page contains translation markup but hasn’t been marked for translation yet.
|
{{#if:{{TRANSLATABLEPAGE}}|{{Some template}}|{{Some template/{{int:lang}}}}}}
Assuming |
Translated page language(introduced in 98b6958a2471) |
Translated templates may want to set the language they are actually in (e.g. on a wrapper HTML element). When used outside of <translate> tags, {{TRANSLATIONLANGUAGE}} returns the language of the page it’s directly in (as opposed to the language of the page on which the reader sees it).
|
Suppose {{1/en}} is transcluded in the page titled 2/de.
|
Мова перекладу(introduced in 5e8106cdc353) |
Коли текст використовує залежні від мови методи форматування, для неперекладених розділів може з’явитися невідповідність.
Щоб уникнути цього, можна використати |
2020-09-15 is {{#time:l|2020-09-15|uk}}
Наведений вище вхід може відображатися як:
Без чарівного слова неперекладений текст на сторінці перекладу фінською мовою відображався б так:
|
Translation variables |
Use <tvar> tags to hide non-translatable elements from translators.
Each translation variable must have a |
Correct:
<translate>
If you set the variable in <tvar name=1>LocalSettings.php</tvar>, the default value in <tvar name=2>extension.json</tvar> is not used.
</translate>
Incorrect: (no name) <translate>
The file name must be <tvar>extension.json</tvar>.
</translate>
Incorrect: (same <translate>
To use Markdown, add the file extension <tvar name=1>.md</tvar>, such as <tvar name=1>README.md</tvar>.
</translate>
|
Зміна вихідного тексту
<!--T:1-->) yourself, the system will do it automatically.- Уникати змін
- Робити зміни за можливості ізольованими
- Не додавати маркери блоків перекладу самостійно
- When editing, unit markers should be left alone and their position in relation to the unit they belong to should not be changed.
- When moving a unit, move the unit marker too.
- When deleting a unit, delete the marker too.
Although you can edit translated content using the VisualEditor, you must use the source editor to add or change translation markup. To make it easier to add translation markup, use the buttons in the box under the editing interface.
Do not use section editing when editing translated pages since this adds extra whitespace to the page.[1] Always select the option to edit the entire page.
Unit markers
Маркери блоків. Коли сторінка позначена для перекладу, система оновлює вихідний код перекладабельної сторінки і додає унікальні ідентифікатори, які називають «маркерами блоків», до кожного блоку перекладу.
Див. приклад нижче.
Приклад маркера блоку — <!--T:1-->.
Ці маркери блоків є ключовими для системи, яка використовує їх для відслідковування змін у кожному блоці перекладу.
Вам не слід ніколи додавати маркери блоків самостійно.
Маркери блоків завжди розміщені у рядку перед блоком; або, якщо він починається заголовком, після першого заголовка у тому ж рядку.
Інакше розміщення у випадку із заголовками необхідне для того, щоб нормально працювало редагування розділів.
<translate>
== Birds == <!--T:1-->
Birds are animals which....
<!--T:2-->
Birds can fly and...
</translate>
Зміна тексту в блоці. Зміна є найчастішою дією щодо блоків перекладу. Ви можете виправити орфографічні чи граматичні помилки або вносити у блок інші зміни. Коли Ви будете позначати сторінку на переклад знову, то побачите зміни у тексті блоку. Ця ж різниця показується перекладачам, коли вони оновлюють свої переклади. Якщо Ви робите прості виправлення написання і не хочете, щоб наявні переклади були підсвічені на сторінках перекладів, можна уникнути позначення перекладів застарілими: перекладачі все одно бачитимуть різницю, якщо колись з певної причини оновлюватимуть переклад.
Changing is the most common operation for translation units. You can fix spelling mistakes, correct grammar or do other changes to the unit. When changing unit text, unit markers should not be removed, and their position in relation to the unit they belong to should not be changed. This is because most edits retain the original structure of the translation unit, therefore there is the possibility of reusing existing translations. When re-marking the page for translation, you will see the difference in the unit text. The same difference is also shown to translators when they update their translations. For simple spelling fixes and other cases where you don't want the existing translations to be highlighted on the translated pages, you can avoid invalidating them: translators will still see the difference if they ever update the translation for any reason. Leaving markers highlights changes to translation units in the translation administrator's interface, even for minor edits, and enables translation administrators to compare changes and decide whether to invalidate existing translations. Removing markers treats modified units as entirely new, making it harder to compare changes in the translation administrator's interface.
Adding new text
Додавання нового тексту. Ви можете вільно додавати новий текст усередині тегів <translate>. Переконайтесь, щоб між сусідніми блоками був пустий рядок, так щоб система розпізнала новий блок. Ви можете також додати теги <translate> навколо нового тексту, якщо він знаходиться не всередині існуючих теґів <translate>. Знову ж таки, не додавайте маркери блоків самостійно, система сама це зробить.
When adding text, your goal is to change as few existing translation units as possible. For example, here are two paragraphs from a translated page:
<translate>
<!--T:1-->
Using edit summaries helps other users understand your edits without having to dig into the details.
<!--T:2-->
If a copyright infringement is found, it also keeps authorship information after a significant revision deletion.
</translate>
To add a new paragraph, add the text separated by new lines:
<translate>
<!--T:1-->
Using edit summaries helps other users understand your edits without having to dig into the details.
Edit summaries are optional but recommended.
<!--T:2-->
If a copyright infringement is found, it also keeps authorship information after a significant revision deletion.
</translate>
To add a sentence to an existing paragraph, create a new translation unit.
In this example, the text is now divided into three sets of <translate> tags.
This allows you to add a sentence to the first paragraph without invalidating the T:1 unit.
<translate>
<!--T:1-->
Using edit summaries helps other users understand your edits without having to dig into the details.
</translate>
<translate>Edit summaries are optional but recommended.</translate>
<translate>
<!--T:2-->
If a copyright infringement is found, it also keeps authorship information after a significant revision deletion.
</translate>
Deleting text
Вилучення тексту. Ви можете вилучати цілі блоки. Якщо Ви це зробите, вилучіть також і маркер блоку.
For example, here is an excerpt from a translated page:
* <translate><!--T:1--> Do not add translation unit markers yourself.</translate>
* <translate><!--T:2--> When moving a unit, move the unit marker too.</translate>
* <translate><!--T:3--> When deleting a unit, delete the marker too.</translate>
To remove the second bullet point, remove the entire line, including the unit marker and the <translate> tags:
* <translate><!--T:1--> Do not add translation unit markers yourself.</translate>
* <translate><!--T:3--> When deleting a unit, delete the marker too.</translate>
Splitting units
Поділ блоків. Ви можете розбити існуючі блоки, додавши пустий рядок всередині блоку чи вставивши теги <translate> так, щоб вони розбили блок. Ви можете або залишити маркер біля першого блоку, або вилучити його зовсім. У першому випадку, перекладачі побачать старий текст, коли оновлюватимуть переклад. Якщо Ви вилучите маркер блоку, після перепризначення сторінки на переклад обидва блоки поводитимуться, як ніби перекладу ніколи не існувало.
| Початковий вигляд | Збереження маркера | Вилучення маркера |
|---|---|---|
<!--T:1-->
Cat purrs. Dog barks.
|
<!--T:1-->
Cat purrs.
<!--T:2--> (Додано після перепризначення)
Dog barks.
|
<!--T:2--> (Додано після перепризначення)
Cat purrs.
<!--T:3--> (Додано після перепризначення)
Dog barks.
|
| Kissa kehrää. Koira haukkuu. | Kissa kehrää. Koira haukkuu.
Dog barks. |
Cat purrs.
Dog barks. |
Merging units
Об'єднання блоків. Якщо Ви об'єднуєте блоки, Вам треба вилучити всі маркери, крім одного.
Moving units
Переміщення блоків. Ви можете переміщувати блоки без впливу на переклади: просто перемістіть маркер блоку разом з рештою блоку.
Перед позначенням нової версії сторінки на переклад, переконайтесь, що дотримано рекомендацій, особливо, що перекладачі отримають новий блок перекладу, якщо змінився вміст. Також переконайтесь, що не було не необхідних змін, щоб уникнути марної трати часу перекладачів. Якщо вихідну сторінку чекають численні зміни, варто почекати, поки вона стабілізується, і вже після цього дати роботу перекладачам. Also make sure that there are no unnecessary changes to prevent wasting translators' time. If the source page is getting many changes, it may be worthwhile to wait for it to stabilize, and push the work for translators only after that.
Невикористовувані переклади не вилучаються автоматично, але це не має спричинити проблем.
Moving translated pages
Translation administrators can move translated pages as you would move any other page. It is also possible to move translated pages between multilingual wikis using a script. For more information, see the guide to moving a translated page.
Міграція на систему перекладу сторінок
Якщо ви перекладали сторінки ще до використання системи перекладу сторінок, Ви можете захотіти перевести сторінки на нову систему, принаймні ті, нові переклади яких очікуються і для яких Ви хочете мати статистику. Вірогідно, у Вас будуть існуючі шаблони для перемикання між мовами і, можливо, відмінні способи іменування сторінок. You will probably have existing templates for language switching and maybe different page naming conventions.
Ви можете почати міграцію з підчищання, тегування і позначання вихідної сторінки. Ви можете зберегти існуючі шаблони перемикання між мовами під час міграції старих перекладів. Якщо Ваші сторінки іменуються з використанням мовних кодів для підсторінок, після позначення вихідної сторінки на переклад вони будуть замінені вихідним текстом, але у Вас і далі буде доступ до перекладів з історії.
Це ручне завдання було частково автоматизоване завдяки сторінці Special:PageMigration, яка відображає вихідний та цільовий блоки поряд один з одним, і дозволяє користувачеві коригувати ці блоки, використовуючи функції, описані нижче на цій сторінці.
Як використовувати?

- Перейдіть на Special:PageMigration
- Введіть назву сторінки та код мови. Наприклад, «Help:Special pages» та «fr»
- Вихідний текст був розділений на блоки розширенням Translate, а імпортовані переклади будуть відображені поряд один з одним із тим же початковим вирівнюванням.
- Використайте доступні дії для кожного блоку, аби виконати решту вирівнювання вручну
- Оскільки перекладені блоки можна редагувати, виконайте одразу всі необхідні ручні виправлення (додайте змінні перекладу, виправте посилання та розмітку тощо)
- Клацніть кнопку «
Зберегти». Цим Ви створите сторінки у просторі назв Translations, що матимуть виглядTranslations:Page/<ідентифікатор блоку перекладу>/<код мови>. Таким чином, старі переклади будуть імпортовані у розширення Translate. This will create pages under the Translations namespace of the formTranslations:Page/<translation unit identifier>/<language code>. The old translations have been imported into Translate. - Також, якщо Ви бажаєте скасувати імпортування, клацніть кнопку «Скасувати».
Доступні дії
Кожен рядок, що містить вихідний та цільовий блок тексту, має набір іконок дій. Вони використовуються таким чином:
- Додати: клацання на цій іконці дії додасть новий порожній блок нижче поточного. Використовуйте цю функцію, якщо Ви хочете розділити поточний блок, і потребуєте ще одного блоку нижче.
- Поміняти: клацання на цю іконку дії поміняє місцями вміст поточного блоку із блоком нижче нього. Ви можете використати цю функцію, коли вирівнювання блоків є невідповідним внаслідок відмінного порядку розділів. Або ж коли Вам треба перемістити блок нижче або вище. В будь-якому з цих випадків, пам'ятайте, що поточний блок завжди міняється місцями із блоком внизу, і не створює ніяких додаткових блоків.
- Вилучити: клацання на цю іконку дії цілковито усуне відповідний цільовий блок тексту зі сторінки, і змістить всі інші цільові блоки на один блок вгору. Використовуйте це для вилучення небажаного контенту на кшталт коду чи імпортованих перекладів, які повністю містяться у вихідному тексті, і не мають перекладатися. Примітка: це — невідворотна дія (у поточній сесії).
Виправлення проблем
- Якщо Ви позначите сторінку до перекладу, і одразу ж перейдете на спеціальну сторінку та спробуєте імпортувати переклади, Ви можете отримати повідомлення про помилку на кшталт «Сторінка «<page-name>/<language-name>» не містить старих перекладів.». Це спричинено тим, що FuzzyBot ще не оновив («fuzzy») відповідні повідомлення на старій сторінці: інструмент не зможе відшукати редагування бота FuzzyBot на сторінці перекладу. У цьому випадку, просто почекайте, поки FuzzyBot виконає свою роботу. Як тільки Ви побачите його редагування, можна буде продовжити роботу з імпортуванням.
- Будь ласка, почекайте трохи після натискання кнопки «
Зберегти». Поки фон кнопки залишається сірим, триває процес імпортування непорожніх блоків. Як тільки кнопка відновить свій колір, імпортування завершиться. - Within the translation system, you can mark an existing translation as outdated by adding
!!FUZZY!!at the start of the translation unit's translated message box.
Поради
- Міграція буде простішою, якщо Ви спершу (перед тим, як позначати сторінку до перекладу) перевірите, чи існуючі переклади відповідають оригінальному англомовному текстові, і вручну відредагуєте структуру сторінок: розіб'єте параграфи та списки, додасте відсутні заголовки (навіть якщо вони порожні).
- Було б корисно перевірити результат у базовому інтерфейсі перекладу — деякі блоки можуть бути миттєво позначені як застарілі через помилки у розмітці, або ж якщо не всі змінні перекладу були додані.
- Переклад назви сторінки потрібно буде додати вручну. Якщо ви не дуже добре знаєте мову імпортованої сторінки, можете спробувати знайти переклад заголовка сторінки серед «посилань тут» або іноді в перенаправленнях.