Skip to content

Localization zh TW

ArchiBot edited this page Sep 23, 2023 · 49 revisions

在地化翻譯

ASF的在地化翻譯由Crowdin提供服務,使每個人都能幫助ASF翻譯成世界各地的語言。 更多關於Crowdin如何運作的詳細說明,請查閱​Crowdin介紹​。

若您對這個專案感興趣,可以查看ASF的​Crowdin活動​。


範圍

我們的平台支援ASF主程式的在地化,我們也一同提供其餘可進行在地化的內容。 這包含ASF設定檔生成器網頁工具、ASF-ui以及我們的Wiki。 這些都可以輕鬆地透過Crowdin介面進行翻譯。


註冊

若您願意協助ASF,不論是翻譯、審查抑或是批准翻譯,都請註冊我們的​Crowdin專案​。 註冊十分簡單,並完全免費! 在登入後,您可以選擇您想參與翻譯的語言,然後開始翻譯ASF本文,並協助其他社群成員將ASF翻譯成當下最熱門的語言!


翻譯

如果您選擇的語言仍缺失部分本文的翻譯,您可以即刻開始翻譯它們。 我們盡全力試圖保持翻譯的靈活性,因此許多本文⸺包含ASF在執行期間提供的額外變數⸺會使用括號括住數字,例如​{0}​。 如此一來,您就可以更改ASF裡本文的預設格式,例如把ASF提供的變數移動到更符合您語言中習慣的位置,而不是被迫嚴格沿用原文的文法及句式。 這對從右至左書寫的語言特別重要,例如希伯來文。

舉例來說,您可能有個本文是:

我們有 {0} 個遊戲等待掛卡。

但依據您的語言,這個句子可能更通順:

等待掛卡的遊戲數量為 {0}。

或是:

還有 {0} 個遊戲等待掛卡。

這種靈活性專門為翻譯者提供,因此您可以稍加改寫ASF中的語句,以更好地適應您的語言,並將ASF提供的數字或其他資訊移動到適合您語言的位置(而不是逐字逐句地翻譯)。 這提高了整體的翻譯品質。


審查

若您選擇的本文已被其他人翻譯,您可以為其投票。 投票可以依此來選擇最恰當的翻譯,而不是始終保留最初的翻譯建議,這將進一步提高整體的翻譯品質。 您可以對已有的建議進行投票,或者提交您自己的翻譯建議,它也會經歷相同的過程。 最終,翻譯結果會是得票最多的建議,或者該語言的校對批准的建議(也是依據您的投票結果)。

您的翻譯內容無需得到批准也能被ASF採用​。 批准僅代表我們的信任者已審查了內容,並選擇了最終的翻譯版本。 擁有未經批准、由社群主導的翻譯是完全沒問題的,您可以在其中投票選出最好的翻譯。 只要翻譯完成,便大功告成! 若您認為當前的翻譯不適當,您隨時可以投票給更適合的翻譯,或者自行提交一個。


校對

保持翻譯的一致性是個好主意,即使它可能會削弱上述的社群審查/投票機制的自由。 這主要是因為不算特別糟糕的翻譯,可能會獲得許多贊成票,以至於即使有人提交任何更好的翻譯,也無法被採用。

若您擁有在Crowdin,或任何我們可驗證及信賴的翻譯在地化平台/服務上做出貢獻的經驗,我們很樂意為您提供您所貢獻語言的校對權限,使您能夠批准翻譯,並維持一致性。 校對絕非易事,特別是因為ASF有時會涉及「技術性」且難以翻譯,但我們知道它仍需擁有一份完美翻譯。 因此,若您可以幫助校對特定語言,請​聯絡我們​,但請注意,您需要在請求中提供我們能夠驗證的在地化翻譯貢獻(例如在Crowdin上為ASF或其他專案在地化)。 若是我們私下了解的進階使用者,只要他們能夠與社群的其他成員合作,我們也可能允許他們進行初步校對,使ASF具有最佳的在地化。

適用於校對的通用原則:不要急功近利、傾聽使用者的意見、領導團隊進行專案合作、解決問題,確保把事情變得更好而不是更糟。


提出問題

若您對特定翻譯有疑問,例如您不知道如何翻譯、批准的翻譯不正確、您需要更具體的上下文或其他問題,請在相應的本文下發表評論,並勾選[X]提交問題。

若您不需要技術/開發方面的說明,且無需管理員幫忙操作,請避免使用提交問題的標示​。 您可以自由使用評論功能,來討論與相應本文翻譯的相關問題。但只有當您需要更進一步的技術解釋,或管理員更正時才應提交問題。此外,它通常會涉及一些不會說您翻譯語言的人員,所以,在撰寫提交的問題時,請始終使用英文(這樣我們才能理解問題是什麼)。

目前我們支援以下4種類型的問題:

  • 一般問題(General question):不符合下面任何標準的問題。 在一般情形下,應​盡量避免​這種類型的問題,如果你的問題不符合其他類型,那麼很有可能它​並不是​翻譯問題。 儘管如此,這個選項仍可用於其他情形。
  • 當前的翻譯不正確(Current translation is wrong):​只有​在翻譯已被校對人員預先批准,且您認為它有誤的情形下使用。例如具有錯別字,或您具有一個有效的改進建議。 這個類型不應該用於由社群維持(投票)的翻譯,因為在這種情形下,您應該聯繫提交該翻譯的使用者,並要求他進行修正,或者如審查章節中所述,直接進行投票來支持更適當的翻譯。 我們將取消該翻譯的批准,並通知負責該語言的校對人員核實您的評論,並重新批准翻譯。
  • 缺乏上下文的資訊(Lack of contextual information):如果您不確定您在翻譯的是ASF的哪個部分,該本文的上下文是什麼,抑或是它的用途,那麼您應該使用這個分類。 這個類型應只用於ASF的開發,這代表您因不確定如何翻譯相應的本文,而需要技術支援。
  • 原始本文具有錯誤(Mistake in the source string):只有當您認為本文來源(英文)具有錯誤時,才應使用此分類。 儘管這不常見,但並非我們所有人的母語都是英文,所以如果您大致了解如何改進本文來源,請隨時使用它。 或者,由於這與程式開發密切相關,如果您願意,可以使用我們的​GitHub Issues​頁面來回報。

翻譯進度

每種語言都有兩種完成狀態:翻譯與校對。

當某種語言的翻譯進度達到100%時,該語言將被視為​翻譯完成​。 此時,每個ASF使用的可在地化的本文都有正確的翻譯,這值得慶祝。 但是,這並不代表沒有改進的空間⸺社群投票功能永遠都能使用,您仍可以為已翻譯的部分提供更優質的翻譯,以及為現有的部分投票。 請注意,在我們的開發過程中更改現有本文或新增新本文時,翻譯完成的語言進度仍可能降至100%以下。 若您希望在發生這種情形時收到電子郵件,您可以設定相關的Crowdin通知。

您所選的語言可能有適合的校對人員來驗證翻譯,並批准最終版本。 這是翻譯完成後的最後一步,能夠進一步地改善在地化。

ASF將會​盡快​使用這門語言,這代表它不需要被批准,甚至不需要100%的翻譯。 就投票功能來說,被實際使用的本文始終是最受歡迎的語句,除非指定的校對人員另有決定(不常發生)。 因此,您可以在下個ASF版本中看到您的努力成果⸺我們的自動化系統每天都會將Crowdin的翻譯合併回ASF儲存庫。


缺少的語言

預設情形下,ASF專案只開放翻譯給全球使用的前30種語言。 若您想新增另一種語言(或本土方言),請​聯絡我們​,我們會盡快加入它。 如果沒有人願意翻譯它們,我們不想開放數百種不同的語言,這就是為什麼我們把它限制在一個合理的數量。 若您想翻譯一些未被列出的語言,請隨時與我們聯絡,新增另一種語言對我們而言輕而易舉。 只需在您決定與我們聯絡前,保證您有真正的意願與決心將ASF翻譯成您的語言。

如需查看ASF能被翻譯成的所有可用語言清單,請​點擊這裡​。


複數形態

每種語言都具獨有的複數形態規則。 這些規則皆可在​CLDR​中找到,其中針對了它們不同的數量及確切的語言條件。

我們盡最大努力為您提供靈活的在地化翻譯,並盡可能地包含複數規則。 舉例來說,我們現在將下列本文翻譯成波蘭文:

Released {PLURAL:n|{n} month|{n} months} ago

在這裡,​PLURAL​關鍵字會以特殊方式處理,使您能夠提供您語言所擁有全部的複數形態。 若您閱讀CLDR,您會發現在英文中只有兩種基本形式:「one」和「other」。 正如您上述所見,我們定義了兩種型態:​{n} month​及​{n} months​。

然而實際上波蘭文具有四種型態:「one」、「few」、「many」和「other」。 這代表我們需要定義所有四種型態才算完成。 我們的在地化翻譯工具已經具足夠智慧,可以依據語言規則選擇適合的複數型態,因此您只需在翻譯中定義所有需要的形態:

Wydany {PLURAL:n|{n} miesiąc|{n} miesiące|{n} miesięcy|{n} miesiąca} temu

透過這種方式,我們為波蘭文定義了所有四種複數型態,並且由於我們的在地化資料庫已經知道確切的規則,因此它能正確地針對提供的​{n}​數字來選擇的正確形態。

定義您語言使用的所有複數型態並不是強制性的。 若有缺失,我們的在地化資料庫將使用最後定義的形態代替它。 定義您語言使用的所有複數型態是個好主意,但在某些情形下,剩餘的複數型態可能與最後一個相同,在這種情形下沒必要重複它們。 在上述的範例中,它是強制性的,因為波蘭文中months的「other」型態是「miesiąca」,而不是「many」型態中的「miesięcy」。


Wiki

我們的Crowdin平台還讓您可以對Wiki本身進行在地化。 這是一個非常強大的工具,因為它讓您可以使用您的母語建立完整的ASF文件,有效地解決了ASF在地化的最後一個問題。 加上程式及其所有部分的翻譯,使得在地化翻譯大功告成。

Wiki在這方面有點特殊,因為它是線上幫助,因而您不需要過多地堅持使用原句。 這代表您想盡可能自然地使用您的語言,來傳達原始含義及幫助⸺不一定要堅持使用本文來源的語法、字詞或標點符號。 只要您保留大致的方向及幫助內容,即可將本文重寫為對您的語言來說更自然的語句。


全域連結

我們的Crowdin平台同樣使您可以調整原始本文,使它能指向新的(在地化)位置。

ASF幾乎在每個頁面上都包含便於前往的連結及居右的側邊欄。 最棒的是,您可以編輯所有這些連結,「修正」它們來指向您語言的正確的在地化頁面。 在這樣做時需要更加小心,但這是能夠做到的。

舉例來說,ASF的​首頁​包含這條本文:

If you're a new user, we recommend starting with setting up guide.

它的原始形式為:

If you're a new user, we recommend starting with **[setting up](https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Setting-up)** guide.

在Crowdin上,您應該做的第一件事是打開您的編輯器設定,並確保HTML標籤設定成「顯示」。 如果您決定對Wiki進行在地化翻譯,這一點非常重要。


Crowdin


現在,在Crowdin上翻譯的期間,依據格式,您將在本文中看到下列形式的ASF連結:

  • 擁有HTML標籤,並需要一起翻譯的本文(大部分是本文,只有句子的一部分是連結)
  • 需要單獨翻譯的本文,其連結包含在​Hidden texts​->​Link addresses​中(這種十分罕見,整個本文就是個連結,常見於側邊欄中⸺遺憾的是,只有校對人員才能存取並翻譯它們)

在上述範例中,這是第一種形式(因為只有「setting up」是連結),所以在Crowdin中我們會看到:


Crowdin 2


不論是哪種情形,首先您都應該複製原始本文並照常翻譯,並保持整個HTML(如果存在)完好無損。 這是個波蘭文翻譯的範例:


Crowdin 3


現在,若連結是指向Wiki外部的一般連結(例如指向最新版本的ASF),您可以保持原樣,因為您無需編輯它。 您可以儲存它,並前往下一條本文。

但是,如果連結​確實​指向Wiki內部的其他網址,如同上述一樣,您可以將其更改為指向新的(在地化)網址。 為此,您需要小心地將​-locale​語言代碼附加至標籤​<a>​中的目標URL中,如下所示:


Crowdin 4


您需對此要格外小心,並確保您的URL確實存在,因為一旦您輸入錯誤,該連結將會失效。 若您成功修改,現在您就有了一條功能齊全的翻譯,連結將指向已被翻譯的(在我們的範例中是​Setting-up-pl-PL​)頁面。

執行上述步驟會正確地將我們的HTML轉換回Markdown:

Jeśli jesteś nowym użytkownikiem, zalecamy rozpoczęcie od korzystania z **[przewodnika po konfiguracji](https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Setting-up-pl-PL)**.

最終會變成實際的Wiki本文:

Jeśli jesteś nowym użytkownikiem, zalecamy rozpoczęcie od korzystania z przewodnika po konfiguracji.

當沒有HTML存在時(第二種狀況),這更加的容易,因為您可以直接前往​Hidden texts​->​Link addresses​部分。


Crowdin 5


在這裡,您可以簡單地更改連結以指向新網址,甚至根本不用考慮HTML:


Crowdin 6


局部連結

在整個Wiki中,您還可以找到指向文件特定章節的局部連結。 這些連結含有​#​字元,指示Web瀏覽器應該跳轉至文件中的哪個章節。

這是個特殊情形,因為這些連結是依據當前文件的章節名稱。 雖然對於URL,我們有將​-locale​加入至URL的慣例,且它適用於任何地方,但章節的名稱會由您或其他人翻譯,因此您需要確保它們指向正確的網址。

舉例來說,您可以在我們的​組態設定​中找到​#簡介​章節的連結:


Crowdin 7


由於我們要將波蘭文中的「Introduction」一詞翻譯成「Wprowadzenie」,因此我們需要修改此連結,否則它會在我們翻譯之後失效。


Crowdin 8


這樣我們的局部連結將繼續運作,因為它現在將指向我們使用的章節的名稱。 您可以使用完全相同的方式來修改HTML標籤內的連結。


程式碼區塊

翻譯帶有​<code></code>​區塊的句子時需格外小心。 程式碼區塊代表固定的ASF代碼名稱,或不應被翻譯的術語。 舉例來說:

This is especially useful if you have a lot of keys to redeem and you're guaranteed to hit RateLimited status before you're done with your entire batch.

如您所見,此處的​RateLimited​字詞位於程式碼區塊內,表示不應被翻譯的ASF內部的代碼狀態。 與它相同,您不應翻譯其他程式碼區塊,例如設定屬性的名稱(如​TradingPreferences​)、列舉成員(如​Stable​及​UpdateChannel​的選項​Experimental​)等。

然而,這只代表這些字詞不應被直接翻譯,您仍能在它們旁邊加上適合的翻譯解釋,例如寫在括號中。

Ta funkcja jest wyjątkowo użyteczna w przypadku aktywacji dużej ilości kluczy i gwarancji napotkania statusu RateLimited (zbyt częstej aktywacji) przed ukończeniem całej partii.

如您上述所見,我們在​RateLimited​旁邊加上了「zbyt częstej aktywacji」,意思是「太頻繁地啟動」,以更友善的方式翻譯該狀態碼,同時保留ASF的原始狀態,使用者可能在使用程式時會看到它。 以同樣的方式,您可以翻譯/解釋各種字詞及語句中的其他類似情形。

若您認為程式碼區塊中包含不適合的內容,或程式碼區塊中沒有但應該存在於其中的本文,請隨時正確地​提出問題。 這句話也可以作為使用局部連結的實際範例。


名人堂

我們要向那些花費大量時間,並願意讓ASF在地化翻譯變得更好的人們致以衷心的感謝。 他們的努力令人驚嘆,您可以享受包含Wiki在內的完整翻譯,都主要歸功於這些貢獻者。 作為答謝,這裡列出的所有貢獻者都可以​提出請求​,來免費獲得​MatchActively​功能的使用權限。

貢獻者 語言
Astaroth LOLCAT、西班牙文
Dead_Sam 葡萄牙文(巴西)
deluxghost 中文(中國)
DragonTaki 中文(台灣)
LittleFreak 德文
Ryzhehvost 俄文、烏克蘭文
MrBurrBurr LOLCAT、德文
XinxingChen 中文(香港)

感謝你們提升ASF在地化翻譯的品質!

Clone this wiki locally