久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔
站長百科 | 數(shù)字化技能提升教程 數(shù)字化時(shí)代生存寶典
首頁
數(shù)字化百科
電子書
建站程序
開發(fā)
服務(wù)器
辦公軟件
開發(fā)教程
服務(wù)器教程
軟件使用教程
運(yùn)營教程
熱門電子書
WordPress教程
寶塔面板教程
CSS教程
Shopify教程
導(dǎo)航
程序頻道
推廣頻道
網(wǎng)賺頻道
人物頻道
網(wǎng)站程序
網(wǎng)頁制作
云計(jì)算
服務(wù)器
CMS
論壇
網(wǎng)店
虛擬主機(jī)
cPanel
網(wǎng)址導(dǎo)航
WIKI使用導(dǎo)航
WIKI首頁
最新資訊
網(wǎng)站程序
站長人物
頁面分類
使用幫助
編輯測(cè)試
創(chuàng)建條目
網(wǎng)站地圖
站長百科導(dǎo)航
站長百科
主機(jī)偵探
IDCtalk云說
跨境電商導(dǎo)航
WordPress啦
站長專題
網(wǎng)站推廣
網(wǎng)站程序
網(wǎng)站賺錢
虛擬主機(jī)
cPanel
網(wǎng)址導(dǎo)航專題
云計(jì)算
微博營銷
虛擬主機(jī)管理系統(tǒng)
開放平臺(tái)
WIKI程序與應(yīng)用
美國十大主機(jī)
編輯“
WordPress:Localizing WordPress
”
人物百科
|
營銷百科
|
網(wǎng)賺百科
|
站長工具
|
網(wǎng)站程序
|
域名主機(jī)
|
互聯(lián)網(wǎng)公司
|
分類索引
跳轉(zhuǎn)至:
導(dǎo)航
、?
搜索
警告:
您沒有登錄。如果您做出任意編輯,您的IP地址將會(huì)公開可見。如果您
登錄
或
創(chuàng)建
一個(gè)賬戶,您的編輯將歸屬于您的用戶名,且將享受其他好處。
反垃圾檢查。
不要
加入這個(gè)!
__TOC__ ''國際化'' 和 ''地方化''是術(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:WordPress in Your Language|英語外其它語言的WordPress]])。 這篇文章解釋了翻譯者(雙語或者多個(gè)語言的WordPress用戶)怎樣才能將WordPress本地化為更多的語言。 == 翻譯 WordPress == 在你開始翻譯WordPress之前,查看[[WordPress:WordPress in Your Language|英語外其它語言的WordPress]] (以及那里引用的資源)是否已有了將WordPress翻譯為你的語言的版本。也有可能每個(gè)人或者(一個(gè)組)已經(jīng)開始將WordPress翻譯為你的母語,但是他們還沒有翻譯完。要找到這樣的信息,訂閱[[WordPress:Mailing_Lists#Polyglots|wp-polyglots mailing list]],介紹你自己,并且問問有沒有什么人正將WordPress翻譯為你的母語。也有一個(gè)[[WordPress:L10n:Localization_Teams|本地化小組]] 和 [[WordPress:L10n:Teams Currently Forming|正在形成的本地化小組]]列表,你可以查看這個(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é)合。一般來說,本地化是指國家本地化,如葡萄牙語(葡萄牙),葡萄牙語(巴西)。 你可以將WordPress翻譯為任何國家的語言,甚至是其它種類的英語,如加拿大英語或者澳大利亞英語,來適應(yīng)地方的拼寫和習(xí)慣用法。 WordPress默認(rèn)語言是美國英語。 == 本地化技術(shù) == WordPress的開發(fā)者選擇使用[http://www.gnu.org/software/gettext/gettext.html 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ì)用到<tt>__()</tt>;當(dāng)直接在網(wǎng)頁上寫消息的時(shí)候,會(huì)用到<tt>_e()</tt>。更多的關(guān)于這兩個(gè)函數(shù)的詳細(xì)信息: ; <tt>__($message)</tt> :搜索翻譯<tt>$message</tt>的本地化模塊,并且將翻譯傳遞給PHP<tt>輸出</tt>申明。如果沒有找到<tt>$message</tt>的翻譯,只會(huì)輸出<tt>$message</tt>。 注意如果你正將一個(gè)主題或者插件國際化,你應(yīng)該使用一個(gè)"文本域"。更多關(guān)于怎樣國際化一個(gè)插件的內(nèi)容的信息,請(qǐng)看看[[WordPress:Writing a Plugin|編寫一個(gè)插件]];主題國際化的操作也類似。 Gettext框架照顧到了大部分的WordPress。但是,WordPress中的某些屬性不能使用gettext—更多關(guān)于怎樣翻譯這些部分的信息,請(qǐng)看看[[WordPress:Files For Direct Translation|關(guān)于直接翻譯的文件]]。 === gettext 文件 === Gettext翻譯框架中使用了三種類型的文件。這些文件在翻譯過程中,有翻譯工具產(chǎn)生和/或者使用,如下: ;POT(輕便目標(biāo)模板)文件:本地化過程中的第一步是使用一個(gè)程序來搜索WordPress源代碼并且找出通過<tt>__()</tt> or <tt>_e()</tt>函數(shù)的每個(gè)消息。這列英語消息被輸進(jìn)一個(gè)特別格式的模板文件(POT文件),這個(gè)文件形成了翻譯的基礎(chǔ)。一般來說,你可以為WordPress下載一個(gè)POT文件,這樣你就不要制造一個(gè)自己的POT文件了。如果主題/插件開發(fā)者將所有的文本包含在<tt>__()</tt> 或者<tt>_e()</tt>函數(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í)候,能夠更快地重新找到翻譯。 == 翻譯工具== 有不同的工具能夠輔助翻譯。你可以使用任何你喜歡的翻譯工具。 ; [https://translations.launchpad.net/ 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)重要的功能。'' ;[http://www.poedit.net/ poEdit] :Windows,Mac OS X的一個(gè)開放源碼程序,提供一個(gè)便于使用的GUI來編輯PO文件并且產(chǎn)生MO文件。 ;[http://i18n.kde.org/tools/kbabel/ KBabel] :Linux上的KDE窗口管理器的另一個(gè)開放源碼PO編輯程序。 ;[http://www.gnu.org/software/gettext/ GNU Gettext] :官方的Gettext工具包包含了創(chuàng)建POTs,操作Pos,和產(chǎn)生MOs的命令行工具。那些適合于一個(gè)命令行shell。 === 用Launchpad翻譯 === 我們有一個(gè)單獨(dú)的頁面關(guān)于[[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中打開文件。 #''(看圖像)''標(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è)部分是不完善的。'' #下載[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文件] #在你最喜愛的文本編輯器中打開文件。 #更新標(biāo)頭信息 #翻譯內(nèi)容 #用一個(gè).po文件擴(kuò)展名來保存文件 #發(fā)行<tt>msgfmt -o ''filename''.mo ''filename''.po</tt> ==== 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è)文件和一行的位置。 下一行,<tt>msgid</tt>,是''源'' 消息。WordPress正是將這個(gè)命令行發(fā)送到<tt>__()</tt>或者 <tt>_e()</tt>函數(shù),而且你需要翻譯這個(gè)消息。 最后一行,<tt>msgstr</tt>,是一個(gè)空白的命令行,你需要在這個(gè)命令行上填上你的翻譯。 下面是幾個(gè)相同的行在翻譯之后,是怎樣的,使用'''[http://svn.automattic.com/wordpress-i18n/fr_FR/trunk/messages/fr_FR.po 法語 (法國)]''' 本地化來作為一個(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)看看下面的 '''[[#WordPress:Character_Encodings|字符集編碼]]''' 和 '''[[#WordPress:HTML_Character_Entities|HTML 字符集實(shí)體]]''' 關(guān)于怎樣在翻譯中使用 HTML 字符實(shí)體。'' == messages 的類型== === 標(biāo)簽 === '''Labels'''通過用在HTML<tt><label></tt>, <tt><legend></tt>, <tt><a></tt>, 或者<tt><select></tt>標(biāo)簽中。這些標(biāo)簽通常是一個(gè)UI元素的簡單而精確的描述符。這些有時(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,"的確是這樣的。<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 -" ''這個(gè)例子中的破折號(hào)可能會(huì)被刪除或者取消,前提是這些破折號(hào)可能會(huì)是你的本地化用戶感到疑惑,或者你的本地化有不同的使用慣例。<small>來自 '''威爾士語言'''翻譯。</small>'' === Informational Messages === 另一種通常的message形式,'''informational message'''通常是有完整的句子組成的,通常傳遞信息或者需要一個(gè)用戶的執(zhí)行活動(dòng)。因?yàn)閕nformational message比'''labels'''要長,這些message更容易翻譯。然而,message越長,正式化(或者非正式化)的差別越大,翻譯人員應(yīng)該注意到這一點(diǎn)。 ==== 例子 ==== #: wp-login.php:146 msgid "你的新密碼在郵件中。" msgstr "Вашата нова парола е в електронната ви поща." ''這個(gè)特別的 message包含了一個(gè)更改了的英語俗語 ("郵件中的check/支票"), 這導(dǎo)致了非正式性用語。 <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." ''錯(cuò)誤信息因?yàn)楦雍喍叹_,傾向于更加地正式。 <small>(來自'''[http://svn.automattic.com/wordpress-i18n/sv_SE/trunk/messages/sv_SE.po 瑞典語 (瑞典)]''' 翻譯。)</small>'' #: 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)然,并不是所有的。<small>(來自'''[http://svn.automattic.com/wordpress-i18n/de_DE/trunk/messages/de_DE.po 德語(德國)]''' 翻譯。)</small>'' === 擁有描述的字符串 === 如果一個(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" ''<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 '''不'''應(yīng)該直譯: 它們破解了英語中的一個(gè)事實(shí),全名和縮略名是相同的, Gettext 可能錯(cuò)誤地將兩個(gè)結(jié)合在一篇文章中。<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歷法的特色,與月份縮略詞使用同樣的方法,以符合要求,因?yàn)樵谟⒄Z中星期二和星期四的首字母是一樣的。并不是所有的本地化都是用對(duì)每個(gè)日期都使用單字母縮略詞的形式:在這個(gè)例子中, 挪威語Bokmål使用一個(gè)額外的字母來區(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>]格式字符串,而且這些字符串能夠使你更改你的本地化的日期和時(shí)間的格式。 WordPress使用本地化文件其它地方的翻譯來用于月份名稱,星期名稱,等等。這個(gè)特別的字符串可以選擇哪個(gè)元素要包含在日期 &時(shí)間,和日期時(shí)間呈現(xiàn)的次序中。 從<tt>theme.pot</tt>文件中取出這個(gè)<tt>msgid</tt>: #: 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),上述的<tt>msgid</tt>應(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ù)[http://code.wordpress.de/xref/nav.htm?wp-includes/functions.php.htm#mysql2date mysql2date(Dateformat, Datestring)]。這個(gè)使用月和星期翻譯來返回你的日期。 === 占位符Messages === 許多message包含特別的PHP格式的占位符,這個(gè)允許翻譯后,插入不可翻譯的動(dòng)態(tài)內(nèi)容到message。PHP占位符擁有兩種不同的格式: ; <tt>%s</tt> : 只有一個(gè)占位符呈現(xiàn)的時(shí)候,會(huì)使用這個(gè)標(biāo)記。 ; <tt>%1$s</tt>, <tt>%2$s</tt>, <tt>%3$s</tt>, … :有限的占位符,允許翻譯來重新地組織字符串中占位符的順序,同時(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è)用戶名。<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不允许被上传。" ''這個(gè)message顛倒了順序,翻譯中文件名和類型是以這個(gè)順序?yàn)榛A(chǔ)的。<small>(來自'''[http://svn.automattic.com/wordpress-i18n/zh_CN/trunk/messages/zh_CN.po漢語 (中國)]'''翻譯。)</small>'' ==優(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í)庫 == [http://svn.automattic.com/wordpress-i18n/ http://svn.automattic.com/wordpress-i18n/]上的'''WordPress 本地化知識(shí)庫'''是一個(gè)[[WordPress:Using_Subversion|子版本 知識(shí)庫]]這里保存了官方的WordPress翻譯。不同的小組一起合作將WordPress翻譯為他們的母語,而且小組維護(hù)人員使得知識(shí)庫保持更新和變化。 === 加入 === 任何人都可以加入這個(gè)知識(shí)庫。只要訂閱[[WordPress:Mailing_Lists#Polyglots|wp-polyglots mailing list]],介紹你自己,讓他人知道你想要翻譯什么。如果已經(jīng)有一個(gè)你的母語翻譯的小組,他們會(huì)通知你,讓你加入。如果沒有這樣的小組,你可以志愿成為你的母語翻譯維護(hù)人員,或者本地化人員,或者只是付出你的本地化翻譯,知識(shí)庫維護(hù)人員會(huì)添加你的翻譯。 === 指導(dǎo)方針和要求 === ''注: 隨著系統(tǒng)的升級(jí),這些指導(dǎo)方針會(huì)受系統(tǒng)變化的支配;如果指導(dǎo)方針改變了,知識(shí)庫維護(hù)人員會(huì)非常樂意幫助你來更新你儲(chǔ)存在知識(shí)庫中的文件。'' ==== 字符編碼==== 所有的本地化翻譯應(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)(<tt>&lt;</tt> and <tt>&gt;</tt>), 和&符號(hào) (<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。 關(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í)庫文件結(jié)構(gòu) ==== 知識(shí)庫包含了每個(gè)本地化翻譯的目錄,這些目錄命名為如下: * [http://en.wikipedia.org/wiki/ISO_639 ISO 639 語言代碼] (小寫字母) *一個(gè)底線 * [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2 國家代碼] (大寫字母) *如果目錄是同一個(gè)本地化翻譯腳本的變化形式,一個(gè) @ 標(biāo)記, 和 [http://www.unicode.org/iso15924/iso15924-codes.html ISO 15924 腳本代碼]。 在每個(gè)本地化翻譯的目錄中有正規(guī)的子版本譯文目錄:支部/, 標(biāo)簽/, 和枝干/。 在合適的譯文目錄內(nèi)部有以下的子目錄。 ===== messages/ ===== <ul> <li>messages/</li> <ul> <li>kubrick</li> </ul> </ul> 這個(gè)目錄包含了本地化翻譯的Gettext MO 和 PO文件。Message文件命名在locale名之后。 在<code>kubrick</code>文件夾中,你應(yīng)該將i18n-ed的翻譯放到(使用與以上相同的PO/MO文件名)[http://svn.automattic.com/wordpress-i18n/theme/ default theme, residing at the wordpress-i18n svn 知識(shí)庫]。翻譯默認(rèn)主題還有另一種方式: ===== dist/ ===== 目錄包含有所有的[[WordPress:Files_For_Direct_Translation| WordPress 發(fā)行的,不能夠被 Gettexted的文件]],可以被翻譯為本地化語言。 本地化翻譯中只有一個(gè)文件的UTF-8翻譯,dist/目錄可能直接擁有許多內(nèi)容,dist內(nèi)部的結(jié)果應(yīng)該反映wordpress根目錄的結(jié)構(gòu): <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> 如果本地化翻譯不止包含一個(gè)UTF-8字符編碼,那么dist/應(yīng)該包含每個(gè)編碼的子目錄: <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 (請(qǐng)看看上面的 <tt>messages/</tt> 部分),而不是使用 <tt>主題/</tt>。'' 與dist/dir類似,主題/包含很難翻譯的主題文件。如果只呈現(xiàn)了一個(gè)UTF-8翻譯,目錄上可以有每個(gè)翻譯好的主題的子目錄。這些子目錄包含了與原始主題相同的文件(只是這些文件已經(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)了多個(gè)字符編碼,主題/應(yīng)該包含每個(gè)字符編碼的子目錄,依次包含關(guān)于有翻譯好的每個(gè)主題的子目錄。 == 使用本地化 == 為了要本地化安裝你的wordpress,如果本地化還不存在,創(chuàng)建一個(gè)目錄名為''languages'' 而不是''wp-includes''。然后如上所述,從[http://svn.automattic.com/wordpress-i18n/ 子版本知識(shí)庫]中提取一個(gè)適當(dāng)?shù)谋镜鼗募?。語言的main .mo文件應(yīng)該在''語言''目錄內(nèi)部。在''wp-config.php''內(nèi)部為你選擇的語言,設(shè)置WPLANG。例如,如果你想使用法語,你就會(huì)有: <pre>define ('WPLANG', 'fr_FR');</pre> == 發(fā)現(xiàn)并解決問題== ;Rosetta沒有將我的翻譯以一個(gè)MO文件導(dǎo)出。只是顯示,"出現(xiàn)了一個(gè)系統(tǒng)錯(cuò)誤。":你的翻譯中有一個(gè)語法錯(cuò)誤,阻止翻譯匯編成一個(gè)MO。下載PO并且試著手工用<tt>msgfmt</tt>將它編譯。這樣你會(huì)得知那行出現(xiàn)了錯(cuò)誤,這樣你可以動(dòng)手更改這些錯(cuò)誤。如果你沒有安裝一個(gè)GNU Gettext軟件包,你可以試著在poEdit或者 KBabel中打開PO文件,看看那這些文件能否幫助你來更改錯(cuò)誤,或者你可以發(fā)送電子郵件到[[WordPress:Mailing_Lists#Polyglots|wp-polyglots mailing list]]讓其他人來幫助你解決程序錯(cuò)誤。 ==資源== [http://boren.nu/archives/2004/11/01/localizing-plugins-and-themes/ Ryan Boren的插件和主題本地化]<br /> [http://urbangiraffe.com/articles/translating-wordpress-themes-and-plugins/ 將WordPress翻譯為英語外的其它語言 (主題和插件)]
摘要:
請(qǐng)注意,您對(duì)站長百科的所有貢獻(xiàn)都可能被其他貢獻(xiàn)者編輯,修改或刪除。如果您不希望您的文字被任意修改和再散布,請(qǐng)不要提交。
您同時(shí)也要向我們保證您所提交的內(nèi)容是您自己所作,或得自一個(gè)不受版權(quán)保護(hù)或相似自由的來源(參閱
Wordpress-mediawiki:版權(quán)
的細(xì)節(jié))。
未經(jīng)許可,請(qǐng)勿提交受版權(quán)保護(hù)的作品!
取消
編輯幫助
(在新窗口中打開)
取自“
http://kktzf.com.cn/wiki/WordPress:Localizing_WordPress
”