],
[
' ',
- "\xc2\xa0",
- "\xc2\xa0",
- "\xc2\xad"
+ "\u{00A0}",
+ "\u{00A0}",
+ "\u{00AD}"
],
$message
);
'af' => [],
'am' => [],
'ar' => [],
- 'as' => [ "\xe0\xa6\x82", "\xe0\xa6\x81", "\xe0\xa6\x83", "\xe0\xa7\x8e", "ক্ষ " ],
+ 'as' => [ "\u{0982}", "\u{0981}", "\u{0983}", "\u{09CE}", "ক্ষ " ],
'ast' => [ "Ch", "Ll", "Ñ" ], // not in libicu
'az' => [ "Ç", "Ə", "Ğ", "İ", "Ö", "Ş", "Ü" ],
'be' => [ "Ё" ],
'ga' => [],
'gd' => [], // not in libicu
'gl' => [ "Ch", "Ll", "Ñ" ],
- 'gu' => [ "\xe0\xaa\x82", "\xe0\xaa\x83", "\xe0\xaa\x81", "\xe0\xaa\xb3" ],
+ 'gu' => [ "\u{0A82}", "\u{0A83}", "\u{0A81}", "\u{0AB3}" ],
'ha' => [ 'Ɓ', 'Ɗ', 'Ƙ', 'Sh', 'Ts', 'Ƴ' ],
'haw' => [ 'ʻ' ],
'he' => [],
- 'hi' => [ "\xe0\xa4\x82", "\xe0\xa4\x83" ],
+ 'hi' => [ "\u{0902}", "\u{0903}" ],
'hr' => [ "Č", "Ć", "Dž", "Đ", "Lj", "Nj", "Š", "Ž" ],
'hsb' => [ "Č", "Dź", "Ě", "Ch", "Ł", "Ń", "Ř", "Š", "Ć", "Ž" ],
'hu' => [ "Cs", "Dz", "Dzs", "Gy", "Ly", "Ny", "Ö", "Sz", "Ty", "Ü", "Zs" ],
'kk' => [ "Ү", "І" ],
'kl' => [ "Æ", "Ø", "Å" ],
'km' => [
- "រ", "ឫ", "ឬ", "ល", "ឭ", "ឮ", "\xe1\x9e\xbb\xe1\x9f\x86",
- "\xe1\x9f\x86", "\xe1\x9e\xb6\xe1\x9f\x86", "\xe1\x9f\x87",
- "\xe1\x9e\xb7\xe1\x9f\x87", "\xe1\x9e\xbb\xe1\x9f\x87",
- "\xe1\x9f\x81\xe1\x9f\x87", "\xe1\x9f\x84\xe1\x9f\x87",
+ "រ", "ឫ", "ឬ", "ល", "ឭ", "ឮ", "\u{17BB}\u{17C6}",
+ "\u{17C6}", "\u{17B6}\u{17C6}", "\u{17C7}",
+ "\u{17B7}\u{17C7}", "\u{17BB}\u{17C7}",
+ "\u{17C1}\u{17C7}", "\u{17C4}\u{17C7}",
],
- 'kn' => [ "\xe0\xb2\x81", "\xe0\xb2\x83", "\xe0\xb3\xb1", "\xe0\xb3\xb2" ],
- 'kok' => [ "\xe0\xa4\x82", "\xe0\xa4\x83", "ळ", "क्ष" ],
+ 'kn' => [ "\u{0C81}", "\u{0C83}", "\u{0CF1}", "\u{0CF2}" ],
+ 'kok' => [ "\u{0902}", "\u{0903}", "ळ", "क्ष" ],
'ku' => [ "Ç", "Ê", "Î", "Ş", "Û" ], // not in libicu
'ky' => [ "Ё" ],
'la' => [], // not in libicu
'ml' => [],
'mn' => [],
'mo' => [ "Ă", "Â", "Î", "Ș", "Ț" ], // not in libicu
- 'mr' => [ "\xe0\xa4\x82", "\xe0\xa4\x83", "ळ", "क्ष", "ज्ञ" ],
+ 'mr' => [ "\u{0902}", "\u{0903}", "ळ", "क्ष", "ज्ञ" ],
'ms' => [],
'mt' => [ "Ċ", "Ġ", "Għ", "Ħ", "Ż" ],
'nb' => [ "Æ", "Ø", "Å" ],
'no' => [ "Æ", "Ø", "Å" ], // not in libicu. You should probably use nb or nn instead.
'oc' => [], // not in libicu
'om' => [ 'Ch', 'Dh', 'Kh', 'Ny', 'Ph', 'Sh' ],
- 'or' => [ "\xe0\xac\x81", "\xe0\xac\x82", "\xe0\xac\x83", "କ୍ଷ" ],
- 'pa' => [ "\xe0\xa9\x8d" ],
+ 'or' => [ "\u{0B01}", "\u{0B02}", "\u{0B03}", "କ୍ଷ" ],
+ 'pa' => [ "\u{0A4D}" ],
'pl' => [ "Ą", "Ć", "Ę", "Ł", "Ń", "Ó", "Ś", "Ź", "Ż" ],
'pt' => [],
'rm' => [], // not in libicu
'Á', 'Č', 'Ʒ', 'Ǯ', 'Đ', 'Ǧ', 'Ǥ', 'Ǩ', 'Ŋ',
'Š', 'Ŧ', 'Ž', 'Ø', 'Æ', 'Ȧ', 'Ä', 'Ö'
],
- 'si' => [ "\xe0\xb6\x82", "\xe0\xb6\x83", "\xe0\xb6\xa4" ],
+ 'si' => [ "\u{0D82}", "\u{0D83}", "\u{0DA4}" ],
'sk' => [ "Ä", "Č", "Ch", "Ô", "Š", "Ž" ],
'sl' => [ "Č", "Š", "Ž" ],
'smn' => [ "Á", "Č", "Đ", "Ŋ", "Š", "Ŧ", "Ž", "Æ", "Ø", "Å", "Ä", "Ö" ],
'sv@collation=standard' => [ "Å", "Ä", "Ö" ],
'sw' => [],
'ta' => [
- "\xE0\xAE\x82", "ஃ", "க்ஷ", "க்", "ங்", "ச்", "ஞ்", "ட்", "ண்", "த்", "ந்",
+ "\u{0B82}", "ஃ", "க்ஷ", "க்", "ங்", "ச்", "ஞ்", "ட்", "ண்", "த்", "ந்",
"ப்", "ம்", "ய்", "ர்", "ல்", "வ்", "ழ்", "ள்", "ற்", "ன்", "ஜ்", "ஶ்", "ஷ்",
"ஸ்", "ஹ்", "க்ஷ்"
],
- 'te' => [ "\xe0\xb0\x81", "\xe0\xb0\x82", "\xe0\xb0\x83" ],
- 'th' => [ "ฯ", "\xe0\xb9\x86", "\xe0\xb9\x8d", "\xe0\xb8\xba" ],
+ 'te' => [ "\u{0C01}", "\u{0C02}", "\u{0C03}" ],
+ 'th' => [ "ฯ", "\u{0E46}", "\u{0E4D}", "\u{0E3A}" ],
'tk' => [ "Ç", "Ä", "Ž", "Ň", "Ö", "Ş", "Ü", "Ý" ],
'tl' => [ "Ñ", "Ng" ], // not in libicu
'to' => [ "Ng", "ʻ" ],
'vi' => [ "Ă", "Â", "Đ", "Ê", "Ô", "Ơ", "Ư" ],
'vo' => [ "Ä", "Ö", "Ü" ],
'yi' => [
- "\xd7\x91\xd6\xbf", "\xd7\x9b\xd6\xbc", "\xd7\xa4\xd6\xbc",
- "\xd7\xa9\xd7\x82", "\xd7\xaa\xd6\xbc"
+ "\u{05D1}\u{05BF}", "\u{05DB}\u{05BC}", "\u{05E4}\u{05BC}",
+ "\u{05E9}\u{05C2}", "\u{05EA}\u{05BC}"
],
'yo' => [ "Ẹ", "Gb", "Ọ", "Ṣ" ],
'zu' => [],
// with utf8 support, but not unicode property support.
// check that \p{Zs} (space separators) matches
// U+3000 (Ideographic space)
- $regexprop = preg_replace( '/\p{Zs}/u', '', "-\xE3\x80\x80-" );
+ $regexprop = preg_replace( '/\p{Zs}/u', '', "-\u{3000}-" );
Wikimedia\restoreWarnings();
if ( $regexd != '--' || $regexprop != '--' ) {
$this->showError( 'config-pcre-no-utf8' );
* and U+000D (CR). However, PHP already escapes LF and CR according to RFC 4627.
*/
private static $badChars = [
- "\xe2\x80\xa8", // U+2028 LINE SEPARATOR
- "\xe2\x80\xa9", // U+2029 PARAGRAPH SEPARATOR
+ "\u{2028}", // U+2028 LINE SEPARATOR
+ "\u{2029}", // U+2029 PARAGRAPH SEPARATOR
];
/**
* @return string
*/
public static function serializeStringValue( $value ) {
- $value = strtr( $value, [ "\0" => "\xEF\xBF\xBD", '\\' => '\\\\', '"' => '\\"' ] );
+ $value = strtr( $value, [ "\0" => "\u{FFFD}", '\\' => '\\\\', '"' => '\\"' ] );
$value = preg_replace_callback( '/[\x01-\x1f\x7f]/', function ( $match ) {
return '\\' . base_convert( ord( $match[0] ), 10, 16 ) . ' ';
}, $value );
$attribs['selected'] = 'selected';
}
- $val = str_repeat( /*   */ "\xc2\xa0", $depth * 2 ) . $text;
+ $val = str_repeat( /*   */ "\u{00A0}", $depth * 2 ) . $text;
return str_repeat( "\t", $depth ) . Xml::element( 'option', $attribs, $val ) . "\n";
}
public function __construct( $options = [] ) {
parent::__construct( $options );
- $this->attributeEscapes["\xc2\xa0"] = ' ';
+ $this->attributeEscapes["\u{00A0}"] = ' ';
unset( $this->attributeEscapes["&"] );
- $this->textEscapes["\xc2\xa0"] = ' ';
+ $this->textEscapes["\u{00A0}"] = ' ';
unset( $this->textEscapes["&"] );
}
/**
* Unicode directional formatting characters, for embedBidi()
*/
- static private $lre = "\xE2\x80\xAA"; // U+202A LEFT-TO-RIGHT EMBEDDING
- static private $rle = "\xE2\x80\xAB"; // U+202B RIGHT-TO-LEFT EMBEDDING
- static private $pdf = "\xE2\x80\xAC"; // U+202C POP DIRECTIONAL FORMATTING
+ static private $lre = "\u{202A}"; // U+202A LEFT-TO-RIGHT EMBEDDING
+ static private $rle = "\u{202B}"; // U+202B RIGHT-TO-LEFT EMBEDDING
+ static private $pdf = "\u{202C}"; // U+202C POP DIRECTIONAL FORMATTING
/**
* Directionality test regex for embedBidi(). Matches the first strong directionality codepoint:
if ( $code < 0xac00 || 0xd7a4 <= $code ) {
return $matches[1];
} elseif ( $code < 0xb098 ) {
- return "\xe3\x84\xb1";
+ return "\u{3131}";
} elseif ( $code < 0xb2e4 ) {
- return "\xe3\x84\xb4";
+ return "\u{3134}";
} elseif ( $code < 0xb77c ) {
- return "\xe3\x84\xb7";
+ return "\u{3137}";
} elseif ( $code < 0xb9c8 ) {
- return "\xe3\x84\xb9";
+ return "\u{3139}";
} elseif ( $code < 0xbc14 ) {
- return "\xe3\x85\x81";
+ return "\u{3141}";
} elseif ( $code < 0xc0ac ) {
- return "\xe3\x85\x82";
+ return "\u{3142}";
} elseif ( $code < 0xc544 ) {
- return "\xe3\x85\x85";
+ return "\u{3145}";
} elseif ( $code < 0xc790 ) {
- return "\xe3\x85\x87";
+ return "\u{3147}";
} elseif ( $code < 0xcc28 ) {
- return "\xe3\x85\x88";
+ return "\u{3148}";
} elseif ( $code < 0xce74 ) {
- return "\xe3\x85\x8a";
+ return "\u{314A}";
} elseif ( $code < 0xd0c0 ) {
- return "\xe3\x85\x8b";
+ return "\u{314B}";
} elseif ( $code < 0xd30c ) {
- return "\xe3\x85\x8c";
+ return "\u{314C}";
} elseif ( $code < 0xd558 ) {
- return "\xe3\x85\x8d";
+ return "\u{314D}";
} else {
- return "\xe3\x85\x8e";
+ return "\u{314E}";
}
} else {
return '';
* @return string
*/
function getDirMark( $opposite = false ) {
- $lrm = "\xE2\x80\x8E"; # LEFT-TO-RIGHT MARK, commonly abbreviated LRM
- $rlm = "\xE2\x80\x8F"; # RIGHT-TO-LEFT MARK, commonly abbreviated RLM
+ $lrm = "\u{200E}"; # LEFT-TO-RIGHT MARK, commonly abbreviated LRM
+ $rlm = "\u{200F}"; # RIGHT-TO-LEFT MARK, commonly abbreviated RLM
if ( $opposite ) {
return $this->isRTL() ? $lrm : $rlm;
}
* These determine things like interwikis, language selectors, and so on.
* Safe to change without running scripts on the respective sites.
*
- * \xE2\x80\x8E is the left-to-right marker and
- * \xE2\x80\x8F is the right-to-left marker.
+ * \u{200E} is the left-to-right marker and
+ * \u{200F} is the right-to-left marker.
* They are required for ensuring the correct display of brackets in
* mixed rtl/ltr environment.
*
'bcc' => 'جهلسری بلوچی', # Southern Balochi
'bcl' => 'Bikol Central', # Bikol: Central Bicolano language
'be' => 'беларуская', # Belarusian normative
- 'be-tarask' => "беларуская (тарашкевіца)\xE2\x80\x8E", # Belarusian in Taraskievica orthography
- 'be-x-old' => "беларуская (тарашкевіца)\xE2\x80\x8E", # (be-tarask compat)
+ 'be-tarask' => "беларуская (тарашкевіца)\u{200E}", # Belarusian in Taraskievica orthography
+ 'be-x-old' => "беларуская (тарашкевіца)\u{200E}", # (be-tarask compat)
'bg' => 'български', # Bulgarian
'bgn' => 'روچ کپتین بلوچی', # Western Balochi
'bh' => 'भोजपुरी', # Bihari macro language. Falls back to Bhojpuri (bho)
'cps' => 'Capiceño', # Capiznon
'cr' => 'Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ', # Cree
'crh' => 'qırımtatarca', # Crimean Tatar (multiple scripts - defaults to Latin)
- 'crh-latn' => "qırımtatarca (Latin)\xE2\x80\x8E", # Crimean Tatar (Latin)
- 'crh-cyrl' => "къырымтатарджа (Кирилл)\xE2\x80\x8E", # Crimean Tatar (Cyrillic)
+ 'crh-latn' => "qırımtatarca (Latin)\u{200E}", # Crimean Tatar (Latin)
+ 'crh-cyrl' => "къырымтатарджа (Кирилл)\u{200E}", # Crimean Tatar (Cyrillic)
'cs' => 'čeština', # Czech
'csb' => 'kaszëbsczi', # Cassubian
'cu' => 'словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ', # Old Church Slavonic (ancient language)
'de' => 'Deutsch', # German ("Du")
'de-at' => 'Österreichisches Deutsch', # Austrian German
'de-ch' => 'Schweizer Hochdeutsch', # Swiss Standard German
- 'de-formal' => "Deutsch (Sie-Form)\xE2\x80\x8E", # German - formal address ("Sie")
+ 'de-formal' => "Deutsch (Sie-Form)\u{200E}", # German - formal address ("Sie")
'din' => 'Thuɔŋjäŋ', # Dinka
'diq' => 'Zazaki', # Zazaki
'dsb' => 'dolnoserbski', # Lower Sorbian
'en-gb' => 'British English', # British English
'eo' => 'Esperanto', # Esperanto
'es' => 'español', # Spanish
- 'es-formal' => "español (formal)\xE2\x80\x8E", # Spanish formal address
+ 'es-formal' => "español (formal)\u{200E}", # Spanish formal address
'et' => 'eesti', # Estonian
'eu' => 'euskara', # Basque
'ext' => 'estremeñu', # Extremaduran
'ga' => 'Gaeilge', # Irish
'gag' => 'Gagauz', # Gagauz
'gan' => '贛語', # Gan (multiple scripts - defaults to Traditional)
- 'gan-hans' => "赣语(简体)\xE2\x80\x8E", # Gan (Simplified Han)
- 'gan-hant' => "贛語(繁體)\xE2\x80\x8E", # Gan (Traditional Han)
+ 'gan-hans' => "赣语(简体)\u{200E}", # Gan (Simplified Han)
+ 'gan-hant' => "贛語(繁體)\u{200E}", # Gan (Traditional Han)
'gcr' => 'kréyòl gwiyanè', # Guianan Creole
'gd' => 'Gàidhlig', # Scots Gaelic
'gl' => 'galego', # Galician
'hsb' => 'hornjoserbsce', # Upper Sorbian
'ht' => 'Kreyòl ayisyen', # Haitian Creole French
'hu' => 'magyar', # Hungarian
- 'hu-formal' => "magyar (formal)\xE2\x80\x8E", # Hungarian formal address
+ 'hu-formal' => "magyar (formal)\u{200E}", # Hungarian formal address
'hy' => 'Հայերեն', # Armenian
'hz' => 'Otsiherero', # Herero
'ia' => 'interlingua', # Interlingua (IALA)
'kiu' => 'Kırmancki', # Kirmanjki
'kj' => 'Kwanyama', # Kwanyama
'kk' => 'қазақша', # Kazakh (multiple scripts - defaults to Cyrillic)
- 'kk-arab' => "قازاقشا (تٴوتە)\xE2\x80\x8F", # Kazakh Arabic
- 'kk-cyrl' => "қазақша (кирил)\xE2\x80\x8E", # Kazakh Cyrillic
- 'kk-latn' => "qazaqşa (latın)\xE2\x80\x8E", # Kazakh Latin
- 'kk-cn' => "قازاقشا (جۇنگو)\xE2\x80\x8F", # Kazakh (China)
- 'kk-kz' => "қазақша (Қазақстан)\xE2\x80\x8E", # Kazakh (Kazakhstan)
- 'kk-tr' => "qazaqşa (Türkïya)\xE2\x80\x8E", # Kazakh (Turkey)
+ 'kk-arab' => "قازاقشا (تٴوتە)\u{200F}", # Kazakh Arabic
+ 'kk-cyrl' => "қазақша (кирил)\u{200E}", # Kazakh Cyrillic
+ 'kk-latn' => "qazaqşa (latın)\u{200E}", # Kazakh Latin
+ 'kk-cn' => "قازاقشا (جۇنگو)\u{200F}", # Kazakh (China)
+ 'kk-kz' => "қазақша (Қазақстан)\u{200E}", # Kazakh (Kazakhstan)
+ 'kk-tr' => "qazaqşa (Türkïya)\u{200E}", # Kazakh (Turkey)
'kl' => 'kalaallisut', # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal)
'km' => 'ភាសាខ្មែរ', # Khmer, Central
'kn' => 'ಕನ್ನಡ', # Kannada
'ks-deva' => 'कॉशुर', # Kashmiri (Devanagari script)
'ksh' => 'Ripoarisch', # Ripuarian
'ku' => 'kurdî', # Kurdish (multiple scripts - defaults to Latin)
- 'ku-latn' => "kurdî (latînî)\xE2\x80\x8E", # Northern Kurdish (Latin script)
- 'ku-arab' => "كوردي (عەرەبی)\xE2\x80\x8F", # Northern Kurdish (Arabic script) (falls back to ckb)
+ 'ku-latn' => "kurdî (latînî)\u{200E}", # Northern Kurdish (Latin script)
+ 'ku-arab' => "كوردي (عەرەبی)\u{200F}", # Northern Kurdish (Arabic script) (falls back to ckb)
'kum' => 'къумукъ', # Kumyk (Cyrillic, 'kum-latn' for Latin script)
'kv' => 'коми', # Komi-Zyrian (Cyrillic is common script but also written in Latin script)
'kw' => 'kernowek', # Cornish
'ng' => 'Oshiwambo', # Ndonga
'niu' => 'Niuē', # Niuean
'nl' => 'Nederlands', # Dutch
- 'nl-informal' => "Nederlands (informeel)\xE2\x80\x8E", # Dutch (informal address ("je"))
+ 'nl-informal' => "Nederlands (informeel)\u{200E}", # Dutch (informal address ("je"))
'nn' => 'norsk nynorsk', # Norwegian (Nynorsk)
'no' => 'norsk', # Norwegian macro language (falls back to nb).
'nov' => 'Novial', # Novial
'so' => 'Soomaaliga', # Somali
'sq' => 'shqip', # Albanian
'sr' => 'српски / srpski', # Serbian (multiple scripts - defaults to Cyrillic)
- 'sr-ec' => "српски (ћирилица)\xE2\x80\x8E", # Serbian Cyrillic ekavian
- 'sr-el' => "srpski (latinica)\xE2\x80\x8E", # Serbian Latin ekavian
+ 'sr-ec' => "српски (ћирилица)\u{200E}", # Serbian Cyrillic ekavian
+ 'sr-el' => "srpski (latinica)\u{200E}", # Serbian Latin ekavian
'srn' => 'Sranantongo', # Sranan Tongo
'ss' => 'SiSwati', # Swati
'st' => 'Sesotho', # Southern Sotho
'zea' => 'Zeêuws', # Zeeuws/Zeaws
'zh' => '中文', # (Zhōng Wén) - Chinese
'zh-classical' => '文言', # Classical Chinese/Literary Chinese -- (see T10217)
- 'zh-cn' => "中文(中国大陆)\xE2\x80\x8E", # Chinese (PRC)
- 'zh-hans' => "中文(简体)\xE2\x80\x8E", # Mandarin Chinese (Simplified Chinese script) (cmn-hans)
- 'zh-hant' => "中文(繁體)\xE2\x80\x8E", # Mandarin Chinese (Traditional Chinese script) (cmn-hant)
- 'zh-hk' => "中文(香港)\xE2\x80\x8E", # Chinese (Hong Kong)
+ 'zh-cn' => "中文(中国大陆)\u{200E}", # Chinese (PRC)
+ 'zh-hans' => "中文(简体)\u{200E}", # Mandarin Chinese (Simplified Chinese script) (cmn-hans)
+ 'zh-hant' => "中文(繁體)\u{200E}", # Mandarin Chinese (Traditional Chinese script) (cmn-hant)
+ 'zh-hk' => "中文(香港)\u{200E}", # Chinese (Hong Kong)
'zh-min-nan' => 'Bân-lâm-gú', # Min-nan -- (see T10217)
- 'zh-mo' => "中文(澳門)\xE2\x80\x8E", # Chinese (Macau)
- 'zh-my' => "中文(马来西亚)\xE2\x80\x8E", # Chinese (Malaysia)
- 'zh-sg' => "中文(新加坡)\xE2\x80\x8E", # Chinese (Singapore)
- 'zh-tw' => "中文(台灣)\xE2\x80\x8E", # Chinese (Taiwan)
+ 'zh-mo' => "中文(澳門)\u{200E}", # Chinese (Macau)
+ 'zh-my' => "中文(马来西亚)\u{200E}", # Chinese (Malaysia)
+ 'zh-sg' => "中文(新加坡)\u{200E}", # Chinese (Singapore)
+ 'zh-tw' => "中文(台灣)\u{200E}", # Chinese (Taiwan)
'zh-yue' => '粵語', # Cantonese -- (see T10217)
'zu' => 'isiZulu' # Zulu
];
# South Africa uses space for thousands and comma for decimal
# Reference: AWS Reël 7.4 p. 52, 2002 edition
# glibc is wrong in this respect in some versions
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = "/^([a-z]+)(.*)$/sD";
# Per discussion on https://translatewiki.net/wiki/Thread:Support/Customization_of number format
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
];
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
$linkTrail = '/^([a-zабвгдежзийклмнопрстуфхцчшщъыьэюя]+)(.*)$/sDu';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
'dmy both' => 'j M Y "da" H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = "/^((?:c\'h|C\'H|C\'h|c’h|C’H|C’h|[a-zA-ZàâçéèêîôûäëïöüùñÇÉÂÊÎÔÛÄËÏÖÜÀÈÙÑ])+)(.*)$/sDu";
# Písmena, která se mají objevit jako část odkazu ve formě '[[jazyk]]y' atd:
$linkTrail = '/^([a-záčďéěíňóřšťúůýž]+)(.*)$/sDu';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
'url_query' => [ '0', 'INFORMPETO', 'QUERY' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$datePreferences = false;
$defaultDateFormat = 'dmy';
'dmy both' => 'H:i j M Y',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
$linkTrail = '/^([a-záéíóúñ]+)(.*)$/sDu';
'formatdate' => [ '0', 'kuupäevavormindus', 'formatdate', 'dateformat' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
$linkTrail = '/^([äöõšüža-z]+)(.*)$/sDu';
'protectionlevel' => [ '1', 'SUOJAUSTASO', 'PROTECTIONLEVEL' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$datePreferences = [
'default',
'ymd both' => 'Y F j à H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
'ymd both' => 'Y F j "a" H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
'dmy both' => 'j "di" M Y "a lis" H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
];
$fallback8bitEncoding = "iso8859-2";
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$specialPageAliases = [
'Activeusers' => [ 'Aktív_felhasználók', 'Aktív_szerkesztők' ],
*/
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
*
*/
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$namespaceNames = [
NS_MEDIA => 'Multimedia',
'Discussioni_immagine' => NS_FILE_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$dateFormats = [
'mdy time' => 'H:i',
$fallback = 'kk-latn, kk-cyrl';
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ',',
];
$minimumGroupingDigits = 2;
*/
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ',',
];
$minimumGroupingDigits = 2;
$fallback = 'kk-cyrl';
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ',',
];
'Katejorije_Klaaf' => NS_CATEGORY_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
$linkTrail = '/^([äöüėëijßəğåůæœça-z]+)(.*)$/sDu';
'Disputatio_Imaginis' => NS_FILE_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0" ];
+$separatorTransformTable = [ ',' => "\u{00A0}" ];
$dateFormats = [
'mdy time' => 'H:i',
$fallback = 'ru';
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$linkPrefixExtension = true;
# Same as the French (T10485)
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
];
$fallback8bitEncoding = 'windows-1257';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$dateFormats = [
'ymd time' => 'H:i',
NS_USER_TALK => [ 'male' => 'Dalībnieka_diskusija', 'female' => 'Dalībnieces_diskusija' ]
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
/**
* A list of date format preference keys, which can be selected in user
'9' => '९', # ९
];
-$linkTrail = "/^([\xE0\xA4\x80-\xE0\xA5\xA3\xE0\xA5\xB1-\xE0\xA5\xBF\xEF\xBB\xBF\xE2\x80\x8D]+)(.*)$/sDu";
+$linkTrail = "/^([\u{0900}-\u{0963}\u{0971}-\u{097F}\u{FEFF}\u{200D}]+)(.*)$/sDu";
$digitGroupingPattern = "##,##,###";
'Bildediskusjon' => NS_FILE_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = '/^([æøåa-z]+)(.*)$/sDu';
$datePreferenceMigrationMap = [
];
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ','
];
$linkTrail = '/^([æøåa-z]+)(.*)$/sDu';
'oc normal both' => 'j F "de" Y "a" H.i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = "/^([a-zàâçéèêîôû]+)(.*)$/sDu";
$fallback8bitEncoding = 'iso-8859-2';
$separatorTransformTable = [
- ',' => "\xc2\xa0", // T4749
+ ',' => "\u{00A0}", // T4749
'.' => ','
];
$minimumGroupingDigits = 2;
'dmy both' => 'H\hi\m\i\n \d\e j \d\e F \d\e Y',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = '/^([áâãàéêẽçíòóôõq̃úüűũa-z]+)(.*)$/sDu'; # T23168, T29633
$specialPageAliases = [
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$specialPageAliases = [
'Activeusers' => [ 'Usuários_ativos' ],
];
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
'img_link' => [ '1', 'liŋka=$1', 'link=$1' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = '/^(:?[a-zàáâçčʒǯđðéèêëǧǥȟíìîïıǩŋñóòôõßšŧúùûýÿüžþæøåäö]+)(.*)$/sDu';
];
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ','
];
$linkTrail = '/^([a-zåäöéÅÄÖÉ]+)(.*)$/sDu';
$separatorTransformTable = [
- ',' => "\xc2\xa0", // T4749
+ ',' => "\u{00A0}", // T4749
'.' => ','
];
'url_wiki' => [ '0', 'விக்கி', 'WIKI' ],
];
-$linkTrail = "/^([\xE0\xAE\x80-\xE0\xAF\xBF]+)(.*)$/sDu";
+$linkTrail = "/^([\u{0B80}-\u{0BFF}]+)(.*)$/sDu";
$digitGroupingPattern = "##,##,###";
'special' => [ '0', 'ప్రత్యేక', 'special' ],
];
-$linkTrail = "/^([\xE0\xB0\x81-\xE0\xB1\xAF]+)(.*)$/sDu";
+$linkTrail = "/^([\u{0C01}-\u{0C6F}]+)(.*)$/sDu";
$digitGroupingPattern = "##,##,###";
$linkTrail = '/^([a-zа-яёӝӟӥӧӵ]+)(.*)$/sDu';
$fallback8bitEncoding = 'windows-1251';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
*/
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
*/
$separatorTransformTable = [
'.' => ',',
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
];
# definixha del cogne po les limeros
# (number format definition)
# en: 12,345.67 -> wa: 12 345,67
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
# $linkTrail = '/^([a-zåâêîôûçéèA-ZÅÂÊÎÔÛÇÉÈ]+)(.*)$/sDu';
$linkTrail = '/^([a-zåâêîôûçéè]+)(.*)$/sDu';
*/
function generateLimit( $namespace ) {
// T19961: make a title with the longest possible URL in this namespace
- $title = Title::makeTitle( $namespace, str_repeat( "\xf0\xa8\xae\x81", 63 ) . "\xe5\x96\x83" );
+ $title = Title::makeTitle( $namespace, str_repeat( "\u{28B81}", 63 ) . "\u{5583}" );
$this->limit = [
strlen( $this->openFile() ),
$this->loadGeneralMessages();
$this->loadMessages( $code );
$wrongChars = [
- '[LRM]' => "\xE2\x80\x8E",
- '[RLM]' => "\xE2\x80\x8F",
- '[LRE]' => "\xE2\x80\xAA",
- '[RLE]' => "\xE2\x80\xAB",
- '[POP]' => "\xE2\x80\xAC",
- '[LRO]' => "\xE2\x80\xAD",
- '[RLO]' => "\xE2\x80\xAB",
- '[ZWSP]' => "\xE2\x80\x8B",
- '[NBSP]' => "\xC2\xA0",
- '[WJ]' => "\xE2\x81\xA0",
- '[BOM]' => "\xEF\xBB\xBF",
- '[FFFD]' => "\xEF\xBF\xBD",
+ '[LRM]' => "\u{200E}",
+ '[RLM]' => "\u{200F}",
+ '[LRE]' => "\u{202A}",
+ '[RLE]' => "\u{202B}",
+ '[POP]' => "\u{202C}",
+ '[LRO]' => "\u{202D}",
+ '[RLO]' => "\u{202B}",
+ '[ZWSP]' => "\u{200B}",
+ '[NBSP]' => "\u{00A0}",
+ '[WJ]' => "\u{2060}",
+ '[BOM]' => "\u{FEFF}",
+ '[FFFD]' => "\u{FFFD}",
];
$wrongRegExp = '/(' . implode( '|', array_values( $wrongChars ) ) . ')/sDu';
$wrongCharsMessages = [];
[ 'do', 'D' ],
[ 'Ao', 'A' ],
[ 'afdsa', 'A' ],
- [ "\xF3\xB3\x80\x80Foo", 'D' ],
- [ "\xF3\xB3\x80\x81Foo", 'C' ],
- [ "\xF3\xB3\x80\x82Foo", 'Cs' ],
- [ "\xF3\xB3\x80\x83Foo", 'B' ],
- [ "\xF3\xB3\x80\x84Foo", "\xF3\xB3\x80\x84" ],
+ [ "\u{F3000}Foo", 'D' ],
+ [ "\u{F3001}Foo", 'C' ],
+ [ "\u{F3002}Foo", 'Cs' ],
+ [ "\u{F3003}Foo", 'B' ],
+ [ "\u{F3004}Foo", "\u{F3004}" ],
[ 'C', 'C' ],
[ 'Cz', 'C' ],
[ 'Cs', 'Cs' ],
public static function provideSerializeStringValue() {
return [
[ 'Hello World!', '"Hello World!"' ],
- [ "Null\0Null", "\"Null\xEF\xBF\xBDNull\"" ],
+ [ "Null\0Null", "\"Null\u{FFFD}Null\"" ],
[ '"', '"\\""' ],
[ "'", '"\'"' ],
[ "\\", '"\\\\"' ],
[ "Space tab \t space", '"Space tab \\9 space"' ],
[ "Line\nfeed", '"Line\\a feed"' ],
[ "Return\rreturn", '"Return\\d return"' ],
- [ "Next\xc2\x85line", "\"Next\xc2\x85line\"" ],
+ [ "Next\u{0085}line", "\"Next\u{0085}line\"" ],
[ "Del\x7fDel", '"Del\\7f Del"' ],
- [ "nb\xc2\xa0sp", "\"nb\xc2\xa0sp\"" ],
+ [ "nb\u{00A0}sp", "\"nb\u{00A0}sp\"" ],
[ "AMP&AMP", "\"AMP&AMP\"" ],
[ '!"#$%&\'()*+,-./0123456789:;<=>?', '"!\\"#$%&\'()*+,-./0123456789:;<=>?"' ],
[ '@[\\]^_`{|}~', '"@[\\\\]^_`{|}~"' ],
* @covers Language::embedBidi()
*/
public function testEmbedBidi() {
- $lre = "\xE2\x80\xAA"; // U+202A LEFT-TO-RIGHT EMBEDDING
- $rle = "\xE2\x80\xAB"; // U+202B RIGHT-TO-LEFT EMBEDDING
- $pdf = "\xE2\x80\xAC"; // U+202C POP DIRECTIONAL FORMATTING
+ $lre = "\u{202A}"; // U+202A LEFT-TO-RIGHT EMBEDDING
+ $rle = "\u{202B}"; // U+202B RIGHT-TO-LEFT EMBEDDING
+ $pdf = "\u{202C}"; // U+202C POP DIRECTIONAL FORMATTING
$lang = $this->getLang();
$this->assertEquals(
'123',