久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔
站長百科 | 數(shù)字化技能提升教程 數(shù)字化時代生存寶典
首頁
數(shù)字化百科
電子書
建站程序
開發(fā)
服務器
辦公軟件
開發(fā)教程
服務器教程
軟件使用教程
運營教程
熱門電子書
WordPress教程
寶塔面板教程
CSS教程
Shopify教程
導航
程序頻道
推廣頻道
網(wǎng)賺頻道
人物頻道
網(wǎng)站程序
網(wǎng)頁制作
云計算
服務器
CMS
論壇
網(wǎng)店
虛擬主機
cPanel
網(wǎng)址導航
WIKI使用導航
WIKI首頁
最新資訊
網(wǎng)站程序
站長人物
頁面分類
使用幫助
編輯測試
創(chuàng)建條目
網(wǎng)站地圖
站長百科導航
站長百科
主機偵探
IDCtalk云說
跨境電商導航
WordPress啦
站長專題
網(wǎng)站推廣
網(wǎng)站程序
網(wǎng)站賺錢
虛擬主機
cPanel
網(wǎng)址導航專題
云計算
微博營銷
虛擬主機管理系統(tǒng)
開放平臺
WIKI程序與應用
美國十大主機
編輯“
WordPress:Localizing WordPress
”
人物百科
|
營銷百科
|
網(wǎng)賺百科
|
站長工具
|
網(wǎng)站程序
|
域名主機
|
互聯(lián)網(wǎng)公司
|
分類索引
Xxf3325
(
討論
|
貢獻
)
2008年6月20日 (五) 15:12的版本
(
→?內(nèi)容格式
)
(
差異
)
←上一版本
|
最后版本
(
差異
) |
下一版本→
(
差異
)
跳轉(zhuǎn)至:
導航
、?
搜索
警告:您正在編輯的是本頁面的舊版本。
如果您發(fā)布該更改,該版本后的所有更改都會丟失。
警告:
您沒有登錄。如果您做出任意編輯,您的IP地址將會公開可見。如果您
登錄
或
創(chuàng)建
一個賬戶,您的編輯將歸屬于您的用戶名,且將享受其他好處。
反垃圾檢查。
不要
加入這個!
__TOC__ ''國際化'' 和 ''地方化''是術語,用來描述使WordPress(和其它這樣的項目)以英語以外的語言顯示,供不同地區(qū),持不同方言和地方特色的網(wǎng)民使用。 將這個程序本地化需要兩個步驟。第一步是程序的開發(fā)者提供一個機制和方法來最終地翻譯程序和接口來適合當?shù)氐奶攸c和用戶的語言。WordPress開發(fā)者已經(jīng)完成了這個,因此從理論上來講,WordPress可以在任何語言背景中使用。 第二步就是真正地''本地化'',網(wǎng)頁上的文本和其它的設置都翻譯好了,并且符合其它的語言和文化習慣,并且使用了軟件開發(fā)者指定的構架。WordPress已經(jīng)被本地化翻譯為許多種語言(更多的信息,請看看[[WordPress:WordPress in Your Language|英語外其它語言的WordPress]])。 這篇文章解釋了翻譯者(雙語或者多個語言的WordPress用戶)怎樣才能將WordPress本地化為更多的語言。 == 翻譯 WordPress == 在你開始翻譯WordPress之前,查看[[WordPress:WordPress in Your Language|英語外其它語言的WordPress]] (以及那里引用的資源)是否已有了將WordPress翻譯為你的語言的版本。也有可能每個人或者(一個組)已經(jīng)開始將WordPress翻譯為你的母語,但是他們還沒有翻譯完。要找到這樣的信息,訂閱[[WordPress:Mailing_Lists#Polyglots|wp-polyglots mailing list]],介紹你自己,并且問問有沒有什么人正將WordPress翻譯為你的母語。也有一個[[WordPress:L10n:Localization_Teams|本地化小組]] 和 [[WordPress:L10n:Teams Currently Forming|正在形成的本地化小組]]列表,你可以查看這個列表看看翻譯是不是正在進行。 === 資格 === 加入WordPress還沒有翻譯為你的語言或者有人正在翻譯,你可能想要作為志愿者來一起將WordPress翻譯為你的母語,下面是你所需要的資格: *你必須是真正能夠使用雙語的—對英語和你要翻譯成的語言非常熟練。對兩種語言掌握不透,會使得翻譯對你來講變得很難,或者你翻譯后的WordPress版本,本地人看不懂。 *你需要熟悉PHP,因為你有時候需要通讀WordPress編碼來領會翻譯這個信息的最好的方法。 *你應該熟悉人類語言構造:名詞,動詞,冠詞等等,每種詞的不同類型,并且能夠識別這些詞在不同的英語語境中的意思。 === 關于本地化 === '''本地化'''是指語言與當?shù)胤窖灾g的結合。一般來說,本地化是指國家本地化,如葡萄牙語(葡萄牙),葡萄牙語(巴西)。 你可以將WordPress翻譯為任何國家的語言,甚至是其它種類的英語,如加拿大英語或者澳大利亞英語,來適應地方的拼寫和習慣用法。 WordPress默認語言是美國英語。 == 本地化技術 == WordPress的開發(fā)者選擇使用[http://www.gnu.org/software/gettext/gettext.html GNU gettext]本地化框架來提供WordPress本地化的基本結構。Gettext是一個成熟的,廣泛使用的,軟件翻譯??蚣埽沂敲赓M軟件領域/開放源碼本地化的''實際''標準。 gettext使用''消息標準''的翻譯—就是說,顯示給用戶的每個"消息"都是單個翻譯的,不管這個消息是一段話還是一個單詞。在WordPress中,WordPress PHP 文件通過兩個PHP函數(shù)產(chǎn)生,翻譯,并且使用這樣的"消息"。當消息作為論證傳給另一個函數(shù)的時候,會用到<tt>__()</tt>;當直接在網(wǎng)頁上寫消息的時候,會用到<tt>_e()</tt>。更多的關于這兩個函數(shù)的詳細信息: ; <tt>__($message)</tt> :搜索翻譯<tt>$message</tt>的本地化模塊,并且將翻譯傳遞給PHP<tt>輸出</tt>申明。如果沒有找到<tt>$message</tt>的翻譯,只會輸出<tt>$message</tt>。 注意如果你正將一個主題或者插件國際化,你應該使用一個"文本域"。更多關于怎樣國際化一個插件的內(nèi)容的信息,請看看[[WordPress:Writing a Plugin|編寫一個插件]];主題國際化的操作也類似。 Gettext框架照顧到了大部分的WordPress。但是,WordPress中的某些屬性不能使用gettext—更多關于怎樣翻譯這些部分的信息,請看看[[WordPress:Files For Direct Translation|關于直接翻譯的文件]]。 === gettext 文件 === Gettext翻譯框架中使用了三種類型的文件。這些文件在翻譯過程中,有翻譯工具產(chǎn)生和/或者使用,如下: ;POT(輕便目標模板)文件:本地化過程中的第一步是使用一個程序來搜索WordPress源代碼并且找出通過<tt>__()</tt> or <tt>_e()</tt>函數(shù)的每個消息。這列英語消息被輸進一個特別格式的模板文件(POT文件),這個文件形成了翻譯的基礎。一般來說,你可以為WordPress下載一個POT文件,這樣你就不要制造一個自己的POT文件了。如果主題/插件開發(fā)者將所有的文本包含在<tt>__()</tt> 或者<tt>_e()</tt>函數(shù)中,主題和插件也可以使用分開的POT文件。 :PO(輕便對象)文件:本地化過程的第二步是翻譯者將POT文件中的所有內(nèi)容翻譯為目標語言,并且在一個PO文件中保存英語和翻譯好的內(nèi)容。 ;MO(機器對象)文件:本地化過程的最后一步是處理一個程序并且將這個程序轉(zhuǎn)變?yōu)樽顑?yōu)化的機器可讀的二進制文件(MO文件)。將翻譯匯編為機器代碼來使得本地化程序運行時候,能夠更快地重新找到翻譯。 == 翻譯工具== 有不同的工具能夠輔助翻譯。你可以使用任何你喜歡的翻譯工具。 ; [https://translations.launchpad.net/ Launchpad] : Ubuntu Linux項目有一個網(wǎng)站能夠使你不看PO或者PO文件,就可以翻譯內(nèi)容,并且直接將翻譯內(nèi)容導出到一個MO。 :''注: 許多翻譯人員發(fā)現(xiàn)Rosetta是個很好的出發(fā)點,但是如果要校正整個翻譯內(nèi)容,許多翻譯者開始選擇手工編輯PO文件或者使用一個程序像poEdit或者KBabel,因為Rosetta缺少一個搜索功能和其它對于校正和編輯來說至關重要的功能。'' ;[http://www.poedit.net/ poEdit] :Windows,Mac OS X的一個開放源碼程序,提供一個便于使用的GUI來編輯PO文件并且產(chǎn)生MO文件。 ;[http://i18n.kde.org/tools/kbabel/ KBabel] :Linux上的KDE窗口管理器的另一個開放源碼PO編輯程序。 ;[http://www.gnu.org/software/gettext/ GNU Gettext] :官方的Gettext工具包包含了創(chuàng)建POTs,操作Pos,和產(chǎn)生MOs的命令行工具。那些適合于一個命令行shell。 === 用Launchpad翻譯 === 我們有一個單獨的頁面關于[[WordPress:Translating_WordPress_with_Launchpad|在Lanchpad上翻譯WordPress的指示說明。]] === 用poEdit翻譯 === #下載并且安裝[http://www.poedit.net/ poEdit] #下載[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot 官方 WordPress POT 文件] [[WordPress:Image:po_edit_windows.jpg|right|thumb|100px| poEdit 界面]] #在poEdit中打開文件。 #''(看圖像)''標為(1)的框是來自POT文具的原始內(nèi)容(英語寫的)。標記為(2)的框是你添加翻譯的框。標記為(3)和(4)的框是用來添加關于內(nèi)容的評論。如果你與一組翻譯人員合作,并且想在PO文件上交流看法,這些框遲早有用。 #進入'''文件 → 保存 as…'''在一個PO文件中保存你的翻譯。 #當你完成翻譯后,進入'''文件 → 保存 as…'''再次地產(chǎn)生一個MO文件。 #或者你可以將你的poEdit設置為當點擊'''文件 → 喜好'''來保存變化的時候,總是編譯一個MO文件而且在'''編輯 符'''上選中在保存框中''自動編輯.mo 文件'' 。 ===用KBabel 翻譯=== ''這個部分是不完善的。'' #下載[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot 官方的 WordPress POT 文件] #在KBabel中打開文件 === 用 Gettext工具翻譯 === #下載[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot 官方 WordPress POT文件] #在你最喜愛的文本編輯器中打開文件。 #更新標頭信息 #翻譯內(nèi)容 #用一個.po文件擴展名來保存文件 #發(fā)行<tt>msgfmt -o ''filename''.mo ''filename''.po</tt> ==== PO 文件標頭 ==== 在PO文件的開始部分,稱為''標頭''。這個標頭給出了翻譯是關于那個版本的軟件包的,翻譯人員是誰,以及翻譯是何時創(chuàng)建的。這個標頭的某些部分對于所有的WordPress翻譯應該是通用的: # '''WordPress語言(本地化)翻譯。''' # 版權(C) '''YEAR WordPress 投稿者。''' #這個文件發(fā)行的許可證與'''WordPress'''軟件包相同。 # 第一個作者 <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-版本: '''WordPress 版本'''\n" "Report-Msgid-Bugs-To: \n" "POT-創(chuàng)建-日期: 2005-02-27 17:11-0600\n" "PO-修訂-日期: YEAR-MO-DA HO:MI+ZONE\n" "最后的-翻譯人員: 全名<EMAIL@ADDRESS>\n" "語言-小組: 語言 <LL@li.org>\n" "MIME-版本: 1.0\n" "內(nèi)容-形式: text/plain; charset=CHARSET\n" "內(nèi)容-翻譯-編碼: 8bit\n" 用適當值填上剩下的大些字母文本部分。 ====內(nèi)容格式 ==== 文件的剩余部分會是以下的格式: #: wp-comments-post.php:13 msgid "對不起, 這篇文章不能夠評論。" msgstr "" #: wp-comments-post.php:29 msgid "對不起,你登錄后,才能夠發(fā)表評論。" msgstr "" #: wp-comments-post.php:35 msgid "錯誤: 請?zhí)钌媳仨毜膬?nèi)容 (姓名,電子郵件)。" msgstr "" 每個消息內(nèi)容的第一行包括了這個內(nèi)容在WordPress編碼中處于什么位置。這些消息內(nèi)容都位于wp-comments-post.php,分別在第13,29,和第35行。有時候,你看到一個消息內(nèi)容,你需要查看這個內(nèi)容的語境;查看WordPress核心中的某行或者某些行,你就會了解消息內(nèi)容應該什么時候顯示,顯示在什么位置,甚至還知道使用你的網(wǎng)絡瀏覽器來復制這個消息內(nèi)容。有的消息內(nèi)容會出現(xiàn)在同一個文本的多處;這樣肯定有多行給出了一個文件和一行的位置。 下一行,<tt>msgid</tt>,是''源'' 消息。WordPress正是將這個命令行發(fā)送到<tt>__()</tt>或者 <tt>_e()</tt>函數(shù),而且你需要翻譯這個消息。 最后一行,<tt>msgstr</tt>,是一個空白的命令行,你需要在這個命令行上填上你的翻譯。 下面是幾個相同的行在翻譯之后,是怎樣的,使用'''[http://svn.automattic.com/wordpress-i18n/fr_FR/trunk/messages/fr_FR.po 法語 (法國)]''' 本地化來作為一個例子: #: wp-comments-post.php:13 msgid "對不起,這篇文章不允許有評論。" msgstr "'''L'ajout de commentaire n'est pas ou plus possible pour cet article.'''" #: wp-comments-post.php:29 msgid "對不起,你登錄后才能夠發(fā)表評論。" msgstr "'''Vous devez être connecté pour rédiger un commentaire.'''" #: wp-comments-post.php:35 msgid "錯誤:請?zhí)钌媳仨毜膬?nèi)容 (姓名,電子郵件)。" msgstr "'''Erreur : veuillez remplir les champs obligatoires vides (nom, e-mail).'''" :''注: 請看看下面的 '''[[#WordPress:Character_Encodings|字符集編碼]]''' 和 '''[[#WordPress:HTML_Character_Entities|HTML 字符集實體]]''' 關于怎樣在翻譯中使用 HTML 字符實體。'' == messages 的類型== === 標簽 === '''Labels'''通過用在HTML<tt><label></tt>, <tt><legend></tt>, <tt><a></tt>, 或者<tt><select></tt>標簽中。這些標簽通常是一個UI元素的簡單而精確的描述符。這些有時候可能很難翻譯,特別如果是單詞的話,而且英語詞可以被翻譯為名詞或者祈使句中的動詞。擁有最多的'''labels'''的時候,你需要在編碼中搜索一下,在找出編碼在上下文中的用法,然后再決定合適地翻譯編碼。 因為這麼多的message是WordPress管理界面的一部分,'''Labels'''可能是翻譯最頻繁的message。 ==== 例子==== msgid "Post" msgstr "Artikkeli" ''"post"可以被翻譯為一個命令式的動詞,但是在這個語境中,它是一個名詞。"post"在英語中的名詞形式,翻譯會比較難,一些翻譯小組很難決定那個翻譯最合適。許多翻譯使用其英語的對等詞"Article,"的確是這樣的。<small>(來自'''[http://svn.automattic.com/wordpress-i18n/fi_FI/trunk/messages/fi_FI.po Finnish (Finland)]''' 翻譯。)</small>'' #: wp-login.php:79 wp-login.php:233 wp-register.php:166 #: wp-includes/template-functions-general.php:46 msgid "Register" msgstr "रजिस्टर" ''<small>來自'''北印度語''' 翻譯。</small>'' #: wp-admin/admin-functions.php:357 msgid "- Select -" msgstr " - Dewis -" ''這個例子中的破折號可能會被刪除或者取消,前提是這些破折號可能會是你的本地化用戶感到疑惑,或者你的本地化有不同的使用慣例。<small>來自 '''威爾士語言'''翻譯。</small>'' === Informational Messages === 另一種通常的message形式,'''informational message'''通常是有完整的句子組成的,通常傳遞信息或者需要一個用戶的執(zhí)行活動。因為informational message比'''labels'''要長,這些message更容易翻譯。然而,message越長,正式化(或者非正式化)的差別越大,翻譯人員應該注意到這一點。 ==== 例子 ==== #: wp-login.php:146 msgid "你的新密碼在郵件中。" msgstr "Вашата нова парола е в електронната ви поща." ''這個特別的 message包含了一個更改了的英語俗語 ("郵件中的check/支票"), 這導致了非正式性用語。 <small>(來自 '''[http://svn.automattic.com/wordpress-i18n/bg_BG/trunk/messages/bg_BG.po 保加利亞語 (保加利亞)]'''翻譯。)</small>'' #: wp-includes/functions.php:1636 msgid "<strong>Error</strong>: Incorrect password." msgstr "<strong>FEL</strong>: Felaktigt lösenord." ''錯誤信息因為更加簡短精確,傾向于更加地正式。 <small>(來自'''[http://svn.automattic.com/wordpress-i18n/sv_SE/trunk/messages/sv_SE.po 瑞典語 (瑞典)]''' 翻譯。)</small>'' #: wp-includes/functions-post.php:467 msgid "對不起,你只能每隔十五秒才能夠發(fā)表一個新的評論。慢點,伙計。 " msgstr "Leider kannst du nur alle 15 Sekunden einen neuen Kommentar eingeben. Immer locker bleiben." ''當然,并不是所有的。<small>(來自'''[http://svn.automattic.com/wordpress-i18n/de_DE/trunk/messages/de_DE.po 德語(德國)]''' 翻譯。)</small>'' === 擁有描述的字符串 === 如果一個字符串包含有一個豎線|,|右邊的部分是一個描述。這個描述的目的在于幫助你翻譯字符串,將字符串放到每個語境中,或者提供額外的信息。 ==== 例子 ==== #: wp-includes/locale.php:186 msgid "" "number_format_decimal_point|$dec_point argument for http://php.net/number_format, default is ." msgstr "," ''描述建議你如果要翻譯字符串,就要查看一個網(wǎng)頁。'' === 時間和日期本地化設置 === WordPress沒有使用內(nèi)置的本地化切換功能,大多數(shù)主題的許多語言多沒有配置這個功能,WordPress使用了gettext翻譯模塊來完成時間和日期的翻譯和格式。 WordPress翻譯下面的內(nèi)容: ==== 月份名稱 ==== #: wp-includes/locale.php:42 wp-includes/locale.php:57 msgid "五月" msgstr "Květen" ''<small>(From the '''[http://svn.automattic.com/wordpress-i18n/cs_CZ/trunk/messages/cs_CZ.po Czech (Czech Republic)]''' translation.)</small>'' ''<small>(來自'''[http://svn.automattic.com/wordpress-i18n/cs_CZ/trunk/messages/cs_CZ.po 捷克語 (捷克共和國)]''' 翻譯。)</small>'' ==== 月份縮寫 ==== #: wp-includes/locale.php:57 msgid "五月_五月_縮寫" msgstr "Mag" ''注意不尋常的 <tt>msgid</tt>。 這些messages '''不'''應該直譯: 它們破解了英語中的一個事實,全名和縮略名是相同的, Gettext 可能錯誤地將兩個結合在一篇文章中。<small>(來自'''[http://svn.automattic.com/wordpress-i18n/it_IT/trunk/messages/it_IT.po 意大利語(意大利)]''' 翻譯。)</small>'' ==== 星期名稱 ==== #: wp-includes/locale.php:7 #: wp-includes/locale.php:18 #: wp-includes/locale.php:31 msgid "星期二" msgstr "火曜日" ''<small>(From the '''[http://svn.automattic.com/wordpress-i18n/ja_JP/trunk/messages/ja_JP.po 日語 (日本)]'''翻譯。)</small>'' ==== 星期縮寫 ==== #: wp-includes/locale.php:31 msgid "Tue" msgstr "Уто" ''<small>(From the '''[http://svn.automattic.com/wordpress-i18n/sr_RS/trunk/messages/sr_RS.po 塞爾維亞語言 (塞爾維亞)]''' 翻譯。)</small>'' ==== 星期詞首大寫 ==== #: wp-includes/locale.php:18 msgid "T_星期二_詞首大寫" msgstr "ti" ''星期首字母大寫符合WordPress歷法的特色,與月份縮略詞使用同樣的方法,以符合要求,因為在英語中星期二和星期四的首字母是一樣的。并不是所有的本地化都是用對每個日期都使用單字母縮略詞的形式:在這個例子中, 挪威語Bokmål使用一個額外的字母來區(qū)分 ''tirsdag'' (星期二)和''torsdag'' (星期四)。<small>(From the '''[http://svn.automattic.com/wordpress-i18n/nb_NO/trunk/messages/nb_NO.po 挪威語 Bokmål (挪威)]''' 翻譯。)</small>'' ==== 日期格式字符串 ==== 這些是[http://php.net/date PHP <tt>日期()</tt>]格式字符串,而且這些字符串能夠使你更改你的本地化的日期和時間的格式。 WordPress使用本地化文件其它地方的翻譯來用于月份名稱,星期名稱,等等。這個特別的字符串可以選擇哪個元素要包含在日期 &時間,和日期時間呈現(xiàn)的次序中。 從<tt>theme.pot</tt>文件中取出這個<tt>msgid</tt>: #: archive.php:40 search.php:19 single.php:22 msgid "l, F jS, Y" msgstr "" 在英語中,這個的形式是: Sunday, February 27th, 2005 星期天,二月27日,2005 然而,不同的本地化語言的日期形式是不同的,在丹麥語中,例如,日期寫為: søndag, 27. februar 2005 要達到這一點,上述的<tt>msgid</tt>應該被翻譯為: #: archive.php:40 search.php:19 single.php:22 msgid "l, F jS, Y" msgstr "l, j. F Y" 另一個例子,在漢語和日語中,日期的格式是: 2005年2月27日 翻譯中可以達到這個要求: #: archive.php:40 search.php:19 single.php:22 msgid "l, F jS, Y" msgstr "Y年n月j日" 最后,如果你的日期格式中需要包含字面意思的文字字符,就如西班牙語有時出現(xiàn)的那樣,你可以在反斜線符號后面加上。 #: archive.php:40 search.php:19 single.php:22 msgid "l, F jS, Y" msgstr "l j \d\e F \d\e Y " 這回產(chǎn)出: domingo 27 de febrero de 2005 ==== 通過WordPress-PHP 翻譯==== 要翻譯你的日期,例如,在你的插件中使用wp-函數(shù)[http://code.wordpress.de/xref/nav.htm?wp-includes/functions.php.htm#mysql2date mysql2date(Dateformat, Datestring)]。這個使用月和星期翻譯來返回你的日期。 === 占位符Messages === 許多message包含特別的PHP格式的占位符,這個允許翻譯后,插入不可翻譯的動態(tài)內(nèi)容到message。PHP占位符擁有兩種不同的格式: ; <tt>%s</tt> : 只有一個占位符呈現(xiàn)的時候,會使用這個標記。 ; <tt>%1$s</tt>, <tt>%2$s</tt>, <tt>%3$s</tt>, … :有限的占位符,允許翻譯來重新地組織字符串中占位符的順序,同時保持每個占位符所代表的信息。 ====例子 ==== #: wp-login.php:116 msgid "這個電子郵件成功地發(fā)送到了 %s的電子郵件地址。" msgstr "El 電子郵件 fue enviado satisfactoriamente a la dirección e-mail de %s" ''這個 message 插入了用戶的用戶名,電子郵件正是發(fā)送到這個用戶名。<small>(來自 '''[http://svn.automattic.com/wordpress-i18n/es_ES/trunk/messages/es_ES.po 西班牙語 (西班牙)]''' 翻譯。)</small>'' #: wp-admin/upload.php:96 #, php-format msgid "File %1$s of type %2$s is not allowed." msgstr "类型为%2$s的文件%1$s不允许被上传。" ''這個message顛倒了順序,翻譯中文件名和類型是以這個順序為基礎的。<small>(來自'''[http://svn.automattic.com/wordpress-i18n/zh_CN/trunk/messages/zh_CN.po漢語 (中國)]'''翻譯。)</small>'' ==優(yōu)秀的翻譯小貼士 == ;不要直譯,要整體地翻譯:要知道兩個或者多個語言,毫無疑問你知道你所說的語言擁有不同的結構,韻律,語調(diào)和變形形式。翻譯過的message不需要與英語語言結構相同:了解源語言的意思,然后以目標語言的習慣,將它以相同的意思表述出來。就如創(chuàng)建一個''等同''的message和一個''對等的''message之間的區(qū)別:不要復制原話,要翻譯出來。即使message中有更多的結構內(nèi)容,你要有創(chuàng)建性的思想,將這些結果更改,使其更加地適應你的本地化用戶的習慣表述和邏輯。 ;試著保持同等級別的正式性(或者非正式性):每個message有一個不同級別的正式性或者非正式性。你的目標語言中需要使用什么樣的正式性或者非正式性,你需要自己決定(或者與你的小組一起決定),但是WordPress messages(特別是''informational messages'')傾向于使用一種客氣的非正式的語調(diào)。試著在目標語言的語境中找到對等的語調(diào)。 ;不要使用俚語或者針對特別用戶的術語:一些術語需要用在博客中,但是不可以使用在"in"人群所用的口語中。如果外行的寫博客的人要使用你的語言來安裝WordPress,他們會知道這些術語的意思嗎?單詞像''pingback'', ''trackback'', 和''feed''是這個規(guī)則的例外;這些是特別難以翻譯的術語,許多翻譯人員選擇將這些術語保留英文。 ;閱讀你的母語中其它的軟件的本地化:如果你遇到了麻煩或者需要指導,試著閱讀其它流行軟件工具的翻譯,來摸索一些那些術語是經(jīng)常使用的,用語有多正式,等等。當然,WordPress擁有自己的語調(diào)和氛圍,因此當你閱讀其它的本地化翻譯的時候,要牢記這一點,但是可以自由地查找UI術語等等來與你的母語的其它軟件中這些術語的翻譯保持一致。 == WordPress 本地化知識庫 == [http://svn.automattic.com/wordpress-i18n/ http://svn.automattic.com/wordpress-i18n/]上的'''WordPress 本地化知識庫'''是一個[[WordPress:Using_Subversion|子版本 知識庫]]這里保存了官方的WordPress翻譯。不同的小組一起合作將WordPress翻譯為他們的母語,而且小組維護人員使得知識庫保持更新和變化。 === 加入 === 任何人都可以加入這個知識庫。只要訂閱[[WordPress:Mailing_Lists#Polyglots|wp-polyglots mailing list]],介紹你自己,讓他人知道你想要翻譯什么。如果已經(jīng)有一個你的母語翻譯的小組,他們會通知你,讓你加入。如果沒有這樣的小組,你可以志愿成為你的母語翻譯維護人員,或者本地化人員,或者只是付出你的本地化翻譯,知識庫維護人員會添加你的翻譯。 === 指導方針和要求 === ''注: 隨著系統(tǒng)的升級,這些指導方針會受系統(tǒng)變化的支配;如果指導方針改變了,知識庫維護人員會非常樂意幫助你來更新你儲存在知識庫中的文件。'' ==== 字符編碼==== 所有的本地化翻譯應該至少有一個UTF-8版本,但是可能會隨意地在本地化翻譯受歡迎的其它字符編碼中添加版本。 PHP不支持Byte Order Marker(BOMs),因此要確定你貢獻的UTF-8編碼的文件不包含有BOMs。 ==== HTML 字符實體 ==== 除了一些例外(下面所列出的),所有的內(nèi)容都應該逐字翻譯,不應該跳過重音節(jié)單詞或者HTML字符實體上特別的字符。 一些字符必須要避免與XHTML標記相沖突:尖括號(<tt>&lt;</tt> and <tt>&gt;</tt>), 和&符號 (<tt>&amp;</tt>)。此外,有一些更易于使用的字符,丟失了,例如non-breaking spaces(<tt>&nbsp;</tt>),angle quotes(<tt>&laquo;</tt> and <tt>&raquo;</tt>), curly apostrophes (<tt>&#8217;</tt>)和curly quotes。 關于更多的W3C的最好的關于字符編碼和字符實體的做法,請看看下面的參考: * http://www.w3.org/TR/2004/WD-i18n-html-tech-char-20040509/#IDAPNGO * http://www.w3.org/International/tutorials/tutorial-char-enc/#exceptional ====知識庫文件結構 ==== 知識庫包含了每個本地化翻譯的目錄,這些目錄命名為如下: * [http://en.wikipedia.org/wiki/ISO_639 ISO 639 語言代碼] (小寫字母) *一個底線 * [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2 國家代碼] (大寫字母) *如果目錄是同一個本地化翻譯腳本的變化形式,一個 @ 標記, 和 [http://www.unicode.org/iso15924/iso15924-codes.html ISO 15924 腳本代碼]。 在每個本地化翻譯的目錄中有正規(guī)的子版本譯文目錄:支部/, 標簽/, 和枝干/。 在合適的譯文目錄內(nèi)部有以下的子目錄。 ===== messages/ ===== <ul> <li>messages/</li> <ul> <li>kubrick</li> </ul> </ul> 這個目錄包含了本地化翻譯的Gettext MO 和 PO文件。Message文件命名在locale名之后。 在<code>kubrick</code>文件夾中,你應該將i18n-ed的翻譯放到(使用與以上相同的PO/MO文件名)[http://svn.automattic.com/wordpress-i18n/theme/ default theme, residing at the wordpress-i18n svn 知識庫]。翻譯默認主題還有另一種方式: ===== dist/ ===== 目錄包含有所有的[[WordPress:Files_For_Direct_Translation| WordPress 發(fā)行的,不能夠被 Gettexted的文件]],可以被翻譯為本地化語言。 本地化翻譯中只有一個文件的UTF-8翻譯,dist/目錄可能直接擁有許多內(nèi)容,dist內(nèi)部的結果應該反映wordpress根目錄的結構: <ul> <li>dist/ <ul> <li>license.html</li> <li>readme.html</li> <li>wp-config-sample.php</li> <li>…</li> <li>wp-admin/ <ul> <li>install.php</li> <li>upgrade.php</li> <li>…</li> </ul> </li> </ul> </li> </ul> 如果本地化翻譯不止包含一個UTF-8字符編碼,那么dist/應該包含每個編碼的子目錄: <ul> <li>dist/ <ul> <li>UTF-8/ <ul> <li>license.html</li> <li>readme.html</li> <li>wp-config-sample.php</li> <li>…</li> <li>wp-admin/ <ul> <li>install.php</li> <li>upgrade.php</li> <li>…</li> </ul> </li> </ul> </li> <li>ISO-8859-1/ <ul> <li>…</li> </ul> </li> <li>…</li> </ul> </li> </ul> ===== 主題/ ===== ''最好翻譯 i18n-ed kubrick (請看看上面的 <tt>messages/</tt> 部分),而不是使用 <tt>主題/</tt>。'' 與dist/dir類似,主題/包含很難翻譯的主題文件。如果只呈現(xiàn)了一個UTF-8翻譯,目錄上可以有每個翻譯好的主題的子目錄。這些子目錄包含了與原始主題相同的文件(只是這些文件已經(jīng)翻譯好了),而且與原始主題命名相同: <ul> <li>theme/ <ul> <li>default/ <ul> <li>404.php</li> <li>index.php</li> <li>sidebar.php</li> <li>…</li> <li>images/ <ul> <li>…</li> </ul> </li> </ul> </li> </ul> </li> </ul> 正如dist/目錄,如果呈現(xiàn)了多個字符編碼,主題/應該包含每個字符編碼的子目錄,依次包含關于有翻譯好的每個主題的子目錄。 == 使用本地化 == 為了要本地化安裝你的wordpress,如果本地化還不存在,創(chuàng)建一個目錄名為''languages'' 而不是''wp-includes''。然后如上所述,從[http://svn.automattic.com/wordpress-i18n/ 子版本知識庫]中提取一個適當?shù)谋镜鼗募?。語言的main .mo文件應該在''語言''目錄內(nèi)部。在''wp-config.php''內(nèi)部為你選擇的語言,設置WPLANG。例如,如果你想使用法語,你就會有: <pre>define ('WPLANG', 'fr_FR');</pre> == 發(fā)現(xiàn)并解決問題== ;Rosetta沒有將我的翻譯以一個MO文件導出。只是顯示,"出現(xiàn)了一個系統(tǒng)錯誤。":你的翻譯中有一個語法錯誤,阻止翻譯匯編成一個MO。下載PO并且試著手工用<tt>msgfmt</tt>將它編譯。這樣你會得知那行出現(xiàn)了錯誤,這樣你可以動手更改這些錯誤。如果你沒有安裝一個GNU Gettext軟件包,你可以試著在poEdit或者 KBabel中打開PO文件,看看那這些文件能否幫助你來更改錯誤,或者你可以發(fā)送電子郵件到[[WordPress:Mailing_Lists#Polyglots|wp-polyglots mailing list]]讓其他人來幫助你解決程序錯誤。 ==資源== [http://boren.nu/archives/2004/11/01/localizing-plugins-and-themes/ Ryan Boren的插件和主題本地化]<br /> [http://urbangiraffe.com/articles/translating-wordpress-themes-and-plugins/ 將WordPress翻譯為英語外的其它語言 (主題和插件)]
摘要:
請注意,您對站長百科的所有貢獻都可能被其他貢獻者編輯,修改或刪除。如果您不希望您的文字被任意修改和再散布,請不要提交。
您同時也要向我們保證您所提交的內(nèi)容是您自己所作,或得自一個不受版權保護或相似自由的來源(參閱
Wordpress-mediawiki:版權
的細節(jié))。
未經(jīng)許可,請勿提交受版權保護的作品!
取消
編輯幫助
(在新窗口中打開)
取自“
http://kktzf.com.cn/wiki/WordPress:Localizing_WordPress
”