Jump to content

Extension:Labeled Section Transclusion

From mediawiki.org
This page is a translated version of the page Extension:Labeled Section Transclusion and the translation is 100% complete.
Příručka k rozšířením MediaWiki
Labeled Section Transclusion
Stav rozšíření: stabilní
Implementace Značka , Funkce analyzátoru
Popis Umožňuje převést označené části textu
Autoři Steve Sanbeg
Zásady kompatibility Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní.
MediaWiki 1.19+
Změny v databázi Ne
Licence GNU General Public License 2.0 nebo novější
Stáhnout
Veřejné wiki používající rozšíření 6,919 (Ranked 26th)
Přeložte rozšíření Labeled Section Transclusion, používá-li lokalizaci z translatewiki.net
Problémy Otevřené úkoly · Nahlásit chybu

Rozšíření Labeled Section Transclusion umožňuje selektivní převedení označené části textu, přičemž wikitext analyzuje jako obvykle. Jeho funkčnost je podobná vylepšené verzi značky ‎<onlyinclude> s normálním překladem wiki, který vybírá sekce pro zahrnutí. Je povoleno na všech wikinách Wikimedie.

Zatímco normální transkluze je primárně určena k transkluzi velkých částí malých šablon, transkluze označené sekce je určena pro malé části velkých stránek.

Existují však určité rozdíly. V transkluzi nativní šablony jsou sekce označeny chováním. Můžete tedy mít pouze jednu (možná nesouvislou) sekci, která má být zahrnuta nebo přeskočena.

Zde jsou sekce označeny názvem a chování volí volající, který může sekce podle potřeby zahrnovat nebo přeskakovat. Různé stránky mohou obsahovat nebo vylučovat vybrané sekce. Může být libovolný počet sekcí, které se také mohou libovolně překrývat.

Označení sekcí podle názvu spíše než podle chování umožňuje vhodnější vykreslení odkazů na sekce pro získání úryvků z větších textů, protože rozšíření nyní může zohledňovat sekce, které jsou na začátku stránky přeskočeny, což umožňuje vhodné posunutí transkludovaných sekcí.

Instalace

  • Stáhněte soubor/y a vložte je do adresáře pojmenovaného LabeledSectionTransclusion ve vaší složce extensions/.
    Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'LabeledSectionTransclusion' );
    
  • Yes Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Na různých wikin Wikisource.org se také používá Gadget, který umožňuje definovat sekce se zjednodušenou syntaxí ## label ##. Jeho kód lze nalézt na Wikisource:MediaWiki:Gadget-Easy_LST.js.

Funkce

Přenesení jakékoli označené části

Krok 1: Označte sekce

Označte části v textu pomocí značek ‎<section> takto:

<section begin="chapter1" />this is chapter 1<section end="chapter1" />

Všimněte si, že tyto značky nejsou HTML/XML a nepoužívají normální syntaxi atributů. Z tohoto důvodu a protože značky begin a end jsou individuální, spíše než běžné značky XML open/close, umožňuje to vnořené nebo překrývající se sekce. To vám umožní vkládat značky sekcí, aniž byste se museli obávat, že budou překážet v jiných sekcích.


Krok 2a: Přeložte sekci

Zavolejte funkci analyzátoru #lst, abyste jej transkludovali, tzn. chcete-li převést sekci s názvem chapter1 ze stránky s názvem articleX:

{{#lst:articleX|chapter1}}

Cílový článek definuje umístění sekce. Jeho chování je určeno funkcí analyzátoru.

Krok 2b: Přeložte stránku, ale vylučte sekci

Chcete-li převést stránku, ale vyloučit zadanou sekci, použijte funkci #lstx:

{{#lstx:articleX|chapter1}}

Volitelně můžete do vyloučené části přidat náhradní text.

{{#lstx:articleX|chapter1|replacement_text}}

Příklad:

{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}

Náhradní text se objeví v oblasti, kde je oddíl přeskočen (vyloučen).

Nesouvislé úseky

Je možné mít více sekcí se stejným názvem. V tomto případě bude každá sekce s tímto názvem zahrnuta/vyloučena. To je užitečné zejména pro označení různých diskusí.

Rozsahy sekcí

Tyto funkce mají další volitelný argument pro určení rozsahu sekce. Tj. {{#lst:articleX|chapter1|chapter3}}, zahrnout vše od začátku kapitoly 1 do konce kapitoly 3. To umožňuje použití prázdných párů značek k označení jednoho konce sekce, případně v šabloně. Podobný mechanismus se v současnosti používá na francouzském Wikisource.

Nahrazování

To také funguje s nahrazováním. Je dokonce možné, aby článek nahradil část sebe sama. Jedno použití tohoto poskytuje úhledný způsob archivace diskusních stránek: Označte text k archivaci pomocí <section begin=archive /> atd. Poté vytvořte archivní stránku s textem pomocí {{subst:#lst:talk_page|archive}}, která zkopíruje archivované sekce. Nakonec nahraďte obsah talk_page {{subst:#lstx:talk_page|archive}}, abyste tyto sekce odstranili.

K dispozici je volitelná podpora pro přepis částí textu označených normálními nadpisy, tj. ==this section==. Pokud je nainstalováno, provádí se to pomocí funkce lsth.

Přeložení před první nadpis

Chcete-li přepsat úvod stránky (tj. obsah před prvním nadpisem), použijte

{{#lsth:pagename}}

Převedení konkrétní sekce

Můžete také převést celý obsah sectionX (který zahrnuje všechny jeho podsekce, ale vylučuje samotný nadpis sectionX).

{{#lsth:pagename|sectionX}}

Důležité poznámky:

  1. Pokud máte více než jednu sekci se stejným názvem, bude transkludován pouze první výskyt sectionX.
  2. Ujistěte se, že zadáváte nadpis sectionX ve wikitextu, ne jak je zobrazen. Pokud je například nadpis sekce ==List of [[Extension]]==, měli byste zadat "List of [[Extension]]" nikoli "List of Extension".
  3. Při přepisu části ze stránky označené k překladu pomocí rozšíření Translante převádějte z jazykové verze. Např. z pagename/en spíše než z pagename.
  4. Porovnávání je citlivé na malá a velká písmena, aby se zabránilo přerušení odkazů v důsledku změn velkých a malých písmen.

Překládání více sekcí

Můžete také transkludovat od prvního výskytu sectionX (kromě samotného záhlaví sectionX), dokud nedosáhne dalšího výskytu sectionY. Všimněte si, že sectionY funguje jako koncový bod, takže transkluze neobsahuje obsah sectionY.

{{#lsth:pagename|sectionX|sectionY}}

Poznámky k přeskočeným nadpisům

Vzhledem k tomu, že tradiční transkluze v MediaWiki není určena k přepisování sekcí, nebere v úvahu vynechané nadpisy. V důsledku toho, pokud byste převedli šablonu s více nadpisy a přeskočili první nadpis, všechny odkazy na sekce úprav by odkazovaly na nesprávnou sekci v šabloně.

Když je toto rozšíření použito (v MediaWiki 1.9 nebo novější), funkce #lst a #lsth počítají nadpisy v "přeskočené" počáteční části a odpovídajícím způsobem odsazují transkludované nadpisy. To umožní, aby tyto odkazy v jednoduchém případě ukazovaly na správnou sekci.

Všimněte si, že #lstx nepočítá přeskočené nadpisy a že přeskočené nadpisy v nesouvislých sekcích nejsou posunuty. Zdá se ale, že je to nyní opraveno (pravděpodobně při portování na nový preprocesor MediaWiki). Transkludované nadpisy lze propojit se správnými sekcemi.

Lokalizace

Interně všechny funkce analyzátoru používají předponu lst pro konzistenci s názvem rozšíření. Vzhledem k tomu, že tato zkratka může být pro nevývojáře matoucí, byly zavedeny čitelné anglické varianty, takže funkce lze aktuálně volat z obou jmen.

funkce angličtina němčina hebrejština (RTL) portugalština
#lst #section #Abschnitt
#קטע
#trecho
#lstx #section-x #Abschnitt-x
#בלי קטע
#trecho-x
#lsth #section-h

Navíc lze značku nyní lokalizovat. V současné době: angličtina, němčina, hebrejština, portugalština; tj.:

angličtina
<section begin=x/> ... <section end=x/>
němčina
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>
hebrejština (RTL)
<קטע התחלה=א> ... <קטע סוף=א> ("start" kód vpravo a "end" kód vlevo)
portugalština
<trecho começo=x/> ... <trecho fim=x/>

Každá lokalizace je povolena pouze v případě, že stránka odpovídá příslušnému jazyku obsahu.

Omezení

  • {{#lsth:pagename|sectionX}} funguje pouze v první sekci, pokud má více sekcí název sectionX. Pokud má článek více než jednu sekci se stejným názvem, je přepsán pouze první výskyt sekceX.
  • I když je možné použít toto rozšíření napříč jmennými prostory, reference interwiki nejsou vyřešeny. Zatím není možné například zahrnout část stránky Wikisource do vzdálené instalace MediaWiki.
  • Značky sekcí nelze samy o sobě převést, aby fungovaly na jiných stránkách. {{#lst:}} and {{#lstx:}} funguje pouze v případě, že se značky sekcí objevují přímo ve wikitextu přeložené stránky. To například znamená, že tyto značky nelze vložit do šablony pomocí parametrů šablony a parser funkcí. Kouzelné slovo #tag nefunguje se značkami sekcí.
  • Od roku 2014 nemají značky sekcí při použití v parametru šablony žádný účinek. Pokud stránka A obsahuje text {{B|X}}, {{#lst:A|...}} nemůže nijak získat přístup k X.

Příklady

Související odkazy