Localisation/cs


 * O lokalizačním týmu nadace Wikimedia Foundation se píše na .
 * Jak se překládají stránky této wiki objasní .

Toto je technický popis internacionalizace a lokalizace (i18n a L10n) MediaWiki (internacionalizace je přizpůsobení produktu pro potenciální použití kdekoliv na světě, zatímco lokalizace je přidání vlastností pro použití v konkrétním místě). Obsahuje rady a doporučení, kterých by se měli vývojáři držet. Naše mantra je, že se i18n nemá vkládat dodatečně: je to klíčová součást, která by měla být součástí vašeho software od samého počátku, neboť patří mezi základní MediaWiki.

translatewiki.net
translatewiki.net podporuje překlady všech zpráv z jádra, rozšíření a témat prostřednictvím překladatelských nástrojů, které wiki nabízí. Pokud se nechcete zaobírat technickými detaily ohledně editace souborů, Git, vydávání záplat a tak podobně, přejděte rovnou na translatewiki.net.

Veškeré překlady zpráv uživatelského rozhraní MediaWiki by měly projít přes translatewiki.net. Neměly by být vkládány přímo do kódu. Ve zdrojovém kódu je vhodné pracovat pouze s anglickými zprávami a jejich dokumentací.

Jádro MediaWiki a jeho rozšíření musí k zobrazování veškerého textu uživatelského rozhraní využívat systémové zprávy. Příklad, jak na to, najdete zde:. Pokud je rozšíření napsáno správně, pravděpodobně se v objeví během několika dní poté, co o něm odpovědné osoby dají vědět na. Pokud si rozšíření nikdo nevšímá, dejte nám, prosím, o tom vědět. Pokud je rozšíření pro překlad zatím nevhodné, zanechte o tom zprávu v kódu a je-li to nutné, uvědomte odpovědné osoby.

Podívejte se také na Přehled lokalizačního systému a Co lze lokalizovat.

Hledání zpráv
demonstruje, jak můžete najít řetězec, který chcete přeložit. Povšimněte si zejména (kód pseudojazyka), který byl zaveden v.

Emailová konference i18n
K odběru zpráv se můžete přihlásit na: mediawiki-i18n@. V danou chvíli je provoz slabý.

Struktura kódu
Nejprve máme jazykový objekt v. Tento objekt obsahuje všechny lokalizovatelné. Obsahuje i další důležitá nastavení specifická pro jazyk a vlastní chování (velká písmena, malá písmena, data tisku, formátování čísel,, atd.).

Objekt je vytvořen ze dvou zdrojů: podkategorií jeho verzí (třídy) a souborů zpráv (zprávy).

K dispozici je také MessageCache class (třída mezipaměti zpráv), který zpracovává zadávání textu prostřednictvím jmenného prostoru MediaWiki. Většina internacionalizace se v současnosti provádí prostřednictvím objektů a pomocí funkce zkratky , která je definována v. Starší kód může stále používat staré funkce, které jsou nyní považovány za zastaralé ve prospěch výše uvedených objektů Message.

Obecné použití (pro vývojáře)
Viz též.

Jazykové objekty
Existují dva způsoby, jak získat jazykový objekt. Všeobecně můžete použít a  pro uživatelské rozhraní a pro jazyk obsahu. Pro libovolný jazyk můžete vytvořit objekt pomocí nahrazením označení   kódem jazyka například "cs". (Můžete získat, předmět třídy , pomocí Dependency Injection.) Můžete také použít  pokud   již může být jazykovým objektem. Seznam kódů je v.

Objekty Language jsou potřebné pro provádění funkcí specifických pro jazyk. Nejčastěji pro formátování čísel, času a data. Ale také pro vytváření seznamů a dalších věcí. Existuje několik způsobů ukládání do mezipaměti a sloučení s, ale podrobnosti nejsou při běžném použití důležité.

Používání zpráv
MediaWiki používá centrální úložiště zpráv, na které jsou v kódu odkazovány klíče. Tím se liší například od u, který pouze vytahuje přeložitelné řetězce ze zdrojových souborů. Systém založený na klíči usnadňuje některá řešení, jako je čištění původních textů a sledování změn zpráv. Nevýhodou samozřejmě je, že seznam použitých zpráv a seznam zdrojových textů pro tyto klíče se mohou synchronizovat. V praxi to není velký problém a jediným významným problémem je, že někdy zprávy, které se již nepoužívají, nadále zůstanou připraveny na překlad.

Pokud chcete, aby klíče zpráv byly lépe ovladatelné a snadno vyhledatelné, i s grepem, vždy je pište úplné a nespoléhejte se na jejich dynamické dotváření. Pokud máte pocit, že je to lepší pro vaší strukturu, můžete části klíčů zpráv zřetězit, ale umístěte někde poblíž komentář se seznamem možných výsledných klíčů. Například:

PHP

JS

Pokud chcete použít zprávu v JavaScriptu, musíte to napsat v definici vašeho modulu ResourceLoader ve vlastnosti.

Podrobné použití funkcí zpráv v PHP a JavaScriptu obsahuje. Toto je důležitá stránka dokumentace a měli byste si ji přečíst dříve než začnete psát kód, který používá zprávy.

Přidávání nových zpráv
Viz též:

Výběr klíče zprávy
Viz též:

Klíč zprávy musí být celosvětově jedinečný. Zahrnuje jádro MediaWiki a všechna rozšíření a zobrazení.

V názvech zpráv používejte malá písmena, číslice a pomlčky. Většina ostatních znaků je nepraktická nebo vůbec nefunguje. Podle dohodnutých pravidel MediaWiki na prvním znaku nerozlišuje velká a malá písmena. Na ostatních znacích velká a malá písmena rozlišuje.

Při pojmenování postupujte podle všeobecných nebo místních dohodnutých pravidel. Pro rozšíření použijte standardní předponu, nejlépe název přípony, někdy následovaný spojovníkem ("-"). Výjimky:


 * Zprávy používané API. Musí začínat,  ,  . Za tuto předponu vložte příponu. (Tyto zprávy by měly být v samostatném souboru, obvykle pod includes/i18/api.)
 * Zprávy související s protokolem. Musí začínat,  ,.
 * Uživatelská práva. Klíč pro jméno práva uvedený na Special:ListGroupRights musí začínat na . Název akce, která končí větou "", musí začínat na.
 * Značky revizí musí začínat.
 * Názvy speciálních stránek musí začínat.

Další informace, kterých byste si měli všimnout při vytváření zpráv

 * 1) Ujistěte se, že pro zprávu používáte vhodné zpracování (analýza,  -nahrazení, vazba na HTML atd.)
 * 2) Pokud je vaše zpráva součástí jádra, měla by být obvykle přidána k  . Ačkoli některé komponenty, jako jsou Installer, EXIF tagy a ApiHelp, mají své vlastní soubory zpráv.
 * 3) Pokud je vaše zpráva s příponou, přidejte ji do souboru   nebo do souboru   v příslušném podadresáři. Zejména zprávy API, které vidí pouze vývojáři, a nikoli většina koncových uživatelů, jsou obvykle v samostatném souboru, například  . Pokud rozšíření obsahuje mnoho zpráv, můžete vytvořit podadresáře pod  . Všechny adresáře zpráv, včetně výchozího , musí být uvedeny v sekci   v   nebo v proměnné.
 * 4) Vždy si dejte pauzu a pečlivě zvažte znění zprávy. Je tato zpráva co nejjasnější? Nepochopili jste zprávu? Pokud je to možné, požádejte o připomínky jiné vývojáře nebo lokalizátory. Postupujte podle #rad k internacionalizaci.
 * 5) Přidejte dokumentaci na   ve stejném adresáři. Další informace jsou ve zprávě k dokumentaci.

Zprávy, které by neměly být překládány

 * 1) Ignorované zprávy jsou ty, které by měly existovat pouze v anglickém souboru zpráv. Jsou to zprávy, které by neměly potřebovat překlad, protože odkazují pouze na jiné zprávy nebo jazykově neutrální funkce, jako například na zprávu „ “.
 * 2) Volitelné zprávy mohou být přeloženy pouze, pokud byly změněny v cílovém jazyce.

Chcete-li takové zprávy nahlásit:


 * (volitelně) použijte šablonu v dokumentaci, to znamená
 * nebo
 * (je požadováno) sdělte rozšíření na, co se dělo se zprávami a to tak, že odešlete opravu s příslušným seznamem (viz také ):
 * pro jádro, v přidejte klíče zpráv
 * pod  nebo
 * pod ;
 * pro rozšíření, do přidejte řádek pod název rozšíření jako
 * or
 * or

Odstraňování existujících zpráv
Odstraňte ji z  a. Nezatěžujte se s jinými jazyky. Aktualizace od vše zpracují automaticky.

Kromě toho zkontrolujte, zda se zpráva také neobjevuje kdekoli v konfiguraci translatewiki, například v seznamu volitelných nebo nejpoužívanějších zpráv (stačit by měl jednoduchý git grep). Pokud je to potřebné, z těchto seznamů ji odstraňte.

Změna existujících zpráv

 * 1) Zvažte aktualizaci dokumentace ke zprávě (viz #Přidávání nových zpráv (#Adding new messages)).
 * 2) Změňte klíč zprávy, pokud staré překlady nejsou vhodné pro její nový význam. Což také zahrnuje změny v zacházení se zprávami (analýza, unikání, parametry atd.). Zlepšení formulace zprávy bez technických změn obvykle není důvodem pro změnu klíče. Na translatewiki.net, aby na ně mohli překladatelé zacílit, budou překlady označeny jako zastaralé. Změna klíče zprávy nevyžaduje rozhovor s týmem i18n ani podání žádosti o podporu. Pokud se však vyskytují zvláštní okolnosti nebo otázky, zeptejte se na  nebo na stránce podpory na.
 * 3) Pokud je rozšíření podporováno, změňte prosím pouze anglickou zdrojovou zprávu anebo klíč a doprovodnou položku v  . V případě potřeby se tým translatewiki.net, pokud je to možné, postará o aktualizaci překladů, jejich označení jako zastaralých, vyčištění souboru nebo přejmenování klíčů. To platí také tehdy, když měníte pouze prvky, jako jsou značky HTML, které byste mohli změnit v jiných jazycích, aniž byste tyto jazyky ovládali. Většina z těchto akcí se bude provede pomocí translatewiki.net a dosáhne Gitu přibližně s jednodenním zpožděním.

Lokalizace jmenných prostorů a aliasy speciálních stránek
a speciální názvy stránek (tj. "RecentChanges" v "Special:RecentChanges") jsou také přeložitelné.

Jmenné prostory


V současné době je překlad jmenného prostoru na translatewiki.net zakázán. Takže jej musíte udělat sami v Gerritu nebo zadejte požadavek na s žádostí, aby to udělal někdo jiný.

Chcete-li povolit překlad vlastních jmenných prostorů zavedených vaším rozšířením, vytvořte soubor, který vypadá takto:

Potom jej načtěte ze souboru  pomocí ExtensionMessagesFiles takto:

Nyní, když uživatel nainstaluje MyExtension na finskou (fi) wiki, bude vlastní jmenný prostor automaticky přeložen do finštiny a uživatel nemusí nic dělat!

Nezapomeňte také zaregistrovat jmenné prostory vašich rozšíření na stránce.

Aliasy speciálních stránek
Aktuální informace naleznete v. Následující nemusí vždy platit.

Vytvořte nový soubor pro aliasy speciálních stránek v tomto formátu:

Pak jej načtěte ze souboru  pomocí ExtensionMessagesFiles takto:

Pokud váš speciální kód stránky používá buď nebo  (ve třídě, která poskytuje Special:MyExtension), použijte, pokud je k dispozici, lokalizovaný alias.

Parametry zprávy
Některé zprávy mají parametry. Jsou zastoupeny,  ,  , … v textech (statických) zpráv a jsou průběžně měněny. Typické hodnoty parametrů jsou čísla ("3" v textu "Smazat 3 verze?") nebo uživatelská jména ("Bob" na "Stránku naposledy editoval Bob"), názvy stránek, odkazy atd. Někdy jsou to i jiné zprávy. Mohou být libovolně složité.

Seznam parametrů definovaných pro každou konkrétní zprávu je umístěn ve speciálním souboru "qqq.json", který je na MediaWiki umístěn ve složce "languages/" - více v dokumentaci.

Nejlépe je používat celá slova s magickými slovy PLURAL, GENDER a GRAMMAR. Například  je lepší než. Usnadňuje se tím vyhledávání.

Přepínače ve zprávách ...

 * Viz také .

Hodnoty parametrů někdy ovlivňují přesná znění nebo gramatické variace ve zprávách. Neusilujeme o nepěkné tvary, jako je "$1 (sub)page(s) of his/her userpage". Jsou pro uživatele špatné a můžeme je udělat lépe. Místo toho vložíme přepínače, které jsou analyzovány podle hodnot, vložených až za běhu. Text statické zprávy pak poskytuje každou z možných voleb v našem seznamu, před níž je uveden název přepínače a odkaz na hodnotu, na kterou se mění.

To se podobá způsobu, který se v MediaWiki nazývá (funkce sparser). K dispozici je několik typů přepínačů. Přepínače pracují pouze tehdy, pokud pro zprávy provádíte úplnou analýzu nebo -transformaci.

… u čísel prostřednictvím PLURALu

 * Viz také .

MediaWiki podporuje množné číslo, což vytváří příjemnější vzhled produktu. Například:

Je-li pro konkrétní číslo uvedeno jednoznačně množné číslo, je možné použít následující syntaxi

Promyslete si použití PLURALu u všech čísel

 * Viz též: Plural

Pokud je třeba do textu zprávy vložit číslo, uvědomte si, že některé jazyky budou muset použít PLURALu, vždy když jsou čísla větší než 1. Důvodem je, že v PLURALu v jiných jazycích než v angličtině jsou velmi odlišná a složitá rozlišení, nesrovnatelná s angličtinou 1st, 2nd, 3rd, 4th, … 11th, 12th, 13th, … 21st, 22nd, 23rd, … atd.

Nepokoušejte se dodávat tři různé zprávy pro případy jako "žádné položky se nepočítají", "jedna položka se počítá", "počítá se více položek". Spíše vytvořte jednu zprávu, která je všechny pojme. Nechte na překladatelích a PLURALu, aby vyhodnotili správné použití s případnými rozdíly v textu podle jejich příslušných jazykových zvyklostí.

Pokud je to možné, vždy uveďte číslo jako parametr. Pokud je to možné, vždy ke zdrojovým zprávám přidejte syntaxi. I v případě kdy to v angličtině nemá smysl. Syntaxe vede překladatele.

Jsou podporována zlomková čísla, ale možná pravidla nemusí být úplná.

Předejte počet položek seznamu jako parametry zprávám o seznamech
Nepředpokládejte, že existuje pouze jednotné a množné číslo. Mnoho jazyků má více než dvě formy, které závisí na aktuálně použitém množství a při vyjádření toho, co je uvedeno v seznamu viditelném pro čtenáře, musí použít gramatiku měnící se podle počtu položek v seznamu. Kdykoli váš kód počítá se seznamem, zahrňte  jako parametr do nadpisů, úvodů, zápatí a dalších zpráv o seznamu i když počet není v angličtině použit. Existuje neutrální způsob, jak mluvit o neviditelných seznamech, takže můžete mít odkazy na seznamy na dalších stránkách, aniž byste museli předem počítat položky.

… o uživatelských jménech prostřednictvím GENDER

 * Viz také .

Pokud se ve zprávě odkazujete na uživatele, předejte do zprávy uživatelské jméno jako parametr a do dokumentace zprávy přidejte zmínku o tom, že je podporováno pohlaví. Pokud je pravděpodobné, že GENDER bude použito v překladech do jazyků s genderovým skloňováním, přidejte je explicitně do zdrojové zprávy v anglickém jazyce.

Pokud přímo oslovujete aktuálně přihlášeného uživatele, ponechejte uživatelské jméno jako parametr prázdné:

Pokud do zprávy zahrnete uživatelské jméno (např. ""), zvažte nejprve jeho předání prostřednictvím, abyste zajistili, že znaky jako   nebo   nebudou interpretovány.

Uživatelé mají gramatická pohlaví

 * Viz též Gender

Když zpráva hovoří o uživateli nebo se týká uživatele nebo oslovuje uživatele přímo, mělo by být uživatelské jméno předáno zprávě jako parametr. Jazyky, které musejí nebo chtějí používat správnou gramatiku závislou na pohlaví, tak mohou učinit. To by mělo být provedeno, i když se uživatelské jméno nemá ve zprávě zobrazovat, například v "informujte uživatele na své diskusní stránce", což je vhodnější než "informujte uživatele na diskusní stránce " také v angličtině.

To neznamená, že jste vyzýváni, abyste "sexizovali" jazyk zpráv: používejte rodově neutrální jazyk, kdykoli je to jen možné s jasností a přesností.

… o použití souvislostí uvnitř vět pomocí GRAMMAR

 * Viz také .

K dispozici jsou také správné překlady pro sdružené jazyky. Například pro finštinu, kde bylo naprosto nutné učinit jazykové soubory nezávislými na webu, tj. odebrat odkazy z Wikipedie. Ve finštině se "about Wikipedia" stává "Tietoja Wikipediasta" a "you can upload it to Wikipedia" se stává "Voit tallentaa tiedoston Wikipediaan". Přípony se přidávají v závislosti na tom, jak se slovo používá spolu s drobnými úpravami základu. Existuje dlouhý seznam výjimek, ale protože bylo potřebně přeložit pouze několik slov, jako je název webu, nemuseli jsme jej uvádět.

MediaWiki má správné překladové funkce pro více než 20 jazyků. Některé z nich jsou pouze slovníky pro názvy webů Wikimedie. Jiné mají jednoduché algoritmy, které ale ve všech nejběžnějších případech selžou.

Ještě předtím, než MediaWiki provedla volný mluvnický překlad, měla pro názvy měsíců nominativní (v prvním pádu) nebo genitivní (pádové) rozlišení. Toto rozlišení je u některých jazyků nutné, pokud chcete ve větách nahradit názvy měsíců.

Filtrování speciálních znaků v parametrech a ve zprávách
Dalším (mnohem jednodušším) problémem s nahrazování parametrů je únik HTML. Přestože je MediaWiki mnohem jednodušší, dělá to docela špatně.

Dokumentace zprávy
Pro dokumentaci zpráv se používá pseudojazykový kód. Je to jeden z kódů standardu ISO 639, vyhrazený pro speciální použití. Neudržuje překlady každé zprávy, ale shromažďuje anglický popis "o každé zprávě". Sděluje nám, kde se používá, poskytuje rady o tom, jak ji překládat, vyjmenovávat a popisovat její parametry, odkaz na související zprávy a tak dále. V translatewiki.net se tyto rady zobrazují překladatelům při úpravách zprávy.

Programátoři musí dokumentovat každou zprávu. Dokumentace zpráv je nezbytným zdrojem - nejen pro překladatele, ale také pro všechny správce modulu. Kdykoli je do softwaru přidána zpráva, musí být také přidána odpovídající položka. Revize, které tak neučiní, jsou označeny " ", dokud není dokumentace přidána.

Dokumentace v souborech  by měla být upravována přímo pouze při přidávání nových zpráv nebo při změně existující anglické zprávy způsobem, který vyžaduje změnu dokumentace. Například přidání nebo odebrání parametrů. V ostatních případech by dokumentace měla být obvykle editována na translatewiki. Každý řetězec dokumentace je přístupný na https://translatewiki.net/wiki/MediaWiki: klíč zprávy /qqq, jako by to byl překlad. Tyto úpravy budou exportovány do zdrojových úložišť spolu s překlady.

Mezi užitečné informace, které by měly v dokumentaci být, patří:


 * 1) Zpracování zpráv (analýza, unikání, prostý text).
 * 2) Typ parametrů s příklady hodnot.
 * 3) Kde je zpráva použita (stránky, umístění v uživatelském rozhraní).
 * 4) Jak se zpráva používá tam, kde je použita (název stránky, text tlačítka, atd.).
 * 5) Jaké další zprávy se používají společně s touto zprávou nebo na které další zprávy se tato zpráva odkazuje.
 * 6) Cokoli jiného, co by mohlo být pochopeno, pokud je zpráva viděna v souvislostech, ale ne, když je zpráva zobrazena samostatně (což je případ, jejího samostatného přeložení).
 * 7) Případné poznámky k gramatice. Například "open" (otevřený) může být v angličtině jak sloveso, tak přídavné jméno. V mnoha jiných jazycích jsou slova odlišná a nelze odhadnout, jak je překládat bez dokumentace.
 * 8) Přídavná jména, která popisují věci, jako jsou "disabled" (zakázané), "open" (otevřené) nebo "blocked" (blokované), musí vždy říkat, co popisují. V mnoha jazycích musí mít přídavná jména pohlaví podstatného jména, které popisují. Může se také stát, že různé druhy věcí potřebují různá přídavná jména.
 * 9) Má-li zpráva zvláštní vlastnosti, například pokud se jedná o název stránky nebo pokud by neměla být přímým překladem, ale přizpůsobena kultuře nebo projektu.
 * 10) Zda se zpráva objeví v jiné zprávě, například v seznamu nebo nabídce. Znění nebo gramatické vlastnosti slov by pravděpodobně měly být podobné zprávám v okolí. Položky v seznamu mohou také souviset s nadpisem seznamu.
 * 11) Části zprávy, které nesmí být přeloženy, jako jsou obecný název oboru názvů, adresy URL nebo značky.
 * 12) Vysvětlení potenciálně nejasných slov, například zkratek, jako je "CTA", nebo konkrétního žargonu, jako je "template" (šablona), "suppress" (zakázat) nebo "stub" (pahýl). (Všimněte si, že nejlepší je, se v první řadě těmto slovům vyhnout!)
 * 13) Snímky obrazovky jsou velmi užitečné. Nepoužívejte oříznutí - obrázek celé obrazovky, ve kterém se zpráva objeví, poskytuje úplný kontext a může být znovu použit v několika dalších zprávách.

Několik dalších rad:
 * Pamatujte si, že překladatelé velmi často překládají zprávy, aniž by skutečně někdy software používali.
 * Překladatelé většinou nemají žádné informace o souvislostech, ani o vašem modulu, ani o jiných v něm uvedených zprávách.
 * Pouze přeformulovaná zpráva je ve většině případů zbytečná.
 * Nepoužívejte návrhářský žargon jako "nav" nebo "comps".
 * Uvažujte o napsání glosáře technických termínů, které používáte ve vašem modulu. Pokud tak učiníte, uveďte na něj odkaz ve zprávách.

Na jiné zprávy můžete odkazovat pomocí. Udělejte to, pokud části zpráv pocházejí z jiných zpráv (pokud tomu nelze zabránit) nebo pokud jsou některé zprávy zobrazeny společně nebo ve stejných souvislostech.

translatewiki.net poskytuje některé výchozí šablony dokumentace:
 * pro  zprávy
 * pro  zprávy
 * pro zprávy kolem skupin uživatelů (, ,  ,   a  )
 * pro  messages

Pro více informací se podívejte na stránky šablon.

Rady k internacionalizaci
Kromě dokumentace překladatelé žádají, abyste zvážili některé rady pro ulehčení jejich práce. Aby mohla být efektivnější a umožnila skutečnou a dobrou lokalizaci pro všechny jazyky. I když pouze přidáváte nebo upravujete zprávy v angličtině, měli byste si být vědomi potřeb všech jazyků. Každá zpráva je přeložena do více než 300 jazyků. Zprávy zpracujte co nejlepším možným způsobem. Správné využití těchto rad vám také často pomůže psát lepší zprávy v angličtině.

Hlavní místa, kde můžete najít pomoc zkušených a informovaných lidí ohledně i18n:


 * stránka podpory pro translatewiki.net]].
 * kanál IRC.

Prosím, zeptejte se tam!

Správně používejte parametry zprávy a přepínače
Je to předpoklad správného znění vašich zpráv.

Vyhněte se opětovnému použití zprávy
Překladatelé odrazují od opakovaného použití zprávy. To se může zdát proti veškerému očekávání, protože kopírování a duplikace kódů je obvykle špatný postup, ale u systémových zpráv je to často nutné. Ačkoli mohou být dva pojmy v angličtině vyjádřeny stejným slovem, nemusí to nutně znamenat, že mohou být vyjádřeny stejným slovem v každém jazyce. "OK" je dobrým příkladem: v angličtině se používá pro označení obecných tlačítek, ale v některých jazycích upřednostňují použití označení tlačítek souvisejících s operací, která bude tlačítkem prováděna. Dalším příkladem je prakticky jakékoli přídavné jméno: slovo jako "multiple" (vícenásobně) v mnoha jazycích se mění podle pohlaví. Nelze jej znovu použít v jedné zprávě k popisu několika různých věcí. Musíte vytvořit několik samostatných zpráv.

Pokud přidáváte více identických zpráv, přidejte prosím dokumentaci k popisu rozdílů v jejich souvislostech. Nebojte se, že překladatelům přiděláte práci navíc. Překladová paměť u nich hodně pomáhá, zatímco si zachovávají v případě potřeby přizpůsobivost pro různé překlady.

Vyhněte se roztříštěným nebo 'patchworkovým' (slátaninám) zprávám
Jazyky mají různé pořadí slov a složitá gramatická a syntaktická pravidla. Je velmi obtížné překládat "lego" zprávy, tj. zprávy tvořenými několika částmi textu, třeba s určitým přesměrováním (také nazývanými "řetězově zřetězenými").

Je lépe udělat z každé zprávy úplnou, ale jednoduchou frázi. V případě potřeby lze snadněji do textového bloku zkombinovat několik vět. Pokud chcete zkombinovat několik řetězců do jedné zprávy, předejte je jako parametry. Překladatelé je mohou při překladu správně uspořádat podle svého jazyka.

Vzájemně citované zprávy
Výjimkou z tohoto pravidla mohou být vzájemně citované zprávy: 'Do pole označeného " " zadejte jméno původního autora a klikněte na "  " pro pokračování'. Díky tomu bude zpráva v souladu pokud vývojář softwaru nebo operátor wiki změní "name" (jméno) zprávy nebo "proceed" (pokračovat) později. Bez int-hacku by si vývojáři a operátoři museli být vědomi všech souvisejících zpráv, které vyžadují úpravu v okamžiku, kdy zprávu změní.

Nepoužívejte podmínky a šablony, které jsou specifické pro konkrétní projekty
MediaWiki používají velmi různí lidé z hnutí Wikimedia i mimo něj. Přestože byl původně vytvořen pro encyklopedii, používá se nyní i pro jiné wiki s různým obsahem. Z těchto důvodů používejte obecné termíny. Například: Pokud si nejste zcela jisti, že vyvíjená funkce nebude použita pouze na webu, kde se stránky nazývají "articles" (články), vyhněte se výrazům jako je "article" a místo toho použijte "page" (stránka). Nepoužívejte "village pump" (vesnická pumpa), což je název komunitní stránky anglické Wikipedie. Místo toho použijte obecný pojem, například "komunitní diskusní stránka" (community discussion page).

Nepředpokládejte, že na všech wiki existuje stejná šablona. Šablony jsou pro wiki lokální. Platí to jak pro zdrojové zprávy, tak i pro jejich překlady. Zprávy používající šablony budou fungovat pouze pokud je šablona na každé wiki, kde je tato funkce implementována. Nejlepší je vyhnout se použití šablon ve zprávách úplně. Pokud je musíte opravdu použít, musíte to jasně popsat v dokumentaci ke zprávě a v pokynech pro instalaci rozšíření.

Oddělení časů od dat ve větách
Některé jazyky musí něco vložit mezi datum a čas. Závisí to na gramatice jiných slov ve větě. Nemohou tedy jednoduše kombinovat datum a čas. Jiné jazyky mohou považovat kombinaci za vhodnou. Proto je obvykle nejlepší v těchto případech pomocí volby poskytnout tři hodnoty parametrů (datum/čas, datum, čas). V každém překladu bude podle potřeby použit jeden z nich.

Vyhněte se ve zprávách
má několik nevýhod. Může to být cokoli (zkratka, slovo, krátká fráze atd.). V závislosti na jazyce může vyžadovat použití  při každém výskytu. Bez ohledu na to bude každou zprávu se  nutné ve většině jazyků wiki zkontrolovat pro každou novou wiki, na které je nainstalován váš kód. Ve většině případů, kdy pro jazyk neexistuje obecná konfigurace, budou muset operátoři wiki přidat nebo změnit PHP kód tak, aby získali   pro. To vyžaduje nejen více dovedností, ale i více znalostí, než je běžné. Je proto vhodnější požívat obecné odkazy, jako je "tato wiki". Nezabrání to při instalaci lokálně měnit tyto zprávy tak, aby používaly. Ale přinejmenším nemusí to být hned a mohou odložit přizpůsobení zprávy až do již běžící a používané wiki.

Vyhněte se odkazům na vizuální rozvržení a pozice
Vše co se zobrazuje, kde záleží na vzhledu. Nejčastěji jsou pro jazyky psané zprava doleva zrcadlena rozvržení obrazovky jazyků psaných opačně zleva doprava. Ne vždy, ne zcela a jen pro některé jazyky a některé wiki. Příruční zařízení, úzká okna atd., mohou pod sebou zobrazovat bloky, které by se objevily vedle sebe na větších displejích. Vzhledem k tomu, že skripty a miniaplikace JavaScriptu psané webem a uživatelem mohou a také buou skrývat části nebo přesouvat věci nepředvídatelným způsobem, neexistuje žádný spolehlivý způsob, jak zjistit skutečné rozvržení.

Není správné spojit informace o rozvržení s jazykem obsahu. Jazyk uživatelského rozhraní nemusí být jazykem obsahu stránky a rozvržení může být směsí obou, v závislosti na okolnostech. Nevizuální uživatelská zařízení, jako jsou čtečky akustických obrazovek a další pomocné prvky, ani nemají koncepci pro vizuální uspořádání. Ve většině případů by jste tedy neměli odkazovat na pozice vizuálního rozvržení, ačkoli výrazy významového rozvržení mohou stále být použity ("předchozí kroky ve formuláři", atd.).

MediaWiki nepodporuje zobrazování různých zpráv nebo fragmentů zpráv na základě aktuálního směrování rozhraní (viz T30997).

Nový prohlížeč a podpora MediaWiki pro psaní ve východním a severoasijském písmu shora dolů způsobí, že rozvržení obrazovky bude ještě nepředvídatelnější. Existuje nejméně osm možných rozvržení (levá/pravá počáteční poloha, horní/dolní počáteční poloha a to, co se stane nejdříve).

Vyhněte se odkazům na barvy obrazovky
Barva, ve které se cokoli zobrazuje, závisí na mnoha faktorech, včetně zobrazení, skriptech a miniaplikacích JavaScriptu napsaných na webu a na uživateli a na přepsání místních zástupců uživatelů z důvodu dostupnosti nebo technologických omezení. Nevizuální uživatelská zařízení, jako jsou čtečky akustických obrazovek a další pomocné prvky, ani nemají koncept pro barvy. Proto by jste neměli odkazovat na barvy obrazovky. (Ze stejného důvodu by jste se také neměli spoléhat na barvu jako na mechanismus informování uživatele o stavu.)

Zadávejte prvky zprávy před a za každým vstupním polem

 * Toto je doporučení, které se dosud při vývoji MediaWiki nestalo standardem

Angličtina sice umožňuje efektivní využití dotazů ve vstupním poli item–colon–space–input-field (položka–dvojtečka–mezera–vstupní pole), ale mnoho jiných jazyků však ne. Dokonce i v angličtině raději používáme "vzdálenost: ___ metrů" než "vzdálenost (v metrech): ___". Ponecháte-li elementy stranou, měli by jste myslet nad každým vstupním polem, které následuje po vzoru "Vzdálenost: ___ metrů". Proto:


 * vytvořte dvě zprávy, i když ta druhá nd bude v angličtině a některých dalších jazycích prázdná nebo
 * umožněte vkládat vstupy pomocí parametrů.

Vyhněte se nepřekládaným značkám HTML ve zprávách
Značky HTML, které nevyžadují překlad, například uzavírání, čáry nad nebo pod a podobně, by obvykle neměly být součástí zpráv. Zbytečně zatěžují překladatele, zvětšují velikost souboru zpráv a představují riziko náhodného pozměnění nebo přeskočení v procesu překladu. Obecně se, pokud je to možné, prostému značek HTML ve zprávách vyhněte.

Obsah jsou často delší, než si myslíte!
Při překládání souborů zpráv v cizím jazyce nenajdete téměř nikdy zprávy kratší než ty čínské, zřídkakdy kratší než ty anglické, ale nejčastěji mnohem delší než anglické.

Zejména ve formátu, před vstupními poli, mají anglické zprávy sklon být stručné a krátké. Což se často v překladech neuchovává. Obzvláště skutečně netechnické jazyky třetího světa, lidové, středověké nebo starověké jazyky vyžadují k vysvětlení cizích nebo technických názvů několik slov nebo dokonce celé věty. Například krátká anglická zpráva "TSV file:" může být do jazyka přeložena doslovně: "Sem zadejte název, který označuje soubor počítačových dat, který se skládá z postupně uspořádané řady psaných řádků, které jsou samy uspořádány jako série informačních polí, kde jsou uvedená pole informací ohraničena a hranice mezi nimi jsou jednoduché znaky toho druhu, který posouvá vozík psacího stroje dopředu na další předem definovanou pozici. Tady jsme: _____ (děkuji)" Toto je, samozřejmě, extrémní příklad, ale je to jen pro názornost. Představte si tuto větu ve sloupci ve formě, kde každé slovo zabírá vlastní linii a vstupní pole je vertikálně vystředěno v dalším sloupci. :-(

Nepoužívejte velmi blízká, podobná nebo stejná slova k označení různých věcí nebo pojetí
Například stránky mohou mít starší revize (určitého data, času a úprav), které obsahují minulé verze dané stránky. Slova revize a verze lze použít zaměnitelně. Problém nastává při kombinaci revize stránek s verzemi a je zmíněna také revize, tj. proces jejich revize. To nemusí představovat vážný problém, pokud mají obě synonyma "revize" různé překlady. Na to se však nespoléhejte. Aby se předešlo nesprávnému výkladu, je lépe se potížím vyhnout použitím "revize" aka  (též známé jako) "verze".

Základní slova mohou mít nepředvídatelný jazykový význam nebo vůbec neexistují
Jsou slova, která se obtížně překládají kvůli jejich velmi specifickému použití v MediaWiki. Některá se vůbec nepřekládají. Například v několika jazycích neexistuje slovo "uživatel" (user) týkající se "někoho, kdo něco používá". Podobně se v kolínském dialiktu (Kölsch) anglická slova "namespace" a "apartment" překládají jako stejné slovo. Kölsch také říká "corroborator and participant" (podporovatel a účastník), protože jakýkoli odkaz na "use" (použití) by v dialektu příliš silně znamenal "abuse" (zneužívání). Termín "wiki farma" se překládá jako "stable full of wikis" (stabilní plná wiki), protože farma s jednou plodinou by byla v rozporu s jazykem a nebyla by pochopena atd..

Očekávejte nepřekládatelná slova

 * Toto je doporučení, které se dosud při vývoji MediaWiki nestalo standardem

Není neobvyklé, že vlastní jména, názvy značek, atd. v angličtině nejsou překládána a namísto toho jsou považována za slova přejatá nebo cizí. V posledně uvedeném případě mohou někteří zvláště nároční překladatelé taková slova, označit HTML značkami, jakože patří do jiného jazyka, například.

Možná budete chtít zvážit, zda váš obslužný program výstupu zpráv předá takové značení navzdory zjevným bezpečnostním rizikům.

Povolte vysvětlující vložené značení

 * Toto je doporučení, které se dosud při vývoji MediaWiki nestalo standardem

V cílových jazycích jsou někdy zkratky, technické termíny nebo obecně dvojznačná slova, která nemusí nováčci okamžitě pochopit, ale pro zkušené uživatele počítačů jsou samozřejmé. Aby se předešlo nepřehlednému zobrazení dlouhých vysvětlení, aniž by nováčci ztratili souvislost, mohou se překladatelé rozhodnout přidat vysvětlení jako anotaci, kterou prohlížeče zobrazují, když na ni najdete kurzorem.

Například základní zpráva MediaWiki  o rotaci obrazu, která je v angličtině jednoduše " ", je v marocké arabštině přeložena jako:



a poskytuje:


 * mḍwwer 90° ĜĜS

v případě potřeby vysvětlení zkratky pro "proti směru hodinových ručiček".

Možná budete chtít zvážit, zda obsluha výstupu vaší zprávy předá takové značení spolu s originálním i když se původní zpráva nepoužívá.

V případě potřeby používejte značky, a
Když je řeč o technických parametrech, hodnotách nebo klávesových vstupech, označíte je jako takové pomocí značek HTML, nebo. Jsou tedy typograficky započteny v běžném textu. To čtenářům objasňuje jejich smysl, vyhýbá se zmatkům, chybám a nesprávným vyjádřením. Zajistěte, aby obsluha zpráv takové značení povolila.

Symboly, dvojtečky, závorky, atd. jsou součástí zpráv
Mnoho symbolů je také místně určujících. Některé skripty mají jiné druhy závorek, než používá latinský skript. Dvojtečka nemusí být v některých jazycích vhodná pro označení nebo k výzvě k zadání. Zahrnutí těchto symbolů do zpráv pomáhá vytvářet lepší a méně anglocentrické překlady a také snižuje nepořádek v kódu.

Například existují různé konvence uvozovek používané v «norštině», »švédštině», »dánštině«, „němčině“ a v 「japonštině」.

Pokud potřebujete zabalit nějaký text do lokalizovaných kulatých závorek, hranatých závorek nebo uvozovek, můžete použít závorky   nebo    nebo    zprávy jako:

Nečekejte, že symboly a interpunkce přežijí překlad
Jazyky psané zprava doleva (na rozdíl od angličtiny) obvykle zaměňují symboly šipek, které jsou prezentovány s odkazy "next" a "previous". Jejich umístění vzhledem k textu zprávy může nebo nemusí být obráceno. Ellipsis (výpustka) může být přeložen jako "atd." nebo do slov. Otazníky, vykřičníky, dvojtečky pokud budou umístěny jinak než na konci věty, se zobrazí buď dvakrát a nebo vůbec ne. V důsledku toho vždy zahrňte všechny poctivě do textu vašich zpráv a nikdy se je nepokoušejte vkládat pomocí programu.

Používejte tečku
Pisatel ukončuje normální věty tečkami. To je často jediný ukazatel, kdy překladatel ví, že se nejedná o titulky nebo položky seznamu. Což může být nutné přeložit odlišně.

Wikitext odkazů
Spojovací kotvy lze do zpráv vkládat několika způsoby:


 * 1) přes wikitext: …   …,
 * 2) přes wikitext: …  … nebo
 * 3) kotvený text je zpráva v oboru názvů MediaWiki. Tomuto způsobu se vyhni!

S překladateli je často obtížné nebo nemožné se domlouvat. Také proto se vyhněte roztříštěným nebo 'zmatečným' zprávám. Ujistěte se, že " " neobsahuje mezery.

Používejte smysluplné odkazové kotvy
Dávejte pozor na jejich znění. Spojovací kotvy hrají důležitou roli při hodnocení stránek ve vyhledávačích - jak propojená slova, tak cílová kotva. Ujistěte se, že kotva dobře popisuje cílovou stránku. Vždy se vyhýbejte běžným a obecným slovům. Například "Zde klikni" je absolutně bezvýznamná kotva,, protože cílové stránky nejsou téměř nikdy "o kliknutí". Nezadávejte kotvu ani do vět kolem odkazů, protože "zde" není místo, na které by bylo možné kliknout. Místo toho použijte přesná akční slova, která sdělí, k čemu se uživatel dostane, když následuje odkaz, například "Můžete, pokud si budete přát, aktualizovat soubor."

Viz také Pomozte uživatelům předvídat, kam směřují a Navigace do tajemného jádra a Hlavní důvody, proč bychom neměli používat 'klikněte zde' jako text odkazu.

Vyhněte se žargonu a slangu
Ve zprávách se vyhněte žargonu vývojářů a uživatelů. Kdykoli je to možné, pokuste se použít co nejjednodušší jazyk. Pokud chcete uživateli oznámit, že se něco stalo nebo nestalo, vyhněte se slovům "success" (úspěch), "successfully" (úspěšně), "fail" (selhání), "error occurred while" (došlo k chybě) atd. Vyplývá to z pohledu vývojářů, že vše vidí jako pravdivé nebo nepravdivé, ale uživatelé obvykle chtějí jen vědět, co se vlastně stalo nebo nestalo a co by s tím měli dělat (pokud vůbec). Tak:


 * "Soubor byl úspěšně přejmenován" -> "Soubor byl přejmenován"
 * "Přejmenování souboru se nezdařilo" -> "Soubor s tímto názvem již existuje. Vyberte jiné jméno."

Jedna věta na řádek

 * Toto je doporučené vodítko, které se dosud nestalo standardem při vývoji MediaWiki

Zkuste jednu větu nebo podobný blok pouze na jednom řádku. Pomáhá to porovnávat zprávy v různých jazycích a může to být použito jako nápověda pro členění a zarovnání v překladových pamětech.

Buďte si vědomi zalomení mezer a řádků
Lokalizované zprávy MediaWiki se obvykle upravují v rámci wiki. Buď pomocí operací wiki na live wiki nebo překladateli na translatewiki.net. Měli byste si být vědomi toho, jak mezery, zejména na začátku nebo na konci vaší zprávy, ovlivní editory:


 * Spaces and line breaks (new lines) at the end of the message are always automatically removed by the wikitext editor. Your message must not end with a space or line break, as it will be lost when it's edited on the wiki.
 * Spaces and line breaks at the beginning are not automatically removed, but they are likely to be removed by accident during editing, and should be avoided.

Spusťte a ukončete svou zprávu aktivním textem. Pokud potřebujete nový řádek nebo zalomení odstavce, měl by se kód zadávat přidáním do textu.

There are some messages which require a space at the end, such as 'word-separator' (which consists of just a space character in most languages). To support such use cases, the following HTML entities are allowed in messages and transformed to the actual characters, even if the message otherwise doesn't allow wikitext or HTML formatting:


 * – space
 * or  – non-breaking space
 * – soft hyphen

On a related note, any other syntax elements affected by pre-save transforms also must not be used in messages, as they will be transformed when the message is edited on the wiki.

Používejte standardní velká písmena
Velká písmena poskytují překladatelům informace o tom, co překládají, jako jsou jednotlivá slova, položky seznamu nebo nabídky, fráze nebo celé věty. Při hodnocení vašich stránek ve vyhledávačích můžou hrát roli také správná (standardní) velká písmena. MediaWiki používá ve zprávách rozhraní ukázkovou větu (The quick brown fox jumps over the lazy dog (Rychlá hnědá liška přeskočí přes líného psa)).

Vždy si pamatujte, že mnoho systémů psaní nemá velká písmena a některé systémy je používají odlišně od angličtiny. Nepoužívejte proto ALL-CAPS pro zdůraznění. Použijte CSS, nebo HTML nebo  podle následujícího:

Důraz
V normálním textu by zdůraznění, jako například tučné nebo kurzíva a podobné, měly být součástí textů zpráv. Místní úmluvy o důrazu se často liší, zejména některé asijské skripty mají své vlastní. Překladatelé musí být schopni přizpůsobit důraz na své cílové jazyky a oblasti. Zkuste ve svém uživatelském rozhraní použít "" a "" a povolit zvýraznění na základě jazyka nebo skriptu.

V moderních způsobech zobrazení anglických a evropských stylů je důraz využíván méně. Sdělte to ve své dokumentaci ke zprávě. Můžete tak poskytnout cenné rady při překládání. Důraz může a měl by být použit v případě potřeby v jiných kulturních kontextech za předpokladu, že o tom budou překladatelé vědět.

Aktualizace lokalizace
Jak je uvedeno výše, překlad se provádí na translatewiki.net a jiné systémy nejsou doporučovány. Zde je přehled činnosti při aktualizaci lokalizace na vysoké úrovni zpracování:


 * Vývojáři.
 * Uživatelé překládají nové nebo změněné systémové zprávy na translatewiki.net.
 * Automatické nástroje exportují tyto zprávy, vytvářejí nové verze souborů zpráv, které obsahují přidané nebo aktualizované zprávy, pro jádro i rozšíření, a váží je ke gitu.
 * Wiki mohou pak stahovat aktualizované systémové zprávy z úložiště gitu.

Projekty Wikimedie i jakékoli jiné wiki mohou okamžitě a automaticky profitovat z lokalizačních prací díky rozšíření (Rozšíření: Aktualizace lokalizace). Porovnává nejnovější anglické zprávy s anglickými zprávami ve vývoji. Pokud nejsou stejné, produkční překlady jsou aktualizovány a zpřístupněny uživatelům.

Jakmile jsou překlady v systému pro správu verzí, má nadace Wikimedia Foundation každodenní úkol: aktualizovat úložiště nebo klon úložiště rozšíření. Toto bylo poprvé zavedeno v září 2009.

Protože změny na translatewiki.net jsou denně zasílány do kódu, znamená to, že každá změna zprávy může být, za pár dní bez jakéhokoli ručního zásahu nebo traumatické aktualizace kódu, potenciálně aplikována na všechny stávající instalace MediaWiki.

Jak vidíte, jedná se o proces s několika kroky. Postupem času jsme zjistili, že se může mnoho věcí pokazit. Pokud se domníváte, že je proces přerušen, nezapomeňte to nahlásit na naší ohlašovací stránce nebo vytvořit novou chybu na Phabricator. Vždy nezapomeňte popsat přesné pozorování.

Vyřizování žádostí o podporu

 * Hlavní stránka: Lokalizace pro vývojáře.

Překladatelé mohou mít dotazy týkající se některých zpráv, které vytvoříte. Translatewiki.net poskytuje systém pro žádost o podporu, který umožňuje překladatelům zeptat se vás, vlastníka projektu, na otázky týkající se zpráv, aby je bylo možné lépe přeložit. Tento krátký seminář (tutoriál) vás provede pracovním postupem zpracování požadavků na podporu translatewiki.net.

Zdroje zpráv
Kód vyhledává z těchto zdrojů:


 * Jmenný prostor MediaWiki. Umožňuje wiki přijímat nebo potlačovat všechny své zprávy, pokud se standardní zprávy nehodí nebo nejsou žádoucí (viz starý místní překladový systém).
 * MediaWiki:Message-key je výchozí zpráva,
 * MediaWiki:Message-key/language-code je zpráva, která se použije, pokud uživatel vybere jiný jazyk, než je výchozí jazyk wiki.
 * Ze souborů zpráv:
 * Jádro MediaWiki samotné a nejvíce aktuálně udržovaná rozšíření používají soubor v jazyce s názvem, kde zyx je kód jazyka pro daný jazyk.
 * Některá starší rozšíření používají kombinovaný soubor zpráv obsahující všechny zprávy ve všech jazycích, obvykle s názvem.
 * Mnoho wiki nadace Wikimedia Foundation přistupuje k některým zprávám z rozšíření, což jim umožňuje standardizovat zprávy napříč wiki WMF, aniž by je ukládaly při každé instalaci MediaWiki.
 * Několik rozšíření používá i jiné techniky.

Mezipaměť
Systémové zprávy jsou jednou z nejvýznamnějších součástí MediaWiki. Především proto, že se používají v každém webovém požadavku. Soubory zpráv PHP jsou velké, protože ukládají tisíce klíčů a hodnot zpráv. Načtení tohoto souboru (a případně více souborů, pokud se jazyk uživatele liší od jazyka obsahu) vyžaduje velkou paměť a nároky na výkon. Pro snížení tohoto dopadu na výkon se používá agresivní vrstvený systém ukládání do mezipaměti.

MediaWiki obsahuje mnoho mechanismů ukládání do mezipaměti, díky nimž je kód poněkud obtížnější pochopit. Od verze 1.16 existuje nový systém ukládání do mezipaměti, který ukládá zprávy do mezipaměti buď do souborů. nebo do databáze. Přizpůsobené zprávy jsou ukládány do mezipaměti v souborovém systému a v (nebo alternativě), v závislosti na konfiguraci.

Níže uvedená tabulka uvádí přehled příslušných nastavení:

Ve verzi MediaWiki 1.27.0 a 1.27.1 byla autodetekce změněna tak, aby upřednostňovala back-end (vzdálený) soubor. V případě, že  (výchozí), je back-end soubor použit s cestou z. Pokud tato hodnota není nastavena (což je výchozí hodnota), použije se dočasný adresář určený operačním systémem. Nelze-li zjistit dočasný adresář, použije se jako záložní zdroj back-end databáze. Toto bylo vráceno kvůli konfliktu souborů na sdílených hostitelích a problémech se zabezpečením od verze 1.27.2 a 1.28.0 (viz T127127 a T161453).

Funkce backtrace (zpět)
Pro lepší vizuální zobrazení vrstev ukládání do mezipaměti je zde funkce zpětného sledování toho, jaké metody jsou volány při načítání zprávy. Vysvětlení jednotlivých úrovní viz níže.



Mezipaměť zpráv
Třída  je nejvyšší úroveň ukládání zpráv do mezipaměti. Volá se ze třídy Message a vrací konečný hrubý obsah zprávy. Tato úroveň zpracovává následující logiku:


 * Kontrola přepisování zpráv v databázi
 * Ukládání zpráv do mezipaměti příliš velkých zpráv nebo čehokoli co je nastaveno na
 * Řešení zbývající části sekvence (language fallback)

Poslední odrážka je důležitá. umožňuje MediaWiki ustoupit na jiný jazyk, pokud originál neobsahuje zprávu, o kterou se žádá. Jak je uvedeno v následující části, k většině jazykových nouzových rozlišení dochází na nižší úrovni. Pouze úroveň  v databázi kontroluje přepsané zprávy. Zde se provádí integrace přepsaných zpráv z databáze do záložního řetězce. Pokud databázi nepoužíváte, lze celou úroveň vypnout.

Lokalizační vyrovnávací paměť
Podívejte se na.

LCStore
Třída  je pouze back-end provedení používané třídou LocalisationCache pro skutečné ukládání do mezipaměti a načítání zpráv. Stejně jako třída, která se používá pro obecné ukládání do mezipaměti v MediaWiki, existuje řada různých typů mezipamětí (konfigurovaných pomocí ):
 * "db" (výchozí) - ukládá zprávy do databáze
 * "file" (výchozí, pokud je nastaven ) - používá CDB k ukládání zpráv do mezipaměti v místním souboru
 * "accel" - k ukládání dat se používá APC nebo jiná mezipaměť operačního kódu

Možnost "file" je používána nadací Wikimedia Foundation. Je doporučována, protože je rychlejší než přechod do databáze a spolehlivější než mezipaměť APC. Zejména proto, že APC je nekompatibilní s PHP verze 5.5 nebo novější.

Licence
Jakékoli úpravy provedené v jazyce musí být licencovány podle podmínek obecné veřejné licence GNU, které mají být zahrnuty do softwaru MediaWiki. Další rozšíření mohou podléhat různým jiným licencím.

Starý místní překladový systém
S verzí MediaWiki 1.3.0 byl vytvořen nový systém pro lokalizaci MediaWiki. Místo úpravy jazykového souboru a žádání vývojářů, aby použili změnu, mohli uživatelé upravovat řetězce rozhraní přímo z jejich wiki. Tento systém se používá od srpna 2005. Lidé najdou zprávu, kterou chtějí přeložit. Ve Special:AllMessages upraví příslušný řetězec v oboru názvů. Po úpravě jsou tyto změny aktivní. Již není třeba žádat o aktualizaci a čekat, až vývojáři zkontrolují a zaktualizují soubor.

Systém je skvělý pro projekty Wikipedie. Vedlejším účinkem je však to, že jazykové soubory MediaWiki dodávané se softwarem již nejsou zcela aktuální a pro vývojáře je těžší udržovat soubory na meta v synchronizaci se soubory skutečných jazyků.

Protože výchozí jazykové soubory neposkytují dostatek přeloženého materiálu, čelíme dvěma problémům:


 * 1) Nové projekty Wikimedie vytvořené v jazyce, který nebyl dlouho aktualizován, vyžadují úplné přepracování rozhraní.
 * 2) Ostatní uživatelé MediaWiki (včetně projektů Wikimedie ve stejném jazyce) zůstávají s nepřekládanými rozhraními. To je obzvláště nešťastné pro menší jazyky, které nemají mnoho překladatelů.

Toto v současné době již není tak velký problém, protože translatewiki.net je propagován výsadně a používají ho téměř všechny překlady. Místní překlady se někdy odehrávají, ale jsou silně odrazovány. Místní zprávy musí být většinou smazány, přesouvat příslušné překlady do translatewiki.net a ponechat na wiki pouze přizpůsobení specifické pro daný web. Existuje obrovské množství nevyřízených položek, zejména ve starších projektech. S čištěním pomáhá nástroj [//toolserver.org/~robin/?tool=cleanuplocalmsgs this tool].

Řízení centralizovaných a synchronizovaných zpráv
Anglické zprávy jsou velmi zřídka synchronizovány s kódem. Zkušenost ukázala, že je vhodné mít všechny anglické zprávy na jednom místě. Revizi anglického textu lze provést bez odkazu na kód, stejně jako překlad. Programátoři někdy dělají velmi špatný výběr výchozího textu.

Co lze lokalizovat
Na MediaWiki lze lokalizovat tolik věcí, že ne všechny jsou přímo k dispozici na translatewiki.net: viz translatewiki:Translating:MediaWiki. Pokud něco vyžaduje zásah vývojáře do kódu, můžete nahlásit chybu na Phabrikeru nebo když nevíte přesně co dělat, zeptat se na Support (podpora).


 * Jmenné prostory (jádro i rozšíření, plus gender - závislé uživatelské jmenné prostory)
 * Pracovní dny (a zkratky)
 * Měsíce (a zkratky)
 * Knihkupectví pro zdroje lieratury
 * Názvy zobrazení
 * Matematické názvy
 * (pro kompatibilitu se starými databázemi MediaWiki)
 * Přepis výchozích možností uživatele
 * Názvy jazyků
 * Názvy zemí (přes )
 * Měny (přes )
 * Časová pásma
 * Převod kódování znaků pomocí
 * První horní malé písmeno (pro některé je potřeba kasemapy)
 * Horní malá písmena
 * Velká písmena
 * Zlomky velkých písmen
 * Skládání případu
 * Interpunkční znaménka pro vyhledávání MySQL (optimalizace vyhledávání)
 * Získání prvního znaku
 * Alternativní kódování
 * Překódování pro editaci (a pak kódování vstupu)
 * Získání prvního znaku
 * Alternativní kódování
 * Překódování pro editaci (a pak kódování vstupu)




 * Příbuzné jazyky (tj. další víceméně příbuzné jazyky, které se mají použít, pokud překlad není k dispozici. Místo výchozího záložního jazyka, kterým je angličtina)
 * Směrování (zleva doprava nebo zprava doleva, RTL)
 * Směrová značka v závislosti na RTL
 * Šipka v závislosti na RTL
 * Jazyky, kde nelze použít kurzívu
 * Formátování čísel (čárkami, tj. přidávání nebo nečíslování oddělovačů; transformace číslic; transformace oddělovačů).
 * Zkrácení (vícebajt)
 * Gramatické převody pro skloňující jazyky
 * Plurální transformace
 * Formátování časů vypršení platnosti
 * Segmentace rozdílů (čínština)
 * Převod na varianty jazyka (mezi různými pravopisy nebo skripty)
 * Možnosti uživatelských preferencí pro konkrétní jazyk
 * a předpona odkazu, např.: . Toto jsou písmena, která mohou být přilepena za nebo před uzavírací nebo otevírací závorky wiki odkazu, ale na obrazovce jsou zobrazena, jako by byla součástí odkazu (tj. kliknutí a ve stejné barvě). Ve výchozím nastavení je odkazová trasa "a-z". Možná budete chtít přidat do seznamu zvýrazněná nebo ne latinská písmena použitá vaším jazykem.
 * Kód jazyka (nejlépe používaný podle nejnovějších RFC ve standardu BCP 47, v současné době, s přidruženou databází IANA. Vyhněte se zastaralým, starým a soukromým kódům: Podívejte se na to, co znamenají v normě ISO 639. Vyhněte se kódům přiřazeným souborům nebo rodinám jazyků v normě ISO 639-5 a kódům ISO 639, které nebyly importovány do databáze IANA pro BCP 47)
 * Typ zvýraznění
 * Přípona obsahuje speciální soubor stránky pro každý jazyk,   pro kód jazyka.

Úhledná funkčnost:


 * I18N
 * Římské číselné formátování

Aliasy jmen jmenného prostoru
Aliasy jmen jmenného prostoru jsou další názvy, které lze použít k adresování existujících jmenných prostorů. Jsou zřídka potřebné. Obvykle způsobují zmatek ve stávajících wiki.

Aliasy jmen jmenného prostoru potřebujete:


 * 1) Pokud má jazyk pravopisné varianty jmenných prostorů a vy chcete, aby editoři některé tyto varianty mohli používat. Varianty jsou volitelné v uživatelských zvýhodněních. Uživatelé vždy vidí svou vybranou variantu. S výjimkou wikitextu. Při úpravách nebo vyhledávání lze použít libovolnou variantu.
 * 2) Když se změní existující jazyk wiki, ustupující jazyk(y) nebo lokalizace, změní se některé názvy jmenných prostorů. Aby nedošlo k přerušení odkazů již existujících na wiki, které používají staré názvy jmenných prostorů, je třeba při jejich změně nebo změně názvu přidat každé ze změněných předchozích jmen jmenného prostoru do jeho aliasu jmenného prostoru jmen.

Obecná anglická jména oboru názvů jsou ve všech lokalizacích vždy uvedena jako aliasy jmen jmenného prostoru, takže je nemusíte přidávat a neměli byste je přidávat.

Aliasy nelze překládat na translatewiki.net, ale lze si je tam vyžádat nebo na bugzilla: viz aliasy jmenných prostorů.

Regionální nastavení
Některá jazyková nastavení se liší napříč územím. MediaWiki nemá koncept regionu. Má pouze jazyky a jazykové varianty.

Tato nastavení je třeba jednou nastavit jako výchozí jazyk. Později je jednotlivá wiki mohou změnit ve své konfiguraci podle svých přání.

Formáty času a datumu
Čas a data jsou zobrazeny na zvláštních stránkách. Výchozí formát času a datumu se používá pro podpisy, takže by měl být nejpoužívanějším a nejrozšířenějším formátem pro uživatele daného jazyka. Výchozí formát se zobrazí také anonymním uživatelům. Registrovaní uživatelé si mohou ve svých preferencích zvolit jiné formáty.

Pokud jste obeznámeni s formátem time v PHP, můžete se pokusit vytvořit formáty sami. MediaWiki používá podobný formátovací řetězec s některými dalšími funkcemi. Pokud nerozumíte předchozí větě, je to v pořádku. Pro můžeme uvést seznam příkladů.

Stará tlačítka panelu nástrojů pro úpravy okna

 * Nesmí být zaměňován s mnohem běžnějším  "pokročilým panelem nástrojů", který má podobné funkce.

Pokud je editována stránka wiki a uživatel ji povolil ve své Special:Preferences, zobrazí se nad textovou oblastí sada ikon, pomocí kterých lze editovat. Tlačítka panelu nástrojů lze nastavit, ale nejsou k dispozici žádné zprávy. Potřebujeme sadu souborů  o správné velikosti. Mnoho vzorků lze nalézt v commons:Category:ButtonToolbar. Zde je obrázek prázdného tlačítka od kterého lze začít.

Chybí
'''Chybí část o změnách v systému i18n souvisejících s rozšířeními. Formát byl standardizován a zprávy se automaticky načítají.'''

Viz Zdroje zpráv.

Internacionalizace externích nástrojů
Pro usnadnění internalizace a lokalizace externích nástrojů, jako jsou například nástroje umístěné v, můžete použít banánovou knihovnu (Banana library). Umožňuje vám použít několik kouzelných slov:



Související odkazy

 * Zdroje
 * translatewiki.net – lokalizační web MediaWiki
 * How to i18n your code presentation - PDF slides about i18n, l10n and m17n in general and about doing it in MediaWiki in particular. (2012)
 * (overview) and (how to use messages, for developers)
 * Statistiky a problémy
 * MediaWiki bug reports for Internationalisation
 * Jiné
 * How to start a new Wikipedia? Translate the interface
 * - installation and configuration of a small wiki-family (for administrators)
 * Do’s and Don’ts in software development before product localization – 12 brief points
 * Debian's Introduction to i18n
 * Unicode Technical Reports (also specifications by topic)
 * - installation and configuration of a small wiki-family (for administrators)
 * Do’s and Don’ts in software development before product localization – 12 brief points
 * Debian's Introduction to i18n
 * Unicode Technical Reports (also specifications by topic)
 * Unicode Technical Reports (also specifications by topic)