扩展程序:语文

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:Babel and the translation is 61% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Lëtzebuergesch • ‎Scots • ‎asturianu • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎lietuvių • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎sicilianu • ‎suomi • ‎български • ‎русский • ‎العربية • ‎हिन्दी • ‎মেইতেই লোন্ • ‎中文 • ‎日本語 • ‎조선말 • ‎한국어
MediaWiki扩展手册
OOjs UI icon advanced.svg
Babel
发布状态: 稳定版
Babel-extension-screenshot.png
实现 Parser extension
描述 添加parser function以通知其他用戶語言熟練程度並對具有相同級別和語言的用戶進行分類。
作者 Robert Leverington (RobertLtalk)
最新版本 Continuous updates
MediaWiki 1.30+
数据更新
Composer mediawiki/babel
表格 babel
许可协议 GNU General Public License 2.0 or later
下载 包括于语言扩展链
例子 Translatewiki.net
参数
  • $wgBabelCategorizeNamespaces
  • $wgBabelCategoryNames
  • $wgBabelMainCategory
  • $wgBabelDefaultLevel
  • $wgBabelUseUserLanguage
  • $wgBabelUseDatabase
  • $wgBabelCentralDb
  • $wgBabelCentralApi
使用的钩子
ParserFirstCallInit
LinksUpdate
LoadExtensionSchemaUpdates
UserGetReservedNames
翻译Babel扩展如果在translatewiki.net可用
检查使用和版本矩阵。
问题 开放的工作 · 报告错误

语文擴展插件添加parser function以替換完全依賴模板的“舊”语文系統。“ 如果指定了無法識別的語言參數,則它將查看是否存在具有該名稱的現有模板並包括該模板。

在维基媒体项目中,名词“语文”(Tower of Babel)指的是用户页面上的文本,它帮助人们更容易地与说某种语言的人联系,从而帮助多语言交流。 这个想法起源于Wikimedia Commons,并已在许多其他wiki上实现。

下载

此扩展可直接从Git检索到 [?]:

  • 浏览代码
  • 部分扩展有稳定版本标签。
  • 每个分支与过去的MediaWiki发布版本相关联。 这里也有一个“主线”分支,包含最新alpha版本(可能需要MediaWiki的alpha版本)。

提取快照,并将它放置在您的MediaWiki安装副本的extensions/Babel/目录中。

如果您对git熟悉,并且拥有您服务器的shell访问权,您也可以通过以下方法获得扩展:

cd extensions/
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Babel.git

安装

  • 下载文件,并将其放置在您extensions/文件夹中的Babel目录内。

致使用MediaWiki 1.25或更早版本的用户:

上面的说明介绍的是安装此扩展的新方法,它使用wfLoadExtension() 如果您需要在早期版本(MediaWiki 1.25和更早版本)中安装此扩展,而不是wfLoadExtension( 'Babel' );,您需要使用:

require_once "$IP/extensions/Babel/Babel.php";
  • CSS位于文件resources/ext.babel.css中。 可以通过在MediaWiki:Common.css页中重写样式来根据需要更改样式。
  • 如果找到cldr扩展名,则从该扩展名中提取语言名称(在无法获得翻译的情况下),否则将使用内置在MediaWiki中的语言名称和英语默认值。

用法

#babelParser函数的语法如下:

 {{#babel: babelcode1 | babelcode2 | ... }}

为您所说或理解的每种语言添加以下代码之一,以|分隔,其中xx是该语言的MediaWiki语言代码、ISO639-1代码或ISO639-3代码。 每个代码级别的一般用法如下:

xx-0:如果您对此种语言一窍不通。
xx-1:初级水平——您对此种语言的写作或会话略懂一二。
xx-2
中等水平——足以进行编辑或讨论。
xx-3
Advanced level - though you can write in this language with no problem, some small errors might occur.
xx-4
"Near-native" level - although it's not your first language from birth, your ability is something like that of a native speaker.
xx-5:专业水平。
xxxx-N:您是这种语言的母语用户,您天生就可以使用该语言的俗话和/或俚语。

要包含任何其他模板,只需添加该模板的名称,例如,如果要包含Template:来自伦敦的用户,请添加来自伦敦的用户。 根据本地配置,可以将前缀或后缀添加到模板名称(例如,用户)中,这可用于限制选择和缩短参数的长度; 例如,来自伦敦可以包括Template:来自伦敦的用户,如果以这种方式配置的话。

要删除页眉和页脚,请使用plain=1作为第一个参数,例如{{#babel: plain=1 | babelcode1 | babelcode2 | ... }}。 这使得更容易与其他用户框一起使用语文。

配置

配置参数

语文有六个可以在LocalSettings.php中修改的配置参数。

$wgBabelLanguageCodesCdb:(字符串)语言代码数据库文件的路径,默认值应该足够了。

$wgBabelLanguageNamesCdb 
(string) the path of the language name database file, the default should suffice.
$wgBabelCategoryNames 
(array of string or boolean, indexed by the strings "1", "2", … "5", "N") where each entry is the name of a category for the skill level indicated by its index, possible variable elements are: %code% (language code), %wikiname% (the name of the language in the wiki's content language), and %nativename% (the name of the language in its language). To disable adding a category for a particular level, set the corresponding value to false.
例如:
$wgBabelCategoryNames = array(
	'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',
);
will use categories like "Category:User en-0" and "Category:User fr-N". The default is just "Category:Fr-N" and so on.
$wgBabelMainCategory 
(string) Name of the main (non-level) category for each language, to which all users of that language are added. Set to false to disable; defaults to format "Category:Fr". It accepts the same format as $wgBabelCategoryNames above. Example:
$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 
(boolean) Whether to use the user interface language for the header and footer message. If false (default), it will be in the page content language. This is because using the user interface language may fragment the parser cache.

系统消息

Several customizations can also be made using MediaWiki namespace messages.

MediaWiki:babel-template "Template:User $1"
The format of template names when one is being included.
MediaWiki:babel-portal "⧼babel-portal⧽"
The format of the target of the link from the language code.
MediaWiki:Babel-autocreate-user "Babel AutoCreate"
Username to be used for autocreation of Babel related categories
MediaWiki:babel-autocreate-text-levels "在此分类中的用户具有$2的$1级能力。"
Text to insert into auto-created categories for different language levels. You have to change this if you want them to be auto-categorized in the main category of the respective language ($wgBabelMainCategory).
MediaWiki:babel-autocreate-text-main "此分类中的用户能理解$1。"
Text to insert into auto-created categories for non-level categories. You have to change this if you want them to be auto-categorized in a parent category for all languages.
MediaWiki:babel "用户语文水平"
语文框的页顶
MediaWiki:babel-url "Project:巴別"
The pagename where information on the babel extension can be found
MediaWiki:Babel-footer "用户(按语言)"
语文框的页脚
MediaWiki:babel-footer-url " :Category:巴别-用户(按语言)"
The page to link to in the footer of the babel box

API

meta=babel (bab)

(main | query | babel)

Get information about what languages the user knows

Parameter:
babuser

User to get information about

This parameter is required.
Type: user name
Example:
Get the Babel information for user Example
api.php?action=query&meta=babel&babuser=Example [open in sandbox]