Localization (fi)

Revision as of 12:26, 19 October 2009 by Centerlink (Talk | contribs) (Still translating part of text.)

Jump to: navigation, search


Tervetuloa, seikkailija, KDE-ympäristön paikallistamisen universiumiin! Toitko mukanasi runsaan hengitysilman varaston?

Tämä artikkelikooste on tarkoitettu tulemaan KDE:n paikallistamisen keskeiseksi lähteeksi, mutta on vielä kaukana tavoitteesta. Sillä aikaa virallinen dokumentaatiorunko (vaikkakin osittain vanhentunut) on KDE Translation Howto.


Tämä sivu on kaikkien KDE:n paikallistamista koskevien artikkeleiden tynkä. Katetuiksi aiheiksi on tarkoitettu yksityiskohdat, julkaisuneuvot ja sekä uteliaisuuden tyydyttäminen KDE-paikallistamistavoista. Ja se on tarkoitus tehdä "kaikelle yleisölle": vasta vapaan koodin paikallistamisesta kiinnostuneille, kokeneimmille, jotka haluavat tulla mukaan KDE-paikallistamiseen ja veteraani-KDE-paikallistajille, jotka ovat uteliaita uudesta kehityksestä.

Tämän saavuttamiseksi aiheet eivät välttämättä ole järjestetty lineaarisesti. Kun luet oppikirjaa, kirjan esittelystä voi usein löytää tekijän ohjeita siitä kuinka "lukea" kirjaa: mahdollisia yhtenäisiä kappaleketjuja, mikä kappale vaatii ensiksi jonkun toisen kappaleen lukemisen, ja mikä kappale on valinnainen. Joten tässä esitetyissä aiheisssa, äärimmäisyyteen vietynä, on monia tulokohtia ja poistumispisteitä henkilökohtaisesta kiinnostuksesta riippuen.

Tynkäsivusto nykyisin yhdistää kolme kierteistä aiheiden haaraa

Yleisten konseptien selitykset vapaan ohjelmiston paikallistamisessa yleensä ja KDE-paikallistamisessa erityisesti. Yleiset mekanismit ja muodot, kehittyneet tekniset mahdollisuudet, organisaatio- ja viestintäprosessit.
Kuvaukset niistä työkaluista, joista voi olla hyötyä paikallistamisprosessissa, aina komentoriviskripteistä kaikilla ominaisuuksilla varusttuihin graafisiin käyttöliittymäsovelluksiin. Niiden mahdollisista rooleista paikallistamiskonseptien tukemisessa.
Ohjeita ja proseduureja siitä kuinka avustaa KDE-paikallistamisessa sitoutumisen eri tasoilla. Mitä ovat tarvitsee-tietää-konseptit eri skenaarioissa ja mitkä työkalut ovat sopivia niiden suorittamiseen.
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.

Toimittajan kommentti

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.

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.
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.
XML Markup-kieli
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.
Automaattiset paikallistamisapuvälineet
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.
Tilastojen kerääminen ja käyttäminen
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.
Dokumenttien paikallistaminen
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.
Writing Systems Distinctions
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.
Language/Maakohtaisia muotoja
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.
Paikallistamisen ei-tekstiresursseja
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.


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.

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 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-tekstinkäsittelijäohjelmat
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, 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 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.
Sekalaisia skriptejä
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.


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.

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.
Kokenut paikallistaja
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.
Uuden kielen esittely
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.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.