Модуль:TNT/документація

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Це сторінка документації для Модуль:TNT

Цей модуль дозволяє легко перекладати шаблони та модулі в рамках проєкту багатомовних шаблонів та модулів. Замість того, щоб зберігати англійський текст у модулі або шаблоні, модуль TNT дозволяє модулям бути мовно-нейтральними та зберігати багатомовний текст у сторінках табличних даних на Commons. Таким чином, ваш модуль або шаблон буде використовувати перекладені рядки (повідомлення), або якщо повідомлення ще не перекладено, повернеться до англійської мови. Коли хтось оновить таблицю перекладів, ваша сторінка автоматично оновиться (це може зайняти деякий час, або ви можете її очистити), але в жодній з вікісистем не потрібно змінювати шаблон або модуль. Цей процес дуже схожий на локалізацію MediaWiki і підтримує всі стандартні угоди локалізації, такі як {{PLURAL|...}} та інші параметри.

Цей модуль можна використовувати із шаблонів, які використовують #invoke, та інших модулів. Для простого прикладу дивіться Data:I18n/Template:Graphs.tab - таблиця із двома повідомленнями, кожне повідомлення має один параметр. За угодою всі таблиці перекладу повинні мати префікс Data:I18n/..., щоб відокремити їх від інших типів даних.

Цей модуль можна використовувати із шаблонів, які використовують #invoke, та інших модулів. Для простого прикладу дивіться Data:I18n/Template:Graphs.tab — таблиця із двома повідомленнями, кожне повідомлення має один параметр. За угодою всі таблиці перекладу повинні мати префікс '''Data:I18n/...''', щоб відокремити їх від інших типів даних.

Використання з шаблонів[ред. код]

Опис Вікірозмітка
У шаблоні ця команда перекладає повідомлення source_table за допомогою таблиці перекладу Commons Data:I18n/Template:Graphs.tab.
{{#invoke:TNT | msg
| I18n/Template:Graphs.tab
| source_table
}}
Якщо повідомлення містить параметри, ви можете вказати їх після ID повідомлення.
{{#invoke:TNT | msg
| I18n/Template:My Template.tab
| message-with-two-params
| param1
| param2
}}

Переклад параметрів шаблону[ред. код]

Параметри шаблону зазвичай зберігаються у вигляді блоку JSON templatedata всередині підсторінки /doc шаблону. Це робить його зручним для перекладу, але коли до глобального шаблону додається новий параметр, всі сторінки /doc повинні бути оновлені кожною мовою. TNT допомагає в цьому, автоматично генеруючи блок templatedata з таблиці, що зберігається на Commons. Якщо помістити цей рядок у кожну підсторінку /doc, то таблиця Data:Templatedata/Graph:Lines.tab буде використовуватися для генерації всієї необхідної інформації templatedata кожною мовою. Навіть якщо місцева спільнота не переклала повну документацію шаблону, вона зможе побачити всі параметри шаблону, які оновлюються централізовано.

{{#invoke:TNT | doc | Graph:Lines }}

Використання з модулів[ред. код]

Як і шаблони, модулі повинні використовувати цей модуль для локалізації:

local TNT = require('Модуль:TNT')

-- форматування рядка <messageId> з двома параметрами за допомогою таблиці перекладу.
local text = TNT.format('I18n/My_module_messages', 'messageId', 'param1', 'param2', ...)

-- Те ж саме, але перекласти певною мовою.
local text = TNT.formatInLanguage('uk', 'I18n/My_module_messages', 'messageId', 'param1', 'param2', ...)

Використання TNTTools[ред. код]

Модуль:TNTTools містить:

  • Функції питання: з булевим чи числовим індексованим поверненням. Викликаються з інших модулів або шаблонів. З допомогою:
    • опції з урахуванням регістру.
    • можливості мати більше одного перекладеного значення тексту (де кожне значення розділене знаком "|").
  • Щоб не писати, додайте "I18n/" як префікс і розширення ".tab" як суфікс для імен таблиць.
  • Декілька прикладів.