languages: Use static array files for normalizer data
This reduces the number of '.ser' files to 1 (we still have first-letters-root.ser). Change-Id: Ib0ee0d826da34b1825fd5bb74563c6bbadeec75c
This commit is contained in:
parent
6c60ea5ef7
commit
4f22361759
12 changed files with 786 additions and 25 deletions
|
|
@ -2739,6 +2739,28 @@ function wfGetPrecompiledData( $name ) {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 1.32
|
||||
* @param string[] $data Array with string keys/values to export
|
||||
* @param string $header
|
||||
* @return string PHP code
|
||||
*/
|
||||
function wfMakeStaticArrayFile( array $data, $header = 'Automatically generated' ) {
|
||||
$format = "\t%s => %s,\n";
|
||||
$code = "<?php\n"
|
||||
. "// " . implode( "\n// ", explode( "\n", $header ) ) . "\n"
|
||||
. "return [\n";
|
||||
foreach ( $data as $key => $value ) {
|
||||
$code .= sprintf(
|
||||
$format,
|
||||
var_export( $key, true ),
|
||||
var_export( $value, true )
|
||||
);
|
||||
}
|
||||
$code .= "];\n";
|
||||
return $code;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a cache key for the local wiki.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2990,8 +2990,8 @@ class Language {
|
|||
global $wgAllUnicodeFixes;
|
||||
$s = UtfNormal\Validator::cleanUp( $s );
|
||||
if ( $wgAllUnicodeFixes ) {
|
||||
$s = $this->transformUsingPairFile( 'normalize-ar.ser', $s );
|
||||
$s = $this->transformUsingPairFile( 'normalize-ml.ser', $s );
|
||||
$s = $this->transformUsingPairFile( 'normalize-ar.php', $s );
|
||||
$s = $this->transformUsingPairFile( 'normalize-ml.php', $s );
|
||||
}
|
||||
|
||||
return $s;
|
||||
|
|
@ -3011,12 +3011,10 @@ class Language {
|
|||
* @throws MWException
|
||||
* @return string
|
||||
*/
|
||||
function transformUsingPairFile( $file, $string ) {
|
||||
protected function transformUsingPairFile( $file, $string ) {
|
||||
if ( !isset( $this->transformData[$file] ) ) {
|
||||
$data = wfGetPrecompiledData( $file );
|
||||
if ( $data === false ) {
|
||||
throw new MWException( __METHOD__ . ": The transformation file $file is missing" );
|
||||
}
|
||||
global $IP;
|
||||
$data = require "$IP/languages/data/{$file}";
|
||||
$this->transformData[$file] = new ReplacementArray( $data );
|
||||
}
|
||||
return $this->transformData[$file]->replace( $string );
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class LanguageAr extends Language {
|
|||
global $wgFixArabicUnicode;
|
||||
$s = parent::normalize( $s );
|
||||
if ( $wgFixArabicUnicode ) {
|
||||
$s = $this->transformUsingPairFile( 'normalize-ar.ser', $s );
|
||||
$s = $this->transformUsingPairFile( 'normalize-ar.php', $s );
|
||||
}
|
||||
return $s;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ class LanguageMl extends Language {
|
|||
global $wgFixMalayalamUnicode;
|
||||
$s = parent::normalize( $s );
|
||||
if ( $wgFixMalayalamUnicode ) {
|
||||
$s = $this->transformUsingPairFile( 'normalize-ml.ser', $s );
|
||||
$s = $this->transformUsingPairFile( 'normalize-ml.php', $s );
|
||||
}
|
||||
return $s;
|
||||
}
|
||||
|
|
|
|||
735
languages/data/normalize-ar.php
Normal file
735
languages/data/normalize-ar.php
Normal file
|
|
@ -0,0 +1,735 @@
|
|||
<?php
|
||||
// File created by maintenance/generateNormalizerDataAr.php
|
||||
return [
|
||||
'ﭐ' => 'ٱ',
|
||||
'ﭑ' => 'ٱ',
|
||||
'ﭒ' => 'ٻ',
|
||||
'ﭓ' => 'ٻ',
|
||||
'ﭔ' => 'ٻ',
|
||||
'ﭕ' => 'ٻ',
|
||||
'ﭖ' => 'پ',
|
||||
'ﭗ' => 'پ',
|
||||
'ﭘ' => 'پ',
|
||||
'ﭙ' => 'پ',
|
||||
'ﭚ' => 'ڀ',
|
||||
'ﭛ' => 'ڀ',
|
||||
'ﭜ' => 'ڀ',
|
||||
'ﭝ' => 'ڀ',
|
||||
'ﭞ' => 'ٺ',
|
||||
'ﭟ' => 'ٺ',
|
||||
'ﭠ' => 'ٺ',
|
||||
'ﭡ' => 'ٺ',
|
||||
'ﭢ' => 'ٿ',
|
||||
'ﭣ' => 'ٿ',
|
||||
'ﭤ' => 'ٿ',
|
||||
'ﭥ' => 'ٿ',
|
||||
'ﭦ' => 'ٹ',
|
||||
'ﭧ' => 'ٹ',
|
||||
'ﭨ' => 'ٹ',
|
||||
'ﭩ' => 'ٹ',
|
||||
'ﭪ' => 'ڤ',
|
||||
'ﭫ' => 'ڤ',
|
||||
'ﭬ' => 'ڤ',
|
||||
'ﭭ' => 'ڤ',
|
||||
'ﭮ' => 'ڦ',
|
||||
'ﭯ' => 'ڦ',
|
||||
'ﭰ' => 'ڦ',
|
||||
'ﭱ' => 'ڦ',
|
||||
'ﭲ' => 'ڄ',
|
||||
'ﭳ' => 'ڄ',
|
||||
'ﭴ' => 'ڄ',
|
||||
'ﭵ' => 'ڄ',
|
||||
'ﭶ' => 'ڃ',
|
||||
'ﭷ' => 'ڃ',
|
||||
'ﭸ' => 'ڃ',
|
||||
'ﭹ' => 'ڃ',
|
||||
'ﭺ' => 'چ',
|
||||
'ﭻ' => 'چ',
|
||||
'ﭼ' => 'چ',
|
||||
'ﭽ' => 'چ',
|
||||
'ﭾ' => 'ڇ',
|
||||
'ﭿ' => 'ڇ',
|
||||
'ﮀ' => 'ڇ',
|
||||
'ﮁ' => 'ڇ',
|
||||
'ﮂ' => 'ڍ',
|
||||
'ﮃ' => 'ڍ',
|
||||
'ﮄ' => 'ڌ',
|
||||
'ﮅ' => 'ڌ',
|
||||
'ﮆ' => 'ڎ',
|
||||
'ﮇ' => 'ڎ',
|
||||
'ﮈ' => 'ڈ',
|
||||
'ﮉ' => 'ڈ',
|
||||
'ﮊ' => 'ژ',
|
||||
'ﮋ' => 'ژ',
|
||||
'ﮌ' => 'ڑ',
|
||||
'ﮍ' => 'ڑ',
|
||||
'ﮎ' => 'ک',
|
||||
'ﮏ' => 'ک',
|
||||
'ﮐ' => 'ک',
|
||||
'ﮑ' => 'ک',
|
||||
'ﮒ' => 'گ',
|
||||
'ﮓ' => 'گ',
|
||||
'ﮔ' => 'گ',
|
||||
'ﮕ' => 'گ',
|
||||
'ﮖ' => 'ڳ',
|
||||
'ﮗ' => 'ڳ',
|
||||
'ﮘ' => 'ڳ',
|
||||
'ﮙ' => 'ڳ',
|
||||
'ﮚ' => 'ڱ',
|
||||
'ﮛ' => 'ڱ',
|
||||
'ﮜ' => 'ڱ',
|
||||
'ﮝ' => 'ڱ',
|
||||
'ﮞ' => 'ں',
|
||||
'ﮟ' => 'ں',
|
||||
'ﮠ' => 'ڻ',
|
||||
'ﮡ' => 'ڻ',
|
||||
'ﮢ' => 'ڻ',
|
||||
'ﮣ' => 'ڻ',
|
||||
'ﮤ' => 'ۀ',
|
||||
'ﮥ' => 'ۀ',
|
||||
'ﮦ' => 'ہ',
|
||||
'ﮧ' => 'ہ',
|
||||
'ﮨ' => 'ہ',
|
||||
'ﮩ' => 'ہ',
|
||||
'ﮪ' => 'ھ',
|
||||
'ﮫ' => 'ھ',
|
||||
'ﮬ' => 'ھ',
|
||||
'ﮭ' => 'ھ',
|
||||
'ﮮ' => 'ے',
|
||||
'ﮯ' => 'ے',
|
||||
'ﮰ' => 'ۓ',
|
||||
'ﮱ' => 'ۓ',
|
||||
'ﯓ' => 'ڭ',
|
||||
'ﯔ' => 'ڭ',
|
||||
'ﯕ' => 'ڭ',
|
||||
'ﯖ' => 'ڭ',
|
||||
'ﯗ' => 'ۇ',
|
||||
'ﯘ' => 'ۇ',
|
||||
'ﯙ' => 'ۆ',
|
||||
'ﯚ' => 'ۆ',
|
||||
'ﯛ' => 'ۈ',
|
||||
'ﯜ' => 'ۈ',
|
||||
'ﯝ' => 'ٷ',
|
||||
'ﯞ' => 'ۋ',
|
||||
'ﯟ' => 'ۋ',
|
||||
'ﯠ' => 'ۅ',
|
||||
'ﯡ' => 'ۅ',
|
||||
'ﯢ' => 'ۉ',
|
||||
'ﯣ' => 'ۉ',
|
||||
'ﯤ' => 'ې',
|
||||
'ﯥ' => 'ې',
|
||||
'ﯦ' => 'ې',
|
||||
'ﯧ' => 'ې',
|
||||
'ﯨ' => 'ى',
|
||||
'ﯩ' => 'ى',
|
||||
'ﯪ' => 'ئا',
|
||||
'ﯫ' => 'ئا',
|
||||
'ﯬ' => 'ئە',
|
||||
'ﯭ' => 'ئە',
|
||||
'ﯮ' => 'ئو',
|
||||
'ﯯ' => 'ئو',
|
||||
'ﯰ' => 'ئۇ',
|
||||
'ﯱ' => 'ئۇ',
|
||||
'ﯲ' => 'ئۆ',
|
||||
'ﯳ' => 'ئۆ',
|
||||
'ﯴ' => 'ئۈ',
|
||||
'ﯵ' => 'ئۈ',
|
||||
'ﯶ' => 'ئې',
|
||||
'ﯷ' => 'ئې',
|
||||
'ﯸ' => 'ئې',
|
||||
'ﯹ' => 'ئى',
|
||||
'ﯺ' => 'ئى',
|
||||
'ﯻ' => 'ئى',
|
||||
'ﯼ' => 'ی',
|
||||
'ﯽ' => 'ی',
|
||||
'ﯾ' => 'ی',
|
||||
'ﯿ' => 'ی',
|
||||
'ﰀ' => 'ئج',
|
||||
'ﰁ' => 'ئح',
|
||||
'ﰂ' => 'ئم',
|
||||
'ﰃ' => 'ئى',
|
||||
'ﰄ' => 'ئي',
|
||||
'ﰅ' => 'بج',
|
||||
'ﰆ' => 'بح',
|
||||
'ﰇ' => 'بخ',
|
||||
'ﰈ' => 'بم',
|
||||
'ﰉ' => 'بى',
|
||||
'ﰊ' => 'بي',
|
||||
'ﰋ' => 'تج',
|
||||
'ﰌ' => 'تح',
|
||||
'ﰍ' => 'تخ',
|
||||
'ﰎ' => 'تم',
|
||||
'ﰏ' => 'تى',
|
||||
'ﰐ' => 'تي',
|
||||
'ﰑ' => 'ثج',
|
||||
'ﰒ' => 'ثم',
|
||||
'ﰓ' => 'ثى',
|
||||
'ﰔ' => 'ثي',
|
||||
'ﰕ' => 'جح',
|
||||
'ﰖ' => 'جم',
|
||||
'ﰗ' => 'حج',
|
||||
'ﰘ' => 'حم',
|
||||
'ﰙ' => 'خج',
|
||||
'ﰚ' => 'خح',
|
||||
'ﰛ' => 'خم',
|
||||
'ﰜ' => 'سج',
|
||||
'ﰝ' => 'سح',
|
||||
'ﰞ' => 'سخ',
|
||||
'ﰟ' => 'سم',
|
||||
'ﰠ' => 'صح',
|
||||
'ﰡ' => 'صم',
|
||||
'ﰢ' => 'ضج',
|
||||
'ﰣ' => 'ضح',
|
||||
'ﰤ' => 'ضخ',
|
||||
'ﰥ' => 'ضم',
|
||||
'ﰦ' => 'طح',
|
||||
'ﰧ' => 'طم',
|
||||
'ﰨ' => 'ظم',
|
||||
'ﰩ' => 'عج',
|
||||
'ﰪ' => 'عم',
|
||||
'ﰫ' => 'غج',
|
||||
'ﰬ' => 'غم',
|
||||
'ﰭ' => 'فج',
|
||||
'ﰮ' => 'فح',
|
||||
'ﰯ' => 'فخ',
|
||||
'ﰰ' => 'فم',
|
||||
'ﰱ' => 'فى',
|
||||
'ﰲ' => 'في',
|
||||
'ﰳ' => 'قح',
|
||||
'ﰴ' => 'قم',
|
||||
'ﰵ' => 'قى',
|
||||
'ﰶ' => 'قي',
|
||||
'ﰷ' => 'كا',
|
||||
'ﰸ' => 'كج',
|
||||
'ﰹ' => 'كح',
|
||||
'ﰺ' => 'كخ',
|
||||
'ﰻ' => 'كل',
|
||||
'ﰼ' => 'كم',
|
||||
'ﰽ' => 'كى',
|
||||
'ﰾ' => 'كي',
|
||||
'ﰿ' => 'لج',
|
||||
'ﱀ' => 'لح',
|
||||
'ﱁ' => 'لخ',
|
||||
'ﱂ' => 'لم',
|
||||
'ﱃ' => 'لى',
|
||||
'ﱄ' => 'لي',
|
||||
'ﱅ' => 'مج',
|
||||
'ﱆ' => 'مح',
|
||||
'ﱇ' => 'مخ',
|
||||
'ﱈ' => 'مم',
|
||||
'ﱉ' => 'مى',
|
||||
'ﱊ' => 'مي',
|
||||
'ﱋ' => 'نج',
|
||||
'ﱌ' => 'نح',
|
||||
'ﱍ' => 'نخ',
|
||||
'ﱎ' => 'نم',
|
||||
'ﱏ' => 'نى',
|
||||
'ﱐ' => 'ني',
|
||||
'ﱑ' => 'هج',
|
||||
'ﱒ' => 'هم',
|
||||
'ﱓ' => 'هى',
|
||||
'ﱔ' => 'هي',
|
||||
'ﱕ' => 'يج',
|
||||
'ﱖ' => 'يح',
|
||||
'ﱗ' => 'يخ',
|
||||
'ﱘ' => 'يم',
|
||||
'ﱙ' => 'يى',
|
||||
'ﱚ' => 'يي',
|
||||
'ﱛ' => 'ذٰ',
|
||||
'ﱜ' => 'رٰ',
|
||||
'ﱝ' => 'ىٰ',
|
||||
'ﱞ' => ' ٌّ',
|
||||
'ﱟ' => ' ٍّ',
|
||||
'ﱠ' => ' َّ',
|
||||
'ﱡ' => ' ُّ',
|
||||
'ﱢ' => ' ِّ',
|
||||
'ﱣ' => ' ّٰ',
|
||||
'ﱤ' => 'ئر',
|
||||
'ﱥ' => 'ئز',
|
||||
'ﱦ' => 'ئم',
|
||||
'ﱧ' => 'ئن',
|
||||
'ﱨ' => 'ئى',
|
||||
'ﱩ' => 'ئي',
|
||||
'ﱪ' => 'بر',
|
||||
'ﱫ' => 'بز',
|
||||
'ﱬ' => 'بم',
|
||||
'ﱭ' => 'بن',
|
||||
'ﱮ' => 'بى',
|
||||
'ﱯ' => 'بي',
|
||||
'ﱰ' => 'تر',
|
||||
'ﱱ' => 'تز',
|
||||
'ﱲ' => 'تم',
|
||||
'ﱳ' => 'تن',
|
||||
'ﱴ' => 'تى',
|
||||
'ﱵ' => 'تي',
|
||||
'ﱶ' => 'ثر',
|
||||
'ﱷ' => 'ثز',
|
||||
'ﱸ' => 'ثم',
|
||||
'ﱹ' => 'ثن',
|
||||
'ﱺ' => 'ثى',
|
||||
'ﱻ' => 'ثي',
|
||||
'ﱼ' => 'فى',
|
||||
'ﱽ' => 'في',
|
||||
'ﱾ' => 'قى',
|
||||
'ﱿ' => 'قي',
|
||||
'ﲀ' => 'كا',
|
||||
'ﲁ' => 'كل',
|
||||
'ﲂ' => 'كم',
|
||||
'ﲃ' => 'كى',
|
||||
'ﲄ' => 'كي',
|
||||
'ﲅ' => 'لم',
|
||||
'ﲆ' => 'لى',
|
||||
'ﲇ' => 'لي',
|
||||
'ﲈ' => 'ما',
|
||||
'ﲉ' => 'مم',
|
||||
'ﲊ' => 'نر',
|
||||
'ﲋ' => 'نز',
|
||||
'ﲌ' => 'نم',
|
||||
'ﲍ' => 'نن',
|
||||
'ﲎ' => 'نى',
|
||||
'ﲏ' => 'ني',
|
||||
'ﲐ' => 'ىٰ',
|
||||
'ﲑ' => 'ير',
|
||||
'ﲒ' => 'يز',
|
||||
'ﲓ' => 'يم',
|
||||
'ﲔ' => 'ين',
|
||||
'ﲕ' => 'يى',
|
||||
'ﲖ' => 'يي',
|
||||
'ﲗ' => 'ئج',
|
||||
'ﲘ' => 'ئح',
|
||||
'ﲙ' => 'ئخ',
|
||||
'ﲚ' => 'ئم',
|
||||
'ﲛ' => 'ئه',
|
||||
'ﲜ' => 'بج',
|
||||
'ﲝ' => 'بح',
|
||||
'ﲞ' => 'بخ',
|
||||
'ﲟ' => 'بم',
|
||||
'ﲠ' => 'به',
|
||||
'ﲡ' => 'تج',
|
||||
'ﲢ' => 'تح',
|
||||
'ﲣ' => 'تخ',
|
||||
'ﲤ' => 'تم',
|
||||
'ﲥ' => 'ته',
|
||||
'ﲦ' => 'ثم',
|
||||
'ﲧ' => 'جح',
|
||||
'ﲨ' => 'جم',
|
||||
'ﲩ' => 'حج',
|
||||
'ﲪ' => 'حم',
|
||||
'ﲫ' => 'خج',
|
||||
'ﲬ' => 'خم',
|
||||
'ﲭ' => 'سج',
|
||||
'ﲮ' => 'سح',
|
||||
'ﲯ' => 'سخ',
|
||||
'ﲰ' => 'سم',
|
||||
'ﲱ' => 'صح',
|
||||
'ﲲ' => 'صخ',
|
||||
'ﲳ' => 'صم',
|
||||
'ﲴ' => 'ضج',
|
||||
'ﲵ' => 'ضح',
|
||||
'ﲶ' => 'ضخ',
|
||||
'ﲷ' => 'ضم',
|
||||
'ﲸ' => 'طح',
|
||||
'ﲹ' => 'ظم',
|
||||
'ﲺ' => 'عج',
|
||||
'ﲻ' => 'عم',
|
||||
'ﲼ' => 'غج',
|
||||
'ﲽ' => 'غم',
|
||||
'ﲾ' => 'فج',
|
||||
'ﲿ' => 'فح',
|
||||
'ﳀ' => 'فخ',
|
||||
'ﳁ' => 'فم',
|
||||
'ﳂ' => 'قح',
|
||||
'ﳃ' => 'قم',
|
||||
'ﳄ' => 'كج',
|
||||
'ﳅ' => 'كح',
|
||||
'ﳆ' => 'كخ',
|
||||
'ﳇ' => 'كل',
|
||||
'ﳈ' => 'كم',
|
||||
'ﳉ' => 'لج',
|
||||
'ﳊ' => 'لح',
|
||||
'ﳋ' => 'لخ',
|
||||
'ﳌ' => 'لم',
|
||||
'ﳍ' => 'له',
|
||||
'ﳎ' => 'مج',
|
||||
'ﳏ' => 'مح',
|
||||
'ﳐ' => 'مخ',
|
||||
'ﳑ' => 'مم',
|
||||
'ﳒ' => 'نج',
|
||||
'ﳓ' => 'نح',
|
||||
'ﳔ' => 'نخ',
|
||||
'ﳕ' => 'نم',
|
||||
'ﳖ' => 'نه',
|
||||
'ﳗ' => 'هج',
|
||||
'ﳘ' => 'هم',
|
||||
'ﳙ' => 'هٰ',
|
||||
'ﳚ' => 'يج',
|
||||
'ﳛ' => 'يح',
|
||||
'ﳜ' => 'يخ',
|
||||
'ﳝ' => 'يم',
|
||||
'ﳞ' => 'يه',
|
||||
'ﳟ' => 'ئم',
|
||||
'ﳠ' => 'ئه',
|
||||
'ﳡ' => 'بم',
|
||||
'ﳢ' => 'به',
|
||||
'ﳣ' => 'تم',
|
||||
'ﳤ' => 'ته',
|
||||
'ﳥ' => 'ثم',
|
||||
'ﳦ' => 'ثه',
|
||||
'ﳧ' => 'سم',
|
||||
'ﳨ' => 'سه',
|
||||
'ﳩ' => 'شم',
|
||||
'ﳪ' => 'شه',
|
||||
'ﳫ' => 'كل',
|
||||
'ﳬ' => 'كم',
|
||||
'ﳭ' => 'لم',
|
||||
'ﳮ' => 'نم',
|
||||
'ﳯ' => 'نه',
|
||||
'ﳰ' => 'يم',
|
||||
'ﳱ' => 'يه',
|
||||
'ﳲ' => 'ـَّ',
|
||||
'ﳳ' => 'ـُّ',
|
||||
'ﳴ' => 'ـِّ',
|
||||
'ﳵ' => 'طى',
|
||||
'ﳶ' => 'طي',
|
||||
'ﳷ' => 'عى',
|
||||
'ﳸ' => 'عي',
|
||||
'ﳹ' => 'غى',
|
||||
'ﳺ' => 'غي',
|
||||
'ﳻ' => 'سى',
|
||||
'ﳼ' => 'سي',
|
||||
'ﳽ' => 'شى',
|
||||
'ﳾ' => 'شي',
|
||||
'ﳿ' => 'حى',
|
||||
'ﴀ' => 'حي',
|
||||
'ﴁ' => 'جى',
|
||||
'ﴂ' => 'جي',
|
||||
'ﴃ' => 'خى',
|
||||
'ﴄ' => 'خي',
|
||||
'ﴅ' => 'صى',
|
||||
'ﴆ' => 'صي',
|
||||
'ﴇ' => 'ضى',
|
||||
'ﴈ' => 'ضي',
|
||||
'ﴉ' => 'شج',
|
||||
'ﴊ' => 'شح',
|
||||
'ﴋ' => 'شخ',
|
||||
'ﴌ' => 'شم',
|
||||
'ﴍ' => 'شر',
|
||||
'ﴎ' => 'سر',
|
||||
'ﴏ' => 'صر',
|
||||
'ﴐ' => 'ضر',
|
||||
'ﴑ' => 'طى',
|
||||
'ﴒ' => 'طي',
|
||||
'ﴓ' => 'عى',
|
||||
'ﴔ' => 'عي',
|
||||
'ﴕ' => 'غى',
|
||||
'ﴖ' => 'غي',
|
||||
'ﴗ' => 'سى',
|
||||
'ﴘ' => 'سي',
|
||||
'ﴙ' => 'شى',
|
||||
'ﴚ' => 'شي',
|
||||
'ﴛ' => 'حى',
|
||||
'ﴜ' => 'حي',
|
||||
'ﴝ' => 'جى',
|
||||
'ﴞ' => 'جي',
|
||||
'ﴟ' => 'خى',
|
||||
'ﴠ' => 'خي',
|
||||
'ﴡ' => 'صى',
|
||||
'ﴢ' => 'صي',
|
||||
'ﴣ' => 'ضى',
|
||||
'ﴤ' => 'ضي',
|
||||
'ﴥ' => 'شج',
|
||||
'ﴦ' => 'شح',
|
||||
'ﴧ' => 'شخ',
|
||||
'ﴨ' => 'شم',
|
||||
'ﴩ' => 'شر',
|
||||
'ﴪ' => 'سر',
|
||||
'ﴫ' => 'صر',
|
||||
'ﴬ' => 'ضر',
|
||||
'ﴭ' => 'شج',
|
||||
'ﴮ' => 'شح',
|
||||
'ﴯ' => 'شخ',
|
||||
'ﴰ' => 'شم',
|
||||
'ﴱ' => 'سه',
|
||||
'ﴲ' => 'شه',
|
||||
'ﴳ' => 'طم',
|
||||
'ﴴ' => 'سج',
|
||||
'ﴵ' => 'سح',
|
||||
'ﴶ' => 'سخ',
|
||||
'ﴷ' => 'شج',
|
||||
'ﴸ' => 'شح',
|
||||
'ﴹ' => 'شخ',
|
||||
'ﴺ' => 'طم',
|
||||
'ﴻ' => 'ظم',
|
||||
'ﴼ' => 'اً',
|
||||
'ﴽ' => 'اً',
|
||||
'ﵐ' => 'تجم',
|
||||
'ﵑ' => 'تحج',
|
||||
'ﵒ' => 'تحج',
|
||||
'ﵓ' => 'تحم',
|
||||
'ﵔ' => 'تخم',
|
||||
'ﵕ' => 'تمج',
|
||||
'ﵖ' => 'تمح',
|
||||
'ﵗ' => 'تمخ',
|
||||
'ﵘ' => 'جمح',
|
||||
'ﵙ' => 'جمح',
|
||||
'ﵚ' => 'حمي',
|
||||
'ﵛ' => 'حمى',
|
||||
'ﵜ' => 'سحج',
|
||||
'ﵝ' => 'سجح',
|
||||
'ﵞ' => 'سجى',
|
||||
'ﵟ' => 'سمح',
|
||||
'ﵠ' => 'سمح',
|
||||
'ﵡ' => 'سمج',
|
||||
'ﵢ' => 'سمم',
|
||||
'ﵣ' => 'سمم',
|
||||
'ﵤ' => 'صحح',
|
||||
'ﵥ' => 'صحح',
|
||||
'ﵦ' => 'صمم',
|
||||
'ﵧ' => 'شحم',
|
||||
'ﵨ' => 'شحم',
|
||||
'ﵩ' => 'شجي',
|
||||
'ﵪ' => 'شمخ',
|
||||
'ﵫ' => 'شمخ',
|
||||
'ﵬ' => 'شمم',
|
||||
'ﵭ' => 'شمم',
|
||||
'ﵮ' => 'ضحى',
|
||||
'ﵯ' => 'ضخم',
|
||||
'ﵰ' => 'ضخم',
|
||||
'ﵱ' => 'طمح',
|
||||
'ﵲ' => 'طمح',
|
||||
'ﵳ' => 'طمم',
|
||||
'ﵴ' => 'طمي',
|
||||
'ﵵ' => 'عجم',
|
||||
'ﵶ' => 'عمم',
|
||||
'ﵷ' => 'عمم',
|
||||
'ﵸ' => 'عمى',
|
||||
'ﵹ' => 'غمم',
|
||||
'ﵺ' => 'غمي',
|
||||
'ﵻ' => 'غمى',
|
||||
'ﵼ' => 'فخم',
|
||||
'ﵽ' => 'فخم',
|
||||
'ﵾ' => 'قمح',
|
||||
'ﵿ' => 'قمم',
|
||||
'ﶀ' => 'لحم',
|
||||
'ﶁ' => 'لحي',
|
||||
'ﶂ' => 'لحى',
|
||||
'ﶃ' => 'لجج',
|
||||
'ﶄ' => 'لجج',
|
||||
'ﶅ' => 'لخم',
|
||||
'ﶆ' => 'لخم',
|
||||
'ﶇ' => 'لمح',
|
||||
'ﶈ' => 'لمح',
|
||||
'ﶉ' => 'محج',
|
||||
'ﶊ' => 'محم',
|
||||
'ﶋ' => 'محي',
|
||||
'ﶌ' => 'مجح',
|
||||
'ﶍ' => 'مجم',
|
||||
'ﶎ' => 'مخج',
|
||||
'ﶏ' => 'مخم',
|
||||
'ﶒ' => 'مجخ',
|
||||
'ﶓ' => 'همج',
|
||||
'ﶔ' => 'همم',
|
||||
'ﶕ' => 'نحم',
|
||||
'ﶖ' => 'نحى',
|
||||
'ﶗ' => 'نجم',
|
||||
'ﶘ' => 'نجم',
|
||||
'ﶙ' => 'نجى',
|
||||
'ﶚ' => 'نمي',
|
||||
'ﶛ' => 'نمى',
|
||||
'ﶜ' => 'يمم',
|
||||
'ﶝ' => 'يمم',
|
||||
'ﶞ' => 'بخي',
|
||||
'ﶟ' => 'تجي',
|
||||
'ﶠ' => 'تجى',
|
||||
'ﶡ' => 'تخي',
|
||||
'ﶢ' => 'تخى',
|
||||
'ﶣ' => 'تمي',
|
||||
'ﶤ' => 'تمى',
|
||||
'ﶥ' => 'جمي',
|
||||
'ﶦ' => 'جحى',
|
||||
'ﶧ' => 'جمى',
|
||||
'ﶨ' => 'سخى',
|
||||
'ﶩ' => 'صحي',
|
||||
'ﶪ' => 'شحي',
|
||||
'ﶫ' => 'ضحي',
|
||||
'ﶬ' => 'لجي',
|
||||
'ﶭ' => 'لمي',
|
||||
'ﶮ' => 'يحي',
|
||||
'ﶯ' => 'يجي',
|
||||
'ﶰ' => 'يمي',
|
||||
'ﶱ' => 'ممي',
|
||||
'ﶲ' => 'قمي',
|
||||
'ﶳ' => 'نحي',
|
||||
'ﶴ' => 'قمح',
|
||||
'ﶵ' => 'لحم',
|
||||
'ﶶ' => 'عمي',
|
||||
'ﶷ' => 'كمي',
|
||||
'ﶸ' => 'نجح',
|
||||
'ﶹ' => 'مخي',
|
||||
'ﶺ' => 'لجم',
|
||||
'ﶻ' => 'كمم',
|
||||
'ﶼ' => 'لجم',
|
||||
'ﶽ' => 'نجح',
|
||||
'ﶾ' => 'جحي',
|
||||
'ﶿ' => 'حجي',
|
||||
'ﷀ' => 'مجي',
|
||||
'ﷁ' => 'فمي',
|
||||
'ﷂ' => 'بحي',
|
||||
'ﷃ' => 'كمم',
|
||||
'ﷄ' => 'عجم',
|
||||
'ﷅ' => 'صمم',
|
||||
'ﷆ' => 'سخي',
|
||||
'ﷇ' => 'نجي',
|
||||
'ﷰ' => 'صلے',
|
||||
'ﷱ' => 'قلے',
|
||||
'ﷲ' => 'الله',
|
||||
'ﷳ' => 'اكبر',
|
||||
'ﷴ' => 'محمد',
|
||||
'ﷵ' => 'صلعم',
|
||||
'ﷶ' => 'رسول',
|
||||
'ﷷ' => 'عليه',
|
||||
'ﷸ' => 'وسلم',
|
||||
'ﷹ' => 'صلى',
|
||||
'ﷺ' => 'صلى الله عليه وسلم',
|
||||
'ﷻ' => 'جل جلاله',
|
||||
'﷼' => 'ریال',
|
||||
'ﹰ' => ' ً',
|
||||
'ﹱ' => 'ـً',
|
||||
'ﹲ' => ' ٌ',
|
||||
'ﹴ' => ' ٍ',
|
||||
'ﹶ' => ' َ',
|
||||
'ﹷ' => 'ـَ',
|
||||
'ﹸ' => ' ُ',
|
||||
'ﹹ' => 'ـُ',
|
||||
'ﹺ' => ' ِ',
|
||||
'ﹻ' => 'ـِ',
|
||||
'ﹼ' => ' ّ',
|
||||
'ﹽ' => 'ـّ',
|
||||
'ﹾ' => ' ْ',
|
||||
'ﹿ' => 'ـْ',
|
||||
'ﺀ' => 'ء',
|
||||
'ﺁ' => 'آ',
|
||||
'ﺂ' => 'آ',
|
||||
'ﺃ' => 'أ',
|
||||
'ﺄ' => 'أ',
|
||||
'ﺅ' => 'ؤ',
|
||||
'ﺆ' => 'ؤ',
|
||||
'ﺇ' => 'إ',
|
||||
'ﺈ' => 'إ',
|
||||
'ﺉ' => 'ئ',
|
||||
'ﺊ' => 'ئ',
|
||||
'ﺋ' => 'ئ',
|
||||
'ﺌ' => 'ئ',
|
||||
'ﺍ' => 'ا',
|
||||
'ﺎ' => 'ا',
|
||||
'ﺏ' => 'ب',
|
||||
'ﺐ' => 'ب',
|
||||
'ﺑ' => 'ب',
|
||||
'ﺒ' => 'ب',
|
||||
'ﺓ' => 'ة',
|
||||
'ﺔ' => 'ة',
|
||||
'ﺕ' => 'ت',
|
||||
'ﺖ' => 'ت',
|
||||
'ﺗ' => 'ت',
|
||||
'ﺘ' => 'ت',
|
||||
'ﺙ' => 'ث',
|
||||
'ﺚ' => 'ث',
|
||||
'ﺛ' => 'ث',
|
||||
'ﺜ' => 'ث',
|
||||
'ﺝ' => 'ج',
|
||||
'ﺞ' => 'ج',
|
||||
'ﺟ' => 'ج',
|
||||
'ﺠ' => 'ج',
|
||||
'ﺡ' => 'ح',
|
||||
'ﺢ' => 'ح',
|
||||
'ﺣ' => 'ح',
|
||||
'ﺤ' => 'ح',
|
||||
'ﺥ' => 'خ',
|
||||
'ﺦ' => 'خ',
|
||||
'ﺧ' => 'خ',
|
||||
'ﺨ' => 'خ',
|
||||
'ﺩ' => 'د',
|
||||
'ﺪ' => 'د',
|
||||
'ﺫ' => 'ذ',
|
||||
'ﺬ' => 'ذ',
|
||||
'ﺭ' => 'ر',
|
||||
'ﺮ' => 'ر',
|
||||
'ﺯ' => 'ز',
|
||||
'ﺰ' => 'ز',
|
||||
'ﺱ' => 'س',
|
||||
'ﺲ' => 'س',
|
||||
'ﺳ' => 'س',
|
||||
'ﺴ' => 'س',
|
||||
'ﺵ' => 'ش',
|
||||
'ﺶ' => 'ش',
|
||||
'ﺷ' => 'ش',
|
||||
'ﺸ' => 'ش',
|
||||
'ﺹ' => 'ص',
|
||||
'ﺺ' => 'ص',
|
||||
'ﺻ' => 'ص',
|
||||
'ﺼ' => 'ص',
|
||||
'ﺽ' => 'ض',
|
||||
'ﺾ' => 'ض',
|
||||
'ﺿ' => 'ض',
|
||||
'ﻀ' => 'ض',
|
||||
'ﻁ' => 'ط',
|
||||
'ﻂ' => 'ط',
|
||||
'ﻃ' => 'ط',
|
||||
'ﻄ' => 'ط',
|
||||
'ﻅ' => 'ظ',
|
||||
'ﻆ' => 'ظ',
|
||||
'ﻇ' => 'ظ',
|
||||
'ﻈ' => 'ظ',
|
||||
'ﻉ' => 'ع',
|
||||
'ﻊ' => 'ع',
|
||||
'ﻋ' => 'ع',
|
||||
'ﻌ' => 'ع',
|
||||
'ﻍ' => 'غ',
|
||||
'ﻎ' => 'غ',
|
||||
'ﻏ' => 'غ',
|
||||
'ﻐ' => 'غ',
|
||||
'ﻑ' => 'ف',
|
||||
'ﻒ' => 'ف',
|
||||
'ﻓ' => 'ف',
|
||||
'ﻔ' => 'ف',
|
||||
'ﻕ' => 'ق',
|
||||
'ﻖ' => 'ق',
|
||||
'ﻗ' => 'ق',
|
||||
'ﻘ' => 'ق',
|
||||
'ﻙ' => 'ك',
|
||||
'ﻚ' => 'ك',
|
||||
'ﻛ' => 'ك',
|
||||
'ﻜ' => 'ك',
|
||||
'ﻝ' => 'ل',
|
||||
'ﻞ' => 'ل',
|
||||
'ﻟ' => 'ل',
|
||||
'ﻠ' => 'ل',
|
||||
'ﻡ' => 'م',
|
||||
'ﻢ' => 'م',
|
||||
'ﻣ' => 'م',
|
||||
'ﻤ' => 'م',
|
||||
'ﻥ' => 'ن',
|
||||
'ﻦ' => 'ن',
|
||||
'ﻧ' => 'ن',
|
||||
'ﻨ' => 'ن',
|
||||
'ﻩ' => 'ه',
|
||||
'ﻪ' => 'ه',
|
||||
'ﻫ' => 'ه',
|
||||
'ﻬ' => 'ه',
|
||||
'ﻭ' => 'و',
|
||||
'ﻮ' => 'و',
|
||||
'ﻯ' => 'ى',
|
||||
'ﻰ' => 'ى',
|
||||
'ﻱ' => 'ي',
|
||||
'ﻲ' => 'ي',
|
||||
'ﻳ' => 'ي',
|
||||
'ﻴ' => 'ي',
|
||||
'ﻵ' => 'لآ',
|
||||
'ﻶ' => 'لآ',
|
||||
'ﻷ' => 'لأ',
|
||||
'ﻸ' => 'لأ',
|
||||
'ﻹ' => 'لإ',
|
||||
'ﻺ' => 'لإ',
|
||||
'ﻻ' => 'لا',
|
||||
'ﻼ' => 'لا',
|
||||
];
|
||||
10
languages/data/normalize-ml.php
Normal file
10
languages/data/normalize-ml.php
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
// File created by maintenance/generateNormalizerDataMl.php
|
||||
return [
|
||||
'ണ്' => 'ൺ',
|
||||
'ന്' => 'ൻ',
|
||||
'ര്' => 'ർ',
|
||||
'ല്' => 'ൽ',
|
||||
'ള്' => 'ൾ',
|
||||
'ക്' => 'ൿ',
|
||||
];
|
||||
|
|
@ -35,7 +35,7 @@ class GenerateNormalizerDataAr extends Maintenance {
|
|||
parent::__construct();
|
||||
$this->addDescription( 'Generate the normalizer data file for Arabic' );
|
||||
$this->addOption( 'unicode-data-file', 'The local location of the data file ' .
|
||||
'from https://unicode.org/Public/UNIDATA/UnicodeData.txt', false, true );
|
||||
'from https://unicode.org/Public/6.0.0/ucd/UnicodeData.txt', false, true );
|
||||
}
|
||||
|
||||
public function getDbType() {
|
||||
|
|
@ -122,7 +122,11 @@ class GenerateNormalizerDataAr extends Maintenance {
|
|||
}
|
||||
|
||||
global $IP;
|
||||
file_put_contents( "$IP/serialized/normalize-ar.ser", serialize( $pairs ) );
|
||||
file_put_contents( "$IP/languages/data/normalize-ar.php", wfMakeStaticArrayFile(
|
||||
$pairs,
|
||||
'File created by generateNormalizerDataAr.php'
|
||||
) );
|
||||
|
||||
echo "ar: " . count( $pairs ) . " pairs written.\n";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,11 @@ class GenerateNormalizerDataMl extends Maintenance {
|
|||
}
|
||||
|
||||
global $IP;
|
||||
file_put_contents( "$IP/serialized/normalize-ml.ser", serialize( $pairs ) );
|
||||
file_put_contents( "$IP/languages/data/normalize-ml.php", wfMakeStaticArrayFile(
|
||||
$pairs,
|
||||
'File created by generateNormalizerDataMl.php'
|
||||
) );
|
||||
|
||||
echo "ml: " . count( $pairs ) . " pairs written.\n";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1
serialized/.gitignore
vendored
1
serialized/.gitignore
vendored
|
|
@ -1,4 +1,3 @@
|
|||
/UnicodeData.txt
|
||||
/allkeys.txt
|
||||
/ucd.all.grouped.xml
|
||||
/ucd.all.grouped.zip
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
SPECIAL_TARGETS=normalize-ar.ser normalize-ml.ser first-letters-root.ser
|
||||
SPECIAL_TARGETS=first-letters-root.ser
|
||||
ALL_TARGETS=$(SPECIAL_TARGETS)
|
||||
DIST_TARGETS=$(SPECIAL_TARGETS)
|
||||
UNICODE_VERSION=6.0.0
|
||||
|
|
@ -13,18 +13,9 @@ dist: $(DIST_TARGETS)
|
|||
clean:
|
||||
rm -f $(ALL_TARGETS)
|
||||
|
||||
normalize-ar.ser: UnicodeData.txt
|
||||
php ../maintenance/language/generateNormalizerDataAr.php
|
||||
|
||||
normalize-ml.ser:
|
||||
php ../maintenance/language/generateNormalizerDataMl.php
|
||||
|
||||
first-letters-root.ser: allkeys.txt ucd.all.grouped.xml
|
||||
php ../maintenance/language/generateCollationData.php
|
||||
|
||||
UnicodeData.txt:
|
||||
wget https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/UnicodeData.txt
|
||||
|
||||
allkeys.txt:
|
||||
wget https://www.unicode.org/Public/UCA/$(UNICODE_VERSION)/allkeys.txt
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
a:6:{s:9:"ണ്";s:3:"ൺ";s:9:"ന്";s:3:"ൻ";s:9:"ര്";s:3:"ർ";s:9:"ല്";s:3:"ൽ";s:9:"ള്";s:3:"ൾ";s:9:"ക്";s:3:"ൿ";}
|
||||
Loading…
Reference in a new issue