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