Archive:Localization (zh TW)

From KDE TechBase
Revision as of 07:45, 30 January 2010 by Zerng07 (talk | contribs)

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 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.
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.
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.
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.
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 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.