Content translation/Specifikace
Prototyp
Prototyp, který slouží také jako reference vývoje, je přítomen na: http://pauginer.github.io/prototype-translate/content-translation.html
Architektura
Widgety
Uživatelské rozhraní CX [1] se skládá ze 4 widgetů – záhlaví, widgetu zdrojového článku, widgetu překladu a widgetu překladatelských nástrojů.
Komunikace mezi widgety
Oddělujeme odpovědnosti a řídíme se přístupem zaměřeným na události. Představte si to jako globální dispečer jednotlivých událostí. Widgety se přihlašují k odběru událostí, publikují události (spouští je), widgety se mohou připojovat a odpojovat od registrů událostí.
Předpokládejme, že kliknete na slovo ve zdrojovém článku. Nebudeme volat žádné metody jiných widgetů. Budeme předstírat, že widget zdrojového článku neví o ostatních widgetech. Po kliknutí na slovo widget vyvolá/publikuje událost, například mw.ex.source.word.select. Nyní se k odběru této události může přihlásit více spotřebitelů. Jedním z nich by byl sloupec překladu. Další budou nástroje widgetu – uvnitř nástrojů budeme mít spoustu pomocníků s překladem.
Pro vzor odběru/publikování událostí používáme mw.hook, což je obal nad $.Callbacks.
Styl uživatelského rozhraní
Pro rozšíření se používá LESS.
Konvence pojmenování
- Všechny názvy tříd CSS by měly mít prefix cx.[1].
- Všechny RL moduly mají prefix ext.cx
- Jmenný prostor objektů jQuery je mw.cx.
- CSS třídy dodržují konvence pojmenování BEM
- Dodržuje kódování MW a konvence pojmenování
- Koncem roku 2016 probíhá přechod na OOJS.
Pracovní postup
- Spuštění: Z vstupního bodu ("šedý mezijazykový odkaz"), prostřednictvím přímého odkazu nebo přes panel
- Načítání zdrojového článku a překladu vedle sebe.
- Počáteční nastavení: Sloupec zdroje musí zobrazovat indikátor zatížení. Sloupec překladu nesmí mít žádný obsah. Zástupný symbol "+ Přidat překlad" musí být zobrazen v první sekci nebo v dalších sekcích po najetí myší.
- Během překladu se každá sekce automaticky ukládá do centrálního paralelního korpusu databáze.
- Načítání uloženého překladu: Ve zdrojovém a cílovém sloupci musí být zobrazeny indikátory načítání. Přeložený text musí být načten se stejným obsahem, jaký měl při automatickém uložení.
- Kliknutím na prázdnou sekci se překlad předvyplní.
- Pokud uživatel vybral možnost "bez automatického překladu", musí zůstat prázdné.
- Pokud uživatel zvolil "zdrojový text", musí být zdrojový text předvyplněn odkazem, referencí a úpravou šablony.
- Pokud si uživatel zvolil strojový překladač, musí být strojově přeložený text předvyplněn odkazem, referencí a úpravou šablony.
- Odkazy
- Odkazy se při použití automatického překladu automaticky upravují.
- Pokud je v cílovém sloupci vybrán text, který lze propojit s existujícím článkem v cílové wiki, musí se zobrazit karta odkazu, která umožňuje odkaz na něj.
- Musí být možné přidat odkaz na neexistující ("červený") cílový článek.
- Kliknutím na odkaz ve sloupci se zdrojem se musí zobrazit karta odkazu se zdrojovým článkem (s názvem a obrázkem, pokud je k dispozici). Pokud existuje přímo odpovídající cílový článek, musí být také zobrazen. Pokud ne, musí mít uživatel možnost odkazovat na jiný článek.
- Odkazy
- Kliknutím na referenci se musí zobrazit karta s úpravou reference.
- Matematika
- Vzorce s hodnotou
<math>se zkopírují tak, jak jsou.
- Vzorce s hodnotou
- Šablony
- Šablonu lze přeskočit, zkopírovat jako zdroj (možná nefunkční v cílovém jazyce) nebo detailně upravit, pokud existuje ekvivalentní šablona.
- Ekvivalentní adaptace šablony je popsána v šablonách
- Kategorie
- Přímo odpovídající kategorie se upravují automaticky.
- Publikování
- Článek je publikován jako plnohodnotná wiki stránka.
- Mezijazyčné odkazy se přidávají pomocí odkazů na web Wikidata.
Struktura URL
Překlad obsahu funguje hlavně na speciální stránce Special:ContentTranslation. Parametry URL jsou:
- page – název zdroje
- targettitle – cílový název
- from – zdrojový jazyk
- to – cílový jazyk
- campaign – název kampaně, zejména pro účely protokolování
Testování
(Bude nově definováno v lednu 2017.)
Hlášení chyb
Chyby prosím nahlaste na Phabricator pomocí projektu "MediaWiki-extensions-ContentTranslation". Pokud to nevíte, nemusíte zadávat verzi, závažnost, hardware nebo operační systém.