Розширення:Babel
Babel Статус релізу: стабільний |
|
---|---|
Реалізація | Функція парсера |
Опис | Додає функцію парсеру, щоб інформувати інших користувачів про знання мови та класифікувати користувачів тих же рівнів і мов. |
Автор(и) | Robert Leverington (RobertLобговорення) |
Найновіша версія | Continuous updates |
Compatibility policy | Master maintains backward compatibility. |
MediaWiki | >= 1.41.0 |
Зміни в БД | Так |
Composer | mediawiki/babel |
Таблиці | babel |
Ліцензія | GNU General Public License 2.0 or later |
Завантажити | Включено в комплект мовних розширень |
Приклад | Translatewiki.net |
|
|
Quarterly downloads | 73 (Ranked 71st) |
Public wikis using | 2,416 (Ranked 192nd) |
Translate the Babel extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
Розширення Babel додає функцію парсеру щоб замінити стару систему Babel, яка повністю покладалася на шаблони. Якщо вказано нерозпізнаний параметр мови, він побачить, чи існує існуючий шаблон з ім’ям, і додасть його.
У проєктах Вікімедіа іменник Вавилон (що стосується Вавилонської вежі) відноситься до текстів на сторінках користувачів, які допомагають багатомовному спілкуванню, полегшуючи зв’язок з кимось, хто розмовляє певною мовою. Ідея виникла на Wikimedia Commons, а також була реалізована в багатьох інших вікі.
Встановлення
- Завантажте і розмістіть файли в каталозі з назвою
Babel
у вашійextensions/
папці.
Розробники та автори коду повинні замість цього встановити розширення з Git, використовуючи:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel - Додайте такий код унизу вашого файлу LocalSettings.php :
wfLoadExtension( 'Babel' );
- Запустіть скрипт оновлення, який автоматично створить необхідні таблиці бази даних, які потрібні цьому розширенню.
- Налаштуйте як вимагається.
- Готово – Перейдіть до Special:Version вашої вікі, щоб переконатися, що розширення встановлено успішно.
- CSS розташований у файлі
resources/ext.babel.css
. Ви можете змінити стиль за бажанням, перевизначивши їх на сторінціMediaWiki:Common.css
. - Якщо знайдено розширення CLDR , назви мов беруться з нього (де переклади недоступні), інакше використовуються вбудовані назви мов MediaWiki та англійська мова за замовчуванням.
Використання
Синтаксис функції парсеру #babel
виглядає наступним чином:
{{#babel: babelcode1 | babelcode2 | ... }}
Додайте один із наступних кодів для кожної мови, яку ви розмовляєте чи розумієте, відокремлюючись від |
, де xx
– це код мови MediaWiki, код ISO 639-1, або код ISO 639-3 для цієї мови. Загальне використання кожного рівня коду таке:
xx-0
- Якщо ви взагалі не розумієте мови.
xx-1
- Базові здібності — достатньо для розуміння письмового матеріалу або простих питань цією мовою.
xx-2
- Середня здатність — достатньо для редагування або обговорення.
xx-3
- Розширений рівень — хоча ви можете писати цією мовою без проблем, можуть виникнути невеликі помилки.
xx-4
- Рівень «майже рідний» — хоча це не ваша перша мова від народження, ваші здібності схожі на здібності носія мови.
xx-5
- Професійне володіння.
xx
абоxx-N
- Носії мови, які щодня користуються мовою та досконало володіють нею, включаючи розмовні мови та ідіоми.
Щоб включити будь-який інший шаблон, просто додайте назву шаблону, напр. додайте Користувач з Лондона
, якщо ви хочете включити Template:Користувач з Лондона
. Залежно від локальної конфігурації до імен шаблонів (наприклад User
) можна додати префікс або суфікс. Це можна використовувати для обмеження вибору та зменшення довжини параметрів; наприклад, з Лондона
може включати Template:Користувач з Лондона
, якщо налаштовано таким чином.
Parameters
Щоб видалити верхній і нижній колонтитул, використовуйте plain=1
як перший параметр, напр. {{#babel: plain=1 | babelcode1 | babelcode2 | ... }}
.
Це полегшує використання babel з іншими юзербоксами.
To hide categories, use the nocat=1
parameter as the first parameter, e.g., {{#babel: nocat=1 | babelcode1 | babelcode2 | ... }}
.
Please note that only one of the parameters above is allowed.
At the moment, it is not possible to use both parameters; for example, {{#babel: nocat=1 | plain=1 | babelcode1 | babelcode2 | ... }}
will not work.
Categorization
If categorization is enabled, the extension creates categories using the Babel AutoCreate bot with the text specified in MediaWiki:babel-autocreate-text-levels and MediaWiki:babel-autocreate-text-main. With basic settings, the categories that the bot creates are not categorized, and to fix this, it is recommended to do the following:
- Create a template {{Babel category }} that will generate categories.
- Replacing text on MediaWiki:babel-autocreate-text-levels with
{{Babel category|level=$1|language=$2|ISO=$3}}
- Replacing text on MediaWiki:babel-autocreate-text-main with
{{Babel category|language=$1|ISO=$2}}
This will allow you to categorize categories automatically, and if something happens, you can simultaneously replace the categorization and text in all categories.
Конфігурація
Параметри конфігурації
Babel має шість параметрів конфігурації, які можна змінити в LocalSettings.php
.
$wgBabelLanguageCodesCdb
- (string) шлях до файлу бази даних мовного коду, за замовчуванням має бути достатньо.
$wgBabelLanguageNamesCdb
- (string) шлях до файлу бази даних назв мови, за замовчуванням має бути достатньо.
$wgBabelCategoryNames
- (масив рядкових або логічних, індексований рядками «1», «2», … «5», «N») де кожен запис є назвою категорії для рівня кваліфікації, зазначеного його індексом, можливі змінні елементи:
%code%
(код мови),%wikiname%
(назва мови мовою вмісту вікі), та%nativename%
(назва мови на її мові). Щоб вимкнути додавання категорії для певного рівня, встановіть відповідне значення false.
- Наприклад:
$wgBabelCategoryNames = [
'0' => 'User %code%-0',
'1' => 'User %code%-1',
'2' => 'User %code%-2',
'3' => 'User %code%-3',
'4' => 'User %code%-4',
'5' => 'User %code%-5',
'N' => 'User %code%-N',
];
- використовуватиме такі категорії, як «Category:User en-0» і «Category:User fr-N». За замовчуванням просто «Category:Fr-N» і так далі.
$wgBabelMainCategory
- (string) Назва основної (нерівневої) категорії для кожної мови, до якої додаються всі користувачі цієї мови. Установіть значення false, щоб вимкнути; за замовчуванням формат «Category:Fr». Він приймає той самий формат, що й
$wgBabelCategoryNames
вище. приклад:$wgBabelMainCategory = 'User %code%';
$wgBabelDefaultLevel
- (string) Рівнем можливостей за замовчуванням, який не вказано, має бути індекс від
$wgBabelCategoryNames
, тобто один із рядків «1», «2», … «5», «N». За замовчуванням — «N». $wgBabelUseUserLanguage
- (boolean) Чи використовувати мову інтерфейсу користувача для заголовка та нижнього колонтитула повідомлення. Якщо значення false (за замовчуванням), це буде мова вмісту сторінки. Це пояснюється тим, що використання мови інтерфейсу користувача може фрагментувати кеш аналізатора.
$wgBabelCategorizeNamespaces
- Array of namespaces to only add automatic categorization to. For example, if
$wgBabelCategorizeNamespaces = [ NS_USER ];
, then Babel will only add categories to pages in the user namespace. The default is null, which means categorizing all namespaces. $wgBabelCategoryOverride
- Whether to allow Babel categories to be overridden on the wiki using MediaWiki:Babel-category-override
$wgBabelAutoCreate
- Whether to auto-create categories.
Системні повідомлення
За допомогою повідомлень простору назв MediaWiki також можна зробити кілька кастомізацій.
- MediaWiki:babel-template "
Template:User $1
" - Формат назв шаблонів, коли вони включені.
- MediaWiki:babel-portal "
"
- Формат цілі посилання з коду мови. Set to the empty string to not link the language code.
- MediaWiki:Babel-autocreate-user "
Babel AutoCreate
" - Ім’я користувача для автоматичного створення пов’язаних з Babel категорій
- MediaWiki:babel-autocreate-text-levels "
Користувачі із цієї категорії вказали рівень знань $1 для мови $2.
" - Текст для вставки в автоматично створені категорії для різних мовних рівнів. Ви повинні змінити це, якщо хочете, щоб вони автоматично класифікувалися в основній категорії відповідної мови (
$wgBabelMainCategory
). - MediaWiki:babel-autocreate-text-main "
Користувачі в цій категорії вказали знання мови $1.
" - Текст для вставки в автоматично створені категорії для нерівневих категорій. Ви повинні змінити це, якщо хочете, щоб вони автоматично класифікувалися в батьківській категорії для всіх мов.
- MediaWiki:babel "
Відомості про мови користувача (Вавилон)
" - Заголовок вікна babel Set to
-
to not display a header. - MediaWiki:babel-url "
Project:Вавилон
" - Назва сторінки, на якій можна знайти інформацію про розширення babel Set to
-
to display no link in the header. - MediaWiki:Babel-footer "
Користувачі за мовою
" - Нижній колонтитул babel Set to
-
to not display a footer. - MediaWiki:babel-footer-url "
:Category:Користувачі за мовою
" - Сторінка, на яку потрібно посилатися в нижньому колонтитулі вікна babel
- MediaWiki:Babel-category-override "
$1
" - Overrides any automatically-generated Babel categories. Parameters:
$1 = the category that would be generated normally.
$2 = the language code
$3 = the babel level.
Any categories overridden using this method will not be auto-created to reduce the risk of vandalism or mistaken edits to that page.
API
meta=babel (bab)
- This module requires read rights.
- Source: Babel
- License: GPL-2.0-or-later
Get information about what languages the user knows
- babuser
User to get information about
- This parameter is required.
- Type: user, by any of username, IP, Temporary user, IP range and interwiki name (e.g. "prefix>ExampleName")
- Get the Babel information for user Example
- api.php?action=query&meta=babel&babuser=Example [open in sandbox]
Це розширення використовується в одному або декількох проєктах Вікімедіа. Це, мабуть, означає, що розширення стабільне і працює досить добре, щоб його могли використовувати веб-сайти з великим трафіком. Шукайте назву цього розширення у файлах конфігурації Wikimedia CommonSettings.php та InitialiseSettings.php, щоб побачити, де це встановлене. Повний перелік розширень, встановлених на певній вікі, можна переглянути на сторінці Special:Version вікі. |
Це розширення включено до таких вікі-ферм/хостів та/або пакетів: Це не авторитетний список. Деякі вікі-ферми/хости та/або пакунки можуть містити це розширення, навіть якщо вони не вказані тут. Завжди звертайтеся до своїх вікі-ферм/хостів або комплекту для підтвердження. |