Jump to content

확장기능:바벨

From mediawiki.org
This page is a translated version of the page Extension:Babel and the translation is 10% complete.
미디어위키 확장 기능 설명서
Babel
출시 상태: 안정
구현 파서 함수
설명 Adds a parser function to inform other users about language proficiency and categorize users of the same levels and languages.
만든 이 Robert Leverington (RobertL토론)
최신 버전 Continuous updates
호환성 정책 Master maintains backward compatibility.
MediaWiki >= 1.41.0
데이터베이스 변경
Composer mediawiki/babel
테이블 babel
라이선스 GNU General Public License 2.0 or later
다운로드 언어 확장 번들을 포함
예제 Translatewiki.net
  • $wgBabelMainCategory
  • $wgBabelAutoCreate
  • $wgBabelDefaultLevel
  • $wgBabelCategorizeNamespaces
  • $wgBabelUseUserLanguage
  • $wgBabelCentralDb
  • $wgBabelCategoryNames
  • $wgBabelUseCommunityConfiguration
  • $wgBabelAllowOverride
Quarterly downloads 65 (Ranked 65th)
Public wikis using 2,416 (Ranked 192nd)
Babel 확장 기능 번역 (translatewiki.net에서 가능한 경우)
이슈 미해결 작업 · 버그 보고

The Babel extension adds a parser function to replace the old Babel system that completely relied on templates. If an unrecognized language parameter is specified, it will see if there is an existing template with the name and include that.

On Wikimedia projects, the noun Babel (in reference to the Tower of Babel) refers to the texts on user pages aiding multilingual communication by making it easier to contact someone who speaks a certain language. The idea originated on the Wikimedia Commons and has also been implemented on many other wikis.

설치

  • 파일을 다운로드하고 Babel 폴더를 extensions/ 디렉토리에 넣어 주세요.
    개발자와 코딩 기여자는 Git을 이용해 확장기능을 다운받는 것이 좋습니다.cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel
  • 아래의 코드를 LocalSettings.php 코드의 마지막에 추가합니다.
    wfLoadExtension( 'Babel' );
    
  • 갱신 스크립트를 실행합니다. 이 스크립트는 이 확장기능을 필요로 하는 데이터 베이스 테이블을 자동적으로 작성합니다.
  • Configure as required.
  • Yes 완료 – 위키의 ‘Special:Version’에 이동해서, 확장기능이 올바르게 설치된 것을 확인합니다.
  • The CSS is located in the file resources/ext.babel.css. You can change the style as desired by overriding them in the page MediaWiki:Common.css.
  • If the CLDR extension is found language names are taken from that (where translations are unavailable), otherwise built in MediaWiki language names and English defaults are used.

사용법

Syntax for the #babel parser function is as follows:

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

Add one of the following codes for each language you speak or understand, separated by |, where xx is the MediaWiki language code, ISO 639-1 code, or ISO 639-3 code for the language. The general usage of each code level is as follows:

xx-0: If you don't understand the language at all.
xx-1: Basic ability—enough to understand written material or simple questions in this language.
xx-2: Intermediate ability—enough for editing or discussions.
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: Professional proficiency.
xx or xx-N: Native speakers who use a language every day and have a thorough grasp of it, including colloquialisms and idioms.

To include any other template, add the name of the template, e.g., add User CSS if you want to include Template:User CSS. 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.

Parameters

To remove the header and footer, use plain=1 as the first parameter, e.g., {{#babel: plain=1 | babelcode1 | babelcode2 | ... }}. This makes it easier to use Babel with other userboxes.

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.

설정

Configuration parameters

Babel has several configuration parameters which can be modified in LocalSettings.php .

$wgBabelLanguageCodesCdb
(string) the path of the language code database file, the default should suffice.
$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 = [
	'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.
$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.

System messages

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 ""
The format of the link's target from the language code. Set to the empty string to not link the language code.
MediaWiki:Babel-autocreate-user "바벨 자동만듦"
Username to be used for auto-creation 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 "사용자 언어 정보"
The header of the babel box. Set to - to not display a header.
MediaWiki:babel-url "Project:바벨"
The page name where information on the babel extension can be found. Set to - to display no link in the header.
MediaWiki:Babel-footer "언어별 사용자"
The footer of the babel box. Set to - to not display a footer.
MediaWiki:babel-footer-url " :분류:언어별 사용자"
The page to link to in the footer of the babel box
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]