Help:Extension:Translate/ko



Translate extension 는 미디어위키 내에서 위키의 번역작업시 필요한 필수적인 기능을 제공하는 확장기능입니다. 이 기능을 통해 페이지를 번역하거나, 위키의 인터페이스 수정, 혹은 translatewiki.net 처럼 다른 소프트웨어의 번역작업에도 사용될 수 있습니다. 번역 확장기능은 번역자가 번역할 내용에 집중할 수 있도록 번역할 내용 원문에서 분리해 냄으로써 쉬운 번역 환경을 제공합니다. 이 기능을 통해 번역되는 글들은 번역할 최소 단위별로 수정이력이 추적되며, 번역자가 위키 전체, 혹은 특정 페이지 내에서 번역할 내용을 쉽게 파악할 수 있도록 도와줍니다.

번역 확장기능은 translatewiki.net 에서 매달 수백명의 번역자로부터 미디어위키의 사용자 인터페이스나 다른 오픈소스 소프트웨어를 번역할때 쓰였고, userbase.kde.org 에서도 거의 천개에 달하는 사용자 문서들을 번역하는데 쓰였습니다. 번역 확장기능으로 번역을 시작하는것은 매우 쉬우며, 교정을 위한 고급 보고기능과 작업흐름 관련 기능을 제공하여 대규모의 번역작업도 쉬워집니다.

기능


인터페이스: 번역 확장기능의 특징은 간단하면서도 기능적인 인터페이스 입니다. 다른언어로 번역된 메세지의 정의나 문서와 같은 필수적인 정보를 함께 볼수 있으며, 만약 정의가 수정되었다면 수정된 내역을 바로 확인할 수도 있고, 확장기능에 포함되어 있는 확인기능을 통해, 괄호의 짝 확인이나 사용되지 않은 변수와 같은 실수를 확인할 수도 있습니다. 설정에 따라 이전 번역 내역을 참고하거나, 구글 번역, 마이크로소프트 Bing 번역, Apertium 과 같은 자동번역 서비스의 번역 제안을 받을 수도 있습니다.

자바스크립트와 AJAX를 이용하여 번역 화면의 사용성을 강화하면서, 일반적인 메시지 편집을 위한 편집창도 지원합니다. 모든 번역은 두개의 시점을 지원하며, 번역은 인터페이스에 구애받지 않습니다. 또한 오프라인/온라인 환경에서 번역하기 위해 Gettext po 포맷으로 메세지들을 추출해낼 수도 있고, Web API를 제공하기 때문에 사용자가 직접 번역환경을 개발할 수도 있습니다.

메세지 그룹과 작업들: 많은 기능들이 '메세지 그룹'과 '일감'이라는 기본적인 개념에 포함됩니다

'메세지 그룹'은 메세지들의 집합을 나타냅니다. 하나의 문서는 '각각의 문단이 각각의 메세지로 구성된 메세지 그룹'일 수 있습니다. 메세지들은 translatewiki.net 에서 각각의 미디어위키 확장기능들의 메세지그룹을 구성하는데 사용됩니다. - 규모가 큰 확장기능의 일부는, 다수의 메세지 그룹이 존재합니다. All newletters 나 'All Translate extension messages 같이 그룹내에 그룹을 생성할 수도 있습니다. 다수의 번역현황이나 일감들이 메세지그룹을 기준으로 동작합니다.

task는 메세지 그룹의 메세지를 다른 형태로 나열해놓은 것을 말합니다. 보통 번역가들은 선택된 메세지 그룹 내에서 아직 번역되지 않은 전체 메세지의 목록을 받지만, 단순히 메세지를 검토하거나, 전체 메세지의 목록을 조회할 수도 있습니다.



Reporting and statistics: The extension has extensive reporting features ranging from a view of untranslated messages across all message groups in a given language to lists of translators per language with their activity level.

Content translation: If you have ever tried to translate content in MediaWiki without any tools, you know it does not scale. The translated versions get out of date and there is no way to track changes to the master page, so there are many half-translated and outdated translations without a clear overview of the overall status. Translators often feel discouraged when they can not work with small manageable pieces of text. Translators don't find what to work on or what needs updating. The users also get confused by outdated information.

This is all solved with the Translate extension and its page translation feature. It adds a bit of overhead to the pages that need translation, but the benefits far outweigh this. Essentially you only need to mark the parts of the page that need translation. The extension then splits such parts into paragraph sized units and creates a message group for them. After that translators can use all the features described above. In addition you can easily add a language bar with the tag or have links automatically go to the user's preferred language version (only) when it exists, by using links of the form Special:MyLanguage/Pagename.

For more information see the tutorial How to set up a content page for translation and the in-depth documentation of the page translation feature.

Developers: The extension comes with built-in support for many common translation file formats, like Java properties and Gettext po files. It has an extensive set of tools, both in-wiki and on the command line, to efficiently import and export translations.

Use cases
You can translate almost anything with the Translate extension. Naturally there are specialized tools for translation of certain kind of texts like video subtitles, that are better done with those tools, but in general Translate performs very well with any kind of text that can be split into messages with length ranging from one word up to one large paragraph. Longer messages become unwieldy to translate and are just harder to work with.

The three primary use cases that the Translate extension supports are content translation, local interface translation and software translation. All of them are covered in the following sections, with links to tutorials and to reference documentation or in-depth topical help where available. Of the three use cases the interface translation has been utilized the least.

Content translation


Most wikis have content they would like to be available in multiple languages. Whether just a few or hundreds of pages, it doesn't matter. In order to prevent wasting translator's time, pages should be marked for translation only when they are reasonably stable. Each change that is made afterwards can affect tens or hundreds of old translations, and the time needed to update them adds up. Especially with volunteer translators, you should be aware of this aspect, and respect the time they spend making translations and updates, avoiding unnecessary work. If you use the Translate extension to translate pages, you are already well on your way to using the translator time available in the most effective and efficient way.

The way the Translate extension splits up a page into paragraph sized units does not leave too much freedom for translators to change the content. This is usually a good thing and is ideal where continuity and consistency of content across languages is desired. It can be worked around, but in principle this way of doing translations is not generally suitable, for example, for Wikipedia articles, which usually are totally independent of each other. Even if they originally start as a translation from a different language, they usually begin living their own independent life from the original version. With Translate, the original page is always the main version, and new content cannot be developed in translated versions.

With these limitations in mind there are still plenty of cases where this feature is a perfect match. Most, if not all, user documentation falls into this category as well as news-like content that does not change once written. If you have the Translate extension already installed and access rights configured, try creating a page and wrapping the whole text inside  and follow the links, or follow the tutorial How to prepare a page for translation.

Local interface translation in multilingual wikis
One thing almost every wiki has customized is the sidebar. It is possible to create a message group for the custom sidebar messages and also for other local interface customisations.

One interesting expansion is the multilingual pages or templates built with the magic word. The translatewiki.net main page and some Wikimedia Commons templates are good examples of this. The magic word is an alternative to the content translation feature and it is more suitable to mark-up heavy pages just like the translatewiki.net main page. Another nice feature is that the language of the page automatically follows the user interface language, so there is no need for a language bar, although you might want to have an interface language selector instead.

Setting this up is currently a bit more complicated than content translation and needs software configuration, but it is all covered in the tutorial How to make an interface message group.

Software translation
The Translate extension is a good fit for translating software interface messages. At translatewiki.net, it is used to translate tens of software products from games to web applications. The Translate extension supports reading and updating translations from and to common formats used in web development including Java properties, Gettext and Yaml files.

Change tracking is also available for externally tracked files, because internally the extension uses a cached derivative version of the localisation files where the source text and its translations are stored, instead of using them directly in their original format. Translation administrators can either use the web interface or a command line interface to check new message definitions and "fuzzy" (request update of) translations when they need updating. This works regardless of the underlying file format or version control system (if any).

With simple command line tools, translation administrators can easily import even a large set of existing translations and with just one command they can export all translations in the correct format and in the correct directory structure. You can export directly to your VCS repository checkout, where you can easily commit changes and new files.

For translators and translation administrators

 * How to translate [Tutorial]
 * Translation best practices
 * Statistics and reporting
 * Quality assurance
 * Message group states
 * Off-line translation
 * [In progress] Glossary

For translation administrators

 * How to prepare a page for translation [Tutorial]
 * Page translation administration
 * Interface message groups (localised sidebar, main page and templates) [Tutorial]
 * [In progress] Message group management
 * [Needs updating] YAML configuration format
 * How to write YAML configuration for file based message groups [Tutorial]

Reference documents for developers

 * Installation
 * Configuration
 * [In progress] Translate explained for developers
 * Hooks
 * [In progress] Message groups
 * [In progress] File format support
 * [Unwritten] Web API
 * Translation memories

Related

 * Translation notifications
 * Localisation/Tutorial: General localisation tutorial for developers, for use at hackathons & trainings
 * Extension:TranslateSvg: Adds support for translating SVG files
 * Universal Language Selector: Provides webfonts and input methods

Todo

 * Implementation on Meta: m:Meta:Translate extension.
 * See translate-doc for specific tasks.