|
MediaWiki master
|
Tailored collation for Chinese Pinyin sorting. More...
Inherits MediaWiki\Collation\IcuCollation.

Public Member Functions | ||||
| __construct (LanguageFactory $languageFactory, string $locale) | ||||
| getSortKey ( $string) | ||||
| ICU orders characters by script group (Latin/Hani) first, but we want to avoid having first-letter sections separately for Pinyin and English words on different pages of a large category. | ||||
Public Member Functions inherited from MediaWiki\Collation\IcuCollation | ||||
| __construct (LanguageFactory $languageFactory, $locale) | ||||
| getFirstLetter ( $string) | ||||
Given a string, return the logical "first letter" to be used for grouping on category pages and so on.This has to be coordinated carefully with convertToSortkey(), or else the sorted list might jump back and forth between the same "initial letters" or other pathological behavior. For instance, if you just return the first character, but "a" sorts the same as "A" based on getSortKey(), then you might get a list like== A ==
| ||||
Public Member Functions inherited from MediaWiki\Collation\Collation | ||||
| getSortKeys ( $strings) | ||||
| Get multiple sort keys. | ||||
Additional Inherited Members | |
Static Public Member Functions inherited from MediaWiki\Collation\IcuCollation | |
| static | isCjk ( $codepoint) |
| Test if a code point is a CJK (Chinese, Japanese, Korean) character. | |
Protected Member Functions inherited from MediaWiki\Collation\IcuCollation | |
| getPrimarySortKey (string $string) | |
| getRawSortLetter (string $string) | |
Protected Attributes inherited from MediaWiki\Collation\IcuCollation | |
| Language | $digitTransformLanguage |
| string | $langCode |
| string | $locale |
| string | $localeGroup |
| Collator | $mainCollator |
| Collator | $primaryCollator |
Tailored collation for Chinese Pinyin sorting.
Groups Pinyin initials and Latin characters into buckets. TODO: Overrides for compounds of polyphonic characters (T401456)
Definition at line 20 of file PinyinCollation.php.
| MediaWiki\Collation\PinyinCollation::__construct | ( | LanguageFactory | $languageFactory, |
| string | $locale ) |
Definition at line 22 of file PinyinCollation.php.
References MediaWiki\Collation\IcuCollation\$locale.
| MediaWiki\Collation\PinyinCollation::getSortKey | ( | $string | ) |
ICU orders characters by script group (Latin/Hani) first, but we want to avoid having first-letter sections separately for Pinyin and English words on different pages of a large category.
Given a string, convert it to a (hopefully short) key that can be used for efficient sorting.A binary sort according to the sortkeys corresponds to a logical sort of the corresponding strings. Current code expects that a line feed character should sort before all others, but has no other particular expectations (and that one can be changed if necessary).
| string | $string | UTF-8 string |
Reimplemented from MediaWiki\Collation\IcuCollation.
Definition at line 45 of file PinyinCollation.php.
References MediaWiki\Collation\IcuCollation\getPrimarySortKey(), and MediaWiki\Collation\IcuCollation\getRawSortLetter().