Recent Changes - Search:

(sửa đổi)

PmWiki

pmwiki.org

Ngôn ngữ

QuốcTếHóa

PmWiki có hỗ trợ quốc tế hóa trang Mạng, cho phép ký tự có dấu phụ xuất hiện trong tên trang, và có thể tự chọn iều nhắc PmWiki gần hoàn thành. Phần lớn khả năng tự chọn được cung cấp thông qua chức năng XLPage(), mà tải một bộ biến thông dịch từ một trang wiki (thường có tên XLPage, nhưng mà bạn có thể sử dụng bất cứ tên nào).

Tải trang dịch

Tại nơi Mạng pmichaud.com có tạo và bảo quản bộ trang cho nhiều ngôn ngữ khác như tiếng Pháp, tiếng Đức, tiếng Hoà-lan và tiếng Tây-ban-nha rồi. Bạn có thể tải một kho của các bản dịch này xuống http://www.pmichaud.com/pub/pmwiki/i18n.tgz. Chỉ đơn giản hãy giải nén kho ấy vào thư mục chứa bản cài đặt «pmwiki.php». Kho ấy chứa một số tập tin trang sẽ được để vào thư mục «wikilib.d/» của bạn, cũng một số tập lệnh đặc biệt cho bản dịch dùng một bộ ký tự khác với iso-8859-1 (mặc định cho PmWiki), gồm Việt ngữ.

Một khi cài đặt những trang dịch, bạn có thể hiệu lực một ngôn ngữ nào đó bằng cách thêm một việc gọi vào «XLPage()» trong tập tin «config.php» của bạn. Lấy thí dụ, để chọn điều nhắc Việt ngữ, bạn hãy ghi rõ

    XLPage('vi','PmWikiVi.XLPage');

mà báo hệ thống tải các bản dịch Việt ngữ («vi») từ trang PmWikiVi.XLPage. Có thể tải nhiều trang cùng lúc, vì vậy nếu bạn muốn tạo bản dịch địa phương mình, còn không sửa đổi các bản dịch từ tập tin «i18n.tgz», chỉ hãy tạo một trang nữa (xem dưới) và tải nó ở trên:

    
    XLPage('vi','PmWikiVi.XLPage');       # từ i18n.tgz
    XLPage('vi','PmWikiVi.XLPageLocal');  # bản dịch địa phương
    

Nếu bạn định cung cấp nhiều ngôn ngữ khác nhau tại nơi Mạng bạn, dùng Wiki Groups? để chọn ngôn ngữ, bạn có lẽ sẽ muốn để mã này trong một bộ trang tự chọn địa phương (hãy xem Per Group Customizations?). Lấy thí dụ, nếu bạn xuất bộ trang bằng cả Anh ngữ lẫn Việt ngữ đều, mà bộ trang Việt ngữ có trong một nhóm tên «Vi.», thì bạn có thể tạo một tập tin tên «Vi.php» trong thư mục địa phương chứa:

    
    <?php if (!defined('PmWiki')) exit();
    ##change to Vietnamese language
    XLPage('vi','PmWikiVi.XLPage');
    ?>
    

Bạn có lẽ sẽ muốn tạo một trang tên PmwikiVi.php có cùng nội dung, để truy cập tài liệu Việt ngữ trong nhóm PmWikiVi. Không cần đến tập tin En.php vì Anh ngữ là ngôn ngữ mặc định.

Một cách khác là thêm vào tập tin «config.php» mã theo đây, mà kiểm tra nếu có một XLPage trong một nhóm, rồi nếu có, tải nó:

        
    $xlpage = FmtPageName('$Group.XLPage', $pagename);
    if (PageExists($xlpage)) XLPage($xlpage, $xlpage);
    

'xlpage-i18n' => 'utf-8', 'Locale' => 'vi',

  'TimeFmt' => '',

Dùng phương pháp này, bạn sẽ cần phải sao chép XLPage liên quan nào vào nhóm nào cần cách hỗ trợ ngôn ngữ ấy.

Tạo bản dịch mới

Nếu không có trang ngôn ngữ cho ngôn ngữ bạn, dễ dàng để tạo nó. Một tập tin thông dịch XLPage đơn giản chứa dòng dạng

   'cụm từ' => 'cụm từ được dịch',

mà «cụm từ» là một cụm từ được quốc tế hóa (do ... bao hàm) trong biến $...Fmt của PmWiki, và «cụm từ được dịch» là điều cần hiển thị trong ngôn ngữ bạn. Lấy thí dụ, dòng (trong PmWikiVi.XLPage)

   'SearchWiki' => 'TìmKiếmTrongWiki',

thì chuyển đổi «SearchWiki» sang «TìmKiếmTrongWiki» khi xuất. Tập tin PmWiki:XLPageTemplate là một điểm đầu tốt để tạo một XLPage mới, và có liệt kê phần lớn cụm từ PmWiki rồi. Hãy ghi chú rằng cơ chế thông dịch chuyển đổi chỉ những cụm từ đã được liệt kê có thể dịch trong chuỗi $...Fmt. Nó sẽ không dịch điều nào xuất trong định dạng wiki.

Nếu bạn tạo phiên bản mới của trang PmWiki bằng ngôn ngữ khác, xin hãy thêm nó vào nơi Mạng PmWiki chính để làm cho nó công bố cho mọi người khác trong kho «i18n.tgz» nhé.

Kỹ thuật «i18n» thường dùng là một viết tắt cho từ Anh ngữ «internationalization» (quốc tế hóa). Viết tắt ấy bắt nguồn từ mười tám chữ giữa chữ «i» đầu và chữ «n» cuối trong từ ấy thì phần lớn người không muốn gõ hết. :)

Công cụ địa phương hóa PmWiki

Xin hãy địa phương hóa PmWiki bằng ngôn ngữ bạn tại nơi Mạng gốc nhế.

<< | PmWiki.Documentation Index | >>

Edit - History - Print - Recent Changes - Search
Page last modified on December 25, 2013, at 03:29 PM