Fandom Developers Wiki
Advertisement

I18nEdit-редактор перекладів для перекладів, сумісних із форматом перекладу, що використовується I18n-js та його Scribunto implementation. Він був створений насамперед для редагування перекладів на Fandom Developers Wiki, але, швидше за все, міг бути використаний і на будь -якій іншій вікі. Його інтерфейс знаходиться за адресою Special:BlankPage/I18nEdit.

Використання[]

Інтерфейс перекладу розділений на кілька сторінок:

  • Список перекладів на Special:BlankPage/I18nEdit, який дозволяє шукати скрипти або модулі для перекладу, або за назвою, або за мовами, де переклади відсутні, застарілі або неповні (докладніше про значення цього нижче).
  • Вибір мови в Special:BlankPage/I18nEdit/SCRIPT (або Special:BlankPage/I18nEdit/Lua/MODULE), що дозволяє вибрати мови для перекладу скрипта або модуля після вибору скрипту або модуля для перекладу.
  • Перекладач у Special:BlankPage/I18nEdit/SCRIPT/LANGUAGE (або Special:BlankPage/I18nEdit/Lua/MODULE/LANGUAGE), що дозволяє перекладати повідомлення у вибраному скрипт або модуль до вибраної мови.
    • Цей інтерфейс також використовується для управління повідомленнями англійською мовою, описами повідомлень та метаданими, до них можна перейти з екрана вибору мови та додає клавіші для додавання повідомлень, видалення повідомлень, позначення повідомлень як неперекладних та вирішення того, що відбувається зі зміненими повідомленнями після збереження перекладів.
  • Творець у Special:BlankPage/I18nEdit/create (або Special:BlankPage/I18nEdit/Lua/create), що дозволяє налаштувати новий переклад для скрипту або модуля, і, якщо у вас вже є JSON для вашого перекладу, він може перевірити цей JSON і використовувати його як відправну точку.

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

Для перекладів використовується така термінологія:

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

Пошук перекладів[]

Екран пошуку перекладу має кілька компонентів, зазначених на знімках вище в такій послідовності:

  1. Фільтр: Ви можете використовувати це для фільтрації скриптів або модулів за назвою або за мовою. Під час фільтрації за назвою у нижченаведеному списку відображатимуться лише скрипти, які містять введений текст. Під час фільтрації за мовою відсутні лише неповні, неповні або застарілі сценарії або модулі, переклади яких на вибрані мови відсутні.
  2. Список сторінок: Scripts or modules that were filtered by the filter above appear here. Upon clicking one you switch to the language picker page. There is also additional data about the reasons why they are listed there.
  3. Редагувати спадне меню: Ви можете увійти до автора перекладу з головної спадної клавышы редагування та перемикатися між перекладом сценаріїв JavaScript та модулів Lua за допомогою клавышы у спадному меню.

Вибір мови[]

Компоненти засобу вибору мови такі:

  1. Переклад з: Ви можете обрати довідкову мову для перекладу зі спадного меню ліворуч на екрані, завдяки чому довідкові повідомлення в редакторі відображатимуться цією мовою. У цьому спадному меню перелічені лише мови, переклади яких відсутні, неповні чи застарілі.
  2. Фільтр мови: Введення імен або кодів мов у мовний фільтр змушує їх з’являтися у верхній частині списку. Це також єдиний спосіб отримати доступ до мов, переклади яких відсутні, і бажаний спосіб навігації по списку мов.
  3. Список мов: У списку мов з’являться відфільтровані мови. Мови, на які вже перекладено скрипт, завжди відображатимуться у списку, але фільтр може визначити, чи відображатимуться вони вище чи нижче у списку. Після натискання на мову, вона буде обрана, і клавіша редагування ввімкнеться. З цього списку можна вибрати кілька мов.
  4. Редагувати спадне меню: Ви можете ввести перекладача з головної спадної клавіши редагування, якщо ви вибрали мову для перекладу. Ви також можете увійти в інтерфейс менеджера повідомлень із цього розкривного списку.

Перекладач[]

Перекладач складається з такого:

  1. Список повідомлень: Тут перелічені всі перекладені повідомлення. При виборі повідомлення права панель оновлюється вмістом, що дозволяє перекласти це повідомлення. Повідомлення вказані мовою, з якої ви перекладаєте, а поруч із ними — індикатори їх статусу перекладу. Піктограма хреста (❌) означає, що повідомлення ще не перекладено усіма вибраними мовами, значок попереджувального знака (⚠️) вказує на те, що повідомлення застаріло деякими мовами, а значок галочки (✅) означає, що повідомлення було перекладено належним чином. Якщо в перекладі немає повідомлень (наприклад, коли ви щойно ввели перекладача від творця), тут буде клавіша для додавання нового повідомлення. Наведіть курсор на текст повідомлення у списку, ви можете побачити його код повідомлення.
  2. Заголовок контексту: Ви можете переглянути переклад довідкової мови (на знімку, оскільки повідомлення перекладаються з іспанської, це повідомлення є іспанською), а також опис цього повідомлення, якщо воно було надане під час керування перекладом або створення.
  3. Переклади: Ось поля, де ви вводите свої переклади для кожної мови. Розділи для кожної мови складаються. Після того, як текстове поле перекладу втратить фокус, проєкт цього перекладу буде збережено, а індикатор правої панелі відповідно оновиться.
  4. Тулбар: різні клавіші для роботи з перекладами:
    • Зберегти: Запрошує у вас підсумок редагування, зберігає зроблені вами переклади та повертається до засобу вибору мови.
    • Наступний: Зміни до наступного повідомлення. Ця клавіша була подана, щоб наші друзі — вкладки могли легше виконувати всю свою роботу на цьому екрані, використовуючи лише клавіатуру.
    • Викинути: Відхиляє поточну чернетку перекладу. Рекомендується відхилити ваші чернетки, якщо ви не збираєтесь їх зберігати, перш ніж переходити до інших перекладів, оскільки вони звільнять вашу чернетку, а якщо переклади змінилися з моменту останнього перекладу, ви більше не повернетесь до свого старі переклади.

Управління повідомленнями[]

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

  • Додати повідомлення: Запрошує код повідомлення, а потім додає нове повідомлення для перекладу.
  • Видалити повідомлення: Після підтвердження видаляє вибране наразі повідомлення з перекладу.
  • Випадаючий список повідомлень у майбутньому: Вибраний тут параметр вирішує, що буде з повідомленнями, переклад яких англійською мовою був змінений після збереження перекладів.
    • Позначити повідомлення як застарілі при збереженні: Ймовірно, найкращий варіант — це означає, що раніше перекладені повідомлення вважаються застарілими.
    • Видалити змінені повідомлення: Видаляє раніше перекладені повідомлення. Ймовірно, вам слід вибрати цей параметр, якщо змінені рядки сильно змінили їх значення.
    • Нічого не робити: Нічого не робить з попередніми перекладами. Корисно під час простого виправлення формулювань англійською мовою, які можуть не впливати на інші мови.
  • Не перекладайте: Позначає поточне повідомлення як неперекладне. Якщо позначено як неперекладний, повідомлення не відображатиметься у списку повідомлень, якщо не керує перекладами.

Оригінальне повідомлення англійською мовою в контекстній області також було замінено кодом повідомлення (оскільки повідомлення англійською мовою вже є у текстовому полі).

Творець[]

Творець поділений на три етапи творення.

  1. Назва перекладу: Спочатку потрібно ввести ім’я вашого перекладу, і автор створить перевірку, чи це ім’я вже існує у Dev.
  2. Імпорт JSON: Вам не потрібно нічого вводити в це поле, якщо у вас немає наявних перекладів для імпорту. Однак, якщо ви це зробите, натискання клавіші для перевірки введення JSON переконається, що ваш JSON сумісний з I18n-js, повідомте про помилки, якщо це призведе до несправності редактора або бібліотеки, або попередження, якщо це не так викликати або несправність, але це може бути не те, що ви дійсно хотіли імпортувати.
  3. Введіть перекладач: Цей останній крок гарантує, що ви успішно пройшли перші два, і направляє вас на екран перекладача, який буде порожнім, якщо ви не імпортували жодного перекладу. Звідти ви можете додавати та змінювати свої переклади, і після збереження ваш переклад буде створено. Якщо ви відкинете свої переклади і залишите сторінку, вам доведеться знову пройти через автора.

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

Примітки[]

  • Редактор може перераховувати всі мови, перекладені на сторінку вибору мов, але він повинен дозволяти лише переклад на підтримувані мови. Під час переходу на UCP багато мов, які раніше були доступні на Фандомі, більше не можна вибирати у налаштуваннях, тому користувачі, ймовірно, не бачитимуть переклади цими мовами, і редактор не повинен перелічувати їх як варіанти, якщо вони насправді не будуть з'являються де завгодно.
  • Новий формат перекладу для модулів Lua i18n передбачає, що в модулі не буде коментарів. Коментарі, що стосуються повідомлень, повинні відображатися в описах повідомлень, тоді як коментарі, що стосуються самої сторінки, можуть перейти на сторінку документації модуля для цього модуля.
  • On Fandom Developers Wiki, we use an additional script for showing a notice on JSON pages about how the translations editor should be used for editing the translations, as well as a template for showing that on Lua documentation pages of these modules.

Майбутні оновлення[]

Цей розділ не перекладається на інші мови, оскільки він може оновлюватися частіше

The list here serves as a log of features which have been suggested and may be implemented in one of the future versions of the editor. If you want to suggest a feature, you can do so on the talkpage.

  • Messages in the language picker are sorted by language code, but no language code is displayed in list items. This is best resolved by putting the language code in list items.
  • Linking back to the documentation and translation page somewhere from the editor.
  • Remembering the user's selected languages on the translation selection screen and placing them on top of the language list when no filter has been placed.
  • A credits screen showing which user contributed to translations in which language available from the language picker edit dropdown.
  • Allow exporting translations for offline translation and later importing, for example, as .po files.
  • Add more metadata about how are certain messages actually used, for example, the information about which messages are passed through .parse() tells translators whether they can use a subset of HTML and wikitext in these messages, as well as magic words like {{PLURAL:}}
  • Using the centralized page for supported languages instead of the hardcoded list of languages.
  • Message descriptions:
    • Report of scripts with missing message descriptions.
    • More specialized handling of message descriptions - the interface can provide a way to more easily describe message parameters, which can then be serialized in a way that is machine readable. This also allows us to display the meaning of parameters better and warn translators when they haven't used a certain parameter, or when they have used a nonexistent parameter.
    • When displaying message descriptions, links and formatting should probably be parsed and displayed like that.
  • Drafts:
    • Saving drafts can exceed the local storage quota and cause errors if the user has not discarded a great amount of their previous drafts. These errors should be handled gracefully, with a banner reporting the error to the user once per session and a button to discard all previous drafts.
    • Allowing the user to somehow find which translations have they left unsaved drafts on.
Advertisement