Help:Extension:Translate/Unstructured element translation/cs

This page explains how to make translation of customized wiki interfaces messages a bit more manageable, with the Translate extension. It applies to any part of the wiki which you want to automatically provide in the user's interface language. The most typical example is the sidebar, because there can be only one, but the same method can be used for the main page, if you want to have all translations of it under the same title, or even for templates.

This method is applicable also to wiki content where full page translation just doesn't fit, like pages heavy in markup or templates, the markup of which you don't want to expose to translators. This all revolves around interface messages, or the magic word, that allows you to include interface messages anywhere where you can write wikitext. This magic word allows to automatically substitute the interface message, whether standard, customized or new, in the user interface language.

You can use it to bring the power of the automatic localisation of the wiki's interface to the wiki's content, but it doesn't solve the problem for anonymous users, who cannot change the interface language by default. See the note about the Universal Language Selector extension below.

Compared to page translation, this method has some drawbacks:


 * 1) MediaWiki developers usually discourage the usage of  because it fragments the cache. Instead of storing one cached rendered version of a page, when  is used it needs to be cached potentially in hundreds of different languages.
 * 2) It is harder to setup, requiring access to wiki configuration.
 * 3) There is no automatic tracking of outdated translations and completion statistics might be off when new messages are added or deleted.
 * 4) Only wiki administrators can add messages to the message groups and translate them. This means that the system is suitable only for pages which don't change often, or administrators will have a lot of work.

The good thing is that it works most of the time and you can still get the job done. There are two tutorials that provide examples of the common use cases. Before that there is section which details how to set up a message group, something which is always needed when using this method.

Konfigurace
Tento krok může udělat pouze administrátor serveru kde wiki běží. Do souboru LocalSettings.php musí přidat následující kód: Identifikátor skupiny zpráv,, musí být unikátní, protože nelze jedním identifikátorem identifikovat několik skupin zpráv. Druhý parametr, který se předává konstruktoru, pak bude odkazovat na stránku Mediawiki:Sidebar-messages. Řetězec před pomlčkou pak najdete všude tam, kde se dá zvolit skupina zpráv. Bude pak zobrazen i v popisu na stránce Special:Translate Toto jsou hodnoty, které je třeba upravit, pokud budete chtít do své wiki přidat nějakou další skupinu zpráv.

Postup lokalizace postraního menu
Předpokládejme, že konfigurace byla provedena. V takovém případě se nejprve seznamte s postupy pro uživatelskou úpravu postraního menu na stránce Special:MyLanguage/Manual:Interface/Sidebar. Pro zjednodušení předpokládejme, že jste vytvořili toto velice jednoduché menu: A stránku MediaWiki:Sidebar-commonpages s textem, a MediaWiki:Sidebar-faq obsahující text.
 * sidebar-commonpages
 * FAQ|sidebar-faq

Pak jediné co potřebujete udělat, je že do stránky MediaWiki:Sidebar-messages (jméno se může lišit, pokud jste v konfiguraci použili něco jiného) zapíšete: sidebar-commonpages sidebar-faq Toto jsou textové řetězce, oddělené mezerou, jimiž jsou identifikované systémové zprávy ze jmenného prostoru MediaWiki.

Pak přejdete na stránku Special:Translate/wiki-sidebar (může to být jiná, podle toho, jaký byl v konfiguraci použit identifikátor skupiny zpráv; Seznam definovaných skupin lze zjistit na stránce Special:Translate ) A můžete začít překládat textové zprávy do jiných jazyků. Pokud jsou všechny zprávy ve jmenném prostoru MediaWiki, může zprávy upravovat a jejich seznam rozšiřovat pouze administrátor wiki.

Postup pro lokalizaci hlavní stránky
Dalším ukázkovým příkladem je stránka s velkým počtem formátovacích značek či šablon. Výhodou této metody je, že se jazyk stránky atomaticky zobrazí podle jazykového nastavení uživatelského rozhraní. Problém je pouze to, že jazyk přeložené stránky lze změnit pouze přepnutím jazyka uživatelského rozhraní.

Postup je stejný jako u předchozího postupu:


 * 1) V konfiguraci nastavte skupinu pro nové zprávy.
 * 2) Otevřte si hlavní stránku.
 * 3) Nahraďte každou část kterou chcete přeložit řetězcem  . Původní text přesuňte na stránku MediaWiki:Mainpage-messagename.
 * 4) Potom přejděte na stránku MediaWiki:Mainpage-messages (nebo tu, jakou jste nastavili v konfiguraci) a do ní, oddělen textový řetězec od stávajících oddělený mezerou přidejte.
 * 5) Jste-li hotovi, přejděte na stránku Special:Translate a můžete začít text hlavní stránky překládat.

Zde je příklad. Řekněme, že Main Page obsahuje:  is a community for chefs and bakers that love chocolate. We currently have full of chocolate. Textové řetězce nahraďte: 

A vytvořte stránku MediaWiki:Mainpage-slogan s obsahem: is a community for chefs and bakers that love chocolate. Stránku MediaWiki:Mainpage-pagecount s obsahem: We currently have full of chocolate. A stránku MediaWiki:Mainpage-messages s obsahem: mainpage-slogan mainpage-pagecount A jste hotovi! Kdykoliv můžete přidat nový text, nebo odstranit některý ze stávajících.

Language selector
Not only the user can't choose what localised version of the page to read unless changing their preferences, but anonymous users can't set their user interface language and always use the wiki's default language. A page translated with this system will be in the default content language, if you don't provide anonymous users a way to select their language.

Luckily, there is a solution. With the UniversalLanguageSelector extension it is possible to guess the user's preferred language and also to let the user manually select another language and store the choice in a cookie, with no need of tricks such as the  parameter, which is suitable mostly only for debugging.