From c18e92dd30c62e089313b5ce05ccc32b64ae9cf9 Mon Sep 17 00:00:00 2001 From: ruden Date: Mon, 4 Nov 2013 11:18:08 +0200 Subject: [PATCH 1/2] Update Ukrainian characters --- src/Faker/Provider/uk_UA/Internet.php | 29 +++++++--- src/Faker/Provider/uk_UA/Transliteration.php | 60 -------------------- 2 files changed, 21 insertions(+), 68 deletions(-) delete mode 100644 src/Faker/Provider/uk_UA/Transliteration.php diff --git a/src/Faker/Provider/uk_UA/Internet.php b/src/Faker/Provider/uk_UA/Internet.php index 5cd5736c..e7e1c6f3 100644 --- a/src/Faker/Provider/uk_UA/Internet.php +++ b/src/Faker/Provider/uk_UA/Internet.php @@ -7,6 +7,21 @@ class Internet extends \Faker\Provider\Internet protected static $tld = array('ua', 'com.ua', 'org.ua', 'net.ua', 'com', 'net', 'org'); protected static $freeEmailDomain = array('gmail.com', 'mail.ru', 'ukr.net', 'i.ua', 'rambler.ru'); + /** + * Converts Ukrainian characters to their ASCII representation + * + * {@link} http://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82%D0%B0_%D0%BB%D0%B0%D1%82%D0%B8%D0%BD%D0%B8%D1%86%D0%B5%D0%B9 + * + * @return string + */ + private static function toAscii($string) + { + $from = array('А', 'Б', 'В', 'Г', 'Ґ', 'Д', 'Е', 'Є', 'Ж', 'З', 'И', 'І', 'Ї', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ь', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'ґ', 'д', 'е', 'є', 'ж', 'з', 'и', 'і', 'ї', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ю', 'я', '\'', '`'); + $to = array('a', 'b', 'v', 'g', 'g', 'd', 'e', 'ye', 'zh', 'z', 'y', 'i', 'yi', 'y', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'kh', 'ts', 'ch', 'sh', 'shch', '', 'yu', 'ya', 'a', 'b', 'v', 'g', 'g', 'd', 'e', 'ye', 'zh', 'z', 'y', 'i', 'yi', 'y', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'kh', 'ts', 'ch', 'sh', 'shch', '', 'yu', 'ya', '', ''); + + return str_replace($from, $to, $string); + } + /** * @example 'roman93' */ @@ -14,10 +29,7 @@ class Internet extends \Faker\Provider\Internet { $format = static::randomElement(static::$userNameFormats); - return static::toLower(static::bothify( - Transliteration::transliterate($this->generator->parse($format)) - ) - ); + return static::toLower(static::toAscii(static::bothify($this->generator->parse($format)))); } /** @@ -25,10 +37,11 @@ class Internet extends \Faker\Provider\Internet */ public function domainWord() { - $company = $this->generator->format('companyUrl'); - $company = str_replace(' ', '-', $company); - $company = Transliteration::transliterate($company); + $company = $this->generator->format('company'); + $companyElements = explode(' ', $company); + $company = $companyElements[0]; + $company = preg_replace('/\W/u', '', $company); - return $company; + return static::toLower(static::toAscii($company)); } } diff --git a/src/Faker/Provider/uk_UA/Transliteration.php b/src/Faker/Provider/uk_UA/Transliteration.php deleted file mode 100644 index 654f22b0..00000000 --- a/src/Faker/Provider/uk_UA/Transliteration.php +++ /dev/null @@ -1,60 +0,0 @@ -"", - "`"=>"", - "а"=>"a","А"=>"a", - "б"=>"b","Б"=>"b", - "в"=>"v","В"=>"v", - "г"=>"g","Г"=>"g", - "д"=>"d","Д"=>"d", - "е"=>"e","Е"=>"e", - "ж"=>"zh","Ж"=>"zh", - "з"=>"z","З"=>"z", - "и"=>"i","И"=>"i", - "й"=>"y","Й"=>"y", - "к"=>"k","К"=>"k", - "л"=>"l","Л"=>"l", - "м"=>"m","М"=>"m", - "н"=>"n","Н"=>"n", - "о"=>"o","О"=>"o", - "п"=>"p","П"=>"p", - "р"=>"r","Р"=>"r", - "с"=>"s","С"=>"s", - "т"=>"t","Т"=>"t", - "у"=>"u","У"=>"u", - "ф"=>"f","Ф"=>"f", - "х"=>"h","Х"=>"h", - "ц"=>"c","Ц"=>"c", - "ч"=>"ch","Ч"=>"ch", - "ш"=>"sh","Ш"=>"sh", - "щ"=>"sch","Щ"=>"sch", - "ъ"=>"","Ъ"=>"", - "ы"=>"y","Ы"=>"y", - "ь"=>"","Ь"=>"", - "э"=>"e","Э"=>"e", - "ю"=>"yu","Ю"=>"yu", - "я"=>"ya","Я"=>"ya", - "і"=>"i","І"=>"i", - "ї"=>"yi","Ї"=>"yi", - "є"=>"e","Є"=>"e" - ); - - return strtr($string, $replace); - } -} From 068106e1139ff0b5d93b3202aa1935d9031e11a9 Mon Sep 17 00:00:00 2001 From: ruden Date: Mon, 4 Nov 2013 12:02:05 +0200 Subject: [PATCH 2/2] Added color to uk_UA provider --- src/Faker/Provider/uk_UA/Color.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/Faker/Provider/uk_UA/Color.php diff --git a/src/Faker/Provider/uk_UA/Color.php b/src/Faker/Provider/uk_UA/Color.php new file mode 100644 index 00000000..197cc3b6 --- /dev/null +++ b/src/Faker/Provider/uk_UA/Color.php @@ -0,0 +1,23 @@ +