summaryrefslogtreecommitdiff
path: root/www/wiki/includes/collation/NorthernSamiUppercaseCollation.php
blob: d373749e54ee2e1171b9d724d9f0976337975a58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
/**
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 * http://www.gnu.org/copyleft/gpl.html
 *
 * @since 1.31
 *
 * @file
 */

/**
 * Temporary workaround for incorrect collation of Northern Sami
 * language ('se') in Wikimedia servers (see bug T181503).
 *
 * When the ICU's 'se' collation has been included in PHP-intl and Wikimedia
 * servers updated to that new version of PHP, this file should be deleted
 * and the collation for 'se' set to 'uca-se'.
 *
 * @since 1.31
 */

class NorthernSamiUppercaseCollation extends CustomUppercaseCollation {

	public function __construct() {
		parent::__construct( [
			'A',
			'Á',
			'B',
			'C',
			'Č',
			'Ʒ', // Not part of modern alphabet, but part of ICU
			'Ǯ', // Not part of modern alphabet, but part of ICU
			'D',
			'Đ',
			'E',
			'F',
			'G',
			'Ǧ', // Not part of modern alphabet, but part of ICU
			'Ǥ', // Not part of modern alphabet, but part of ICU
			'H',
			'I',
			'J',
			'K',
			'Ǩ', // Not part of modern alphabet, but part of ICU
			'L',
			'M',
			'N',
			'Ŋ',
			'O',
			'P',
			'Q',
			'R',
			'S',
			'Š',
			'T',
			'Ŧ',
			'U',
			'V',
			'W',
			'X',
			'Y',
			'Z',
			'Ž',
			'Ø', // Not part of native alphabet, but part of ICU
			'Æ', // Not part of native alphabet, but part of ICU
			'Å', // Not part of native alphabet, but part of ICU
			'Ä', // Not part of native alphabet, but part of ICU
			'Ö', // Not part of native alphabet, but part of ICU
		], Language::factory( 'se' ) );
	}
}