Minor fixes to CRH language conversion.
authorC. Scott Ananian <cscott@cscott.net>
Sat, 12 May 2018 18:37:09 +0000 (14:37 -0400)
committerC. Scott Ananian <cscott@cscott.net>
Sat, 12 May 2018 18:37:09 +0000 (14:37 -0400)
* Move a many-to-one mapping from the L2C to the C2L table where it
  belongs.

* Fix some regular expression patterns which ended up with misnumbered
  replacement strings.

* All regular expressions should have the `u` (unicode) flag set.

* Typo/spelling fixes in comments

Change-Id: If933fc67845ac994d9ddfdf8349aff445ec9b13a

languages/classes/LanguageCrh.php
languages/data/CrhExceptions.php
tests/phpunit/languages/classes/LanguageSrTest.php

index 1698b9f..e652a52 100644 (file)
@@ -189,7 +189,7 @@ class CrhConverter extends LanguageConverter {
 
        /**
         *  It translates text into variant, specials:
-        *    - ommiting roman numbers
+        *    - omitting roman numbers
         *
         * @param string $text
         * @param bool $toVariant
index e3bb156..669c802 100644 (file)
@@ -124,6 +124,7 @@ class CrhExceptions {
                'beyude' => 'бейуде', 'beyüde' => 'бейуде',
                'curat' => 'джурьат', 'cürat' => 'джурьат',
                'mesul' => 'месуль', 'mesül' => 'месуль',
+               'yetsin' => 'етсин', 'etsin' => 'етсин',
        ];
 
        # map Cyrillic to Latin and back, simple string match only (no regex)
@@ -211,7 +212,6 @@ class CrhExceptions {
                'оригинал' => 'original', 'оригиналь' => 'original',
                'пускю' => 'püskü', 'пуськю' => 'püskü',
                'къарагоз' => 'qaragöz', 'къарагозь' => 'qaragöz',
-               'етсин' => 'yetsin', 'етсин' => 'etsin',
 
                #### Latin to Cyrillic (deduped from above)
 
@@ -511,7 +511,7 @@ class CrhExceptions {
                        '/\b(['.Crh::C_M_CONS.'])У(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' =>
                                '$1Ü$2$3$4',
                        '/\bУ(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ü$1$2$3',
-                       '/\bУю(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'Üyü$1$2$2',
+                       '/\bУю(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'Üyü$1$2$3',
                        '/\bУЮ(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ÜYÜ$1$2$3',
 
                        '/\b(['.Crh::C_M_CONS.'])у(['.Crh::C_CONS.'])([еиэюьü])/u' => '$1ü$2$3',
@@ -567,12 +567,12 @@ class CrhExceptions {
 
                        # остальные вхождения о, у, ё, ю
                        # other occurences of о, у, ё, ю
-                       '/Ё(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YO$2',
-                       '/Ю(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YU$2',
+                       '/Ё(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YO$1',
+                       '/Ю(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YU$1',
 
                        # Ц & Щ
-                       '/Ц(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'TS$2',
-                       '/Щ(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'ŞÇ$2',
+                       '/Ц(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'TS$1',
+                       '/Щ(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'ŞÇ$1',
                ];
 
                $this->Latn2CyrlRegexes = [
@@ -685,7 +685,7 @@ class CrhExceptions {
                        '/KÖZ([^EÜ])/u' => 'КОЗЬ$1',
 
                        # Punctuation
-                       '/#|No\./' => '№',
+                       '/#|No\./u' => '№',
 
                        # некоторые случаи употребления Ц
                        '/tsi([^zñ])/u' => 'ци$1',
index e81d537..30b4df8 100644 (file)
@@ -68,7 +68,7 @@ class LanguageSrTest extends LanguageClassesTestCase {
         * @covers LanguageConverter::convertTo
         */
        public function testConversionToCyrillic() {
-               // A simple convertion of Latin to Cyrillic
+               // A simple conversion of Latin to Cyrillic
                $this->assertEquals( 'абвг',
                        $this->convertToCyrillic( 'abvg' )
                );
@@ -76,7 +76,7 @@ class LanguageSrTest extends LanguageClassesTestCase {
                $this->assertEquals( 'ljабnjвгdž',
                        $this->convertToCyrillic( '-{lj}-ab-{nj}-vg-{dž}-' )
                );
-               // A simple convertion of Cyrillic to Cyrillic
+               // A simple conversion of Cyrillic to Cyrillic
                $this->assertEquals( 'абвг',
                        $this->convertToCyrillic( 'абвг' )
                );
@@ -110,11 +110,11 @@ class LanguageSrTest extends LanguageClassesTestCase {
         * @covers LanguageConverter::convertTo
         */
        public function testConversionToLatin() {
-               // A simple convertion of Latin to Latin
+               // A simple conversion of Latin to Latin
                $this->assertEquals( 'abcd',
                        $this->convertToLatin( 'abcd' )
                );
-               // A simple convertion of Cyrillic to Latin
+               // A simple conversion of Cyrillic to Latin
                $this->assertEquals( 'abcd',
                        $this->convertToLatin( 'абцд' )
                );