Extension:Babel/ru
Расширение Babel добавляет функцию парсера для замены старой системы Babel, которая полностью полагалась на шаблоны. Если указан параметр нераспознанного языка, он будет смотреть, существует ли шаблон с именем и включит его на страницу. This information can then additionally be stored via categories, allowing others to find users who speak any particular language.
В проектах Викимедиа существительное Babel (в отношении Вавилонской башни) относится к текстам на страницах пользователей, способствующих многоязычному общению, облегчая контакт с кем-то, кто говорит на определенном языке. Идея возникла в Wikimedia Commons, а также была реализована во многих других вики.
The Babel extension still makes use of templates: if an unrecognized language parameter is specified, the extension will see if there is an existing template with that name and include that if so.
Установка
- Скачайте и распакуйте файл(ы) в папку с названием
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.less
. Вы можете изменить стиль по своему усмотрению, переопределив его на странице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
), если настроено таким образом.
A prefix or suffix may be added to template names (e.g., User
at the beginning) depending on the local configuration.
This can be used to restrict the selection and reduce the length of parameters; for example, CSS
could include Template:User CSS
if configured in such a way.
For example in the mentioned case of CSS (Cascading Style Sheets), it might collide with the ISO code for Southern Ohlone language.
In such case, to enforce the usage of a local template, simply prefix the parameter with an underscore (_
), e.g. … html-3|_css-2|js-1 …
.
Parameters
Чтобы удалить верхний и нижний колонтитулы, используйте plain=1
в качестве первого параметра, например, $plain.
Это облегчает использование 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». $4
" - Текст для вставки в автоматически созданные категории для разных языковых уровней. Вы должны изменить это, если хотите, чтобы они автоматически классифицировались в основной категории соответствующего языка (
$wgBabelMainCategory
). - MediaWiki:babel-autocreate-text-main "
Участники в этой категории указали знание языка «$1». $3
" - Текст для вставки в автоматически созданные категории для неуровневых категорий. Вы должны изменить это, если хотите, чтобы они были автоматически распределены по категориям в родительской категории для всех языков.
- 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. |
![]() | Это расширение включено в следующие вики-фермы/хостинги и/или пакеты: Это не исчерпывающий список. Некоторые вики-фермы/хостинги и/или пакеты могут содержать это расширение, даже если они не перечислены здесь. Всегда сверяйтесь со своими вики-фермами/хостингами или комплектами/бандлами для подтверждения. |