Jump to content

Tiện ích mở rộng: Babel

From mediawiki.org
This page is a translated version of the page Extension:Babel and the translation is 100% complete.
Cẩm nang phần mở rộng MediaWiki
Babel
Trạng thái phát hành: ổn định
Cài đặt Parser function
Mô tả Thêm một hàm phân tích cú pháp để thông báo cho những người dùng khác về mức độ thông thạo ngôn ngữ và phân loại người dùng có cùng cấp độ và ngôn ngữ.
Tác giả Robert Leverington (RobertLthảo luận)
Phiên bản Cập nhật liên tục
Compatibility policy Master maintains backward compatibility.
MediaWiki >= 1.43.0
Database changes
Composer mediawiki/babel
Tables babel
Giấy phép GNU General Public License 2.0 or later
Tải xuống Được bao gồm trong Gói Tiện ích Mở rộng Ngôn ngữ.
Ví dụ Translatewiki.net
  • $wgBabelMainCategory
  • $wgBabelAutoCreate
  • $wgBabelDefaultLevel
  • $wgBabelCategorizeNamespaces
  • $wgBabelUseUserLanguage
  • $wgBabelCentralDb
  • $wgBabelCategoryNames
  • $wgBabelUseCommunityConfiguration
  • $wgBabelAllowOverride
Quarterly downloads 94 (Ranked 59th)
Wiki công khai 2,416 (Ranked 192nd)
Translate the Babel extension if it is available at translatewiki.net
Phản hồi Open tasks · Báo cáo lỗi

Tiện ích mở rộng Babel thêm parser function để thay thế hệ thống Babel hoàn toàn dựa vào các mẫu. Nếu một tham số ngôn ngữ không được nhận dạng được chỉ định, nó sẽ xem liệu có mẫu hiện có nào có tên hay không và bao gồm tên đó.

Trên các dự án Wikimedia, danh từ Babel (liên quan đến Tower of Babel) đề cập đến các văn bản trên trang người dùng hỗ trợ giao tiếp đa ngôn ngữ bằng cách giúp việc liên hệ với ai đó nói một ngôn ngữ nhất định trở nên dễ dàng hơn. Ý tưởng này bắt nguồn từ Wikimedia Commons và cũng đã được triển khai trên nhiều wiki khác.

Cài đặt

  • Download and move the extracted Babel folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel
  • Thêm mã sau vào dưới cùng tệp $LocalSettings của bạn:
    wfLoadExtension( 'Babel' );
    
  • Chạy mã cập nhật mà sẽ tự động tạo các bảng cơ sở dữ liệu mà phần mở rộng này cần.
  • Cấu hình theo yêu cầu.
  • Yes Xong – Chuyển tới Special:Version trên wiki của bạn để xác nhận phần mở rộng được cài đặt thành công.
  • CSS nằm trong tệp resources/ext.babel.css. Bạn có thể thay đổi phong cách theo mong muốn bằng cách bỏ qua chúng trong trang MediaWiki:Common.css.
  • Nếu tiện ích mở rộng CLDR được tìm thấy, tên ngôn ngữ sẽ được lấy từ đó (khi không có bản dịch), nếu không sẽ sử dụng tên ngôn ngữ tích hợp sẵn trong MediaWiki và mặc định bằng tiếng Anh.

Cách sử dụng

Cú pháp cho #babel parser function như sau:

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

Thêm một trong các mã sau cho mỗi ngôn ngữ bạn nói hoặc hiểu, cách nhau bởi |, trong đó xx là mã MediaWiki language code, ISO 639-1, hoặc Mã ISO 639-3 cho ngôn ngữ. Cách sử dụng chung của từng cấp mã như sau:

xx-0
Nếu bạn hoàn toàn không hiểu ngôn ngữ đó là gì.
xx-1
Khả năng cơ bản—đủ để hiểu tài liệu viết hoặc các câu hỏi đơn giản bằng ngôn ngữ này.
xx-2
Khả năng trung cấp—đủ để chỉnh sửa hoặc tham gia thảo luận.
xx-3
Mức độ cao—dù bạn có thể viết bằng ngôn ngữ này mà không gặp vấn đề gì, nhưng có thể sẽ có một số lỗi nhỏ.
xx-4
Mức độ "Near-native" mặc dù không phải là ngôn ngữ mẹ đẻ của bạn, nhưng khả năng của bạn gần như người bản xứ.
xx-5
Thành thạo chuyên nghiệp.
xx hoặc xx-N
Người bản ngữ sử dụng ngôn ngữ mỗi ngày và hiểu rõ về ngôn ngữ đó, bao gồm cả các thành ngữ và lối nói thông dụng.

Để bao gồm bất kỳ mẫu nào khác, hãy thêm tên của mẫu, ví dụ: thêm CSS người dùng nếu bạn muốn bao gồm Mẫu:CSS người dùng. Tiền tố hoặc hậu tố có thể được thêm vào tên mẫu (ví dụ: Người dùng ở đầu) tùy thuộc vào cấu hình cục bộ. Điều này có thể được sử dụng để hạn chế lựa chọn và giảm độ dài của tham số; ví dụ: CSS có thể bao gồm Template:User CSS nếu được định cấu hình theo cách như vậy.

Thông số

Để xóa đầu trang và chân trang, hãy sử dụng plain=1 làm tham số đầu tiên, ví dụ: {{#babel: plain=1 | babelcode1 | babelcode2 | ... }}. Điều này giúp việc sử dụng Babel với các hộp người dùng khác trở nên dễ dàng hơn.

To hide categories, use the nocat=1 parameter as the first parameter, e.g., {{#babel: nocat=1 | babelcode1 | babelcode2 | ... }}.

Lưu ý rằng chỉ có một tham số trong số các tham số trên được phép sử dụng. 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.

Cấu hình

Thông số cấu hình

Babel có một số tham số cấu hình có thể được chỉnh sửa trong LocalSettings.php .

$wgBabelLanguageCodesCdb
(string) đường dẫn của tệp cơ sở dữ liệu mã ngôn ngữ, mặc định là đủ.
$wgBabelLanguageNamesCdb
(string) đường dẫn của tệp cơ sở dữ liệu tên ngôn ngữ, mặc định là đủ.
$wgBabelCategoryNames
(Mảng chuỗi hoặc giá trị boolean, được lập chỉ mục bằng các chuỗi "1", "2", … "5", "N") trong đó mỗi mục là tên của một danh mục tương ứng với cấp độ kỹ năng được chỉ định bởi chỉ mục đó. Các phần tử biến có thể bao gồm: %code% (mã ngôn ngữ), %wikiname% (tên ngôn ngữ trong ngôn ngữ nội dung của wiki), và %nativename% (tên ngôn ngữ trong chính ngôn ngữ đó). Để tắt tính năng thêm danh mục cho một cấp độ cụ thể, hãy đặt giá trị tương ứng thành false.
Ví dụ:
$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',
];
sẽ sử dụng các danh mục như "Category:User en-0" và "Category:User fr-N". Giá trị mặc định chỉ là "Category:Fr-N", v.v.
$wgBabelMainCategory
(string) Tên của danh mục chính (non-level) cho mỗi ngôn ngữ mà tất cả người dùng ngôn ngữ đó được thêm vào. Đặt thành sai để tắt; mặc định định dạng "Category:Fr". Nó chấp nhận định dạng tương tự như $wgBabelCategoryNames ở trên. Ví dụ:
$wgBabelMainCategory = 'User %code%';
$wgBabelDefaultLevel
(string) Mức khả năng mặc định để sử dụng khi không được chỉ định, phải là chỉ mục từ $wgBabelCategoryNames, tức là một trong các chuỗi "1", "2", … "5", "N". Mặc định là "N".
$wgBabelUseUserLanguage
(boolean) Có sử dụng ngôn ngữ giao diện người dùng cho thông báo đầu trang và chân trang hay không. Nếu sai (default), nó sẽ ở ngôn ngữ nội dung trang. Điều này là do việc sử dụng ngôn ngữ giao diện người dùng có thể phân mảnh bộ nhớ đệm của trình phân tích cú pháp.
$wgBabelCategorizeNamespaces
Mảng không gian tên chỉ để thêm phân loại tự động vào. Ví dụ: nếu $wgBabelCategorizeNamespaces = [ NS_USER ]; thì Babel sẽ chỉ thêm danh mục vào các trang trong không gian tên người dùng. Giá trị mặc định là null, nghĩa là phân loại tất cả các không gian tên.
$wgBabelCategoryOverride
Có cho phép ghi đè các danh mục Babel trên wiki hay không bằng cách sử dụng MediaWiki:Babel-category-override
$wgBabelAutoCreate
Có tự động tạo danh mục hay không.

Thông báo hệ thống

Một số tùy chỉnh cũng có thể được thực hiện bằng cách sử dụng thông báo vùng tên MediaWiki.

MediaWiki:babel-template "Template:User $1"
Định dạng của tên mẫu khi một tên được đưa vào.
MediaWiki:babel-portal ""
Định dạng mục tiêu của liên kết từ mã ngôn ngữ. Đặt thành chuỗi trống để không liên kết mã ngôn ngữ.
MediaWiki:Babel-autocreate-user "Babel AutoCreate"
Tên người dùng sẽ được sử dụng để tự động tạo các danh mục liên quan đến Babel
MediaWiki:babel-autocreate-text-levels "Người dùng trong thể loại này cho thấy họ thành thạo ngôn ngữ $2 ở mức $1."
Văn bản để chèn vào các danh mục được tạo tự động cho các cấp độ ngôn ngữ khác nhau. Bạn phải thay đổi điều này nếu bạn muốn chúng được tự động phân loại trong danh mục chính của ngôn ngữ tương ứng ($wgBabelMainCategory).
MediaWiki:babel-autocreate-text-main "Người dùng trong thể loại này cho thấy họ có kiến thức về ngôn ngữ $1."
Văn bản để chèn vào các danh mục được tạo tự động cho các danh mục không cấp độ. Bạn phải thay đổi điều này nếu bạn muốn chúng được tự động phân loại trong danh mục chính cho tất cả các ngôn ngữ.
MediaWiki:babel "Thông tin ngôn ngữ thành viên"
Tiêu đề của hộp babel. Đặt thành - để không hiển thị tiêu đề.
MediaWiki:babel-url "Project:Ngôn ngữ"
Tên trang nơi có thể tìm thấy thông tin về phần mở rộng babel. Đặt thành - để không hiển thị liên kết nào trong tiêu đề.
MediaWiki:Babel-footer "Thành viên theo ngôn ngữ"

Chân trang của hộp babel. Đặt thành - để không hiển thị chân trang.

MediaWiki:babel-footer-url " :Category:Babel – Thành viên theo ngôn ngữ"
Trang để liên kết đến ở phần chân trang của hộp babel
MediaWiki:Babel-category-override "$1"
Ghi đè mọi danh mục Babel được tạo tự động. Thông số:
$1 = danh mục sẽ được tạo bình thường.
$2 = mã ngôn ngữ
$3 = cấp độ babel.
Bất kỳ danh mục nào bị ghi đè bằng phương pháp này sẽ không được tự động tạo để giảm thiểu cơ sở dữ liệu hoặc chỉnh sửa trang sai đó.

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]