Globální šablony/Navrhovaná specifikace
Toto je návrh funkčních požadavků na globální šablony a moduly.
Můžete si také přečíst jednostránkovou verzi tohoto návrhu .
Toto není projekt, který je prováděn nebo plánován k provedení kýmkoli v jakémkoli definovaném okamžiku, alespoň zatím. Toto je jen nápad, i když velmi podrobný.
Konečným cílem je vytvořit závazek mezi týmy a projekty na implementaci těchto věcí, se správnou architekturou, produktovým a projektovým řízením, zapojením komunity atd.
Tento dokument se nesnaží zacházet do detailů technické implementace z hlediska ukládání, ukládání do mezipaměti, doručování, návrhu kódu PHP atd. Snaží se pouze definovat požadavky, jak bude tato funkce fungovat z pohledu uživatelů:
- Lidé, kteří vytvářejí a udržují šablony a moduly.
- Lidé, kteří vytvářejí a upravují stránky, které obsahují šablony a moduly. To zahrnuje všechny editory a všechny druhy stránek:
- Všechny úrovně zkušeností: Od těch, kteří jsou úplně noví, až po ty, kteří provedli tisíce úprav
- Všechny druhy nástrojů pro úpravy: úpravy syntaxe wiki, vizuální editor, překlad obsahu a další (dokonce i operátoři botů)
- Všechny wikiny: Wikipedie, Wikislovník, Wikivoyage, Wikidata, Inkubátor atd. a jakékoli nové budoucí projekty
- Všechny jazyky: angličtina, francouzština, ruská, španělština, arménština, perština, zuluština, manipuriština atd.
- Všechny druhy stránek: články na Wikipedii, diskusní stránky k článkům, diskusní stránky uživatelů, diskusní stránky komunity, stránky WikiProjektu, kategorie, stránky dokumentace šablon atd. {{🌎🌍🌏}}
Rozsah výtahu
Velká část funkčnosti stránek Wikimedia je implementována v šablonách a modulech Lua. V jejich současné podobě je nelze sdílet na různých wikinách a jazycích. Z tohoto důvodu je obtížné je integrovat s moderními způsoby vytváření a úprav článků, jako je Visual Editor, Wikidata a Content Translation. Také se obtížně přizpůsobují mobilním zařízením. To způsobuje plýtvání úsilím přispěvatelů a potíže pro nové editory a menší projekty. Musí být možné je sdílet na wiki stránkách, podobně jako obrázky Commons. Díky tomu bude vývoj softwaru rychlejší a robustnější a také to umožní editorům více se soustředit na psaní. {{🌎🌍🌏}}
Problém
Obecný komentář: Pokud není uvedeno jinak, všechny odkazy na "šablony" platí také pro Scribunto moduly Lua.
Šablony implementují funkce stránek Wikimedie. Některé z těchto funkcí jsou velmi výrazné, zejména infoboxy, reference, "potřeba citace" a mnoho dalších. Podrobnější seznam funkcí implementovaných pomocí šablon naleznete v části Taxonomie . Všichni čtenáři je vidí a všichni redaktoři na ně narážejí téměř při každé editační akci. Kromě toho implementují mnoho funkcí vnitřní správy komunity stránek: Žádosti o smazání, žádosti o odblokování, vyjádření podpory v diskuzích, třídění článků pro WikiProjekty atd.
Šablony poskytují účinný mechanismus pro rychlý návrh, nasazení a použití opakujících se částí textu a značek na mnoha stránkách. Šablony však mají také několik akutních problémů s použitelností pro všechny druhy editorů.
Potíže pro všechny editory na všech wikinách
Editory syntaxe wiki
Šablony jsou pro editory v syntaxi wiki často obtížně srozumitelné. Lidé, kteří mají zkušenosti s používáním konkrétní šablony, ji pravděpodobně identifikují a budou schopni upravit stránku, která ji obsahuje. Redaktoři, kteří tuto šablonu neznají, však budou muset vyhledat její dokumentaci, když se s ní setkají, i když mají obecně zkušenosti s úpravami a jinými šablonami. A redaktoři, kteří mají nízké zkušenosti, budou zmateni záhadným textem se složenými závorkami, svislými znaky, rovnítkem atd.
Použití funkce, která je implementována jako šablona, vyžaduje znát název šablony a napsat jej do složených závorek ({{}}) nebo jej zkopírovat z jiné stránky. To není zřejmé novým uživatelům a zkušení uživatelé se také musí naučit každou novou šablonu zvlášť.
Některé wikiny mají miniaplikace, které přidávají tlačítka vkládající šablony, které jsou běžné v daném projektu, do panelu nástrojů pro úpravy. Ty se na každé wiki liší, i když mnoho šablon má podobnou funkcionalitu napříč projekty a jazyky.
Uživatelé vizuálního editoru
Uživatelé VisualEditoru mají určité výhody s používáním šablon, ale také s nimi existuje mnoho problémů. Konkrétně se jedná o podobný problém s dohledatelností: Ve Visual Editoru jsou všechny funkce šablon skryty za položkou nabídky "Vložit → Šablona" a uživatel musí znát název šablony, než ji použije.
Nabídka "Vložit" vizuálního editoru obsahuje položky pro matematické vzorce, egyptské hieroglyfy, hudební partitury a některé další funkce, které jsou implementovány jako rozšíření, ale neobsahuje položky jako "Infobox", "Potřeba citace", "Převod jednotek" , "Citace" atd. Všechny šablony jsou stejným druhem obecné položky.
Existuje jedna významná výjimka: Některé wiki mají tlačítko "Citace", které vkládá poznámky pod čarou s referenčními šablonami. Jde však o výjimku potvrzující pravidlo. Vyžaduje manuální konfiguraci i pro základní funkčnost, tato konfigurace je na každé wiki samostatná a v důsledku toho mnoho wikin toto tlačítko vůbec nemá. Další srovnatelnou výjimkou, která byla přidána na konci roku 2019, je speciální podpora pro šablony "Potřebné citace", ale to také vyžaduje určitou vlastní konfiguraci na každé wiki, aby skutečně fungovala.
Potíže pro editory, kteří píší do více než jednoho projektu
Mnoho šablon existuje v jednom projektu, ale ne v jiných, a často je šablona k dispozici, ale v jiné podobě. Z tohoto důvodu je obtížné nebo nemožné znovu použít dovednosti získané v jednom projektu: Funkce, které šablona poskytuje, jsou někdy nedostupné a někdy fungují jinak. To platí nejen pro wikin v různých jazycích, ale také pro různé wikiny ve stejném jazyce, například anglickou Wikipedii a anglický Wikisource.
Pro lidi, kteří upravují v různých jazycích, šablony ztěžují překlad. Při překladu stránky je manipulace se šablonami mnohem těžší než s textem článku ("próza"), ať už se překlad provádí ručně nebo pomocí Překladu obsahu. Uživatelé často musí šablonu přeskočit nebo ji po zveřejnění článku opravit. To také způsobuje opuštění probíhajících překladů, protože překlad šablony vypadá děsivě.
Nejčastěji hlášené problémy v Překladu obsahu se týkají šablon.
Překlad obsahu má funkci přizpůsobení šablony, která automatizuje některé části tohoto procesu, ale funguje pouze v případě, že odpovídající šablona existuje v obou jazycích a pokud byly všechny parametry pečlivě zmapovány správci šablon. To je nutné provést pro každou šablonu v každém jazyce samostatně a ručně a průběžně udržovat, když se zdrojová šablona změní. K tomu dochází, i když je funkce šablon napříč jazyky po většinu času stejná.
V ideálním případě by se šablony a jejich parametry měly přenášet na přeloženou stránku téměř zcela automaticky, aby se překladatelé mohli soustředit na psaní prózy, neboť právě psaní prózy je oblastí, kde je lidská práce nejvíce potřeba.
Šablonu lze exportovat z jedné wiki do druhé, ale jakmile to uděláte, šablona se stane rozvětvenou kopií. Buď zůstane ve stavu, ve kterém byl exportován, nebo pokračuje ve vývoji samostatně, což způsobuje nekompatibilitu. Někdy lidé udržují různé kopie, ale to není robustní a nemůže se škálovat pro stovky wikin, které máme.
Parametry šablony mohou mít stejnou funkčnost, ale různé názvy na různých wikinách. Mohou být přizpůsobeny pomocí aliasů TemplateData, ale toto je neoptimální hack: Není to to, pro co bylo TemplateData původně vytvořeno, a musí se to provést ručně pro každý jazykový pár.
Šablony kombinují algoritmickou logiku, lidsky čitelné textové řetězce a formátování. Z tohoto důvodu neexistuje žádný robustní způsob, jak přeložit řetězce uživatelského rozhraní šablon, jak se to dělá s jádrem MediaWiki a rozšířeními.
Potíže pro editory v menších wikinách
Nový projekt wiki je vytvořen instalací jádra MediaWiki a povolením výchozí sady rozšíření. V praxi to nevytváří rovné podmínky, protože mnoho klíčových funkcí větších wiki je implementováno v šablonách: infoboxy, citace, poznámky k údržbě (například {{Bez odkazu}}) atd.
Potíže pro vývojáře softwaru
Pro vývojáře jádra MediaWiki, rozšíření, robotů a dalších nástrojů, které analyzují, generují nebo upravují obsah stránky wiki, je obtížné vytvářet funkce závislé na přítomnosti určitých šablon ve wiki. Vývojáři rozšíření, jako jsou GrowthExperiments, PageTriage, ContentTranslation, některé součásti Wikibase a mnoho dalších, je musí buď otestovat v produkci, což je špatný nápad, nebo importovat šablony na své místní wikiny nebo na online testovací wiki.
Výzkumníci, kteří získávají data o obsahu wiki na základě šablon, musí napsat svůj analytický kód pro každou wiki zvlášť a někdy to skončí pouze pro jednu wiki. Pozoruhodným příkladem je použití šablon WikiProject z anglické Wikipedie k analýze témat stránek a posouzení kvality článků. {{🌎🌍🌏}}
Předpoklady
Rozšíření vs šablony: Podobnosti a rozdíly
Jedním z hlavních předpokladů tohoto návrhu projektu je, že šablony a moduly jsou velmi podobné jádru MediaWiki a rozšířením: Jedná se o software a implementují funkce, které komunita editorů potřebuje. Zejména vzhledem k tomu, že šablony jsou obvykle vyvíjeny samotnými editory, je zřejmé, že je komunita skutečně potřebuje. Velké rozdíly mezi nimi spočívají ve způsobu jejich vývoje, lokalizace a nasazení.
Šablony a moduly by se měly podobat rozšířením v některých klíčových vlastnostech, které jim aktuálně chybí, a zachovat některé dobré vlastnosti, které rozšíření postrádají. (Pro snazší pochopení pro anglické čtenáře jsou v tabulce uvedeny příklady šablon z anglické Wikipedie. Mohou také pocházet z jakékoli jiné wiki a jakéhokoli jiného jazyka.)
Vlastnost | Jádro a rozšíření | Šablony | Co by se s tím mělo udělat se šablonami? |
---|---|---|---|
Implementuje speciální druh obsahu | Ano.
obrázek, matematika, hieroglyfy, partitura, základní reference |
Ano. | |
└ Speciální druh obsahu lze snadno vložit do stránek | Ano (pomocí panelu nástrojů). | Ne (pokud jste se nenaučili, jak na to). | Mělo by být změněno. |
└ Speciální druh obsahu lze snadno přizpůsobit mobilním zařízením | Většinou ano. | Někdy. | Mělo by být změněno. |
└ Speciální druh obsahu lze snadno přeložit jako součást článku | Většinou ano. | Ne. | Mělo by být změněno. |
Implementuje funkce formátování stránky | Ano.
gallery, poem |
Ano. | |
Implementuje procesy komunitního pracovního postupu | Ano.
Filtr zneužití, Zkontrolovat uživatele, Přesunout |
Ano. | Mělo by být snadné znovu použít, ale ne vynuceně. |
Snadné nasazení počáteční verze | Ne. | Ano. | Měl by být zachován. |
Snadné nasazení změn | Ne. | Ano. | Měl by být zachován. |
Snadná lokalizace | Ano. | Ne. | Mělo by být změněno. |
Užitečné na více wikinách | Často. | Často. | |
Používá se pouze na omezeném počtu wikin | Někdy. | Někdy. | |
Snadná instalace a použití na více wikinách | Ano. | Ne. | Mělo by být změněno. |
Snadné použití na nové, nedávno vytvořené wiki | Ano. | Ne. | Mělo by být změněno. |
Vývojové dovednosti šablon a modulů
Další důležitý soubor předpokladů, na kterých je tento návrh založen, jsou následující:
- Dovednosti pro vývoj šablon a modulů nejsou triviální. Šablony i moduly mají mnoho nejasných funkcí.
- I když je mnoho nejvýznamnějších funkcí stránek implementováno jako šablony a moduly, tyto dovednosti jsou často nepovšimnuté, nedoceněné a považovány za samozřejmé.
- Existují desítky lidí, kteří mají tyto dovednosti, a upravují mnoho wikin. Obvykle se zaměřují na svou domovskou wiki a relativně zřídka komunikují s přispěvateli z jiných wikin nebo jiných jazyků. Přestože základní technologie je všude stejná, neexistuje žádná skutečná globální komunita vývojářů šablon, která by byla srovnatelná s globální komunitou vývojářů jádra a rozšíření MediaWiki. Existují případy spolupráce napříč wikinami na určitých šablonách, ale ty jsou nekonzistentní.
- Existuje také mnoho wikin, ve kterých nejsou žádní editoři, kteří mají tyto dovednosti. Buď kopírují šablony a moduly z jiných wikin, aniž by plně rozuměli tomu, jak fungují, a nemají schopnost je efektivně lokalizovat a udržovat, nebo šablony vůbec nepoužívají.
Tato situace není zdaleka optimální. Dovednosti vývojářů šablon a modulů potřebují více ocenění. Vyvíjejí skutečně potřebné funkce a jsou začleněni do svých komunit editorů. Na wikinách v mnoha jazycích přicházejí vývojáři šablon s inovativními funkcemi pro strukturovaný obsah, prezentaci dat a modularizaci. Tyto inovace by mohly být užitečné v mnoha wikinách, ale v současné době neexistuje žádný vhodný mechanismus, jak toho dosáhnout.
A samozřejmě žádné řešení těchto problémů nesmí přijít s novými technologiemi, které zavrhnou mnohaleté praktické zkušenosti, které správci šablon získali. Proto musí být v syntaxi pro vývoj šablon a modulů co nejméně změn. Věci, které je třeba změnit, jsou způsob, jakým jsou nasazeny a šířeny napříč wikinami, a způsob, jakým jsou v nich člověkem čitelné řetězce lokalizovány (přeloženy). {{🌎🌍🌏}}
Navrhované řešení: Shrnutí
Již existuje mnoho funkcí MediaWiki, které jsou globální napříč wikinami:
- Obrázky (pomocí Commons)
- Blokování
- Uživatelské účty (CentralAuth )
- Předvolby
- Uživatelské stránky
- Uživatelské stránky JS a CSS
- Globální seznam sledovaných se ke konci roku 2020 aktivně vyvíjí (GlobalWatchlist )
- a některé další.
Musí být také možné ukládat šablony a moduly do globálního úložiště a lokalizovat je stejně robustně, jako je tomu u rozšíření.
Globální šablony a moduly umožní správcům šablon na všech wikinách, protože jim umožní snadněji spolupracovat na vývoji kódu šablon.
Globální šablony a moduly posílí překladatele a lokalizátory tím, že jim umožní soustředit se pouze na překlad řetězců uživatelského rozhraní ("zprávy"), aniž by museli hledat řetězce v kódu, a tím, že jim umožní používat stejné dovednosti a nástroje pro překládání. šablony a rozšíření MediaWiki.
Globální šablony a moduly umožní editorům obsahu na všech wikinách psát a překládat obsah, který používá tyto šablony, aniž by se museli ponořit do rozdílů a znovu se učit různá pravidla a dovednosti na každé wiki.
Syntaxe pro vývoj šablon a modulů a obecný cyklus údržby a nasazení šablon se nezmění, takže všechny dovednosti, které správci šablon během let získali, zůstanou relevantní.
Všechny wikiny budou moci používat globální šablony, ale nebudou k tomu nuceny. Komunity si zachovají schopnost přepsat jakoukoli globální funkčnost, design, pracovní postupy a data.
Lokalizace šablon bude stejně pohodlná jako lokalizace rozšíření MediaWiki. {{🌎🌍🌏}}
Navrhované řešení: Podrobné požadavky
Šablony musí být sémantické a globální
"Sémantický" znamená, že ostatní softwarové komponenty, zejména Visual Editor a Content Translation, musí mít obecný způsob, jak pochopit, že šablona existuje a že poskytuje určitou funkčnost, aby ji bylo možné vložit na stránku jako infobox, citace, značka údržby atd., a to nejen jako generická šablona. V současné době je nejblíže vytváření sémantiky šablon TemplateData, ale popisuje pouze parametry šablony. Nepomáhá například Visual Editoru přidat na panel nástrojů tlačítko "Vložit infobox".
Globální znamená, že kód šablony musí být udržován na jednom místě a použitelný na všech wikinách.
Vytvoření sémantiky šablon
Šablony nikdy nebyly robustně sémantické v tom smyslu, že by se s nimi dalo snadno manipulovat pomocí softwaru, který zpracovává stránky.
Existuje jen několik příkladů šablon, které byly vytvořeny sémanticky:
- Různé referenční šablony, které lze použít pomocí tlačítka "Citace" na panelu nástrojů Visual Editor. Vyžadují napsání velkého množství samostatného kódu pro konfiguraci Citoidu na každé wiki, která je chce používat.
- "Potřebná citace", která byla upravena pro Visual Editor na konci roku 2019. Vyžaduje také konfiguraci na každé wiki. Například: angličtina, hebrejština, slovinština. V době psaní tohoto článku francouzština, španělština a většina dalších jazyků pro to nejsou nakonfigurovány, i když mají šablony tohoto druhu.
- Šablony pro zmínky o uživatelích v rozšíření Flow, které také vyžadují místní konfiguraci.
- Některé nástroje pro zpracování a výzkum výpisů mohou analyzovat šablony hodnocení stránek WikiProject v anglické Wikipedii, které se obvykle přidávají na diskusní stránky.
- Rozšíření GrowthExperiments navrhuje editorům provádět určité úkoly v článcích na základě šablon, které jsou v nich obsaženy. Názvy šablon je třeba nakonfigurovat ručně zápisem souborů JSON do každé wiki zvlášť. Například: čeština, vietnamština, korejština, arabština.
- Rozšíření PageTriage je nakonfigurováno tak, aby fungovalo se šablonami hatnote anglické Wikipedie (také známými jako "tagy").
V případě PageTriage rozšíření v podstatě pevně kóduje šablony jedné wiki, takže je nepoužitelné v jiných wikinách bez významného přepsání. I když je krok konfigurace na wiki malý, jako je tomu u příkladu Flow, stále je třeba jej provést. To se nedá dobře škálovat pro 900 wikin, které má Wikimedie, a tisíce, které bude mít v budoucnu.
Tyto věci by měly být ve výchozím nastavení globální, takže budou okamžitě použitelné v alespoň základní výchozí konfiguraci na všech wikinách najednou pomocí rozšíření, robotů, analyzátorů výpisů atd.
Skladování a dodání
Globální šablony a moduly mohou být uloženy v centrální wiki (Meta, Commons nebo zcela nové wiki) a může to být dokonce Gerrit nebo jiné úložiště.
Nejlepším řešením je pravděpodobně vytvoření nové wiki, která je uloží, aniž by se pletla s obrázky, obecnou diskusí komunity atd.
Použití Gerritu jako úložiště pro kód šablon a modulů je technicky možné, ale ztratilo by to důležitý prvek přístupnosti pro správce šablon: Úprava šablony na stránce wiki je mnohem jednodušší a známá pro drtivou většinu správců šablon než vytváření potvrzení Git a čeká na kontrolu kódu. Gerrit by se proto pravděpodobně neměl stát způsobem pro ukládání kódu šablony a modulu, alespoň ne primárního.
Globální šablony a moduly musí být uloženy ve společném úložišti, které může upravovat většina editorů wiki. Pravidla pro blokování a speciální oprávnění by zpočátku měla být podobná pravidlům na jiných wikinách: Vše by mělo být ve výchozím nastavení otevřené a musí být možné chránit velmi běžné, citlivé nebo často poškozené šablony. Podrobnější pravidla o úrovních ochrany mohou být vytvořena komunitou editorů později.
Kód šablon v centrálním úložišti bude používat obecné anglické názvy značek jako <section>
, funkce analyzátoru jako {{#ifexist}}
nebo {{#invoke}}
a kouzelná slova jako {{DISPLAYTITLE}}
.
Jak jsou šablony doručovány na cílové wikiny, je otázkou interního inženýrství a architektury, pokud jsou řešeny ostatní požadavky. Tyto otázky byly v minulosti diskutovány některými vývojáři platforem, například kolem projektu jmenné prostoru Shadow. Tento dokument se snaží odpovědět na související otázky, jak to funguje pro uživatele, kteří upravují stránku, která používá šablonu, nebo který spravuje samotnou šablonu – jak ji napsat lokalizovatelným způsobem. Jak se to překládá. Jak je lokálně přizpůsoben atd. Tyto otázky nebyly dostatečně řešeny v předchozích architektonických diskusích na toto téma.
Šablony musí zůstat snadno upravitelné
Důležitým rysem toho, jak šablony v současnosti fungují, je to, že se upravují stejně jako stránky wiki a po publikování se okamžitě stanou funkčními bez kontroly nebo nasazení. To je poněkud nebezpečné, protože špatná úprava může zničit mnoho stránek, ale faktem je, že to většinou funguje dobře.
Tato snadnost musí být zachována. Členové komunity, kteří udržují šablony, s největší pravděpodobností odmítnou přechod na nový systém, který po nich bude vyžadovat, aby se naučili nové dovednosti a protáhli každou změnu vyčerpávající fází kontroly a nasazení. To pravděpodobně znamená, že ukládání šablon do Gerritu nebude fungovat, pokud možná nebude proces kontroly a nasazení mnohem jednodušší než u rozšíření.
Některé šablony musí být možné učinit neglobálními
Ne všechny šablony by měly být nuceny být globální.
Ve skutečnosti by některé šablony měly být lokální, protože implementují funkcionalitu, která je jedinečná pro určitý jazyk. Tyto šablony ze své podstaty nepotřebují překládat a měl by existovat způsob, jak lidským editorům i překladatelským nástrojům (jako je Content Translation) napovědět, že je není třeba upravovat a lze je přeskočeno nebo nahrazeno. Je to součást snahy o větší sémantiku šablon.
Musí být možné přepsat některé funkce nebo vzhled globální šablony
Žádná komunita by neměla mít pocit, že jí nějaká funkce vnucuje nějaký mocný externí hráč, jako je anglická komunita Wikipedie, komunita Wikidata, WMF nebo kdokoli jiný. Globální šablony by měly být vyvíjeny a používány společně pro společný prospěch. Většinu času by to mělo fungovat pro všechny.
Někdy budou mít některé komunity vyhraněné názory na to, že chtějí mít konkrétní funkce nebo design, který se bude lišit v jejich jazyce nebo projektu, nebo zobrazit informační pole s informacemi, které se liší od informací zobrazených v jiných projektech, nebo je nezobrazovat vůbec. Schopnost přepsat věci lokálně musí být povolena od začátku. (Nebo spíše nesmí být odebráno.)
Globální šablona musí být okamžitě použitelná v každé wiki
Stejně jako je globální uživatelská stránka okamžitě dostupná na každé wiki, ve které není žádná lokální uživatelská stránka, musí být každá šablona nebo modul, který je vytvořen na globální infrastruktuře, okamžitě použitelný na každé wiki.
Nesmí to vyžadovat "žádné" dodatečné kroky, jako je kopírování wiki stránek, vytváření šablon obalu s místním názvem, zásah správce, čekání celé hodiny na obnovení mezipaměti atd.
Po aktualizaci centrální verze se aktualizovaná verze okamžitě zobrazí všude. Aby se předešlo vandalismu, komunita editorů vytvoří zásady týkající se oprávnění a úrovní ochrany.
Pokud nebyly řetězce uživatelského rozhraní (známé také jako "zprávy") přeloženy, šablona bude přesto použitelná a řetězce se zobrazí v záložním jazyce. Další podrobnosti najdete v části o lokalizaci.
Lokalizace uživatelských řetězců
Musí být možné přeložit všechny uživatelské řetězce
Řetězce uživatelského rozhraní (zprávy) jádra MediaWiki, rozšíření a některé externí nástroje jako Pageviews jsou na translatewiki.net překládány pohodlně a robustně. Tento proces lokalizace je známý alespoň některým editorům ve všech jazycích.
V současné době není možné udělat totéž se šablonami. Vícejazyčné stránky jako Commons a mediawiki.org mají systém "TNT" pro překlad některých šablon, ale je velmi komplikovaný a nelze jej znovu použít pro Wikipedii, Wikisource atd. V roce 2021 toto se stalo robustnějším díky funkci "přepisování s ohledem na jazyk", ale stále to vyžaduje určitá vylepšení.
V ideálním případě by mělo být možné překládat šablony stejně jako jádro a rozšíření pomocí wiki s rozšířením Translate.
Přeložený řetězec musí být použitelný ihned po odeslání překladu pomocí rozhraní Překladače.
Řetězce uživatelského rozhraní může být možné upravovat na nezpracovaných wiki stránkách, ale v ideálním případě by měly být upravovány především prostřednictvím vyhrazeného překladového rozhraní.
Překladatelé by měli být schopni soustředit se na překlad jen textu. Když kolem něj vidíte jakýkoli kód, je pro lidi, kteří nemají zkušenosti s programováním a soubory JSON, obtížné snadno přispívat. Navíc úpravy překladů do jazyků, které jsou psány zprava doleva v textových souborech raw, jsou extrémně nepohodlné. Rozšíření Translate již řeší všechny tyto problémy.
Stránky dokumentace šablony musí být také přeložitelné. Většinou to stačí udělat pomocí funkce překladu stránek rozšíření Translate, ale může to vyžadovat určité úpravy.
Jazyk, ve kterém se uživateli zobrazují řetězce
Šablony se primárně používají, když jsou integrovány do obsahu, takže ve výchozím nastavení musí být přeložené zprávy zobrazeny v jazyce obsahu wiki.
Některé šablony se však používají jako prvky uživatelského rozhraní. Proto možná dává smysl povolit zobrazení přeložených řetězců v uživatelském jazyce, pokud se liší od jazyka obsahu wiki. To může být zvláště důležité pro vícejazyčné stránky, jako jsou Commons, Wikidata, Meta a mediawiki.org.
Pokud překlad není k dispozici, je nutné použít obvyklé záložní jazyk řetězce MediaWiki. Pokud například zpráva není přeložena do kečuánštiny nebo guaranštiny, zobrazí se ve španělštině, pokud není přeložena do baškirštiny nebo čuvašštiny, zobrazí se v ruštině a tak dále. Konečným záložním jazykem je angličtina, takže pokud tato zpráva není přeložena do španělštiny nebo ruštiny, zobrazí se v angličtině.
Klíče zpráv
Zprávy by měly být reprezentovány jako klíče, podobně jako se to dělá v jádru MediaWiki, rozšířeních a nástrojích.
Zápis přeložitelných řetězců bude pravděpodobně největší změnou v procesu vývoje šablon, na kterou si budou muset správci šablon zvyknout. Pevně zakódované řetězce budou muset být odděleny a přesunuty do zpráv organizovaných podle klíče. Musí to být co nejjednodušší nejen pro překladatele, ale i pro správce šablon. Jinak to ve skutečnosti neudělají a funkce bude fakticky zamítnuta.
Chcete-li snadno učinit klíče globálně jedinečnými, je pravděpodobně v pořádku automaticky zahrnout název globální šablony do klíče zprávy.
Přechodové nástroje
Měl by být vyvinut nástroj, který usnadní přechod šablony nebo modulu na centrální úložiště. Může provést následující kroky:
- Exportujte šablonu z místní wiki a importujte ji do globální wiki.
- Exportujte všechny šablony, které tato šablona používá (kaskádové).
- Identifikujte lidsky čitelné řetězce, převeďte je na seznam s klíči a nahraďte je klíči ve zdrojovém kódu šablony.
- Importujte stránku dokumentace šablony a TemplateData.
- Importujte potřebné stránky CSS.
Ve většině případů tento automatický proces pravděpodobně nedokáže vytvořit plně použitelnou a robustní šablonu nebo modul, ale může pomoci zahájit proces přechodu.
Organizování zpráv
Rozšíření Translate organizuje zprávy podle skupin, známých také jako "projekty", které lze dále organizovat do agregovaných skupin. Například Article Placeholder, Score a Poem jsou všechny skupiny, které představují odpovídající rozšíření MediaWiki, a všechny jsou zahrnuty v souhrnné skupině "Rozšíření používaná Wikimedia – Advanced" spolu s mnoha dalšími rozšířeními.
Projekty, které představují rozšíření MediaWiki, se konfigurují v souborech YAML v úložišti translatewiki a zobrazují se v uživatelském rozhraní Překladače ve selektoru projektu, známém také jako "výběr skupiny zpráv".
Vzhledem k tomu, že existuje mnohem více šablon než rozšíření, mohou být nutné některé úpravy ve způsobu, jakým rozšíření Translate zpracovává skupiny zpráv, aby se přizpůsobilo překladu šablon.
Každá šablona by měla být skupina zpráv. Úzce související šablony by měly být seskupeny do skupiny souhrnných zpráv. Mohou být podobné kategoriím, ve kterých jsou uloženy, a ve skutečnosti mohou být kategorie dokonce znovu použity. Úpravy souborů v úložišti Git za účelem uspořádání těchto skupin zpráv pravděpodobně nejsou žádoucí, protože jsou příliš složité a pomalé.
Bylo by hezké zobrazit názvy skupin a šablon tak, jak jsou lokalizovány v selektoru, ale je také v pořádku, pokud jsou zobrazeny v angličtině. Pokud je to dost dobré pro lokalizátory rozšíření, je to dost dobré i pro lokalizátory šablon.
Šablony se musí zobrazovat jako skupiny zpráv na speciální stránce Jazykové statistiky rozšíření Translate (Special:LanguageStats). To pomůže lokalizátorům najít, jaké šablony potřebují překlad. To by mělo být obecně podobné všem skupinám zpráv, ale pro šablony je třeba vzít v úvahu několik zvláštních úvah:
- Šablon budou tisíce, takže bude fajn, když tomu bude vývoj panelu nějak odpovídat.
- Tabulka by měla ukazovat, na kolika stránkách je každá šablona přeložena, a měla by umožnit seřadit řádky podle tohoto čísla, aby lokalizátoři mohli upřednostnit, co je důležitější přeložit.
Zjištění, jak přeložit šablonu
Každá stránka s popisem šablony musí mít přímý odkaz na její překlad do jazyka uživatele.
Některé šablony používají štítky Wikidata jako součást svého uživatelského rozhraní namísto pevně zakódovaných řetězců. To se v tuto chvíli provádí v Wikidata Infobox na Commons, Infotaula persona (osoba Infoboxu) v katalánské Wikipedii a v několika dalších šablonách. Tyto štítky a hodnoty lze lokalizovat v samotných Wikidatech. Takové použití nemůže pokrýt všechny potřeby lokalizace šablony, ale je legitimní a užitečné pro konkrétní účely. Dokud je to správně popsáno v dokumentaci šablony, lze to i nadále používat a pravděpodobně nepotřebuje speciální úpravy infrastruktury. (Možná lze překlad příslušných štítků a hodnot nějak integrovat do rozhraní Translate pro lokalizaci šablony, ale je to volitelné.)
Parametry zpráv a kouzelná slova
V základní MediaWiki a rozšířeních má mnoho zpráv parametry, někdy také známé jako "zástupné symboly". Jmenují se $1, $2 atd. a jsou vyplněny v době běhu. Parametry jsou zvláště důležité pro zajištění robustního překladu zpráv, protože různé jazyky mají různé pořadí slov.
Něco takového je potřeba i v šablonách, i když je možné, že formulář nemusí být $1, $2, ale parametry podobné šabloně s trojitými složenými závorkami ({{{}}}). To je třeba rozhodnout podle úvah o výhodnosti analýzy a lokalizace.
Kouzelná slova PLURAL, GENDER a GRAMMAR musí být podporována ve zprávách šablony jako ve zprávách MediaWiki.
Dokumentace zprávy
V základní MediaWiki a rozšířeních je každá přeložitelná zpráva zdokumentována pro pohodlí vývojářů a překladatelů. Dokumentace může obsahovat informace o tom, kde se zpráva objevuje, jaké jsou parametry $1, $2 atd., zda je slovo sloveso nebo přídavné jméno atd. Tato dokumentace je uložena jako pseudojazyk s kódem qqq.
Taková dokumentace bude užitečná i pro překlad šablon. Jak je uložen, je otázkou technické architektury. Možná to může být kombinováno s TemplateData, možná to může být uloženo jako jazyk qqq a možná to může být něco jiného.
Zdrojový jazyk
Šablony budou do globálního úložiště importovány nejen z projektů v anglickém jazyce, ale také z wikin v mnoha jazycích. Více než kdy jindy musí lokalizační nástroje podporovat překlady z jakéhokoli jazyka, nejen z angličtiny.
Rozmazání
Pokud se v základní MediaWiki a rozšířeních a na přeložitelných stránkách změní zdrojová zpráva v angličtině, zpráva je automaticky označena jako zastaralá nebo "rozmazaná". Stávající překlady nadále fungují, ale překladatelům se zobrazí, že potřebují aktualizaci. (Správce překladu může také označit zprávu jako nevyžadující fuzzying.)
Podobný mechanismus bude potřeba pro lokalizaci šablony. Protože by však bylo hezké nevnucovat angličtinu jako zdrojový jazyk, mělo by existovat více způsobů, jak označit zprávy jako neostré.
Aspekty lokalizace pro moduly
Moduly Lua mohou načítat a analyzovat přeložitelné řetězce MediaWiki, ale neexistuje žádný definovaný způsob ukládání těchto řetězců pro moduly Lua, které jsou spravovány jako stránky wiki. Moduly Lua je možné zabalit jako součásti rozšíření a poté jsou schopny načítat zprávy ze souborů i18/*.json rozšíření, ale to se v současné době provádí ve velmi málo rozšířeních. Přepisování šablon v Lua může být z technického hlediska robustnějším řešením, ale Lua nemusí být nutně přijato všemi stávajícími správci šablon a jejich spolupráce bude klíčová pro úspěch projektu, takže to nelze provést u všech šablon.
Některé velmi interní technické moduly, které se běžně používají, jen zřídka se mění a nevyžadují internacionalizaci, lze pravděpodobně bezbolestně přesunout do samotného rozšíření Scribunto. Některé příklady jsou v modulech Žádní globalisté a Argumenty.
Lokalizace názvu šablony
Šablona může mít v každém jazyce jiný název, ale musí být přímo připojena k centrálnímu úložišti.
Globální šablony a moduly mají být okamžitě použitelné ve všech wikinách bez dalších kroků, takže musí být možné převést globální šablonu na lokální wiki stránku pomocí jejího globálního názvu. Komunita editorů napříč wikinami se rozhodne, jaká bude politika pro tato globální jména.
Podobně jako názvy parametrů mohou mít šablony různé názvy v různých jazycích a to je třeba zachovat. Musí existovat strukturovaný způsob překladu názvů šablon. Možná mohou hrát roli odkazy na podstránky Wikidata, ale ne nutně.
Pokud tak neučiníte, editoři se buď globálním šablonám vyhnou, nebo globální šablonu zabalí do místní šablony s přeloženým názvem, což pravděpodobně způsobí, že šablona ztratí spojení s globální entitou. To není žádoucí a míjí to smysl celého projektu.
Názvy šablon musí být přeloženy pouze do jazyků, které mohou být jazyky obsahu wikin. Překlad do formální němčiny nebo britské angličtiny je pravděpodobně zbytečný. Může existovat způsob, jak mít aliasy nebo přesměrování. Jazykové varianty, například srbština a čínština, musí být podporovány podle potřeb těchto jazyků.
Pokud na wiki existuje místní šablona a má stejný název jako lokalizovaný název globální šablony, použije se místní šablona. Je to podobné tomu, jak místní soubory s identickými názvy přepisují globální soubory na Commons a jak místní zprávy v prostoru MediaWiki přepisují lokalizaci pocházející z kódu.
Názvy modulů Lua jsou také často lokalizovány. Jejich jména lze lokalizovat pro přímé vyvolání z wiki stránek, ale protože kód obvykle používá anglické identifikátory, měly by být pravděpodobně preferovány interní globální názvy pro použití v samotném kódu, například v příkazech require
.
Lokalizace parametrů
Lokalizace názvů parametrů
Názvy parametrů se v každém jazyce liší. Obvykle jsou založeny na slovech v každém jazyce, takže je důležité pro pohodlné úpravy transkluze v syntaxi wiki.
V ideálním případě by globální šablona měla mít obecné názvy interních parametrů, které mají překlady do různých jazyků. Je to trochu podobné štítkům názvů vlastností Wikidata, ale může to být jednodušší: protože angličtina je pro vývojáře softwaru lingua franca a šablony jsou druh softwaru, je pravděpodobně v pořádku mít angličtinu jako výchozí zdrojový jazyk spíše než obecná čísla, jak je tomu ve Wikidatech.
Tyto obecné názvy parametrů budou běžnými výchozími názvy. Budou fungovat na wikinách ve všech jazycích. Lokalizované názvy budou fungovat na wikinách, které mají tento jazyk jako jazyk obsahu.
Tyto překlady názvů parametrů musí být ověřeny:
- Nesmí obsahovat neplatné znaky
- Nesmí se opakovat v rámci jedné šablony v jednom jazyce
- Něco dalšího?
Vlastní proces překladu názvů parametrů se může lišit od překladu řetězců uživatelského rozhraní. Tyto názvy mají technická omezení, která musí být vynucena. Musí také zůstat stabilní, protože změna názvu parametru naruší existující transkluze, takže by měla existovat určitá ochranná opatření proti jejich příliš časté změně.
Automatický překlad parametrů
Pokud jsou všechny lokalizované názvy šablon a parametrů uloženy centrálně, bude možné mít jednoduchou službu, která získá platné volání šablony s parametry, názvem zdrojového jazyka a názvem cílového jazyka a vydá volání lokalizované šablony. Například:
Vstup:
{
sourcewiki: "enwiki",
targetwiki: "frwiki",
template: "{{Infobox writer|name=Ľudovít Štúr|birth_date=1815-10-28}}"
}
Výstup:
{
template: "{{Infobox Écrivain|nom=Ľudovít Štúr|date de naissance=1815-10-28}}"
}
V Content Translation to bude primární způsob přizpůsobení šablon. Na rozdíl od současné adaptace šablony v Content Translation to bude přesné a úplné, nikoli na základě odhadů.
Při vizuálních úpravách a úpravách syntaxe wiki ve stylu 2017 stačí zkopírovat a vložit šablonu z wiki v jiném jazyce, aby se parametr přeložil automaticky.
Pro jednoduché úpravy syntaxe wiki by měl existovat jednoduchý způsob ovládání této služby, například speciální stránka nebo dialogové okno, kam může editor vložit šablonu a zdrojový jazyk a získat šablonu s přeloženými parametry.
V obou případech budou přeloženy pouze názvy šablony a parametry. Překlad hodnot parametrů je diskutován samostatně.
Bezejmenné parametry
Bezejmenné očíslované parametry musí samozřejmě nadále fungovat.
Je třeba rozhodnout, jak budou jejich jména lokalizována.
Překlad hodnot parametrů
Kromě sdílení funkcí a designu šablon je třeba se zamyslet nad tím, že hodnoty parametrů šablony budou sdíleny, stejně jako nesdílené.
Některé hodnoty parametrů jsou ze své podstaty stejné ve všech jazycích. Některé příklady zahrnují výslovnost IPA rodného jména místa (např. [dɛn ˈɦaːx] pro Haag), rok založení města, chemický vzorec sloučeniny atd. Alespoň některé z nich by pravděpodobně měly být uloženy ve Wikidatech a měly by jít snadno načíst do šablony.
Některé hodnoty parametrů je třeba přeložit nebo přepsat, například jména lidí, překlady hesel zemí atd.
Globální šablony to musí umožňovat, ale v praxi se tyto věci stále často kopírují napříč wikinami a je třeba s tím také počítat.
Některé hodnoty parametrů lze spolehlivě a předvídatelně převádět automaticky a infrastruktura globálních šablon to musí podporovat. Například formáty čísel a číslicové znaky se často liší v barmštině, v jazycích Indie a v některých dalších jazycích, ale lze je spolehlivě převést pomocí jednoduchého softwaru.
Platné a funkční hodnoty parametrů musí být použitelné ve více jazycích a nesmí být specifické pro daný jazyk. Například použití “yes” a “no” jako booleovské hodnoty je příliš orientované na angličtinu. To pravděpodobně nevyžaduje změny v infrastruktuře, ale většinou dohodu v komunitě pro vývoj šablon napříč wikinami na osvědčených postupech pro přizpůsobení všem jazykům.
Směr textu
Šablony se musí přizpůsobit směru textu (ltr / rtl) wiki, ve které jsou zobrazeny.
Musí být vhodné psát šablonu směrově neutrálním způsobem s co nejmenším explicitním zarovnáním vpravo a vlevo.
Roboti
Mnoho šablon na mnoha wikinách je pravidelně upravováno roboty. Tato schopnost musí být zachována.
To by nemělo vyžadovat žádné změny v softwarové infrastruktuře, ale je to zde zmíněno pro úplnost, protože jde o důležitý případ použití.
Přechod šablon z velkých wikin do centrálního úložiště
Nejoblíbenějším zdrojovým jazykem pro překlad v Content Translation je zdaleka angličtina. Po něm následuje španělština, ruština, francouzština, němčina, katalánština, ukrajinština, italština, čínština a portugalština. Z tohoto důvodu dává smysl, že společné šablony ve edicích Wikipedie v těchto nejběžnějších jazycích, zejména ty v angličtině, jsou těmi, které je nejdůležitější vytvořit globální ve prospěch všech ostatních jazyků.
Poněkud paradoxně však mají redaktoři v těchto největších jazycích také nejmenší zájem na tom, aby byly globální:
- Šablony jim již fungují dobře a většina lidí se přímo nestará o pohodlí překladu do jiných jazyků.
- Přepisování šablon tak, aby byly řetězce přeložitelné, může být časově náročné a může je donutit naučit se některé nové dovednosti údržby šablon.
- Pokud šablony náhle použije mnoho dalších projektů, může být obtížnější dosáhnout shody ohledně budoucích změn ve způsobu fungování šablon.
- Editoři z různých velkých wikin budou muset pracovat na dosažení konsenzu o sloučení některých šablon s podobnou funkcí, která již na jejich stránkách existuje.
Jedná se spíše o hledisko praktičnosti a vztahů s komunitou než o hledisko inženýrství, ale musí být zohledněno při přijímání technických architektonických rozhodnutí. Bez řádné přípravy v této oblasti celý projekt selže.
Dokud budou existovat důležité společné šablony, které nejsou globální, překládání obsahu a další software, který jakýmkoli způsobem zpracovává šablony z různých wikin, je bude muset nadále podporovat. Pokud je vytvořena infrastruktura pro globální šablony a migrace stávajících šablon probíhá dobrým tempem, mohou vývojáři zvážit zastavení vývoje a jednoho dne zavržení kódu pro neglobální adaptaci šablon.
Rychlost migrace šablon z velkých wikin do centrálního úložiště může být jednou z metrik úspěchu projektu.
Šablony musí být možné používat kompletně jak v syntaxi wiki, tak ve vizuální úpravě
Je to zřejmé, ale každopádně by to mělo být zmíněno: Úpravy syntaxe wiki brzy nezmizí a musí být možné nadále upravovat transkluze šablon na stránkách tak, jak se to dělá nyní. To se nesmí komplikovat.
Nicméně, Visual Editor je stále více přijímán zkušenými i novými editory, takže každá funkce, jak šablony fungují, musí dobře fungovat jak ve vizuálních, tak ve wiki úpravách syntaxe.
Další funkce související se šablonami
Existuje několik funkcí, které se zabývají šablonami v základní MediaWiki a jejích rozšířeních. Všechny musí pokračovat v práci a mohou vyžadovat aktualizaci pro věk globálních šablon.
Jádro MediaWiki
Měly by na wiki existovat nástroje pro zobrazení alespoň základní analýzy použití šablon a modulů na stránkách: Počet transkluzí a vyvolání seskupených podle wiki a seznamy stránek, které používají šablony a moduly. Funkce, která ukazuje, které šablony stránka převádí, když je upravována, musí pokračovat v práci s globálními šablonami.
Stránka "Odkazuje sem" musí nadále fungovat a zůstat užitečná pro globální transkluze.
TemplateData
- V TemplateData je možné překládat popisy šablon a parametrů a překlady se zobrazují v jazyce uživatelského rozhraní v dialogu pro vložení šablony Visual Editoru. To je dobré a musí být zachováno. Překladatelské rozhraní by se možná dalo vylepšit, ale začátek je dobrý. Řešením může být přidání podpory pro TemplateData v rozšíření Translate, ale mohou existovat i jiná řešení.
- Parametr "Navrhované formátování wikitextu" (V řádce, Blok, Vlastní) musí nadále fungovat. Musí být také možné je přizpůsobit na wiki – některé wikiny mohou preferovat zobrazení určité šablony napsané v syntaxi wiki jako jeden řádek a některé mohou preferovat více řádků.
Citoid
- Citoid je třeba nakonfigurovat na každé wiki samostatně pomocí souborů JSON, jako je Citoid-template-type-map.json. Ve věku globálních šablon musí být možné tyto soubory sdílet, aby tlačítko "Citace" bylo dostupné na všech wikinách a fungovalo identicky všude ve výchozím nastavení. Stejně jako u šablon musí existovat způsob, jak toto výchozí nastavení přepsat na každé wiki, kde komunita požaduje jiné chování.
Styly šablon
- Musí existovat možnost psát stránky stylů šablon ve stejném centrálním úložišti jako šablony. Centrální styl musí být načten ve výchozím nastavení a musí být možné jej lokálně přepsat.
TemplateSandbox
- $1 musí fungovat dál.
- Musí být možné upravit šablonu v centrálním úložišti a zobrazit její náhled na stránce v cílové wiki.
TemplateWizard
- Současný systém používá k nalezení šablon standardní vyhledávání na wiki. Výsledky jsou uvedeny v seznamu, který může být nutné změnit, aby byl viditelný globální nebo místní stav.
- Současný systém používá k nalezení šablon standardní vyhledávání na wiki. Výsledky jsou uvedeny v seznamu, který může být nutné změnit, aby byl viditelný globální nebo místní stav.
Wikibase
- Wikidata lze použít k přenesení hodnot některých parametrů z centrálního úložiště na wiki. To se produktivně používá na Wikipedii v několika jazycích, mezi nimi ve francouzštině, hebrejštině, baskičtině, ruštině, katalánštině, estonštině a některých dalších, stejně jako v Commons, ačkoli skutečná implementace se může lišit. To musí samozřejmě fungovat i nadále. Sjednocení způsobu, jakým se to dělá napříč různými wikinami, se může stát jednou z nejvýznamnějších oblastí dopadu tohoto projektu.
- Může to také usnadnit implementaci Wikidata Bridge , projektu umožňujícího editaci hodnot šablon z wiki. Úpravy samotných šablon bude nutné provést pouze jednou v globálních šablonách, nikoli v každé wiki.
VisualEditor
- VisualEditor samozřejmě potřebuje umět vkládat globální i lokální šablony.
- VisualEditor zobrazuje odkaz na stránku s popisem šablony v dialogovém okně pro úpravu šablony. Tento odkaz by měl při použití odkazovat přímo na globální šablonu.
Vývoj a nasazení
Vývoj infrastruktury pro globální šablony a moduly je velký a komplexní projekt. Musí být rozdělena na zvládnutelné části, aby bylo možné provést. Přibližně by více částí tohoto projektu mělo být vyvinuto v následujícím pořadí:
- Přeložitelné moduly (ve vývoji): Před zpřístupněním modulů ke sdílení napříč wikinami by měl být vyvinut rámec pro jejich internacionalizaci a lokalizaci. To bude okamžitě užitečné pro moduly na wikinách, které jsou již vícejazyčné, zejména Commons a Wikidata. Některé z nich jsou překládány pomocí polí Lua nebo triků s přeložitelnými stránkami, ale nejedná se o plnohodnotný lokalizační systém.
- Všeobecné moduly: Moduly lze sdílet napříč wikinami. K tomu by mělo dojít před zpřístupněním šablon ke sdílení, protože infrastruktura modulů je méně propojena s jádrem MediaWiki.
- Přeložitelné šablony: Je to podobné jako u výše uvedených přeložitelných modulů a může znovu použít velkou část stejného rámce, ale bude také potřebovat schopnost přeložit názvy samotné šablony a její parametry a některé další funkce. Viz části o lokalizaci ve specifikaci.
- Všeobecné šablony: Dokončete projekt vytvořením globálních šablon.
Vývoj pokročilejších funkcí, jako je vytváření sémantických šablon, může a měl by přijít později, až je bude možné sdílet. Pokud se stanou sémantickými dříve, než je lze sdílet, kód, který je sémanticky popisuje, bude rozvětvený na různých wikin, jako jsou samotné šablony, díky čemuž bude opětovné použití kódu ještě těžší, než je tomu dnes.
Přístup ke globálním šablonám a modulům bude dostupný ze všech wikinách Wikimedie. To zahrnuje vydání Wikipedie, Wikislovníku, Wikivoyage atd. ve všech jazycích, stejně jako Commons, Wikidata, Meta, mediawiki.org, Wikitech atd., stejně jako testovací wiki (test.wikipedia.org atd.) Je to podobné tomu, jak jsou obrázky na Commons dostupné na všech wiki. I když budou globální šablony a moduly wiki k dispozici, wiki je nebudou muset používat.
Může být také žádoucí, aby šablony byly snadno znovu použitelné na projektech mimo Wikimedii. I když to přímo neprospívá projektům Wikimedie, může mít smysl uvažovat o tom, že by šablony byly snadno znovu použitelné nejen napříč projekty Wikimedie, ale také na jiných webech MediaWiki. To bude pravděpodobně vyžadovat více práce, ale může to přispět k lepší modularizaci, a to může nakonec prospět i projektům Wikimedie. To je srovnatelné se schopností přímého vkládání obrázků z Commons na webové stránky mimo Wikimedii. {{🌎🌍🌏}}
Představte si svět
Představte si svět, ve kterém může každá lidská bytost svobodně sdílet souhrn všech znalostí a je to vlastně opravdu snadné, protože šablony jsou globální:
Úloha | Se současným systémem šablon | S globálními šablonami |
---|---|---|
Vložte informační pole pomocí Visual Editoru |
Všimněte si, že budete muset najít název šablony pro každou wiki zvlášť a na některých wikinách to nebude fungovat vůbec. |
Všimněte si, že výše uvedené bude fungovat stejným způsobem na každé wiki a v každém jazyce, pokud nebude výslovně přepsáno. |
Vložte informační pole pomocí editoru syntaxe wiki |
|
Pokud chcete, můžete stále dělat stejné věci jako se současným systémem šablon.
Ale budete mít také tyto další volitelné funkce:
|
Použijte pěknou šablonu, kterou jste viděli na wiki v angličtině, francouzštině, ruštině nebo španělštině na wiki ve vašem jazyce |
|
Pokud je šablona v globálním úložišti, pak:
To je vše, šablona je plně použitelná ve vašem jazyce. (A ano, to se také musí opakovat pro každý jazyk, ale totéž platí pro rozšíření MediaWiki.) |
Využijte nové funkce pěkné šablony, kterou jste kdysi exportovali do svého jazyka z wiki v angličtině, francouzštině, ruštině nebo jiném jazyce | Tři možnosti:
|
Stačí přeložit nové řetězce. Všechny nové funkce jsou již dostupné na všech wikinách. |
Implementujte Wikidata Bridge (úprava dat Wikidata přímo z infoboxů) | Jedná se o projekt ve velmi rané fázi návrhu. Pravděpodobně však již lze říci, že se současnou technologií bude její implementace pravděpodobně vyžadovat změnu každé šablony infoboxu v každé wiki podle pokynů, které budou publikovány vývojáři Wikidata. | Kód šablony infoboxů bude nutné změnit pouze jednou a bude fungovat pro všechny wikiny. |
Přeložte článek z angličtiny, francouzštiny nebo ruštiny do svého jazyka pomocí Content Translation |
V tomto scénáři mohou kroky 4 a 7 trvat déle než krok 3. |
V tomto scénáři zabere většinu času krok 3, kroky 4 a 7 jsou velmi krátké a celkový čas je kratší. |
Zkopírujte užitečnou citaci akademického článku z dánské Wikipedie do německé Wikipedie (nebo mezi jinými dvěma jazyky) |
|
Ve Visual Editoru: Zkopírujte a vložte, aniž byste museli přemýšlet, zda to bude fungovat
V editoru syntaxe wiki:
(V editoru syntaxe wiki 2017 lze nástroj pro převod šablony pravděpodobně integrovat do akce vkládání.) |
Získejte tabulku nejnovějších výsledků probíhající Tour de France na Wikipedii ve vašem jazyce
Tento scénář je založen na skutečném modulu, Cyklistický závod. V anglické Wikipedii se nepoužívá kvůli neshodám ohledně designu tabulek, ale zdá se, že komunita je otevřená k tomu, aby je v budoucnu přijala, pokud budou provedeny nezbytné změny. |
|
Prakticky všechny jazyky dostanou celou tabulku zdarma, aniž by museli cokoliv dělat. Veškerou práci dělají lidé, kteří vytvářejí šablony a moduly, jednou pro každého, a lidé, kteří sledují události a aktualizují výsledky. Platforma napříč wikinami pro vývoj a lokalizaci modulu a šablony může usnadnit vývoj designu, který je přijatelný ve všech jazycích. |
Po vytvoření domény začněte psát novou wiki | Po importu obsahu z Inkubátoru nejsou k dispozici žádné šablony pro infoboxy, reference, uživatelské schránky, správu diskuzí, označení stránek pro sloučení nebo smazání atd.
Začněte tyto šablony jednu po druhé kopírovat nebo si vytvořte vlastní. Mohou vám pomoci milí lidé z jiných wikin, ale pravděpodobně neznají váš jazyk, takže budete muset ručně přeložit všechny řetězce (jako ve scénáři s názvem "Použijte hezkou šablonu, kterou jste viděli na wiki v angličtině, francouzštině, ruština nebo španělština na wiki ve vašem jazyce"). Můžete to také vzdát a psát pouze text, ale pak získáte méně funkcí: žádné infoboxy, žádné formátované citace, žádné mazání a slučování pracovních postupů atd. |
Všechny tyto šablony jsou již k dispozici. Stačí přeložit řetězce v rozhraní podobném translatewiki. |
Při čtení článku na mobilním telefonu použijte navigační pole | Nemožné.
Navigační boxy se tak obtížně přizpůsobují mobilním obrazovkám a na wikinách se od sebe tak liší, že je software prostě skrývá. (A ano, je po něm poptávka.) |
Nemožné.
Vzhledem k tomu, že infrastruktura šablon je sdílena napříč jazyky, mohou různé jazykové komunity spolupracovat mezi sebou a s vývojáři mobilního rozhraní pro čtení a úpravy a zajistit, aby byly responzivní. |
Mějte krásně navrženou a mobilní hlavní stránku s pravidelně aktualizovanými zprávami, doporučenými články a obrázky atd. | Možnost 1: Najděte dobrovolníky, kteří velmi dobře znají váš jazyk a také syntaxi HTML a wiki (zejména tabulky a šablony) a kteří mají čas denně upravovat hlavní stránku. To se provádí samostatně a pomocí různých metod v každé wiki. To se děje v asi 70 nejlepších wikin: angličtina, ruština, francouzština, španělština atd.
Možnost 2: Pokud nemůžete najít nikoho, kdo by znal váš jazyk a mohl by také udržovat HTML kód hlavní stránky každý den, zkopírujte kód z hlavní stránky z angličtiny nebo francouzštiny a požádejte dobrovolníky z jiných wikin, kteří neznají váš jazyk, ale znají syntaxi wiki, abyste občas nahradili obrázek dne. Vzhledem k tomu, že neznají jazyk, nemohou pravidelně udržovat text a vy to nemůžete dělat, protože se bojíte prolomení kódu HTML, takže se na hlavní stránce zaseknete na měsíce nebo roky se stejným doporučeným článkem. To se děje v některých menších jazycích. Možnost 3: Vzdát se a mít statickou hlavní stránku, která s největší pravděpodobností na mobilních zařízeních nefunguje dobře, přestože hlavní stránka je obvykle nejsledovanější stránkou na wiki. To se děje na mnoha wiki, i když tam jsou jiné úpravy. |
Možnost 1: Pokud máte lidi s potřebnými dovednostmi a časem na údržbu ručně vytvořené vlastní hlavní stránky ve vašem jazyce a chcete, aby to tak zůstalo, můžete to udělat.
Možnost 2: Pokud nemáte lidi, kteří by tuto ruční práci zvládli, nebo pokud vaše komunita nemá problém s hlavní stránkou, která vypadá podobně jako ta v jiných jazycích, umístěte na svou hlavní stránku jednoduchou centrálně spravovanou šablonu. Nahraďte pouze text měnících se položek ve snadné formě, aniž byste se museli zabývat syntaxí wiki, tabulkami nebo HTML. Proces je stejný pro většinu wikin, takže stejné šablony a roboty může používat každý, kdo má zájem. |
Analyzujte, jak jsou články seřazeny podle WikiProjects pro výzkum o Wikipedii |
|
|
(Poznámka: Sloupec "S globálními šablonami" předpokládá, že infrastruktura je nasazena na všech wikinách Wikimedie a že nejčastěji používané šablony jsou přesunuty do centrální infrastruktury.) {{🌎🌍🌏}}
Stav
Tato část je o obecném stavu projektu. Podrobnosti o nejnovějším vývoji a také stručnou historii minulých snah naleznete na stránce Global templates/Status.
Jak je uvedeno výše, od prosince 2020 je tato stránka pouze velkým nápadem, nikoli závazkem k realizaci projektu.
Podobné myšlenky byly navrženy v minulosti. Nejstarší známý návrh na opětovné použití šablon na wikinách byl vznesen v prosinci 2004 v Bugzille: Interwiki templates (úkol T3126). Několik dalších podobných nápadů bylo vzneseno později, například Phabricator úkol T6547. V únoru 2017 byl podobný návrh s názvem Global-Wiki uzavřen jako "konsensus". Některé jeho součásti byly implementovány, například globální preference, ale ne šablony.
Přání "Centrální globální úložiště pro šablony, gadgety a moduly Lua" bylo v Community Wishlist Survey 2015 zvoleno jako 3. a "Global gadgets" bylo zvoleno jako 1. v Community Wishlist Survey 2016. Navzdory podpoře komunity nebyly implementovány ani jedno, protože nebyly vhodné pro tým Community Tech a ani nebyly převedeny do jiného týmu.
Projekt Platform Evolution (2018) naznačil určité záměry mít v budoucnu podporu pro globální šablony. Stránka Platform Evolution/Recommendations pojednává o nápadech na aktualizaci modularity obsahu a říká:
- ... "boxy" jsou ideální oblastí pro vytvoření modularity. Představují samostatné funkce a také příležitost umožnit spravedlivé sdílení uživatelských funkcí napříč projekty a jazyky a vytvořit meziprojektovou službu pro sdílení šablon. Tento projekt nás také donutí zamyslet se nad tím, jak zacházet s rozložením a strukturou obsahu odděleně od obsahu složených dílků.
Úzce související stránka Platform Evolution/Goals uvádí toto jako jeden z cílů:
- Zvyšte spravedlnost a sílu nástrojů pro příspěvky. Chceme podporovat přínos více typů obsahu, včetně médií, interaktivnějšími způsoby a napříč všemi projekty. To znamená zpřístupnit některé stávající nástroje – například šablony – pro konzistentní opakované použití ve všech projektech a jazycích. Znamená to také zlepšit překladatelské nástroje, aby se odstranila sila obsahu. A konečně, chceme také usnadnit přispěvatelům vytváření nových multiprojektových, lokalizovatelných obsahových nástrojů.
Abstract Wikipedia, která byla schválena WMF v červenci 2020 jako nový projekt, který má být vyvinut v blízké budoucnosti, obsahuje "úložiště napříč wikinami pro sdílení šablon a modulů mezi projekty WMF“ uvnitř svého Komponenta Wikifunctions jako jeden z jejích hlavních cílů (Wikifunctions byly dříve známé jako „Wikilambda“).
Iniciativa Translatable modules byla spuštěna v září 2020. Zabývá se částí tohoto návrhu.
V Community Wishlist Survey 2021 získalo přání s názvem "Překlad šablon" nejvyšší počet hlasů. Bylo to zároveň přání s nejvyšším počtem hlasů v dosavadní historii ankety (prosinec 2020). Toto přání úzce koresponduje s některými částmi tohoto návrhu, zejména automatického překladu parametrů.
Další příklady vztahu mezi tímto návrhem globálních šablon a různými strategickými plány v širší komunitě Wikimedie naleznete na stránce Globální šablony/Vztah ke strategii .
Neexistuje žádný úplný technický plán pro implementaci plnohodnotného sdílení modulů a šablon napříč wiki. Tato stránka je pokusem navrhnout takový plán na úrovni produktu a vyslechnout si zpětnou vazbu od redaktorů. {{🌎🌍🌏}}
Užitečné odkazy
Některé relevantní stránky, které pojednávají o podobných tématech:
- Vývoj platformy/cíle
- Vývoj platformy/Doporučení
- Vícejazyčné šablony a moduly – pokus o implementaci podobné funkce pomocí robotů
- m:Community Wishlist Survey 2015/Results - Centrální globální úložiště pro šablony, moduly Lua a gadgety se umístily na 3. místě v hlasování v seznamu přání komunity. Uvedeno jako "Ve vývoji – tým analýzy", ale ve skutečnosti není hotovo.
- m:Which templates should be global? - neformální seznam vytvořený různými editory
- Požadavky na komentáře/Stínové jmenné prostory – spící RFC o jednom návrhu na technickou implementaci takové infrastruktury
- Příručka:$wgEnableScaryTranscluding - existující základní mechanismus pro transklusi obsahu napříč projekty. Považováno za neefektivní a nejisté a na projektech Wikimedie je deaktivováno.
- m:Global-Wiki - podobný návrh, s širším záběrem. Bylo otevřeno k diskusi několik let a uzavřeno jako "konsensus". Některé věci v něm byly implementovány, jako jsou globální uživatelské stránky a předvolby, ale také obsahuje globální šablony, které ještě nejsou hotové.
- m:Abstract Wikipedia – větší návrh, který zahrnuje globální modul a úložiště šablon (také známé jako Wikifunkce a dříve známé jako :Wikilambda:).
- m:Community Wishlist Survey 2021/Translation/Templates translation – přání komunity, které odpovídá některým částem tohoto návrhu, zejména Automatický překlad parametrů. {{🌎🌍🌏}}