Archive:Localization (zh TW): Difference between revisions

From KDE TechBase
No edit summary
m (AnneW moved page Localization (zh TW) to Archive:Localization (zh TW) without leaving a redirect: Obsolete)
 
(8 intermediate revisions by one other user not shown)
Line 29: Line 29:
== 觀念 ==
== 觀念 ==


不管是好還是壞,對於一位 KDE 翻譯者來說,本地化的路上永遠都不會缺乏架構、格式、程序與其他模糊的概念將翻譯者絆倒。For better or for worse, there is no lack of frameworks, formats, procedures and other vague notions that a KDE translator may stumble upon along the way. They may be a burden of sorts -- many things to keep in mind -- but also a source of fun, challenge, and deep satisfaction when creatively combined towards great efficiency of everyday work and mirror-perfect polish of the final output. Thus, expect the articles here not to withold much.
不管是好還是壞,對於一位 KDE 翻譯者來說,本地化的路上永遠都不會缺乏架構、格式、程序與其他模糊的概念將翻譯者絆倒。它們可能會是各種類型混雜在一起的負擔 -- 許多事情需要謹記在心 -- 但是當你將每日工作的效率、與讓最後的輸出宛如明鏡般完美的磨光過程,這兩者創意地互相結合在一起時,也會是一種樂趣、挑戰,或深沈滿足感的來源。因此,期許這裡的文章不要隱瞞太多。


; [[Localization/Concepts/Encodings|文字編碼]]
; [[Localization/Concepts/Encodings|文字編碼]]
Line 36: Line 36:


; [[Localization/Concepts/PO_Odyssey|PO 格式]]
; [[Localization/Concepts/PO_Odyssey|PO 格式]]
: ''The PO format is the mainstay of free software translation. Ragardless of the actual workflows and tools used, translators should maintain a good measure of familiarity with the underlying PO format. This article thoroughly describes the elements of the PO format and various uses of PO catalog files which embody it.''
: ''PO 格式是自由軟體翻譯的支柱。不管實際的工作流程與所使用的工具,翻譯者都應該對於其幕後的 PO 格式保持良好的熟悉度。本文章澈底地描述 PO 格式的元素,與實現 PO 格式的編目檔其各式運用。''
<!-- write about: dynamic, static, detailed story -->
<!-- write about: dynamic, static, detailed story -->


Line 84: Line 84:
== 工具 ==
== 工具 ==


Great many tools exist to support the localization process. Some may be quite general, and other tightly coupled with KDE localization process. Tools are thus presented in different ways. More general tools typically have referent documentation of their own, and here it is explained how they relate to concepts and workflows used in KDE. Custom, KDE-specific tools are explained in greater detail, sometimes to the point of these articles being their referent documentation.
有許多優秀的工具能支援本地化的程序。其中一些可能相當通用,而另外一些則和 KDE 本地化過程緊密地結合。而工具以不同的方式呈現。很多通用性的工具通常本身都帶有作為參考用的文件,而在這裡我們會解釋它們是如何和 KDE 內的本地化觀念與工作流程產生關係的。客製的、KDE 專用的工具則會解釋得更加詳細,有時候這些文章的重點則是作為它們的參考文件。


; [[Localization/Tools/Gettext_Tools|Gettext 工具]]
; [[Localization/Tools/Gettext_Tools|Gettext 工具]]
: ''GNU Gettext is the de-facto referent implementation of the PO format. It is used to extract templates from the code and update PO catalogs, and has many tools for processing PO files. Its compiler of PO format into binary format for application use, is the final arbiter of validity of a PO file.''
: ''GNU Gettext PO 格式的參考用實現準標準。它被用來從源碼中抽出樣本並更新 PO 編目。其將 PO 格式轉為二進位格式的編譯器,是 PO 檔驗證的最終裁決工具。''


; [[Localization/Tools/Lokalize|Lokalize]]
; [[Localization/Tools/Lokalize|Lokalize]]
: ''[http://userbase.kde.org/Lokalize Lokalize] is a computer-aided translation (CAT) tool, a full-featured GUI application for translators, written from scratch using KDE4 framework. Aside from basic editing of PO files with nifty auxiliary details, it integrates support for glossary, translation memory, diff-modes for QA, project managing, etc.''
: ''[http://userbase.kde.org/Lokalize Lokalize] 是個電腦輔助翻譯(computer-aided translation, CAT)工具,一套供翻譯者使用的全功能圖形化使用者介面(GUI)應用程式,以 KDE4 架構重新撰寫而成。除了對基本的 PO 檔編輯加上靈巧的輔助細項外,它還整合了語彙(glossary)、翻譯記憶(translation memory)、diff-modes for QA、專案管理......等。''


; [[Localization/Tools/Emacs_and_Vim|Emacs 與 Vim]]
; [[Localization/Tools/Emacs_and_Vim|Emacs 與 Vim]]
: ''Emacs and Vim are ubiquitous Unix text editors, in continuous use and development from times immemorial. Both very different from today's typical editors, as well as between each other, powerfull and extendable, they have been pressed into many roles. One is power-assisted editing of PO files.''
: ''Emacs Vim 是無所不在的 Unix 文字編輯器,從古至今被不間斷地使用以及開發。兩者都迥異於今日的典型編輯器,甚至彼此都不類似;然而卻同樣地強大、可擴展性高,而被用於許多任務上,其中之一就是對 PO 檔的強力編輯協助。''


; [[Localization/Tools/Translate_Toolkit|Translate Toolkit]]
; [[Localization/Tools/Translate_Toolkit|Translate Toolkit]]
: ''Translate Toolkit is a host of command-line utilities, written mostly in Python, that expands and extends on Gettext's tools. They provide advanced search, selection and merging of PO files, and environment-specific validity checks. Also included are converters between various non-PO formats.''
: ''Translate Toolkit 提供許多命令列公用程式(大多數以 Python 寫成),對 Gettext 的工具進行擴展與延伸。它們提供進階的 PO 檔搜尋、選取與合併,以及針對環境的驗證檢查等功能;還包含在各種非 PO 格式間轉換的轉換工具。


; [[Localization/Tools/Subversion|Subversion]]
; [[Localization/Tools/Subversion|Subversion]]
Line 102: Line 102:


; [[Localization/Tools/Pology|Pology]]
; [[Localization/Tools/Pology|Pology]]
: ''Pology is a Python-based framework for quick and robust assembly of "field" scripts for processing PO files, to operate in a version-controlled environment with numerous catalogs. As of yet it is experimental, living in KDE repository only, but with an array of already applicable tools.''
: ''Pology 是個以 Python 為基礎的架構,用來處理 PO 檔的「field」指令稿的快速且穩固的組合,以在有許多編目檔的版本控制環境內進行操作。然而到目前為止它還是實驗性質,只存在於 KDE 倉儲 (repository) 內,但是已經有一堆可運用的工具。Pology is a Python-based framework for quick and robust assembly of "field" scripts for processing PO files, to operate in a version-controlled environment with numerous catalogs. As of yet it is experimental, living in KDE repository only, but with an array of already applicable tools.''


; [[Localization/Tools/Lbundle_Check|Lbundle Checker]]
; [[Localization/Tools/Lbundle_Check|Lbundle Checker]]
Line 112: Line 112:
== 工作流程 ==
== 工作流程 ==


There is no single way to participate in KDE localization. Contributors will differ by the amount and direction of effort they put in, and the workflow articles are here to provide guidance for the frequently observed roles. Also presented are the technical and organizational details which have tidal influence on everyday translator's workflow.
要參與 KDE 本地化不只有一種方式。貢獻者會因他們所努力的方向與量而有所區別,而這裡與工作流程相關的文章則提供了時常要遵守的規則與指引。同時也呈現一些對於每個翻譯者其工作流程,產生週期性影響的技術性與組織性細節。


; [[Localization/Workflows/Rookie|翻譯新手]]
; [[Localization/Workflows/Rookie|翻譯新手]]

Latest revision as of 15:50, 23 June 2013

Template:I18n/Language Navigation Bar (zh TW)

嗨!探險家,歡迎來到 KDE 本地化的宇宙裡!你已經吸飽呼吸用的空氣了嗎?

Template:Warning (zh TW)

銀河浩瀚

這個頁面是所有關於 KDE 本地化的文章集散中心。包含的主題要刻意把實際細節描寫詳實,提出建議並滿足對於 KDE 本地化方法的好奇心。而且要為「所有的觀眾」:從剛開始對於自由軟體本地化產生興趣的人,到那些有經驗而尋覓著如何參與 KDE 本地化的人,甚至到老練但好奇最新發展的 KDE 翻譯者;對他們來說都能達到上述的目標。

要達到此目標的話,主題不必為直線式架構。當你在閱讀一本教材時,通常可以在介紹內找到作者對於如何「跟隨」本書脈絡的指示:可能是讓章節有連貫性的閱讀順序;像是哪個章節是某個章節前的必備知識,或哪個章節是可以選擇性閱讀的。就像這裡所呈現的主題一樣,極度採取這種方式,有許多取決於個人興趣的條目或是離開點。

此集散地目前由宛如三股螺旋臂交互連接的三種主題所構成:

觀念
自由軟體本地化的通用觀念與 KDE 本地化的特定觀念,這些廣泛觀念的展示場所。通用的運作機制與格式、進階的技術可能性、組織,以及溝通程序。
工具
在本地化過程中可能會有所用處的工具其描述,從命令列指令稿到全功能的圖形化使用者介面 (GUI) 應用程式。它們的任務大約是支持本地化的觀念。
工作流程
對於如何貢獻 KDE 本地化的指示與程序,以及對於不同等級的參與性約定來探討。在不同情境下所需要知道的觀念,以及該如何處理它們的合適工具。

Template:Tip (zh TW)

給編輯者的註記

在本地化的宇宙中,正確地放置某些資訊的細節是相當重要的。讀者應該要被知會什麼是在地的 KDE 常規、他們所使用的工具有什麼特殊功能,以及通用性的觀念與其在特定 KDE 項目內的具體實現。

雖然這裡很明顯是個聚焦於 KDE 的資源中心,然而提供 KDE 之外的某些元素是如何處理的範例仍然很有用處。透過對比與比較,讀者可能對於所要呈現的題材之為何或如何,能理解得更透澈。同樣地,這也可能對那些已經熟稔本地化環境的其他人來說有所助益。

觀念

不管是好還是壞,對於一位 KDE 翻譯者來說,本地化的路上永遠都不會缺乏架構、格式、程序與其他模糊的概念將翻譯者絆倒。它們可能會是各種類型混雜在一起的負擔 -- 許多事情需要謹記在心 -- 但是當你將每日工作的效率、與讓最後的輸出宛如明鏡般完美的磨光過程,這兩者創意地互相結合在一起時,也會是一種樂趣、挑戰,或深沈滿足感的來源。因此,期許這裡的文章不要隱瞞太多。

文字編碼
Text is the most basic object of localization. However, to handle it at low level -- to encode text -- such that languages of the world are smoothly supported, was historically not trivial. Read about the current standards, proper setups and errors due to text encoding which may pop up.
PO 格式
PO 格式是自由軟體翻譯的支柱。不管實際的工作流程與所使用的工具,翻譯者都應該對於其幕後的 PO 格式保持良好的熟悉度。本文章澈底地描述 PO 格式的元素,與實現 PO 格式的編目檔其各式運用。
XML 標記
Parts of text are sometimes presented to the user in special way: bold or italic, title sized, etc. XML-like text markup is a popular way of specifying such presentation, and translators will frequently find it embedded in the source texts. This article deals with XML markup from translators' viewpoint.
版本控制
KDE evolves by integrating a lot of work contributed by a lot of people scattered around the planet, and that along parallel lines of development. To prevent information collapse into the gravity well of unhindered creativity, programmers employ version control systems -- and so do the translators.
Rings of Communication
Translators have many communication outlets at their disposal. Beyond the circle of one's own language team, translators from other teams and programmers are orbiting close at reach. Find out which issues are best dealt with at which level, for the time spent in constructive discussion to achieve most positive impact.
Automatic Translation Assists
Automatic assists help translators to speed up the work, avoid common errors, and achieve consistency in style and terminology. They may be provided as standalone tools, or as features of specialized translation tools. These assists include spell checkers, glossaries, translation memories, etc.
收集並使用統計
Statistics provide overall indicators of the past localization progress, and means to extrapolate for the future. However, as always with statistics, for meaningful conclusions they should be used with care. Read about the sources of statistics, things to count, and effort estimates.
翻譯文件檔
Compared to localizing application interfaces, translating their documentation both throws new elements into the fray, and casts others in a different light. The need to keep the interfaces and documentation in sync, demands another layer of attention. This article covers those peculiarities.
書寫系統的不同
User interfaces have been historically centered and developed around alphabetic writing system, using Latin alphabet, and written from left to right. Drastic changes to any of these assumptions, such as right to left writing or using ideographs instead of alphabet, requires some consideration.
語言/國家特定格式
Applications frequently process and display pieces of information which, while universal in concept, are presented differently accros cultures: time and dates, numbers, calendars, and so on. KDE apps gracefully handle such differences, relying on the language/country-based specifications in the KDE core.
Special Entries in Translation Catalogs
Most messages in translation catalogs are ordinary text intended for the user, but some are not. Programmers may use messages which let translators choose behavior for their language, add language-specific data, or state translation credits. Such special entries typically found in KDE catalogs are described here.
Translation Scripting with Transcript
Traditional UI translation frameworks are based on English as the pivotal language. This frequently leads to technical problems in target languages, where translators may be forced to choose between bad and worse. To alleviate such issues, KDE provides a way to act on translation at runtime -- the Transcript engine.
Localizing Non-Text Resources
While the first thought of localization is that of text translation, text is not the sole resource for localization. Any content presented to the user -- an icon, image, sound -- may require localization in certain cultural contexts. Learn how to localize non-text resources in KDE as the need arises.

工具

有許多優秀的工具能支援本地化的程序。其中一些可能相當通用,而另外一些則和 KDE 本地化過程緊密地結合。而工具以不同的方式呈現。很多通用性的工具通常本身都帶有作為參考用的文件,而在這裡我們會解釋它們是如何和 KDE 內的本地化觀念與工作流程產生關係的。客製的、KDE 專用的工具則會解釋得更加詳細,有時候這些文章的重點則是作為它們的參考文件。

Gettext 工具
GNU Gettext 是 PO 格式的參考用實現準標準。它被用來從源碼中抽出樣本並更新 PO 編目。其將 PO 格式轉為二進位格式的編譯器,是 PO 檔驗證的最終裁決工具。
Lokalize
Lokalize 是個電腦輔助翻譯(computer-aided translation, CAT)工具,一套供翻譯者使用的全功能圖形化使用者介面(GUI)應用程式,以 KDE4 架構重新撰寫而成。除了對基本的 PO 檔編輯加上靈巧的輔助細項外,它還整合了語彙(glossary)、翻譯記憶(translation memory)、diff-modes for QA、專案管理......等。
Emacs 與 Vim
Emacs 與 Vim 是無所不在的 Unix 文字編輯器,從古至今被不間斷地使用以及開發。兩者都迥異於今日的典型編輯器,甚至彼此都不類似;然而卻同樣地強大、可擴展性高,而被用於許多任務上,其中之一就是對 PO 檔的強力編輯協助。
Translate Toolkit
Translate Toolkit 提供許多命令列公用程式(大多數以 Python 寫成),對 Gettext 的工具進行擴展與延伸。它們提供進階的 PO 檔搜尋、選取與合併,以及針對環境的驗證檢查等功能;還包含在各種非 PO 格式間轉換的轉換工具。
Subversion
Subversion, SVN for short, is the version control system currently used by the KDE project as whole. Same as the code, KDE localization data are stored in the central SVN repository. This article describes the use cases of Subversion for translators, as well as repository organization of localized data.
Pology
Pology 是個以 Python 為基礎的架構,用來處理 PO 檔的「field」指令稿的快速且穩固的組合,以在有許多編目檔的版本控制環境內進行操作。然而到目前為止它還是實驗性質,只存在於 KDE 倉儲 (repository) 內,但是已經有一堆可運用的工具。Pology is a Python-based framework for quick and robust assembly of "field" scripts for processing PO files, to operate in a version-controlled environment with numerous catalogs. As of yet it is experimental, living in KDE repository only, but with an array of already applicable tools.
Lbundle Checker
For text resources translated through PO files there are well-established means of tracking changes as the underling code evolves. This is the script to provide a degree of such support for localized non-text resources, when organized as localization bundles.
Miscellaneous Scripts
KDE repository contains many standalone scripts to check and process localized data, of various degrees of specificity -- many even tied to the exact repository organization. Collected here are the descriptions of such scripts which may be generally useful to translators.

工作流程

要參與 KDE 本地化不只有一種方式。貢獻者會因他們所努力的方向與量而有所區別,而這裡與工作流程相關的文章則提供了時常要遵守的規則與指引。同時也呈現一些對於每個翻譯者其工作流程,產生週期性影響的技術性與組織性細節。

翻譯新手
This is your first forray into localization and you're looking for the sign saying "Don't Panic", in large friendly letters? Find about the essential prerequisites to start translating early, but productively.
翻譯老手
Translators that have surmounted the difficulties and acquired the concepts and tools for the work to become daily routine, may start looking into new directions. How to better coordinate effort, cooperate with other language teams, test the localization quality in live environment, etc.
語言協調人
Each language team in KDE needs one or few persons tasked additionally to their basic work on localization. They take care that the team effort progresses smoothly, and voice their teams in global matters. Language coordinators have write-access to KDE repository, and the responsibility to boot.
全球協調人
While the cooperation can and does take place between translators from different language teams, more focused attention is needed to handle some global issues. To that end, some translators engage in maintenance tasks on wider scale, and one of them is appointed the KDE Localization Coordinator.
引介新語言
Great many languages are already being localized into within KDE project. Sometimes, however, a new language is to be introduced, which requires coordination between its translators and core KDE team. Also, to ship a language as part of official KDE release, some essentials must be satisfied.
Repository Automation
Daily in the KDE repository, the lumbering machinery scrutinizes code, updates translations to reflect changes, performs checks, serving the results to translators. Learn to follow its hum, and know where to grease when the gears clog.
Translating in Summit
Handling two branches for translation, stable and trunk, can be tedious. Porting fixes from one to another branch, making sure team members work on correct branch, etc. Especially so when non-core modules are considered, like extragear. Read about one possibility to curb this overhead.
Reviewing by Ascriptions
It is essential for quality that translations are reviewed: for context, terminology, grammar, style, etc. Given text is normally reviewed by persons other than its translator, which prompts the question of how to coordinate and track reviewing. This article presents the ascription system of reviews, building on the summit workflow.