Расширение:Babel

From mediawiki.org
This page is a translated version of the page Extension:Babel and the translation is 68% complete.
Outdated translations are marked like this.
Справка по расширениям MediaWiki
Babel
Статус релиза: стабильно
Реализация Функция парсера
Описание Добавляет функцию парсера для информирования других пользователей об уровне владения языком и добавляет пользователей с одинаковым уровнем и языком в одну категорию.
Автор(ы) Robert Leverington (RobertLобсуждение)
Последняя версия Continuous updates
Политика совместимости Master maintains backward compatibility.
MediaWiki >= 1.40.0
Изменения в БД Да
Composer mediawiki/babel
Таблицы babel
Лицензия GNU General Public License 2.0 или позднее
Скачать Включено в комплект языковых расширений (Language Extension Bundle)
Пример Translatewiki.net
  • $wgBabelMainCategory
  • $wgBabelCategorizeNamespaces
  • $wgBabelDefaultLevel
  • $wgBabelCentralDb
  • $wgBabelAutoCreate
  • $wgBabelCategoryNames
  • $wgBabelAllowOverride
  • $wgBabelUseUserLanguage
Ежеквартальные загрузки 93 (Ranked 66th)
Использование общедоступными вики 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' );
    
  • Выполните скрипт обновления, который автоматически создаст необходимые таблицы, используемые расширением.
  • Настройте, как вам требуется.
  • Yes Готово – Перейдите на страницу 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:

  1. Create a template {{Babel category }} that will generate categories.
  2. Replacing text on MediaWiki:babel-autocreate-text-levels with
    {{Babel category|level=$1|language=$2|ISO=$3}}
    
  3. Replacing text on MediaWiki:babel-autocreate-text-main with
    {{Babel category|language=$1|ISO=$2}}
    

This will allow you to automatically categorize categories and if something happens, then simultaneously replace the categorization and text in all categories at the same time.


Конфигурация

Конфигурационные параметры

В 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 categorize all namespaces.
$wgBabelCategoryOverride
Whether to allow Babel categories to be overridden on 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 from vandalism or mistaken edits to that page.

API

meta=babel (bab)

(main | query | babel)

Get information about what languages the user knows

Specific parameter:
Other general parameters are available.
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")
Example:
Get the Babel information for user Example
api.php?action=query&meta=babel&babuser=Example [open in sandbox]