Příručka:$wgCategoryCollation
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' |
Další nastavení: Podle abecedy | Podle funkce |
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í
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
- MediaWiki 1.17/Category sorting - poznámky k vydání této funkce na MediaWiki 1.17.
Externí odkazy
Poznámky pod čarou
- ↑ 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.)