久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

WordPress翻譯

 天中仙 2012-05-03

翻譯WordPress前,請先查看WordPress in Your Language(及文中所列網(wǎng)站中)中是否已經(jīng)有了你要翻譯的WordPress語言版本,。當(dāng)然也有可能某個(gè)人(或者某個(gè)團(tuán)隊(duì))已經(jīng)在將WordPress翻譯成你準(zhǔn)備翻譯的語言版本,,但是還沒有完成。我們可以訂閱 wp-polyglots mailing list郵件列表,,介紹自己然后詢問是否有人在你和做同樣的工作,。這里還列出了一些為WordPress本地化服務(wù)的團(tuán)隊(duì),可以從中查看是否有人和我們進(jìn)行同樣的本地化工作,。

目錄

[隱藏]

本地化要求

如果沒有發(fā)現(xiàn)自己需要翻譯的WordPress語言版本,,或者其他人對該版本的翻譯還沒有完成,這時(shí)如果希望將WordPress翻譯成自己所用的語言,,需要符合以下要求:

  • 精通兩門語言——書面英語以及此次翻譯的目標(biāo)語言,。如果不夠精通,不僅翻譯過程會(huì)很艱難,,翻譯后的內(nèi)容也不容易被使用目標(biāo)語言的人接受,。
  • 熟悉PHP,因?yàn)橛袝r(shí)需要通讀WordPress代碼,,找出最恰當(dāng)?shù)恼Z言來翻譯其內(nèi)容,。
  • 熟悉人類語言的構(gòu)成:名詞、動(dòng)詞,、冠詞等,,以及不同此類的各種形式,能夠識別英語中不同詞類的變體,。

語種 一個(gè)語種,,是相應(yīng)語言與其區(qū)域性方言的綜合,。通常語種與國家相對應(yīng),如葡萄牙語(葡萄牙)和葡萄牙語(巴西),。

我們可以將WordPress翻譯成任何語種,,甚至包括加拿大英語、澳大利亞英語等其它地區(qū)的英語,,可以修改WordPress中的內(nèi)容使之符合加拿大,、澳大利亞的拼寫習(xí)慣和俗語。 WordPress的默認(rèn)語言是美國英語,。

本地化技術(shù)

WordPress開發(fā)人員將GNU gettext作為WordPress的本地化架構(gòu),。Gettext是一個(gè)被廣泛用于軟件模塊化翻譯的成熟架構(gòu),實(shí)際上也是開源項(xiàng)目/免費(fèi)軟件王國中的本地化標(biāo)準(zhǔn),。 Gettext使用信息級翻譯技術(shù)——即顯示給用戶的每條“信息”都會(huì)被獨(dú)立翻譯,,無論是一個(gè)段落還是單詞。在WordPress 中,,WordPress PHP文件通過兩個(gè)PHP函數(shù)(__()與_e())生成,、翻譯并運(yùn)用這類顯示給用戶的“信息”。當(dāng)信息作為參數(shù)被傳遞給其它函數(shù)時(shí),,會(huì)用到函數(shù) __(),;而將信息直接寫向頁面時(shí),會(huì)用到_e()函數(shù),。具體請看:

__($message) 查找對$message的翻譯的本地化模塊,,并將翻譯結(jié)果傳遞給PHP的return語句。如果沒有找到對$message的翻譯,,該函數(shù)返回$message,。

_e($message) 查找對$message的翻譯的本地化模塊,并將翻譯結(jié)果傳遞給PHP的echo語句,。如果沒有找到對$message的翻譯,,該函數(shù)回顯$message。

注意:本地化一個(gè)主題或插件時(shí),,應(yīng)使用“Text Domain”工具,。具體信息請分別查看主題開發(fā)插件開發(fā)

Gettext架構(gòu)在WordPress大部分范圍內(nèi)暢通無阻,。但在WordPress中有些地方無法使用gettext——閱讀 Files For Direct Translation了解如何翻譯這些地方的內(nèi)容,。

gettext文件

gettext翻譯架構(gòu)中的文件可分為三種類型。這些文件都是翻譯工具在翻譯過程中會(huì)用到/生成的文件:

POT(可移植對象模板)文件

本地化進(jìn)程的第一步,,就是用一個(gè)程序搜索WordPress源代碼,,找出被傳遞給__()或_e()的所有信息。被找出的信息列表被存放在 已編排格式的模板文件(POT文件)中,,該文件構(gòu)成所有翻譯內(nèi)容的雛形,。獨(dú)立的POT文件也可用于主題/插件,,前提條件是主題/插件開發(fā)人員將所有內(nèi)容圈 在__()函數(shù)或_e()函數(shù)中。

PO(可移植對象)文件

本地化進(jìn)程的第二步,,翻譯者將POT文件中所有信息翻譯成目標(biāo)語言,,并將英語原文和翻譯后的信息保存在同一個(gè)PO文件中。

MO(機(jī)器對象)文件

本地化進(jìn)程最后一個(gè)步驟,,為PO文件執(zhí)行一個(gè)程序,,使其成為一個(gè)經(jīng)過優(yōu)化的、供機(jī)器識別的二元文件(MO文件),。將翻譯結(jié)果編譯成機(jī)器可讀代碼后,,用本地化的程序檢索翻譯內(nèi)容就更方便迅速了。

翻譯工具

翻譯時(shí)可以根據(jù)自己的喜好借助各種翻譯工具,。

  • Launchpad :[Ubuntu]] Linux系統(tǒng)中有一個(gè)網(wǎng)站,,用戶可以在網(wǎng)站中直接翻譯信息而不必查看任何PO文件或POT文件,然后將翻譯結(jié)果直接導(dǎo)出到MO文件,。

注意:很多翻譯者發(fā)現(xiàn)Rosetta是一個(gè)不錯(cuò)的起點(diǎn),,而一到校對翻譯結(jié)果階段,很多人還是會(huì)選擇手動(dòng)編輯PO文件,,或者使用poEdit、KBabel等程序,。這是因?yàn)镽osetta UI不具備校正和編輯時(shí)必要的查找等功能,。

  • Pootle:一個(gè)基于網(wǎng)絡(luò)的開源翻譯系統(tǒng)。Pootle的服務(wù)器寄存在Locamotion.org上,,服務(wù)器上有激活的WordPress翻譯版本,。
  • poEdit :用于Windows、Mac OS X與]]UNIX]]/Linux系統(tǒng)的開源程序,,提供一個(gè)便于使用的GUI以編輯PO并生成MO文件,。
  • KBabel :適用于Linux系統(tǒng)中KED窗口管理器的開源PO編輯程序。
  • GNU Gettext :官方Gettext工具包中包括各種用于創(chuàng)建POT文件,、處理PO文件以及生成MO文件的命令行工具,。還包括一個(gè)命令shell。

用Launchpad翻譯WordPress

獨(dú)立頁面instructions for translating WordPress with Launchpad中有詳細(xì)說明,。

用Pootle翻譯WordPress

  1. 在Pootle服務(wù)器注冊一個(gè)賬號,,發(fā)送一份郵件給管理員,要求增加我們的目標(biāo)語言版本的WordPress
  2. 開始翻譯前,,請登錄Pootle,。未登錄用戶有時(shí)能夠?yàn)g覽內(nèi)容、提交意見,,但翻譯是登錄用戶的獨(dú)有權(quán)利,,不登錄無法翻譯,。
  3. 訪問目標(biāo)語言的WordPress頁面。例如Afrikaan語的頁面是pootle.locamotion.org/af/wordpress/(不要忘了結(jié)尾斜線),。
  4. 點(diǎn)擊“Show Editing Functions(顯示編輯功能)”
  5. 點(diǎn)擊“Quick Translate(快速翻譯)”以編輯未翻譯的與語義含糊的內(nèi)容,,或點(diǎn)擊“Translate All(翻譯全部)”以編輯所有內(nèi)容。

為了能在locamotion.org上翻譯WordPress,,wordpress.pot文件被分散成多個(gè)小邏輯單元,,其中包括readme.html文件,還包括一個(gè)包含所有內(nèi)容的文件,,用戶可將該文件按正常步驟手動(dòng)添加到PHP文件中,。 這里這里有對WordPress翻譯的相關(guān)介紹。

將翻譯結(jié)果整合到wordpress.pot 正常情況下,,翻譯人員可用Pootle服務(wù)器隨 時(shí)下載自己翻譯的軟件的PO文件,,并將下載的文件提交到自己的翻譯項(xiàng)目中。但由于在pootle.locamotion.org上,,原始源代碼被分散成多 個(gè)小單元,,翻譯人員不得不手動(dòng)整合翻譯結(jié)果和wordpress.pot文件,之后再將結(jié)果提交到WordPress,。

  1. 下載官方WordPress POT file
  2. 下載WordPress Continent POT file (可選操作)
  3. 在本地機(jī)器上下載并安裝 Translate Toolkit
  4. 從Pootle服務(wù)器上下載經(jīng)過翻譯的或部分翻譯的PO文件,。可以逐個(gè)下載,,也可以以ZIP文件形式一次性下載(參見網(wǎng)站上的選項(xiàng)),。一般情況下下載經(jīng)過翻譯的PO文件無需登錄Pootle。
  5. 首先將PO文件整合到0翻譯記憶中(整合后,,之后的操作中只需要處理一個(gè)文件),,在命令行中執(zhí)行以下命令:po2tmx -l xx -i pofiles -o xx.tmx,其中xx即你的目標(biāo)語言代碼,。以上操作生成一個(gè)名為xx.tmx的TMX翻譯記憶文件,。
  6. 接下來根據(jù)翻譯記憶文件預(yù)翻譯WordPress POT文件??蓤?zhí)行以下命令進(jìn)行預(yù)翻譯:pot2po --tm=xx.tmx -i wordpress.pot -o wordpress_xx.po,。該命令為目標(biāo)語言生成一個(gè)PO文件,文件名為wordpress_xx.po,。
  7. 最后,,在命令行中使用pocount wordpress_xx.po來計(jì)算PO文件的字?jǐn)?shù)/字符數(shù),查看有多少內(nèi)容已經(jīng)被翻譯,,多少內(nèi)容還沒有翻譯或意義不明,。

如果所有PO文件都被100%翻譯了,最終的wordpress_xx.po文件也會(huì)被100%翻譯,。如果PO文件中有字符串沒有被翻譯,,pot2po命令可能會(huì)造成wordpress_xx.po文件中的翻譯語句含意模糊(這未必是壞事),。

用poEdit翻譯WordPress

  1. 下載并安裝poEdit
  2. 下載官方WordPress POT file
  3. 在poEdit中打開官方WordPress POT文件
  4. 標(biāo)注有①的文本框是POT文件中的原始信息(英文)。在標(biāo)注有②的文本框中添加對①的翻譯,,在標(biāo)注有③和④的文本框中添加對該信息的注釋,。與翻譯團(tuán)隊(duì)合作時(shí),可以通過這種方式分享自己對PO文件內(nèi)容的看法,。
  5. 文件——另存為....中將翻譯結(jié)果保存為PO文件,。
  6. 翻譯完畢后,再次在文件——另存為....中將翻譯結(jié)果保存為PO文件,。
  7. 也可以點(diǎn)擊文件——優(yōu)先級,,然后在編輯框中點(diǎn)擊保存時(shí)自動(dòng)編譯.mo文件

用KBabel翻譯WordPress

本部分內(nèi)容不完整,。

  1. 下載官方WordPress POT file
  2. 在KBabel中打開文件

用Gettext工具翻譯WordPress

  1. 下載官方WordPress POT file
  2. 在常用的文本編輯器中打開文件
  3. 升級頁頭信息
  4. 翻譯信息
  5. 以.po為擴(kuò)展名保存文件
  6. msgfmt -o filename.mo filename.po

PO文件頁頭信息

PO文件的開始部分即頁頭信息,。頁頭給出了待翻譯的軟件信息和軟件版本號、翻譯者名稱以及文件創(chuàng)建日期,。頁頭信息中有一部分內(nèi)容是所有WordPress翻譯通用的,,無需更改:

# LANGUAGE (LOCALE) translation for WordPress.
# Copyright (C) YEAR WordPress contributors.
# This file is distributed under the same license as the WordPress package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr "" 
"Project-Id-Version: WordPress VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-02-27 17:11-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

用相應(yīng)內(nèi)容代替其中的大寫字母代碼。

信息格式

文件剩余部分的格式為:

#: wp-comments-post.php:13
msgid "Sorry, comments are closed for this item."
msgstr ""
#: wp-comments-post.php:29
msgid "Sorry, you must be logged in to post a comment."
msgstr ""
#: wp-comments-post.php:35
msgid "Error: please fill the required fields (name, email)."
msgstr ""

每段信息的第一行都描述了該信息在WordPress代碼中的起始行數(shù),。在上面這個(gè)例子中,,這三段信息的起始行分別是wp-comment- post.php文件的第13、29,、35行,。有時(shí)我們要自己在WordPress代碼中查找一些信息,找到所需信息后,,記下它們在核心代碼中的位置和相 應(yīng)行數(shù),。有時(shí)在不同位置上會(huì)出現(xiàn)相同內(nèi)容的信息,;這種情況下,,我們需要分別列出這些信息的所在位置和行數(shù)。

信息的第二行,,msgid,,即源語言信息。這就是WordPress傳遞給__()函數(shù)和_e()函數(shù)的字符串,,同時(shí)也是需要翻譯的信息,。

信息的最后一行,msgstr,,是空白字符,,我們將要在這里填入自己的翻譯。

下面是以上信息被翻譯后的樣式,,以漢語為例:

#: wp-comments-post.php:13
msgid "Sorry, comments are closed for this item."
msgstr "對不起,,該文章的評論功能已被關(guān)閉,。"
#: wp-comments-post.php:29
msgid "Sorry, you must be logged in to post a comment."
msgstr "對不起,請登錄后再發(fā)表評論,。" 
#: wp-comments-post.php:35
msgid "Error: please fill the required fields (name, email)."     
msgstr "錯(cuò)誤:請?zhí)顚懕匾侄危Q,、電子郵箱地址)。"

注意:關(guān)于如何在翻譯中使用HTML字符實(shí)體,,請參考下文的字符編碼和HTML字符實(shí)體,。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多