Nápověda:Rozšíření:Translate/Překlad nestrukturovaných elementů

This page is a translated version of the page Help:Extension:Translate/Unstructured element translation and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Lëtzebuergesch • ‎Nederlands • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎lietuvių • ‎polski • ‎português • ‎português do Brasil • ‎čeština • ‎русский • ‎українська • ‎العربية • ‎کوردی • ‎हिन्दी • ‎বাংলা • ‎தமிழ் • ‎中文 • ‎日本語

Tato stránka vysvětluje, jak lze s pomocí rozšíření Translate spravovat překlady textů uživatelsky upraveného rozhraní wiki. Postup lze použít na libovolném místě wiki, u kterého budete chtít nabízet automatický překlad podle zvoleného jazyka uživatelského rozhraní. Typickým místem pro jeho využití je postraní panel, protože ten může být vždy jen jeden, ale stejnou metodu lze použít i k překladu obsahu hlavní stránky, pokud chcete mít všechny překlady jejího textu uloženy pod stejným názvem, nebo u šablon.

Metodu lze použít i k překladu textového obsahu komplikovaných stránek, jako jsou stránky s komplikovaným formátováním nebo šablonami, a vy jimi nechcete moc zatěžovat jejich překladatele. Vše se točí kolem zpráv rozhraní a použití kouzelného slůvka {{int:}} pro systémové zprávy, které můžete použít všude tam, kde lze použít wiki editaci textu. Toto kouzelné slůvko umožňuje automaticky nahrazovat řetězec zprávou, odpovídající zvolenému jazyku rozhraní.

Při správné automatické detekci jazyka rozhraní je to bez problémů, ale neřeší to problém anonymních uživatelů wiki, co nemají možnost změnit jazyk rozhraní. Viz odstavec Volba jazyka uvedený níže

Ve srovnání s běžným překladem stránek má tato metoda několik úskalí:

  1. Vývojáři MediaWiki obvykle nedoporučují používat {{int:}}, jelikož tím dochází k fragmentaci stránky při kešování. Místo jedné vygenerované verze stránky, jich tak může být v keši uloženo i několik set, protože se generují pro každou jazykovou verzi stránky, kde je {{int:}} použito.
  2. Je také komplikovanější nastavení skupiny zpráv, jelikož vyžaduje přístup ke konfiguračnímu souboru wiki na straně serveru.
  3. U zpráv překládaných touto metodou také nelze automaticky sledovat zastarávání překladů a statistika stavu dokončení překladu nezaznamená žádnou změnu, je-li přidaná nová, nebo naopak odstraněna některá stará, zpráva.
  4. Navíc ke zprávám rozhraní může přistupovat pouze uživatel, který je členem oprávněné skupiny. Takže je tato metoda vhodná jen pro stránky, jejichž obsah se moc často nemění, protože jinak s tím bude dost práce.

Pěkné je na tom naopak to, že to funguje a stránka i s neaktuálním překladem vypadá jako by byla hotová. Následující dva uvedené postupy, uvídí obvyklé využití této metody. Předchází jim část věnovaná tomu jak nastavit skupinu zpráv, která je v tomto případě nezbytná, aby bylo možné zprávy rozhraní překládat přes Translate.

Vytvoření skupiny zpráv

Tento krok může udělat jen administrátor serveru kde wiki běží, jelikož následující kód se musí vložit do souboru LocalSettings.php:

$wgHooks['TranslatePostInitGroups'][] = function ( &$list, &$deps, &$autoload ) {
	$id = 'wiki-sidebar';
	$mg = new WikiMessageGroup( $id, 'sidebar-messages' );
	$mg->setLabel( 'Postraní panel' );
	$mg->setDescription( 'Zprávy použité v postraním panelu této wiki.' );
	$list[$id] = $mg;
	return true;
};

Identifikátor této skupiny zpráv, wiki-sidebar, musí být unikátní a neměl by kolidovat z některou již existující zprávou. Druhý parametr sidebar-messages, který se předává konstruktoru WikiMessageGroup, odkazuje na stránku [[MediaWiki:Sidebar-messages]]. Návěští, nastavené přes setLabel se bude zobrazovat v nejrůznějších rozbalovacích nabídkách, a všude tam, kde se dá vybrat skupina zpráv. A popis se bude zobrazovat na stránce Special:Translate. Tak toto jsou hodnoty, které musíte upravit, pokud chcete do své wiki přidat nějakou novou skupinu vlastních zpráv.

Postup lokalizace postraního menu

Předpokládejme, že skupina zpráv byla vytvořena. V takovém případě se nejprve seznamte s postupy pro uživatelskou úpravu postraního menu. Pro zjednodušení předpokládejme, že jste vytvořili toto velice jednoduché menu:

* sidebar-commonpages
** FAQ|sidebar-faq

A dvě stránky ve jmenném prostoru MediaWiki. Stránka [[MediaWiki:Sidebar-commonpages]] obsahuje text Common pages, a stránka [[MediaWiki:Sidebar-faq]] obsahuje text Frequently asked questions.

Jediné co musíte udělat je, že do stránky [[MediaWiki:Sidebar-messages]] (jméno se bude pochopitelně lišit, pokud jste v nastavení skupiny zpráv použili něco jiného) zapíšete:

sidebar-commonpages sidebar-faq

Jak vidíte, jsou to názvy textových řetězců systémových zpráv, ovšem bez prefixu jmenného prostoru "MediaWiki:", oddělené mezerou.

Pak přejdete na stránku [[Special:Translate/wiki-sidebar]] (jméno odpovídá identifikátoru skupiny zpráv, který jste použili v nastavení; jaké máte nakonfigurované skupiny zpráv zjistíte na stránce [[Special:Translate]]) a můžete začít s překladem textových zpráv do jiných jazyků. Pamatujte, že ke zprávám ve jmenném prostoru MediaWiki, má přístup jen ten, kdo má práva skupiny správce rozhraní, nikdo jiný tyto zprávy zakládat, upravovat a překládat nemůže.

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 {{int:Mainpage-messagename}}. 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:

<div style="max-width:20em;font-size:200%;line-height:1.4;text-align:center;color:green">
''{{SITENAME}} je společnost kuchařů a pekařů co milují čokoládu.''
</div>
Aktuálně tu máme {{NUMBEROFPAGES}} stránek plných čokolády.

Nahraďte textové řetězce za:

<div style="max-width:20em;font-size:200%;line-height:1.4;text-align:center;color:green">
''{{int:mainpage-slogan}}''
</div>
{{int:mainpage-pagecount}}

A pak vytvořte stránku [[MediaWiki:Mainpage-slogan]] s následujícím obsahem:

{{SITENAME}} je společnost kuchařů a pekařů co milují čokoládu

A stránku [[MediaWiki:Mainpage-pagecount]] s textem:

Aktuálně tu máme {{NUMBEROFPAGES}} stránek plných čokolády.

A na stránku [[MediaWiki:Mainpage-messages]] přidejte:

mainpage-slogan mainpage-pagecount

A jste hotovi! Kdykoliv můžete přidat text nový text, či změnit, nebo odstranit některý ze stávajících.

Výběr jazyka

Za normálních okolností může měnit jazykové nastavení pouze přihlášený uživatel ve svém profilu, ale anonymní uživatelé jazykové nastavení uživatelského rozhraní měnit nemohou. Přeložené stránky jim tím pádem bude wiki primárně nabízet v jazyce výchozího obsahu, pokud nedáte anonymním uživatelům možnost, zvolit jiný jazyk.

Naštěstí ale existuje řešení. Rozšíření UniversalLanguageSelector , kromě toho že automaticky použije preferovaný jazyk webovéhio prohlížeče uživatele, mu umožňuje také zvolit jazyk jiný a tuto volbu uložit do souboru cookie, bez toho že by bylo nutné použít triku s parametrem uselang v URL, který se hodí hlavně když potřebujete zjistit identifikátor překládaného řetězce.