wiki.techinc.nl/includes/collation/NorthernSamiUppercaseCollation.php
jhsoby 660caf9b88 Add custom collation for Northern Sami
This commit adds a custom collation order for
Northern Sami ('se'). Northern Sami exists in ICU,
but the version of ICU that Wikimedia uses is a
few years old, and does *not* include Northern
Sami. It could be years before Wikimedia's production
servers use the one that includes Northern Sami (see
bug), so this is a temporary workaround to amend this
issue.

Bug: T181503
Change-Id: Ib8a48b8db99bef8ec4b05144aace5dbdcacfeded
2017-12-07 21:32:11 +00:00

83 lines
2.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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' ) );
}
}