Translatable modules/cs
Jak můžeme udělat překlad Lua modulů stejně pohodlným jako překlad MediaWiki a rozšíření na translatewiki.net?
Toto je úvodní konzultace o implementaci Přeložitelných modulů. Konzultace je plánována pro připomínky do konce září 2020. Cílem této sady dokumentů je porozumět potřebám vývojářů a uživatelů Lua modulů na wiki tak, aby to informovalo softwarové inženýry, kteří budou vyvíjet vylepšené řešení.
Úvod
Přeložitelné moduly je projekt, jehož cílem je definovat, implementovat, zdokumentovat a nasadit framework pro zlepšení možnosti překladu a sdílení modulů. Cílem je, aby řetězce uživatelského rozhraní (zprávy) v modulech Scribunto na vícejazyčných wiki stránkách, jako jsou Wikidata a Commons, byly snadno lokalizovatelné, podobně jako základní MediaWiki, rozšíření a přeložitelné stránky.
Otázky, které máme pro členy komunity:
- Je navrženo několik možností pro uspořádání kódu a zpráv. Jaký by byl nejlepší způsob, jak uspořádat kód modulu?
- Jakmile bude tento framework vyvinut a nasazen, bude vhodné vyvíjet nové moduly s jeho využitím a případně převádět stávající moduly tak, aby jej používaly?
- Které existující moduly byste upřednostnili při překladu?
Pokud převážně upravujete články a další stránky wiki, váš uživatelský zážitek nebude nijak výrazně ovlivněn, ale vaše zpětná vazba je i tak vítána.
Pokud se podílíte na údržbě šablon nebo modulů Scribunto nebo na administraci přeložitelných stránek, může se vaše uživatelská zkušenost při provádění těchto úkolů výrazně změnit, takže vaše zpětná vazba je velmi důležitá.
Pozadí
Všechny projekty Wikimedie mají klíčové funkce implementované buď jako wikitextové šablony nebo jako Lua moduly nebo jako oba: hatnotes, infoboxy, uvítací zprávy, formátované odkazy a reference, popisy obrázků a licenční informace, souřadnice a mnoho dalších.
Tyto šablony a moduly jsou formou kódu. Tento kód je vyvíjen zkušenými a kvalifikovanými členy editorských komunit a implementuje funkce, které komunity chtějí, potřebují a nyní pravidelně používají. Ačkoli většina z nich je jednotlivě jednoduchá, společně jsou co do složitosti, kritičnosti a všudypřítomnosti srovnatelné s kódem rozšíření MediaWiki. Na rozdíl od rozšíření však šablony a moduly nemají robustní, stabilní a konzistentní rámec pro internacionalizaci a lokalizaci, přestože se mnoho z nich používá ve více jazycích.
Všechna rozšíření a jádro MediaWiki jsou lokalizovány na translatewiki.net, kde dobrovolní překladatelé mohou pohodlně vidět, které zprávy (řetězce) v kterých komponentách potřebují překlad do svého jazyka, a mohou je přeložit, aniž by museli pracovat s jakýmkoli kódem nad rámec jednoduchého wikitextu. Pro používání translatewiki.net stačí znát základní syntaxi wiki. Software translatewiki.net také kontroluje technickou platnost překladu a poskytuje nástroje pro aktualizaci zastaralých překladů, statistiky překladů, vyhledávání, filtrování atd.
Naopak šablony nebo moduly nic takového nemají. Pokud jsou vůbec přeložitelné, je to dosaženo úpravou stránek wiki pomocí složité syntaxe wiki nebo kódu Lua. Tento proces je náchylný k chybám, hůře odhalitelný a podstatně obtížnější. Některé šablony lze přeložit jako stránky pomocí rozšíření Translate, což se podobá jejich lokalizaci pro překladatele zkušenostem s lokalizací rozšíření, ale rámec pro tuto práci není pro vývojáře šablon a modulů konzistentní.
Je proto žádoucí umožnit překlad lidsky čitelných zpráv uživatelského rozhraní modulů a šablon pomocí procesu, který je srovnatelný s procesem překladu jádra a rozšíření MediaWiki.
Zaměření
Rozsah tohoto projektu zahrnuje pouze překlad zpráv uživatelského rozhraní používaných v modulech a pouze v rámci jedné wiki. To se týká zejména webů Wikimedie, které jsou již vícejazyčné: Commons, Wikidata, Meta, mediawiki.org, Wikispecies a další.
Tento současný návrh se nezabývá následujícími věcmi:
- Lokalizací šablon. Jak již bylo zmíněno výše, toto s tím úzce souvisí a pravděpodobně je to také žádoucí, ale je to ponecháno na pozdější fázi. Technologie modulů (Scribunto) je autonomnější, na rozdíl od šablon, které jsou úzce integrovány s jádrem MediaWiki, a mají poněkud odlišné požadavky na lokalizaci. Práce na přeložitelných modulech by se však měla snažit o dopřednou kompatibilitu, aby vše, co se zde udělá, bylo také znovu použitelné pro šablony.
- Lokalizací názvů modulů a identifikátorů funkcí. Šablony a jejich parametry mají obvykle názvy v jazyce obsahu wiki. Na rozdíl od šablon se moduly obvykle volají ze šablon a jen zřídka přímo ze stránek s obsahem nebo diskusních stránek. Není proto nutné povolit jejich překlad. Tento projekt se zabývá pouze internacionalizací a lokalizací sdělení, která moduly zobrazují čtenářům.
- Lokalizací gadgetů. Podobně jako šablony by i gadgety měly být snadno lokalizovatelné, ale jejich technologie se výrazně liší. Možná by bylo dobré, aby byl znovu použitelný, ale pro tento projekt to není nejvyšší priorita.
- Používání šablon a modulů napříč wikinami ("Global templates"). To je také žádoucí a robustní překlad modulů výrazně usnadní implementaci globálních šablon a modulů. To však nespadá do rozsahu projektu popsaného v tomto dokumentu. Dává smysl vytvořit přeložitelné moduly jako jeden z prvních kroků směrem ke globálním modulům a šablonám a projekt by se jistě měl snažit o dopřednou kompatibilitu s globálními šablonami a moduly, ale i tak obstojí sám o sobě.
- Konverze dat. Převod číslic (123 / ١٢٣ / १२३ / ၁၂၃), jednotek (km / míle), varianty písma (latinka / cyrilice, zjednodušená / tradiční čínština atd.) atd. nejsou součástí tohoto projektu. Tyto věci jsou již řešeny internacionalizačními funkcemi MediaWiki nebo kódem modulů a šablon. Tento projekt se týká pouze zpráv uživatelského rozhraní.
Další informace
- Diskutujte na Diskuse:Přeložitelné moduly.
- Zainteresované strany projektu
- Zásady vývoje a návrhu
- Současná řešení
- Navrhovaná řešení - část, která vyžaduje nejvíce diskuse a přezkoumání
- Technické úvahy