(Initial revision.) |
m (→Concepts: fixed spelling error) |
||
| (11 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | ||
''Welcome, adventurer, to the universe of KDE localization! Brought along a generous reserve of breathing air?'' | ''Welcome, adventurer, to the universe of KDE localization! Brought along a generous reserve of breathing air?'' | ||
| Line 35: | Line 35: | ||
<!-- write about: use UTF-8, set locale, visible errors --> | <!-- write about: use UTF-8, set locale, visible errors --> | ||
| − | ; [[Localization/Concepts/ | + | ; [[Localization/Concepts/PO_Odyssey|The PO Format]] |
| − | : ''The PO format is the mainstay of free software translation. | + | : ''The PO format is the mainstay of free software translation. Regardless 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.'' |
<!-- write about: dynamic, static, detailed story --> | <!-- write about: dynamic, static, detailed story --> | ||
| Line 78: | Line 78: | ||
: ''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.'' | : ''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.'' | ||
| − | ; [[Localization/Concepts/ | + | ; [[Localization/Concepts/Non_Text_Resources|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.'' | : ''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.'' | ||
<!-- write about: lbundles, ll/data/... structure, out-of-source, in-source --> | <!-- write about: lbundles, ll/data/... structure, out-of-source, in-source --> | ||
| Line 89: | Line 89: | ||
: ''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 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.'' | ||
| − | ; [ | + | ; [http://userbase.kde.org/Lokalize 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] 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.'' |
; [[Localization/Tools/Emacs_and_Vim|Emacs & Vim]] | ; [[Localization/Tools/Emacs_and_Vim|Emacs & Vim]] | ||
| Line 102: | Line 102: | ||
; [[Localization/Tools/Pology|Pology]] | ; [[Localization/Tools/Pology|Pology]] | ||
| − | : ''Pology is a Python- | + | : ''Pology is a Python library and a set of command-line tools for processing PO files. The tools perform various specialized operations on PO files, some of which have explicit support for PO files within the KDE Translation Project. The library is geared towards quick and robust assembly of "field" scripts for processing PO files, in a version-controlled environment.'' |
; [[Localization/Tools/Lbundle_Check|Lbundle Checker]] | ; [[Localization/Tools/Lbundle_Check|Lbundle Checker]] | ||
| Line 137: | Line 137: | ||
: ''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.'' | : ''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.'' | ||
<!-- write about: Scripty the Beast from start to end, script by script; template extraction, desktop files, doc -> POT, logs, i18n code checks --> | <!-- write about: Scripty the Beast from start to end, script by script; template extraction, desktop files, doc -> POT, logs, i18n code checks --> | ||
| + | |||
| + | ; [[Localization/Workflows/PO_Summit|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.'' | ||
| + | |||
| + | ; [[Localization/Workflows/PO_Ascription|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.'' | ||
[[Category:Localization]] | [[Category:Localization]] | ||
Welcome, adventurer, to the universe of KDE localization! Brought along a generous reserve of breathing air?
| Warning |
|---|
| This assembly of articles is intended to become the central source on localization of KDE, but is far from being there yet. In the meantime, the authoritative body of documentation (albeit in parts outdated) is the KDE Translation Howto. |
Contents |
This page is the hub of articles on all things concerning localization of KDE. The topics covered are intended to detail facts, issue advice and satisfy curiosity about KDE localization ways. And to do so for "all audiences": from newly interested in free software localization, over those more experienced seeking to get involved into KDE localization, to veteran KDE translators curious about new developments.
To achieve this aim, the topics are by necessity not structured linearly. When you read a textbook, in the introduction you can frequently find authors' instructions on how to "follow" the book: possible coherent chains of chapters, which chapter is a prerequisite for another, and which optional. So is with the topics presented here, taken to the extreme, with many entry and exit points depending on individual interests.
The hub currently connects three spiralling arms of topics:
| Tip |
|---|
| If you are fresh in the trade, do not feel intimidated by the expanse. Not even crack KDE translators are supposed to be intimately acquainted with, or need all this stuff. Instead, if you are eager to start churning out results, head to the rookie workflow and follow the leads therein. |
It is important to correctly place certain bits of information in the localization universe. The reader should be made aware of what is a local KDE convention, what a special feature of the tool they use, and what a general concept and its embodiment in specific KDE context.
While this is obviously a KDE-focused resource, it is nevertheless useful to provide examples of how some elements are handled outside of KDE. Through contrast and comparison, the reader may better understand the whys and hows of presented material. Likewise, it may help those already familiar with other localization environments.
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.
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.
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.