Revision 607305 of "Help:Extension:Translate/zh-hant" on mediawikiwiki

<languages/>[[Image:Translate manual - Translate example - 04. Untranslated.png|thumb|300px|The main special page of the extension, "[[Special:Translate]]", in its most common task, "view all untranslated messages"]]
__NOEDITSECTION__
Thai

The Translate extension is used to translate the user interface of MediaWiki and other software projects at translatewiki.net by hundreds of translators every month. At [http://userbase.kde.org userbase.kde.org] it is used to translate almost a thousand content pages with user documentation. It is easy to start using the Translate extension, but at the same time it also scales up and provides advanced reporting, reviewing and workflow features.

== 功能 ==
[[Image:Translate manual - Translate example - 07. Editor assistant.png|thumb|300px|The translation editor: a message with a tip and suggestion from an assistant language]]

'''Interface:''' The main feature of the Translate extension is a simple yet functional translation interface. Besides the essential information like message definition and documentation, you can also view translations in other languages. If a definition has changed, you will see the changes. The extension comes with some built-in checks, that can help with common mistakes like unbalanced brackets and unused variables. Depending on the configuration, there are also suggestions from translation memory and machine translation services like those of Google Translate, Microsoft's Bing Translator and Apertium.

The usability of the translation dialog is enhanced with JavaScript and AJAX, but editing the messages in a normal page edit window is also supported. All the translation aids are supported in both views. Translation is not even restricted to these interfaces! It is also possible to export messages for translation in other off-line and on-line tools that accept the [[:en:Gettext|Gettext po]] format. In addition, there is a Web API that can be used to build custom interfaces.

'''Message groups and tasks:''' Many of the features are built around two basic concepts: message groups and tasks.

A message group represents a collection of messages. One content page would be one message group, where, in the simplest form, each paragraph would be one message in that group. Messages used in each MediaWiki extension form a message group on translatewiki.net – a few of the largest extensions have multiple groups. You can also make a group of groups, like ''All newsletters'' or ''All Translate extension messages''. Many of the statistics and the tasks work on the message group basis.

The tasks, or in other words different listings of messages in a message group, facilitate different use cases. Normally a translator gets a list of all untranslated messages in a chosen message group, but there are tasks where you can review messages or just get a list of all messages, translated or not.

[[Image:Translate manual - Translate example - 01. LanguageStats long.png|thumb|300px|This special page reports the translation status of each message group]]

'''Reporting and statistics:''' The extension has extensive [[Special:MyLanguage/Help:Extension:Translate/Statistics and reporting|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 <nowiki><languages /></nowiki> tag or have links automatically go to the user's preferred language version (only) when it exists, by using links of the form <nowiki>[[Special:MyLanguage/Pagename]]</nowiki>.

For more information see the tutorial [[Special:MyLanguage/Help:Extension:Translate/Page translation example|How to set up a content page for translation]] and the [[Special:MyLanguage/Help:Extension:Translate/Page_translation_administration|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.

== 例子 ==

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.

=== 翻譯內容 ===
[[Image:Translate manual - Translate example - 10. Outdated clicking.png|thumb|300px|The translation is outdated: outdated parts are highlighted accordingly and translators can reach the messages to update in a single click]]

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 <code>&lt;languages />&lt;translate>..&lt;/translate></code> and follow the links, or follow the tutorial [[Special:MyLanguage/Help:Extension:Translate/Page translation example|How to prepare a page for translation]].

=== Local interface translation in multilingual wikis ===

One thing almost every wiki has customized is the [[Manual:Sidebar|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 <nowiki>{{int:}}</nowiki> magic word. The [[translatewiki:|translatewiki.net]] main page and some Wikimedia Commons templates are good examples of this. The magic word <nowiki>{{int:}}</nowiki> 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 [[Special:MyLanguage/Help:Extension:Translate/Unstructured_element_translation|How to make an interface message group]].

=== 軟件翻譯 ===

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 [[w:.properties|Java properties]], [[w:Gettext|Gettext]] and [[w:YAML|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 [[w:en:Version control system|VCS]] repository checkout, where you can easily commit changes and new files.

==延伸閱讀及教程==

<span class="mw-translate-fuzzy">
'''給譯者及翻譯管理員:'''
</span>

* [[Special:MyLanguage/Help:Extension:Translate/Translation example|How to translate]] [Tutorial]
* [[Special:MyLanguage/Help:Extension:Translate/Translation best practices|Translation best practices]]
* [[Special:MyLanguage/Help:Extension:Translate/Statistics and reporting|Statistics and reporting]]
* [[Special:MyLanguage/Help:Extension:Translate/Quality assurance|Quality assurance]]
* [[Special:MyLanguage/Help:Extension:Translate/Message group states|Message group states]]
* [[Special:MyLanguage/Help:Extension:Translate/Off-line translation|Off-line translation]]
* [In progress] [[Special:MyLanguage/Help:Extension:Translate/Glossary|Glossary]]

<span class="mw-translate-fuzzy">
'''給翻譯管理員:'''
</span>
* [[Special:MyLanguage/Help:Extension:Translate/Page translation example|How to prepare a page for translation]] [Tutorial]
* [[Special:MyLanguage/Help:Extension:Translate/Page translation administration|Page translation administration]]
* [[Special:MyLanguage/Help:Extension:Translate/Unstructured element translation|Interface message groups (localised sidebar, main page and templates)]] [Tutorial] 
* [In progress] [[Special:MyLanguage/Help:Extension:Translate/Group management|Message group management]]
* [Needs updating] [[Special:MyLanguage/Help:Extension:Translate/Group configuration|YAML configuration format]]
* [[Special:MyLanguage/Help:Extension:Translate/Group configuration example|How to write YAML configuration for file based message groups]] [Tutorial]
<span class="mw-translate-fuzzy">
'''開發者用參考資料:'''
</span>
* [[Special:MyLanguage/Help:Extension:Translate/Installation|Installation]]
* [[Special:MyLanguage/Help:Extension:Translate/Configuration|Configuration]]
* [In progress] [[Special:MyLanguage/Help:Extension:Translate/Components|Translate explained for developers]]
** [[Special:MyLanguage/Help:Extension:Translate/Hooks|Hooks]]
** [In progress] [[Special:MyLanguage/Help:Extension:Translate/Message groups|Message groups]]
** [In progress] [[Special:MyLanguage/Help:Extension:Translate/File format support|File format support]]
** [Unwritten] [[Special:MyLanguage/Help:Extension:Translate/API|Web API]]
* [[Special:MyLanguage/Help:Extension:Translate/Translation memories|Translation memories]]
===Related===
* [[Extension:TranslationNotifications#Special_pages|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 [[etherpad:translate-doc]] for specific tasks.

{{Translatable navigation template|Extension-Translate}}

[[Category:Extension:Translate| ]]