Příručka:$wgCategoryCollation

From mediawiki.org
This page is a translated version of the page Manual:$wgCategoryCollation and the translation is 100% complete.
Kategorie: $wgCategoryCollation
Podle jakých kategorií řazení se třídí
Zavedeno od verze:1.17.0 (r72308)
Odstraněno od verze:stále se používá
Povolené hodnoty:(řetězec)
Výchozí hodnota:'uppercase'

Podrobnosti

Toto nastavení určuje, jaké je řazení[1].

Chcete-li například použít španělské řazení, zapíšete $wgCategoryCollation = 'uca-es'; do LocalSettings.php a poté spustíte updateCollation.php , aby se vaše změna projevila.

Aktuálně jsou podporovány:

Algoritmus řazení Verze MW Popis
uppercase výchozí Nastaví vše na velká písmena a poté seřadí podle binární hodnoty řetězce, když je uložen jako UTF-8. Třídění v podstatě bez ohledu na velikost písmen podle kódového bodu.
numeric MW 1.28+ Stejné jako uppercase, ale s numerickým řazením.
identity MW 1.18+ Seřadí podle binární hodnoty řetězce při uložení jako UTF-8 (bez převodu na velká písmena). V podstatě seřaďte podle kódového bodu.
uca-default MW 1.17+ Algoritmus Unicode Collation – komplexní, mnohem vícejazyčné řazení kategorií.
uca-default-u-kn MW 1.28+ uca-default s číselným řazením.
uca-<langcode> MW 1.21+ uca-default s jazykovými úpravami. Viz níže.
uca-<langcode>-u-kn MW 1.28+ uca-<langcode> s číselným řazením.
xx-uca-ckb MW 1.23+ kurdština (sorání)
xx-uca-et MW 1.24-1.31 (odstraněno od 1.32) Estonština, ale písmena W a V jsou považována za samostatná písmena.
xx-uca-fa MW 1.30-1.31 (odstraněno od 1.32) perština
uppercase-ab MW 1.31+ abcházština
uppercase-ba MW 1.30+ baškirština
uppercase-se MW 1.31 (odstraněno od 1.32) sámština (severní)

Od MediaWiki 1.18 mohou rozšíření přidávat další kolace pomocí háčku Collation::factory .

Hodnota je také uložena v tabulce categorylinks, aby bylo možné určit, které řádky je třeba aktualizovat, když se změní algoritmus řazení.

Pokyny k nastavení

  • Po změně této možnosti musíte spustit updateCollation.php , aby se přepočítaly klíče řazení pro všechny stránky, jinak budou vaše kategorie seřazeny nekonzistentně.
  • Aktualizace porovnávání je pomalá a na velkých wikinách může trvat několik hodin.
  • uca-default/uca-xx kolace vyžadují rozšíření PHP intl.
  • Pokud používáte Varnish, Squid nebo mezipaměť souborů, možná budete muset purge stránky kategorií po spuštění updateCollation.php, abyste viděli výsledky.
  • Pokud aktualizujete nebo překompilujete svou verzi PHP, musíte spustit updateCollation.php --force.

Jazykově specifické porovnávání

MediaWiki také podporuje mnoho porovnávání navržených pro konkrétní jazyky. Ty jsou založeny na porovnávacím algoritmu Unicode (UCA) uca-default a mají stejné požadavky. Jmenují se uca-<langcode>, kde <langcode> je jeden z:

af, am, ar, as, ast, az, be, be-tarask, bg, bn, bn@collation=traditional, bo, br, bs, bs-Cyrl, ca, chr, co, cs, cy, da, de, de-AT@collation=phonebook, dsb, ee, el, en, eo, es, et, eu, fa, fi, fil, fo, fr, fr-CA, fur, fy, ga, gd, gl, gu, ha, haw, he, hi, hr, hsb, hu, hy, id, ig, is, it, ka, kk, kl, km, kn, kok, ku, ky, la, lb, lkt, ln, lo, lt, lv, mk, ml, mn, mo, mr, ms, mt, nb, ne, nl, nn, no, oc, om, or, pa, pl, pt, rm, ro, ru, rup, sco, se, si, sk, sl, smn, sq, sr, sr-Latn, sv, sv@collation=standard, sw, ta, te, th, tk, tl, to, tr, tt, uk, uz, vi, vo, yi, yo, zu

Chcete-li například použít řazení pro španělštinu, použijte řazení uca-es.

Použití těchto porovnávání poskytuje jak správné řazení pro daný jazyk, tak správná záhlaví pro první písmena názvů článků. Starší verze MediaWiki nemusí podporovat všechny tyto kódy jazyků.

Přidávání nových řazení

Podpora nového jazyka má dvě části:

  • Je podporován knihovnou International Components pro Unicode (seznam podporovaných jazykových kódů je k dispozici na [1]). Upozorňujeme však, že produkční servery Wikimedie nepoužívají nejnovější verzi knihovny ICU. Od roku 2016 používají verzi 52.1, která podporuje výrazně menší sadu jazyků.
  • Dodatečně je podporována samotnou MediaWiki (to v podstatě vyžaduje kromě základní abecedy uvedení dalších znaků nebo skupin znaků, které jsou v daném jazyce považovány za samostatná písmena) – vždy aktuální seznam aktuálně podporovaných ones je k dispozici na includes/collation/IcuCollation.php.

Může se také stát, že výchozí řazení na JIP ('uca-default' collation) seřadí názvy správně, ale nerozdělí správně písmena – v takovém případě jej lze použít pro první krok. Někdy může řazení písmen v jiném jazyce odpovídat vašemu, pokud spolu souvisejí – v takovém případě může být někdy poskytnuto vlastní řazení (pro soranskou kurdštinu / středokurdský jazyk ('ckb' již existuje) s názvem xx-uca-ckb includes/collation/Collation.php ).

Číselné řazení

Porovnání mezi běžným řazením (nahoře) a číselným řazením (dole)

Při číselném třídění budou stránky seřazeny takto: 1, 2, 9, 10, 11, 20, 21, 99, 100. Při běžném (nečíselném) třídění budou stránky seřazeny jako text: 1, 10, 100 , 11, 2, 20, 21, 9, 99. Pokud je použito číselné třídění, všechny stránky začínající číslem budou seřazeny společně pod jedním záhlavím: "0–9". Pokud se použije běžné třídění, stránky začínající číslem budou seřazeny pod samostatnými záhlavími podle toho, kterým číslem každý titul začíná: "0", "1", "2" atd. Další informace o číselném třídění naleznete v Unicode Technical Standard #10. Chcete-li otestovat číselné třídění, podívejte se na ICU Collation Demo. Všimněte si, že číselné řazení funguje pouze pro nepřerušované sekvence číslic. Číslice oddělené čárkami, tečkami nebo mezerami jsou považovány za samostatná čísla.

Související odkazy

Externí odkazy

Poznámky pod čarou

  1. Collation odkazuje na to, jak jsou data řazena podle jejich sady znaků, s použitím definovaných kritérií řazení (tj. abecední nebo obrácené řazení. K řazení seznamů kategorií by měl být použit algoritmus závislý na velikosti písmen nebo ne atd.)