From 4e8a2828dc75bfd6d4e362a428072124addb124b Mon Sep 17 00:00:00 2001 From: Huy TQ Date: Tue, 28 Oct 2014 03:03:53 +0700 Subject: [PATCH 1/7] Add vi_VN provider --- src/Faker/Provider/vi_VN/Address.php | 124 +++++++++++++++++ src/Faker/Provider/vi_VN/Color.php | 16 +++ src/Faker/Provider/vi_VN/DateTime.php | 11 ++ src/Faker/Provider/vi_VN/Internet.php | 75 ++++++++++ src/Faker/Provider/vi_VN/Person.php | 169 +++++++++++++++++++++++ src/Faker/Provider/vi_VN/PhoneNumber.php | 59 ++++++++ 6 files changed, 454 insertions(+) create mode 100644 src/Faker/Provider/vi_VN/Address.php create mode 100644 src/Faker/Provider/vi_VN/Color.php create mode 100644 src/Faker/Provider/vi_VN/DateTime.php create mode 100644 src/Faker/Provider/vi_VN/Internet.php create mode 100644 src/Faker/Provider/vi_VN/Person.php create mode 100644 src/Faker/Provider/vi_VN/PhoneNumber.php diff --git a/src/Faker/Provider/vi_VN/Address.php b/src/Faker/Provider/vi_VN/Address.php new file mode 100644 index 0000000000..9c02e81b4d --- /dev/null +++ b/src/Faker/Provider/vi_VN/Address.php @@ -0,0 +1,124 @@ +generator->parse($format)); + } + + public function hamletPrefix() + { + return static::randomElement(static::$hamletPrefix); + } + + public function wardName() + { + $format = static::randomElement(static::$wardNameFormats); + + return static::bothify($this->generator->parse($format)); + } + + public function wardPrefix() + { + return static::randomElement(static::$wardPrefix); + } + + public function districtName() + { + $format = static::randomElement(static::$districtNameFormats); + + return static::bothify($this->generator->parse($format)); + } + + public function districtPrefix() + { + return static::randomElement(static::$districtPrefix); + } + + /** + * @example 'Hà Nội' + */ + public function city() + { + return static::randomElement(static::$city); + } + + /** + * @example 'Bắc Giang' + */ + public static function province() + { + return static::randomElement(static::$province); + } +} diff --git a/src/Faker/Provider/vi_VN/Color.php b/src/Faker/Provider/vi_VN/Color.php new file mode 100644 index 0000000000..24bf8f369c --- /dev/null +++ b/src/Faker/Provider/vi_VN/Color.php @@ -0,0 +1,16 @@ +format($format); + } +} diff --git a/src/Faker/Provider/vi_VN/Internet.php b/src/Faker/Provider/vi_VN/Internet.php new file mode 100644 index 0000000000..2a61187637 --- /dev/null +++ b/src/Faker/Provider/vi_VN/Internet.php @@ -0,0 +1,75 @@ +'á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ|Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ', + 'd'=>'đ|Đ', + 'e'=>'é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ|É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ', + 'i'=>'í|ì|ỉ|ĩ|ị|Í|Ì|Ỉ|Ĩ|Ị', + 'o'=>'ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ|Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ', + 'u'=>'ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự|Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự', + 'y'=>'ý|ỳ|ỷ|ỹ|ỵ|Ý|Ỳ|Ỷ|Ỹ|Ỵ', + ); + + foreach ($arr as $ascii => $uni) + { + $string = preg_replace("/($uni)/i", $ascii, $string); + } + + return $string; + } + + public function userName() + { + $format = static::randomElement(static::$userNameFormats); + + return static::toLower(static::toAscii(static::bothify($this->generator->parse($format)))); + } + + public function domainWord() + { + $company = $this->generator->format('company'); + $companyElements = explode(' ', $company); + $company = $companyElements[0]; + $company = preg_replace('/\W/u', '', $company); + + return static::toLower(static::toAscii($company)); + } +} diff --git a/src/Faker/Provider/vi_VN/Person.php b/src/Faker/Provider/vi_VN/Person.php new file mode 100644 index 0000000000..9fe4ecd3f0 --- /dev/null +++ b/src/Faker/Provider/vi_VN/Person.php @@ -0,0 +1,169 @@ +generator->parse(static::randomElement(static::$middleNameFormat)); + } + + public static function middleNameMale() + { + return static::randomElement(static::$middleNameMale); + } + + public static function middleNameFemale() + { + return static::randomElement(static::$middleNameFemale); + } +} diff --git a/src/Faker/Provider/vi_VN/PhoneNumber.php b/src/Faker/Provider/vi_VN/PhoneNumber.php new file mode 100644 index 0000000000..46f1e5bf9b --- /dev/null +++ b/src/Faker/Provider/vi_VN/PhoneNumber.php @@ -0,0 +1,59 @@ + array( + '0[a] ### ####', + '(0[a]) ### ####', + '0[a]-###-####', + '(0[a])###-####', + '84-[a]-###-####', + '(84)([a])###-####', + '+84-[a]-###-####', + ), + '8' => array( + '0[a] #### ####', + '(0[a]) #### ####', + '0[a]-####-####', + '(0[a])####-####', + '84-[a]-####-####', + '(84)([a])####-####', + '+84-[a]-####-####', + ), + ); + + public static function phoneNumber() + { + $areaCode = static::randomElement(static::$areaCodes); + $areaCodeLength = strlen($areaCode); + $digits = 7; + + if ($areaCodeLength < 2) $digits = 8; + + return static::numerify(str_replace('[a]', $areaCode, static::randomElement(static::$formats[$digits]))); + } +} From 6f3a0a2c740103591207075b15041874f95a3bb0 Mon Sep 17 00:00:00 2001 From: Huy TQ Date: Tue, 28 Oct 2014 03:24:48 +0700 Subject: [PATCH 2/7] Fix coding standards (using php-cs-fixer) --- src/Faker/Provider/vi_VN/Address.php | 21 ++++++++++++++++++- src/Faker/Provider/vi_VN/Color.php | 26 +++++++++++++++++++++--- src/Faker/Provider/vi_VN/DateTime.php | 7 +++++++ src/Faker/Provider/vi_VN/Internet.php | 9 ++++++-- src/Faker/Provider/vi_VN/PhoneNumber.php | 3 +-- 5 files changed, 58 insertions(+), 8 deletions(-) diff --git a/src/Faker/Provider/vi_VN/Address.php b/src/Faker/Provider/vi_VN/Address.php index 9c02e81b4d..7a98c53adf 100644 --- a/src/Faker/Provider/vi_VN/Address.php +++ b/src/Faker/Provider/vi_VN/Address.php @@ -7,7 +7,26 @@ class Address extends \Faker\Provider\Address protected static $buildingNumber = array('####', '###', '##', '#'); protected static $postcode = array('#####', '######', '#####-####'); protected static $province = array( - 'An Giang', 'Bà Rịa - Vũng Tàu', 'Bắc Giang', 'Bắc Kạn', 'Bạc Liêu', 'Bắc Ninh', 'Bến Tre', 'Bình Định', 'Bình Dương', 'Bình Phước', 'Bình Thuận', 'Cà Mau', 'Cao Bằng', 'Đắk Lắk', 'Đắk Nông', 'Điện Biên', 'Đồng Nai', 'Đồng Tháp', 'Gia Lai', 'Hà Giang', 'Hà Nam', 'Hà Tĩnh', 'Hải Dương', 'Hậu Giang', 'Hòa Bình', 'Hưng Yên', 'Khánh Hòa', 'Kiên Giang', 'Kon Tum', 'Lai Châu', 'Lâm Đồng', 'Lạng Sơn', 'Lào Cai', 'Long An', 'Nam Định', 'Nghệ An', 'Ninh Bình', 'Ninh Thuận', 'Phú Thọ', 'Quảng Bình', 'Quảng Nam', 'Quảng Ngãi', 'Quảng Ninh', 'Quảng Trị', 'Sóc Trăng', 'Sơn La', 'Tây Ninh', 'Thái Bình', 'Thái Nguyên', 'Thanh Hóa', 'Thừa Thiên Huế', 'Tiền Giang', 'Trà Vinh', 'Tuyên Quang', 'Vĩnh Long', 'Vĩnh Phúc', 'Yên Bái', 'Phú Yên', + 'An Giang', 'Bà Rịa - Vũng Tàu', + 'Bắc Giang', 'Bắc Kạn', 'Bạc Liêu', + 'Bắc Ninh', 'Bến Tre', 'Bình Định', + 'Bình Dương', 'Bình Phước', 'Bình Thuận', + 'Cà Mau', 'Cao Bằng', 'Đắk Lắk', + 'Đắk Nông', 'Điện Biên', 'Đồng Nai', + 'Đồng Tháp', 'Gia Lai', 'Hà Giang', + 'Hà Nam', 'Hà Tĩnh', 'Hải Dương', + 'Hậu Giang', 'Hòa Bình', 'Hưng Yên', + 'Khánh Hòa', 'Kiên Giang', 'Kon Tum', + 'Lai Châu', 'Lâm Đồng', 'Lạng Sơn', + 'Lào Cai', 'Long An', 'Nam Định', + 'Nghệ An', 'Ninh Bình', 'Ninh Thuận', + 'Phú Thọ', 'Quảng Bình', 'Quảng Nam', + 'Quảng Ngãi', 'Quảng Ninh', 'Quảng Trị', + 'Sóc Trăng', 'Sơn La', 'Tây Ninh', + 'Thái Bình', 'Thái Nguyên', 'Thanh Hóa', + 'Thừa Thiên Huế', 'Tiền Giang', 'Trà Vinh', + 'Tuyên Quang', 'Vĩnh Long', 'Vĩnh Phúc', + 'Yên Bái', 'Phú Yên', ); protected static $city = array( 'Cần Thơ', 'Đà Nẵng', 'Hải Phòng', 'Hà Nội', 'Hồ Chí Minh', diff --git a/src/Faker/Provider/vi_VN/Color.php b/src/Faker/Provider/vi_VN/Color.php index 24bf8f369c..e572d2c83f 100644 --- a/src/Faker/Provider/vi_VN/Color.php +++ b/src/Faker/Provider/vi_VN/Color.php @@ -5,12 +5,32 @@ class Color extends \Faker\Provider\Color { protected static $safeColorNames = array( - 'đen', 'xanh', 'ô liu', -        'tím ', 'vôi', 'xanh', 'bạc', + 'đen', 'xanh', 'ô liu', +        'tím ', 'vôi', 'xanh', 'bạc',         'xám', 'vàng', 'trắng', ); protected static $allColorNames = array( - 'Hổ phách', 'Ametit', 'Xanh berin', 'Xanh da trời', 'Be', 'Nâu sẫm', 'Đen', 'Xanh lam', 'Nâu', 'Da bò', 'Cam cháy', 'Hồng y', 'Đỏ yên chi', 'Men ngọc', 'Anh đào', 'Xanh hoàng hôn', 'Xanh nõn chuối', 'Xanh cô ban', 'Đồng', 'San hô', 'Kem', 'Đỏ thắm', 'Xanh lơ', 'Lục bảo', 'Vàng kim loại', 'Xám', 'Xanh lá cây', 'Vòi voi', 'Chàm', 'Ngọc thạch', 'Kaki', 'Oải hương', 'Vàng chanh', 'Hồng sẫm', 'Hạt dẻ', 'Cẩm quỳ', 'Hoa cà', 'Lam sẫm', 'Ochre', 'Ô liu', 'Da cam', 'Lan tím', 'Lòng đào', 'Dừa cạn', 'Hồng', 'Mận', 'Xanh thủy tinh', 'Hồng đất', 'Tía', 'Đỏ', 'Cá hồi', 'Đỏ tươi', 'Nâu đen', 'Bạc', 'Nâu tanin', 'Mòng két', 'Xanh Thổ', 'Đỏ son', 'Tím', 'Xanh crôm', 'Trắng', 'Vàng', + 'Hổ phách', 'Ametit', 'Xanh berin', + 'Xanh da trời', 'Be', 'Nâu sẫm', + 'Đen', 'Xanh lam', 'Nâu', + 'Da bò', 'Cam cháy', 'Hồng y', + 'Đỏ yên chi', 'Men ngọc', 'Anh đào', + 'Xanh hoàng hôn', 'Xanh nõn chuối', 'Xanh cô ban', + 'Đồng', 'San hô', 'Kem', + 'Đỏ thắm', 'Xanh lơ', 'Lục bảo', + 'Vàng kim loại', 'Xám', 'Xanh lá cây', + 'Vòi voi', 'Chàm', 'Ngọc thạch', + 'Kaki', 'Oải hương', 'Vàng chanh', + 'Hồng sẫm', 'Hạt dẻ', 'Cẩm quỳ', + 'Hoa cà', 'Lam sẫm', 'Ochre', + 'Ô liu', 'Da cam', 'Lan tím', + 'Lòng đào', 'Dừa cạn', 'Hồng', + 'Mận', 'Xanh thủy tinh', 'Hồng đất', + 'Tía', 'Đỏ', 'Cá hồi', + 'Đỏ tươi', 'Nâu đen', + 'Bạc', 'Nâu tanin', 'Mòng két', + 'Xanh Thổ', 'Đỏ son', 'Tím', + 'Xanh crôm', 'Trắng', 'Vàng', ); } diff --git a/src/Faker/Provider/vi_VN/DateTime.php b/src/Faker/Provider/vi_VN/DateTime.php index fb80d9b44b..e1401ec84d 100644 --- a/src/Faker/Provider/vi_VN/DateTime.php +++ b/src/Faker/Provider/vi_VN/DateTime.php @@ -4,6 +4,13 @@ class DateTime extends \Faker\Provider\DateTime { + /** + * Get a date string between January 1, 1970 and now + * + * @param string $format + * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" + * @example '28-10-2014' + */ public static function date($format = 'd-m-Y', $max = 'now') { return static::dateTime($max)->format($format); diff --git a/src/Faker/Provider/vi_VN/Internet.php b/src/Faker/Provider/vi_VN/Internet.php index 2a61187637..09256f0f93 100644 --- a/src/Faker/Provider/vi_VN/Internet.php +++ b/src/Faker/Provider/vi_VN/Internet.php @@ -36,6 +36,12 @@ class Internet extends \Faker\Provider\Internet 'https://{{domainName}}/{{slug}}.html', ); + /** + * Convert Vietnamese characters to their ASCII representation + * + * @param string + * @return string + */ private static function toAscii($string) { $arr = array( @@ -48,8 +54,7 @@ private static function toAscii($string) 'y'=>'ý|ỳ|ỷ|ỹ|ỵ|Ý|Ỳ|Ỷ|Ỹ|Ỵ', ); - foreach ($arr as $ascii => $uni) - { + foreach ($arr as $ascii => $uni) { $string = preg_replace("/($uni)/i", $ascii, $string); } diff --git a/src/Faker/Provider/vi_VN/PhoneNumber.php b/src/Faker/Provider/vi_VN/PhoneNumber.php index 46f1e5bf9b..eb8540afb5 100644 --- a/src/Faker/Provider/vi_VN/PhoneNumber.php +++ b/src/Faker/Provider/vi_VN/PhoneNumber.php @@ -16,7 +16,7 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber 33, 53, 79, 22, 66, 36, 280, 37, 54, 73, 74, 27, 70, 211, 29, - // Mobile + // Mobile 96, 97, 98, 162, 163, 164, 165, 166, 167, 168, 169, // Viettel 91, 94, 123, 124, 125, 127, 129, // Vinaphone 90, 93, 120, 121, 122, 126, 128, // Mobifone @@ -53,7 +53,6 @@ public static function phoneNumber() $digits = 7; if ($areaCodeLength < 2) $digits = 8; - return static::numerify(str_replace('[a]', $areaCode, static::randomElement(static::$formats[$digits]))); } } From f85abd98402cdeecb30290d29ae996a22f7ae91b Mon Sep 17 00:00:00 2001 From: Huy TQ Date: Tue, 28 Oct 2014 03:41:03 +0700 Subject: [PATCH 3/7] Fix error --- src/Faker/Provider/vi_VN/Color.php | 4 ++-- src/Faker/Provider/vi_VN/PhoneNumber.php | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Faker/Provider/vi_VN/Color.php b/src/Faker/Provider/vi_VN/Color.php index e572d2c83f..4deaa2fb5f 100644 --- a/src/Faker/Provider/vi_VN/Color.php +++ b/src/Faker/Provider/vi_VN/Color.php @@ -6,8 +6,8 @@ class Color extends \Faker\Provider\Color { protected static $safeColorNames = array( 'đen', 'xanh', 'ô liu', -        'tím ', 'vôi', 'xanh', 'bạc', -        'xám', 'vàng', 'trắng', + 'tím ', 'vôi', 'xanh', 'bạc', + 'xám', 'vàng', 'trắng', ); protected static $allColorNames = array( diff --git a/src/Faker/Provider/vi_VN/PhoneNumber.php b/src/Faker/Provider/vi_VN/PhoneNumber.php index eb8540afb5..694e3951e6 100644 --- a/src/Faker/Provider/vi_VN/PhoneNumber.php +++ b/src/Faker/Provider/vi_VN/PhoneNumber.php @@ -52,7 +52,10 @@ public static function phoneNumber() $areaCodeLength = strlen($areaCode); $digits = 7; - if ($areaCodeLength < 2) $digits = 8; + if ($areaCodeLength < 2) { + $digits = 8; + } + return static::numerify(str_replace('[a]', $areaCode, static::randomElement(static::$formats[$digits]))); } } From 2a77abf4450443486e08d6d5bb6672e8618b46a9 Mon Sep 17 00:00:00 2001 From: Huy TQ Date: Tue, 28 Oct 2014 04:04:15 +0700 Subject: [PATCH 4/7] Country return null fixes --- src/Faker/Provider/vi_VN/Address.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/Faker/Provider/vi_VN/Address.php b/src/Faker/Provider/vi_VN/Address.php index 7a98c53adf..a520dcefab 100644 --- a/src/Faker/Provider/vi_VN/Address.php +++ b/src/Faker/Provider/vi_VN/Address.php @@ -88,6 +88,33 @@ class Address extends \Faker\Provider\Address "{{streetAddress}}, {{wardName}}, {{districtName}}\n{{province}}", "{{buildingNumber}}, {{hamletName}}, {{wardName}}, {{districtName}}\n{{province}}", ); + protected static $country = array( + 'Afghanistan', 'Albania', 'Algeria', 'American Samoa', 'Andorra', 'Angola', 'Anguilla', 'Antarctica (the territory South of 60 deg S)', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', 'Austria', 'Azerbaijan', + 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Bouvet Island (Bouvetoya)', 'Brazil', 'British Indian Ocean Territory (Chagos Archipelago)', 'British Virgin Islands', 'Brunei Darussalam', 'Bulgaria', 'Burkina Faso', 'Burundi', + 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', 'China', 'Christmas Island', 'Cocos (Keeling) Islands', 'Colombia', 'Comoros', 'Congo', 'Cook Islands', 'Costa Rica', 'Cote d\'Ivoire', 'Croatia', 'Cuba', 'Cyprus', 'Czech Republic', + 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', + 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Ethiopia', + 'Faroe Islands', 'Falkland Islands (Malvinas)', 'Fiji', 'Finland', 'France', 'French Guiana', 'French Polynesia', 'French Southern Territories', + 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Greece', 'Greenland', 'Grenada', 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinea', 'Guinea-Bissau', 'Guyana', + 'Haiti', 'Heard Island and McDonald Islands', 'Holy See (Vatican City State)', 'Honduras', 'Hong Kong', 'Hungary', + 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Isle of Man', 'Israel', 'Italy', + 'Jamaica', 'Japan', 'Jersey', 'Jordan', + 'Kazakhstan', 'Kenya', 'Kiribati', 'Korea', 'Korea', 'Kuwait', 'Kyrgyz Republic', + 'Lao People\'s Democratic Republic', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libyan Arab Jamahiriya', 'Liechtenstein', 'Lithuania', 'Luxembourg', + 'Macao', 'Macedonia', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Martinique', 'Mauritania', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Montserrat', 'Morocco', 'Mozambique', 'Myanmar', + 'Namibia', 'Nauru', 'Nepal', 'Netherlands Antilles', 'Netherlands', 'New Caledonia', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk Island', 'Northern Mariana Islands', 'Norway', + 'Oman', + 'Pakistan', 'Palau', 'Palestinian Territory', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Pitcairn Islands', 'Poland', 'Portugal', 'Puerto Rico', + 'Qatar', + 'Reunion', 'Romania', 'Russian Federation', 'Rwanda', + 'Saint Barthelemy', 'Saint Helena', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Martin', 'Saint Pierre and Miquelon', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia (Slovak Republic)', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Georgia and the South Sandwich Islands', 'Spain', 'Sri Lanka', 'Sudan', 'Suriname', 'Svalbard & Jan Mayen Islands', 'Swaziland', 'Sweden', 'Switzerland', 'Syrian Arab Republic', + 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', 'Timor-Leste', 'Togo', 'Tokelau', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos Islands', 'Tuvalu', + 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States of America', 'United States Minor Outlying Islands', 'United States Virgin Islands', 'Uruguay', 'Uzbekistan', + 'Vanuatu', 'Venezuela', 'Vietnam', + 'Wallis and Futuna', 'Western Sahara', + 'Yemen', + 'Zambia', 'Zimbabwe' + ); public function hamletName() { From 63d5dc5dfbba284e2c1aeb7a26e19a0e5ff82ed7 Mon Sep 17 00:00:00 2001 From: Huy TQ Date: Wed, 29 Oct 2014 20:46:29 +0700 Subject: [PATCH 5/7] Add @link comment to the data source --- src/Faker/Provider/vi_VN/Person.php | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/Faker/Provider/vi_VN/Person.php b/src/Faker/Provider/vi_VN/Person.php index 9fe4ecd3f0..1f80876991 100644 --- a/src/Faker/Provider/vi_VN/Person.php +++ b/src/Faker/Provider/vi_VN/Person.php @@ -23,6 +23,9 @@ class Person extends \Faker\Provider\Person '{{firstNameFemale}}', ); + /** + * @link http://www.dattenhay.vn/1001-ten-cho-be-trai.htm + */ protected static $firstNameMale = array( 'An', 'Anh', 'Bào', 'Bình', 'Bạch', 'Bảo', 'Bắc', 'Bằng', 'Bổng', 'Bửu', @@ -43,10 +46,13 @@ class Person extends \Faker\Provider\Person 'Xuân', 'Yên', 'Án', 'Ân', - 'Ðan', 'Ðiền', 'Ðiệp', 'Ðoàn', 'Ðình', 'Ðôn', 'Ðăng', 'Ðại', 'Ðạo', 'Ðạt', 'Ðịnh', 'Ðồng', 'Ðộ', 'Ðức', 'Đức', + 'Đan', 'Điền', 'Điệp', 'Đoàn', 'Đình', 'Đôn', 'Đăng', 'Đại', 'Đạo', 'Đạt', 'Định', 'Đồng', 'Độ', 'Đức', 'Đức', 'Ẩn', ); + /** + * @link http://www.dattenhay.vn/1001-ten-cho-be-trai.htm + */ protected static $middleNameMale = array( 'An', 'Anh', 'Bá', 'Bách', 'Bình', 'Bích', 'Bảo', 'Bằng', 'Bửu', 'Bữu', @@ -63,9 +69,12 @@ class Person extends \Faker\Provider\Person 'Song', 'Sĩ', 'Sơn', 'Sỹ', 'Tài', 'Tạ', 'Ân', - 'Ðan', 'Ðinh', 'Ðoàn', 'Ðình', 'Ðông', 'Ðăng', 'Ðại', 'Ðạt', 'Ðắc', 'Ðịnh', 'Ðồng', 'Ðức', 'Đăng', 'Đức', + 'Đan', 'Đinh', 'Đoàn', 'Đình', 'Đông', 'Đăng', 'Đại', 'Đạt', 'Đắc', 'Định', 'Đồng', 'Đức', 'Đăng', 'Đức', ); + /** + * @link http://www.dattenhay.vn/1001-ten-cho-be-gai.htm + */ protected static $firstNameFemale = array( 'An', 'Anh', 'Bình', 'Bích', 'Băng', 'Bạch', 'Bảo', @@ -89,10 +98,13 @@ class Person extends \Faker\Provider\Person 'Xuyến', 'Xuân', 'Yên', 'Yến', 'Ái', 'Ánh', 'Ân', - 'Ðan', 'Ðiệp', 'Ðoan', 'Ðài', 'Ðàn', 'Ðào', 'Ðình', 'Ðường', 'Đan', + 'Đan', 'Điệp', 'Đoan', 'Đài', 'Đàn', 'Đào', 'Đình', 'Đường', 'Đan', 'Ý', ); + /** + * @link http://www.dattenhay.vn/1001-ten-cho-be-gai.htm + */ protected static $middleNameFemale = array( 'An', 'Anh', 'Ban', 'Bích', 'Băng', 'Bạch', 'Bảo', 'Bội', @@ -114,10 +126,13 @@ class Person extends \Faker\Provider\Person 'Xuyến', 'Xuân', 'Yên', 'Yến', 'Ái', 'Ánh', - 'Ðan', 'Ðinh', 'Ðoan', 'Ðài', 'Ðông', 'Ðồng', 'Đan', 'Đoan', + 'Đan', 'Đinh', 'Đoan', 'Đài', 'Đông', 'Đồng', 'Đan', 'Đoan', 'Ý', ); + /** + * @link http://vi.wikipedia.org/wiki/H%E1%BB%8D_ng%C6%B0%E1%BB%9Di_Vi%E1%BB%87t_Nam + */ protected static $lastName = array( 'An', 'Ánh', 'Ân', 'Âu', 'Ấu', From a2fa7475f8bf4bc6919783b25944251be206df1d Mon Sep 17 00:00:00 2001 From: Huy TQ Date: Wed, 29 Oct 2014 20:49:46 +0700 Subject: [PATCH 6/7] Move preg_replace outside loop and remove loop. --- src/Faker/Provider/vi_VN/Internet.php | 53 +++++---------------------- 1 file changed, 10 insertions(+), 43 deletions(-) diff --git a/src/Faker/Provider/vi_VN/Internet.php b/src/Faker/Provider/vi_VN/Internet.php index 09256f0f93..edfc53a619 100644 --- a/src/Faker/Provider/vi_VN/Internet.php +++ b/src/Faker/Provider/vi_VN/Internet.php @@ -4,38 +4,8 @@ class Internet extends \Faker\Provider\Internet { - protected static $freeEmailDomain = array('gmail.com', 'yahoo.com', 'hotmail.com'); protected static $tld = array('com', 'com', 'com', 'com', 'com', 'com', 'biz', 'info', 'net', 'org', 'vn', 'com.vn', 'biz.vn', 'edu.vn', 'gov.vn', 'net.vn', 'org.vn', 'int.vn', 'ac.vn', 'pro.vn', 'info.vn', 'health.vn', 'name.vn', 'mil.vn'); - protected static $userNameFormats = array( - '{{lastName}}_{{firstName}}', - '{{firstName}}_{{lastName}}', - '{{lastName}}{{middleName}}{{firstName}}', - '{{firstName}}##', - '?{{lastName}}', - '{{lastName}}{{middleName}}{{firstName}}##', - ); - protected static $emailFormats = array( - '{{userName}}@{{domainName}}', - '{{userName}}@{{freeEmailDomain}}', - '{{userName}}@{{freeEmailDomain}}', - '{{userName}}@{{freeEmailDomain}}', - ); - protected static $urlFormats = array( - 'http://www.{{domainName}}/', - 'http://{{domainName}}/', - 'https://www.{{domainName}}/', - 'https://{{domainName}}/', - 'http://www.{{domainName}}/{{slug}}', - 'http://www.{{domainName}}/{{slug}}', - 'https://www.{{domainName}}/{{slug}}', - 'http://www.{{domainName}}/{{slug}}.html', - 'http://{{domainName}}/{{slug}}', - 'http://{{domainName}}/{{slug}}', - 'http://{{domainName}}/{{slug}}.html', - 'https://{{domainName}}/{{slug}}.html', - ); - /** * Convert Vietnamese characters to their ASCII representation * @@ -44,21 +14,18 @@ class Internet extends \Faker\Provider\Internet */ private static function toAscii($string) { - $arr = array( - 'a'=>'á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ|Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ', - 'd'=>'đ|Đ', - 'e'=>'é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ|É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ', - 'i'=>'í|ì|ỉ|ĩ|ị|Í|Ì|Ỉ|Ĩ|Ị', - 'o'=>'ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ|Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ', - 'u'=>'ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự|Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự', - 'y'=>'ý|ỳ|ỷ|ỹ|ỵ|Ý|Ỳ|Ỷ|Ỹ|Ỵ', + $from = array( + '/á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ|Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ/', + '/đ|Đ/', + '/é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ|É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ/', + '/í|ì|ỉ|ĩ|ị|Í|Ì|Ỉ|Ĩ|Ị/', + '/ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ|Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ/', + '/ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự|Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự/', + '/ý|ỳ|ỷ|ỹ|ỵ|Ý|Ỳ|Ỷ|Ỹ|Ỵ/', ); + $to = array('a', 'd', 'e', 'i', 'o', 'u', 'y'); - foreach ($arr as $ascii => $uni) { - $string = preg_replace("/($uni)/i", $ascii, $string); - } - - return $string; + return preg_replace($from, $to, $string); } public function userName() From 6df6f1fe4a4aed43e4e379316bd5cedc2b5ef508 Mon Sep 17 00:00:00 2001 From: Huy TQ Date: Wed, 29 Oct 2014 20:50:34 +0700 Subject: [PATCH 7/7] Remove DateTime class --- src/Faker/Provider/vi_VN/DateTime.php | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 src/Faker/Provider/vi_VN/DateTime.php diff --git a/src/Faker/Provider/vi_VN/DateTime.php b/src/Faker/Provider/vi_VN/DateTime.php deleted file mode 100644 index e1401ec84d..0000000000 --- a/src/Faker/Provider/vi_VN/DateTime.php +++ /dev/null @@ -1,18 +0,0 @@ -format($format); - } -}