Extension:Babel/ru

Category:GPL licensed extensions/ru
Справка по расширениям MediaWiki
Babel
Статус релиза: стабильноCategory:Stable extensions/ru
Реализация Функция парсера Category:Parser function extensions/ru
Описание Добавляет функцию парсера для информирования других пользователей об уровне владения языком и добавляет пользователей с одинаковым уровнем и языком в одну категорию.
Автор(ы) Robert Leverington (RobertLобсуждение)
Последняя версия Continuous updates
Политика совместимости Мастер поддерживает обратную совместимость.
MediaWiki >= 1.43.0
Изменения в БД Да
Composer mediawiki/babelCategory:Extensions supporting Composer/ru
Таблицы babel
Лицензия GNU General Public License 2.0 или позднее
Скачать Включено в комплект языковых расширений (Language Extension Bundle) Category:Extensions in Wikimedia version control/ru
Пример Translatewiki.net
  • $wgBabelMainCategory
  • $wgBabelAutoCreate
  • $wgBabelAllowOverride
  • $wgBabelCategorizeNamespaces
  • $wgBabelUseUserLanguage
  • $wgBabelCentralDb
  • $wgBabelCategoryNames
  • $wgBabelUseCommunityConfiguration
  • $wgBabelDefaultLevel
Переведите расширение Babel, если оно доступно на translatewiki.net
Проблемы Открытые задачи · Сообщить об ошибке
Category:All extensions/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' );
    
  • Выполните скрипт обновления, который автоматически создаст необходимые таблицы, используемые расширением.
  • Настройте, как вам требуется.
  • Yes Готово – Перейдите на страницу 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:

  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 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)

(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]
Category:Extensions used on Wikimedia/ru#Babel/ru Category:Localisation extensions/ru
Category:All extensions/ru Category:CommunityConfigurationProvider initList extensions/ru Category:Extensions in Wikimedia version control/ru Category:Extensions included in Canasta/ru Category:Extensions included in Miraheze/ru Category:Extensions included in ShoutWiki/ru Category:Extensions included in WikiForge/ru Category:Extensions included in wiki.gg/ru Category:Extensions supporting Composer/ru Category:Extensions used on Wikimedia/ru Category:GPL licensed extensions/ru Category:LinksUpdate extensions/ru Category:LoadExtensionSchemaUpdates extensions/ru Category:Localisation extensions/ru Category:ParserFirstCallInit extensions/ru Category:Parser function extensions/ru Category:Stable extensions/ru Category:UserGetReservedNames extensions/ru