Расширение:Babel
Babel Статус релиза: стабильно |
|
---|---|
Реализация | Функция парсера |
Описание | Добавляет функцию парсера для информирования других пользователей об уровне владения языком и добавляет пользователей с одинаковым уровнем и языком в одну категорию. |
Автор(ы) | Robert Leverington (RobertLобсуждение) |
Последняя версия | Continuous updates |
Политика совместимости | Мастер поддерживает обратную совместимость. |
MediaWiki | >= 1.41.0 |
Изменения в БД | Да |
Composer | mediawiki/babel |
Таблицы | babel |
Лицензия | GNU General Public License 2.0 или позднее |
Скачать | Включено в комплект языковых расширений (Language Extension Bundle) |
Пример | Translatewiki.net |
|
|
Ежеквартальные загрузки | 65 (Ranked 71st) |
Использование общедоступными вики | 2,416 (Ranked 192nd) |
Переведите расширение Babel, если оно доступно на translatewiki.net | |
Проблемы | Открытые задачи · Сообщить об ошибке |
Расширение Babel добавляет функцию парсера для замены старой системы 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
- носители языка, которые используют язык каждый день и имеют полное представление о нем, включая разговорные выражения и идиомы.
Чтобы включить любой другой шаблон, просто добавьте название шаблона, например, добавьте Пользователь из Лондона
(User from London
), если вы хотите включить Шаблон:Пользователь из Лондона
(Template:User from London
). Префикс или суффикс может быть добавлен к именам шаблонов (например, пользователь
(User
) в начале) в зависимости от локальной конфигурации, это может использоваться для ограничения выбора и сокращения длины параметров; например, из Лондона
(from London
) может включать Шаблон:Пользователь из Лондона
(Template:User from London
), если настроено таким образом.
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
- (строка) путь к файлу базы данных, которая содержит коды языков. Значения по умолчанию должно быть достаточно.
$wgBabelLanguageNamesCdb
- (строка) путь к файлу базы данных, которая содержит имена языка. Значения по умолчанию должно быть достаточно.
$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
- (строка) Имя основной (неуровневой) категории для каждого языка, к которой добавляются все пользователи этого языка. Установите false, чтобы отключить; по умолчанию используется формат «Категория:Fr» ("Category:Fr"). Он принимает тот же формат, что и
$wgBabelCategoryNames
выше. Пример:$wgBabelMainCategory = 'User %code%';
$wgBabelDefaultLevel
- (string) Default ability level to use when none is specified, should be an index from
$wgBabelCategoryNames
, that is one of the strings "1", "2", … "5", "N". Default is "N". $wgBabelUseUserLanguage
- (логическая переменная) Использовать ли язык интерфейса пользователя для сообщения верхнего и нижнего колонтитула. Если 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:Участник $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:Project:Участники по языкам
" - Страница для ссылки в нижнем колонтитуле «бокса» 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]
Это расширение используется в одном или нескольких проектах Викимедиа. Вероятно, это означает, что расширение стабильно и работает достаточно хорошо, чтобы использоваться такими сайтами с высоким трафиком. Найдите название этого расширения в файлах конфигурации Викимедиа CommonSettings.php и InitialiseSettings.php, чтобы узнать, где оно установлено. Полный список расширений, установленных на конкретной вики, можно увидеть на странице Special:Version wiki. |
Это расширение включено в следующие вики-фермы/хостинги и/или пакеты: Это не исчерпывающий список. Некоторые вики-фермы/хостинги и/или пакеты могут содержать это расширение, даже если они не перечислены здесь. Всегда сверяйтесь со своими вики-фермами/хостингами или комплектами/бандлами для подтверждения. |