DokuWiki

It's better when it's simple

使用者工具

網站工具


zh-tw:localization

DokuWiki 之在地化

DokuWiki 的使用者介面能讓大家設定選用的語言。只要設定好語言組態即可。

使用者介面可使用的語言列於 DokuWiki Localization Hub

若要把 DokuWiki 翻譯為你的語言,請造訪 http://translate.dokuwiki.org/ ,選擇你的語言,透過網路介面修改翻譯,送出後就會建立一個新的語言包。

翻譯後請把語言包寄給 andi [at] splitbrain [dot] org,它就會成為新釋出的版本。

翻譯者應加入 I18N Mailing List 以獲得新的訊息,如新增的字串或需要翻譯的東西。

附加元件之在地化

大多數的附加元件只提供英語,歡迎你為這些元件在地化。即使只翻譯幾個句子,也是好事。單單幾個字,也能改善該附加元件。

以下說明,解釋了如何建立翻譯,並儲存需要的檔案。

  • 複製 lib/plugins/<附加元件名稱>/lang/en/lib/plugins/<附加元件名稱>/lang/<ISO語言代碼>/ 並把內容翻譯成你想要的語言。
  • 要提供你的翻譯檔案,你可以這麼做(根據適切性排序)
    1. 使用 Github Pull Request 將它推送(Push)到程式碼倉庫(未必每個附加元件都允許)
    2. 將你的翻譯內容寫在本站適當的附加元件頁面裡(建立一個名為 Localization 的段落,如果沒有的話)
    3. 寫信給附加元件的作者(看他有沒有回應。如果沒有,請嘗試其他提交翻譯內容的方法)
    4. 寫信至 i18n Mailinglist

對於其他問題或尋求一般性協助,你可以寫信到 I18N-Mailinglist 或在 IRC-Channel 提問。

修改已安裝 DokuWiki 的翻譯內容

DokuWiki 之中有許多翻譯文字,例如註冊、密碼遺忘的 email 或編輯表格上方的文字。你可以修改它們,複製 inc/lang/<ISO語言代碼>/<名稱>.txtconf/lang/<ISO語言代碼>/<名稱>.txt ,然後修改複製的檔案。如此一來你的修改不會被新版覆蓋。你也可以對附加元件做同樣的事(如 ACL 編輯器權限管理的協助文字),複製 lib/plugins/<附加元件>/lang/<ISO語言代碼>/<名稱>.txtconf/plugin_lang/<plugin>/<ISO語言代碼>/<name>.txt ,然後修改它們即可。

DokuWiki 說明文件之在地化

我們很鼓勵大家翻譯 DokuWiki 的說明文件。翻譯的頁面應使用與原文相對應的頁面名稱,並根據 ISO 語言代碼儲存在不同的命名空間。要讓這項工作更簡單,可使用翻譯附加元件,它會自動在頁面右上角插入不同語言版本的連結,無論頁面是否已建立。已建立的翻譯頁面會以藍色顯示,未建立則顯示為灰色。

顯示在語言選單中的語言需要由管理員手動設定。如果您希望加入一個未被顯示的語系(語言)的翻譯,請手動在適當的命名空間加入該語言的翻譯,然後寄一封信到 I18N mailing list 請求網站管理員加入該語言。

翻譯指南

關於本站的翻譯原則:

  • 歡迎自由建立尚未翻譯的頁面。
  • 只有在頂層命名空間的文章才需要翻譯。
  • 翻譯頁面的頁面名稱必須與原文頁相同。
  • 翻譯頁面必須根據 ISO 語言碼儲存在適當的子命名空間內。
  • 請不要寫入諸如「頁面還不存在」之類的內容。
  • 開始翻譯前建議先參閱 DokuWiki 手冊

停用特定頁面的翻譯行為

加入 ~~NOTRANS~~ 巨集,該頁面就不會偵測翻譯版本。

DokuWiki 中文化的相關事項

修正差異引擎

DokuWiki 的差異比對引擎預設是逐詞比對而非逐字比對,例如將「我愛你」改為「我恨你」時,會整段標記成「-我愛你」、「+我恨你」,但我們想要的通常是「-我你」、「+我你」。

可藉由修改 inc/DifferenceEngine.php 解決此問題。

尋找:

DifferenceEngine.php
    function _split($lines) {
            if (!preg_match_all('/ ( [^\S\n]+ | [0-9_A-Za-z\x80-\xff]+ | . ) (?: (?!< \n) [^\S\n])? /xs',

取代為:

DifferenceEngine.php
    function _split($lines) {
            if (!preg_match_all('/ ( [^\S\n]+ | [0-9_A-Za-z\x80-\xff]+ | . ) (?: (?!< \n) [^\S\n])? /xsu',

修正搜尋索引

原來的 IDX_ASIAN2 常數未包含 CJK ext-B, C, D 等 4 字元 UTF-8 字元,因此這些字在建入索引時不會先分詞。(也就是會把 XXXX 當做一個詞建入索引,這樣一來搜尋 X 就找不到東西,一定要搜尋 XXXX 才行)

要解決這個問題,可在 inc/preload.php 裡加入以下內容,修改內建的常數:

preload.php
<?php
define('IDX_ASIAN2','['.
                   '\x{2E80}-\x{3040}'.  // CJK -> Hangul
                   '\x{309D}-\x{30A0}'.
                   '\x{30FD}-\x{31EF}\x{3200}-\x{D7AF}'.
                   '\x{F900}-\x{FAFF}'.  // CJK Compatibility Ideographs
                   '\x{FE30}-\x{FE4F}'.  // CJK Compatibility Forms
                   "\xF0\xA0\x80\x80-\xF0\xAA\x9B\x9F". // CJK Extension B
                   "\xF0\xAA\x9C\x80-\xF0\xAB\x9C\xBF". // CJK Extension C
                   "\xF0\xAB\x9D\x80-\xF0\xAB\xA0\x9F". // CJK Extension D
                   "\xF0\xAF\xA0\x80-\xF0\xAF\xAB\xBF". // CJK Compatibility Supplement
                   ']');

原始定義可參見 inc/indexer.php

DokuWiki 中文化的用詞

正體(繁體)中文版的詞彙翻譯如下:

原文 統一譯法 不使用譯法
(user) account 帳號 賬戶
admin 管理員 管理人
anonymous 匿名
child namespace 子命名空間 子分類名稱、子級分類名稱
database 資料庫 數據庫
developer 開發人員 開發者
file extension 副檔名 擴展名
group 群組
link 連結 鏈接
namespace 命名空間 分類名稱、分類空間
page 頁面 網頁
parent namespace 母命名空間 父分類名稱、父級分類名稱
plugin 附加元件 插件
primary key 主鍵
revert 還原
search 搜尋 尋找、搜索
server 伺服器 服務器
sidebar 側欄 側邊欄、邊欄
site 網站 站台、站點
sitemap 網站地圖 站台地圖、索引
subnamespaces 子分類名稱 子級分類名稱
template 範本 模版、樣板
trace 足跡
user 使用者 用戶
webserver 網頁伺服器 網頁服務器
(this) wiki (本)wiki 維基、圍紀、共筆網站
zh-tw/localization.txt · 上一次變更: 2022-07-22 05:52 由 36.225.88.147

若無特別註明,本 wiki 上的內容都是採用以下授權方式: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki