Localisation/cs


 * O lokalizačním týmu Nadace Wikimedia 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. Obsahuje rady a doporučení, kterých by se měli držet vývojáři. Naše mantra je, že se i18n nemá implementovat 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é nabízí wiki. Pokud se nechcete zaobírat technickými detaily ohledně editace souborů, Git, vydávání záplat a tak podobně, jděte rovnou na translatewiki.net.

Veškeré překlady zpráv uživatelského rozhraní MediaWiki by měly projít skrz 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 o tom vědět. Pokud je rozšíření pro překlad zatím nevhodné, zanechte o tom zprávu v kódu a uvědomte odpovědné osoby, je-li to nutné.

Vizte také 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, který byl zaveden v.

E-mailová konference i18n
K odběru zpráv se můžete přihlásit zde: mediawiki-i18n@. V danou chvíli je provoz nízký.

Struktura kódu
Nejprve máte 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átovací čísla,, atd.).

Objekt je vytvořen ze dvou zdrojů: podkategorie jeho verzí (třídy) a soubory 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. Globály a  můžete použít pro uživatelské rozhraní a jazyk obsahu. Pro libovolný jazyk můžete vytvořit objekt pomocí, nahrazením označení " " kódem jazyka například "cs". (You can get, an object of the class, using 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í čísla, č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 jsou při běžném použití irelevantní.

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. To se liší od například, který pouze extrahuje překladatelné řetězce ze zdrojových souborů. Systém založený na klíči usnadňuje některá řešení, jako jsou rafinace původních textů a sledování změn zpráv. Nevýhodou je samozřejmě to, ž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 i další zprávy, které se již nepoužívají, stále zůstanou na překlad.

Chcete-li, aby klíče zpráv byly lépe ovladatelné a snadno vyhledatelné, také s grifem, vždy je pište úplné a nespoléhejte se na jejich dynamické vytváření. Části klíčů zpráv můžete zřetězit, pokud máte pocit, že je to lepší pro vaší struktuřu, ale umístěte komentář se seznamem možných výsledných klíčů poblíž. Například:

PHP

JS

To use a message in JavaScript, you have to list it in the definition of your ResourceLoader module, in the  property.

Podrobné použití funkcí zpráv v PHP a JavaScript je na. Toto je důležitá stránka dokumentace a měli byste si ji přečíst, 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ý. To zahrnuje jádro MediaWiki a všechna rozšíření a vzhledy.

Držte se malých písmen, číslic a pomlček v názvech zpráv; většina ostatních znaků je nepraktická nebo vůbec nefungují. Podle konvence MediaWiki na prvním znaku nerozlišuje velká a malá písmena a na ostatních znacích velká a malá písmena rozlišuje.

Při pojmenování postupujte podle globálních nebo místních konvencí. 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á dokončuje větu „“, musí začínat na
 * Značky revizí musí začínat.
 * Názvy speciálních stránek musí začínat.

Další informace, které 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í, vazbu 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) Dejte si pauzu a zvažte znění zprávy. Je vám to co nejjasnější? Nepochopili jste? Pokud je to možné, požádejte o připomínky od jiných vývojářů nebo lokalizátorů. Postupujte podle #internacionalizace.
 * 5) Přidat dokumentaci na   ve stejném adresáři. Další informace 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, např. 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
 * (požadováno) sdělte rozšíření použité na, co dělat se zprávami, odesláním opravy, která je uvede podle potřeby (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. Neobtěžujte se s jinými jazyky. Aktualizace od budou toto zpracovávat automaticky.

In addition, check whether the message appears anywhere in translatewiki configuration, for example in the list of optional or most used messages (a simple git grep should be enough). Odstraňte to z těchto seznamů, pokud je to potřeba.

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 nový význam. To 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 budou překlady označeny jako zastaralé, aby na ně mohli překladatelé zacílit. Změna klíče zprávy nevyžaduje rozhovor s týmem i18n ani podání žádosti o podporu. Pokud však máte zvláštní okolnosti nebo otázky, zeptejte se na  nebo na stránka podpory na.
 * 3) Pokud je rozšíření podporováno, změňte prosím pouze anglickou zdrojovou zprávu a / nebo klíč a doprovodnou položku v  . V případě potřeby se tým translatewiki.net postará o aktualizaci překladů, jejich označení jako zastaralých, vyčištění souboru nebo přejmenování klíčů, pokud je to možné. To platí také tehdy, když měníte pouze věci, jako jsou značky HTML, které byste mohli změnit v jiných jazycích, aniž byste těmito jazyky mluvili. Většina z těchto akcí se bude provede za translatewiki.net a dosáhne Gitu přibližně s jedním dnem zpoždění.

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 zakázán na translatewiki.net, takže to musíte udělat sami v Gerritu, nebo zadejte úkol 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:

Pak 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ý prostor (-y) vaší přípony na stránce.

Aliasy speciálních stránek
Aktuální informace naleznete v. Následující se nezdá být platným.

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 reprezentovány,  ,  , … ve (statických) textech zpráv a nahrazeny za běhu. Typické hodnoty parametrů jsou čísla („3“ v „Smazat 3 verze?“) nebo uživatelská jména („Bob“ na „Stránka naposledy editovaná Bobem“), názvy stránek, odkazy atd. Nebo někdy i jiné zprávy. Mohou mít libovolnou složitost.

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

Nejlepe je používat celá slova s magickými slovy PLURAL, GENDER a GRAMMAR. Například  je lepší než. Usnadňuje 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é konstrukce, 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 provedeme přepínače, které jsou analyzovány podle hodnot, které budou známy za běhu. Text statické zprávy pak poskytuje každou z možných voleb v seznamu, před níž je uveden název přepínače a odkaz na hodnotu, která se mění.

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

… na číslech prostřednictvím PLURALu

 * Viz také .

MediaWiki podporuje množné číslo, což vytváří hezčí vzhled produktu. Například:

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

Buďte si vědomi použití PLURALUu 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, i když jsou vždy 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í, srovnatelná 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 nechte jednu zprávu, aby je všechny vzala. Nechte to na překladatelích a PLURALu, aby s nimi řádně zacházeli s případnými rozdíly v prezentaci v jejich příslušných jazycích.

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 když to v angličtině nemá smysl. Syntaxe řídí překladatele.

Jsou podporována zlomková čísla, ale množ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 singulární a množné číslo. Mnoho jazyků má více než dvě formy, které závisí na aktuálním použitém počtu 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. Tedy, když váš kód vypočítá seznam, zahrňte  jako parametr do titulků, náběhů, zápatí a dalších zpráv o seznamu, i když se počet v angličtině nepoužívá. 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, nechte 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, uživatelské jméno by mělo být předáno zprávě jako parametr. Jazyky, které musejí nebo chtějí používat správnou gramatiku závislou na pohlaví, tak mohou udělat. 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 lépe provedeno „informujte uživatele na diskusní stránce “také v angličtině.

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

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

 * Viz také .

K dispozici jsou také gramatické transformace pro aglutinační 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řeba přeložit pouze několik slov, jako je název webu, nemuseli jsme jej uvádět.

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

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

Filtrování speciálních znaků v parametrech a ve zprávách
Dalším (mnohem jednodušším) problémem se substitucí 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í. Tam neudržujeme překlady každé zprávy, ale shromažďujeme anglické věty „o každé zprávě“. Sděluje nám, kde se používá, poskytujeme rady o tom, jak ji překládat, a 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, když upravují 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í přidána dokumentace.

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 být v dokumentaci, 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, když je zpráva viděna v kontextu, ale ne když je zpráva zobrazena samostatně (což je případ, když je přeložena).
 * 7) Případně poznámky o gramatice. Například „otevřený“ v angličtině může být 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 „postižené“, „otevřené“ nebo „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, přizpůsobena kultuře nebo projektu.
 * 10) Zda se zpráva objeví poblíž jiné zprávy, 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 „šablona“, „potlačení“ nebo „výhonek“. (Všimněte si, že je nejlepší se těmto slovům v první řadě vyhnout!)
 * 13) Screenshoty jsou velmi užitečné. Nepoužívat 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 zprávách.

Několik dalších rad:
 * Pamatujte, že překladatelé velmi často překládají zprávy, aniž by skutečně používali software.
 * Překladatelé většinou nemají žádné kontextové informace ani o vašem modulu ani o jiných zprávách v něm.
 * Pouze přeformulovaná zpráva je ve většině případů zbytečná.
 * Nepoužívejte návrhářský žargon jako „nav“ nebo „comps“.
 * Zvažte napsat glosář technických termínů, které se používají ve vašem modulu. Pokud tak učiníte, ze zpráv na to odkažte.

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ém kontextu.

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í a 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á implementace 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 kontra intuitivní, 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 kontextech. Nebojte se o práci navíc pro překladatele. Překladová paměť v nich hodně pomáhá, zatímco si zachovává flexibilitu pro různé překlady v případě potřeby.

Vyhněte se fragmentovaný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é několika částmi textu, třeba s určitým přesměrováním (také nazývaným „řetězové zřetězení“).

Je lepší udělat z každé zprávy úplnou a 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, protože 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 konzistentní, když vývojář softwaru nebo operátor wiki změní zprávy „jméno“ nebo „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, když je změní.

Nepoužívejte termíny a šablony, které jsou specifické pro konkrétní projekty
MediaWiki používají velmi různí lidé v hnutí Wikimedia i mimo něj. Přestože byl původně vytvořen pro encyklopedii, nyní se používá pro různé druhy obsahu. Proto používejte obecné termíny. Vyhněte se například výrazům jako „článek“ a místo toho použijte „stránku“. Pokud si nejste zcela jisti, že vyvíjená funkce bude použita pouze na webu, kde se stránky nazývají „články“. Nepoužívejte „village pump“ (obecné čerpadlo), což je název komunitní stránky anglické Wikipedie. Místo toho použijte obecný pojem, například „komunitní diskusní stránku“.

Nepředpokládejte, že na všech wiki existuje určitá š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 skutečně použít, musíte to jasně dokumentovat v dokumentaci ke zprávě a v pokynech pro instalaci rozšíření.

Oddělené časy od dat ve větách
Některé jazyky musí vložit něco mezi datum a čas. Závisí to na gramatice jiných slov ve větě. Nebudou tedy moci jednoduše kombinovat datum a čas. Jiní mohou považovat kombinaci za vhodnou, proto je obvykle nejlepší volbou poskytnout v těchto případech tři hodnoty parametrů (datum/čas, datum, čas) a v každém překladu ponechte buď první nebo poslední dva nevyužité podle potřeby.

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. ) A 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 s  nutné zkontrolovat ve většině jazyků wiki 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 práci. To vyžaduje nejen více dovedností, ale i více porozumění, než je běžné. Je vhodnější mít obecné odkazy, jako je „tato wiki“. Nezabrání to instalacím lokálně měnit tyto zprávy tak, aby používaly. Ale přinejmenším nemusí hned a mohou odložit přizpůsobení zprávy až do wiki již běžící a používané.

Vyhněte se odkazům na vizuální rozvržení a pozice
Vše co se vykresluje, kde záleží na vzhledu. Nejčastěji jsou pro jazyky psané zprava doleva zrcadlena rozvržení obrazovky jazyků psaných zleva doprava. Ne vždy, ne zcela jen a pro některé jazyky a některé wiki. Ruční zařízení, úzká okna atd. Mohou pod sebou zobrazovat bloky, které by se objevily vedle sebe na větších displejích. Jelikož skripty a gadgety napsané na webu a uživatelské skripty a gadgety JavaScript mohou skrýt části nebo věci měnit nepředvídatelným způsobem, neexistuje spolehlivý způsob, jak zjistit správné 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živatelští agenti, jako jsou čtečky akustických obrazovek a další pomocná zařízení, ani nemají koncepci vizuálního 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 sémantického rozvržení mohou být stále 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í směrovosti 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ší. 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 něco vykresluje, závisí na mnoha faktorech, včetně vzhledů, skriptů a miniaplikacích JavaScriptu napsaných na webu a na uživateli a na přepsání místních agentů uživatelů z důvodu dostupnosti nebo technologických omezení. Nevizuální uživatelští agenti, jako jsou čtečky akustických obrazovek a další pomocná zařízení, ani nemají koncept barev. 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.)

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

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

Angličtina sice umožňuje efektivní využití dotazů ve vstupním poli položka – dvojtečka – prostor –, mnoho jiných jazyků však ne. Dokonce i v angličtině chcete častěji použít „Vzdálenost: ___ metrů“ než „Vzdálenost (v metrech): ___“. Ponecháte-li elementy stranou, měli by jste myslet na každé vstupní pole, které následuje po vzoru „Vzdálenost: ___ metrů“. Tak:


 * vytvořte dvě zprávy, i když je druhá nd první může být v angličtině a některých dalších jazycích prázdná, nebo
 * umožněte vkládatat vstupy pomocí parametrů.

Vyhněte se nepřekládanému značkování HTML ve zprávách
Značky HTML, které nevyžadují překlad, například uzavírání s, pravítka 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 prostému HTML ve zprávách vyhněte, pokud je to možné.

Zprávy 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 tendenci být těsné a krátké. To 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 výzev několik slov nebo dokonce celé věty. Například krátká anglická zpráva „TSV file:“ může být přeložena do jazyka 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 jdeme: _____ (děkuji)" Toto je, samozřejmě, extrémní příklad, ale je to 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 identická slova k označení různých věcí nebo konceptů
Například stránky mohou mít starší revize (určitého data, času a úprav), které obsahují minulé verze dané stránky. Slova reviz a verze lze použít zaměnitelně. Při revizi verzí stránek dochází k potížím a je zmíněna revize, tj. Proces jejich revize. To nemusí představovat vážný problém, pokud mají dvě synonyma revize různé překlady. Na to se však nespoléhejte. Aby se předešlo nesprávnému výkladu, je lepší se potížím vyhnout použitím „revize“ „aka“ „verze“.

Základní slova mohou mít nepředvídané konotace, nebo vůbec neexistují
Existují 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“ 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í na stejné slovo. Kölsch říká „podporovatel a účastník“, protože jakýkoli odkaz na „použití“ by v dialektu příliš silně znamenal „zneužívání“. Termín „wiki farma“ se překládá jako „stabilní plný wikis“, protože farma s jednou plodinou by byla v rozporu s jazykem a nebyla by „pochopena“ atd.

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

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

Není neobvyklé, že správná počítačová jména, názvy značek, „atd.“ v angličtině nejsou přeložena a namísto toho jsou považována za slova výpůjčená nebo cizí slova. V posledně uvedeném případě mohou někteří zvláště nároční překladatelé označit HTML značkami taková slova, že patří do jiného jazyka, například.

Možná budete chtít zvážit, zda obsluha výstupu zpráv projde takovým značením i přes zjevná bezpečnostní rizika.

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

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

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 jsou pro zkušené uživatele počítačů zř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 přejdete myší.

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



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í i když se původní zpráva nepoužívá.

V případě potřeby použijte značky, a
Když mluvíte 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é lokalizovatelných. Některé skripty mají jiné druhy závorek, než má latinský skript. Dvojtečka nemusí být v některých jazycích vhodná po označení nebo 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 kódu.

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

Pokud potřebujete zabalit nějaký text do lokalizovaných závorek, závorek nebo uvozovek, můžete použít závorky   nebo    nebo   (uvozovky)  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“, a jejich umístění vzhledem k textu zprávy může nebo nemusí být obráceno. Ellipsis může být přeložen do „“ atd. “Nebo do slov. Otazníky, vykřičníky, dvojtečky budou umístěny jinak než na konci věty, zobrazí se dvakrát nebo vůbec ne. V důsledku toho vždy zahrňte všechny do textu vašich zpráv a nikdy se je nepokoušejte vkládat programově.

Použijte bodky
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. Vyhni se mu!

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

Použijte 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 „Click here“ 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é Help users predict where they are going (Pomozte uživatelům předvídat, kam směřují) a Navigace do tajemného jádra.

Vyhněte se žargonu a slangu
Vyhněte se žargonu vývojářů a uživatelů ve zprávách. 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 „úspěch“, „úspěšně“, „selhání“, „došlo k chybě“. Vyplývá to z toho, že vývojáři vidí všechno jako pravdivé nebo nepravdivé, ale uživatelé obvykle jen chtějí vědět, co se ve skutečnosti stalo nebo ne, 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 ve vývoji MediaWiki

Zkuste jednu větu nebo podobný blok v jednom řádku. Pomáhá to porovnávat zprávy v různých jazycích a může být použito jako nápověda pro segmentaci 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, kód by se měl 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žít 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á 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)) ve zprávách rozhraní.

Vždy 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í konvence 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 se zprávou. Může 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 děje na translatewiki.net a jiné systémy nejsou doporučovány. Zde je přehled práce na vysoké úrovni pracovního postupu aktualizace lokalizace:


 * 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 git.
 * Wiki pak mohou stahovat aktualizované systémové zprávy z úložiště git.

Projekty Wikimedia a 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: translatewiki:Translating:Localisation for developers.

Překladatelé mohou mít dotazy týkající se některých zpráv, které vytvoříte. Translatewiki.net poskytuje systém žá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á z těchto zdrojů:


 * Jmenný prostor MediaWiki. Umožňuje wiki přijímat nebo potlačovat všechny své zprávy, když 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, když 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 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á 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 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í:

V MediaWiki 1.27.0 a 1.27.1 byla autodetekce změněna tak, aby upřednostňovala backend souboru. V případě, že  (výchozí), je backend souboru 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 backend databáze. Toto bylo vráceno z 1.27.2 a 1.28.0 kvůli konfliktu souborů na sdílených hostitelích a problémech se zabezpečením (viz T127127 a T161453).

Funkce backtrace
Pro lepší vizuální zobrazení úrovní ukládání do mezipaměti je zde funkce backtrace o tom, jaké metody se nazývají 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í mezipaměti zpráv do mezipaměti v, nebo cokoli je nastaveno na
 * Řešení zbývající části sekvence

Poslední odrážka je důležitá. umožňuje MediaWiki ustoupit na jiném jazyce, 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ň deaktivovat.

Lokalizační cache
Viz

LCStore
Třída  je pouze back-end implementace 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ěti (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 GNU General Public License, 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 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. V 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 aktualizují 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 Wikimedia vytvořené v jazyce, který nebyl dlouho aktualizován, vyžadují úplné přepracování rozhraní.
 * 2) Ostatní uživatelé MediaWiki (včetně projektů Wikimedia 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 už není tak velký problém, protože translatewiki.net je propagován prominentně 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. [//toolserver.org/~robin/?tool=cleanuplocalmsgs this tool] tento nástroj pomáhá s čištěním.

Ří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í
 * Nejprve 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, když 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; oddělovače transformace)
 * 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, eg:  Toto jsou písmena, která mohou být přilepena za / před uzavírací / otevírací závorky wiki odkazu, ale na obrazovce jsou zobrazená, 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, a vyhněte se kódům přiřazeným souborům / 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 preferencí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ého prostoru. 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říč geografiemi. 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 podle svých přání ve své konfiguraci.

Formáty času a datumu
Čas a data jsou zobrazeny na zvláštních stránkách. Výchozí formát času a data 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 tohoto 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. Můžeme uvést seznam příkladů pro.

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.

Když je editována stránka wiki a uživatel ji povolil ve své Special:Preferences, se nad textovou oblastí zobrazí sada ikon, kde 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.Je zde 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 [bankovní knihovnu https://github.com/wikimedia/banana-i18n]. Umožňuje vám použít několik kouzelných slov:



Viz též

 * Zdroje
 * translatewiki.net – lokalizační web MediaWiki
 * How to i18n your code - a presentation about i18n, l10n and m17n in general and about doing it in MediaWiki in particular.
 * (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)