'؟' => '?',
# digits
- '٠' => '0', # ٠
- '١' => '1', # ١
- '٢' => '2', # ٢
- '٣' => '3', # ٣
- '٤' => '4', # ٤
- '٥' => '5', # ٥
- '٦' => '6', # ٦
- '٧' => '7', # ٧
- '٨' => '8', # ٨
- '٩' => '9', # ٩
+ '٠' => '0', # U+0660
+ '١' => '1', # U+0661
+ '٢' => '2', # U+0662
+ '٣' => '3', # U+0663
+ '٤' => '4', # U+0664
+ '٥' => '5', # U+0665
+ '٦' => '6', # U+0666
+ '٧' => '7', # U+0667
+ '٨' => '8', # U+0668
+ '٩' => '9', # U+0669
];
public $mLatinToArabic = [
/* # deactivated for now, breaks links i.e. in header of Special:Recentchanges :-(
# digits
- '0' => '٠', # ٠
- '1' => '١', # ١
- '2' => '٢', # ٢
- '3' => '٣', # ٣
- '4' => '٤', # ٤
- '5' => '٥', # ٥
- '6' => '٦', # ٦
- '7' => '٧', # ٧
- '8' => '٨', # ٨
- '9' => '٩', # ٩
+ '0' => '٠', # U+0660
+ '1' => '١', # U+0661
+ '2' => '٢', # U+0662
+ '3' => '٣', # U+0663
+ '4' => '٤', # U+0664
+ '5' => '٥', # U+0665
+ '6' => '٦', # U+0666
+ '7' => '٧', # U+0667
+ '8' => '٨', # U+0668
+ '9' => '٩', # U+0669
*/
];
/* From Kazakh interface, maybe we need it later
$breaks = '[^\w\x80-\xff]';
// regexp for roman numbers
- $roman = 'M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})';
+ // Lookahead assertion ensures $roman doesn't match the empty string
+ $roman = '(?=[MDCLXVI])M{0,4}(C[DM]|D?C{0,3})(X[LC]|L?X{0,3})(I[VX]|V?I{0,3})';
$roman = '';
$reg = '/^'.$roman.'$|^'.$roman.$breaks.'|'.$breaks.$roman.'$|'.$breaks.$roman.$breaks.'/';
*
* @ingroup Language
*/
-class LanguageKu extends LanguageKu_ku {
+class LanguageKu extends Language {
function __construct() {
parent::__construct();