Skip to content
This repository has been archived by the owner on Dec 11, 2020. It is now read-only.

Commit

Permalink
Add Thai providers (#1065)
Browse files Browse the repository at this point in the history
  • Loading branch information
Unnawut Leepaisalsuwanna authored and fzaninotto committed Dec 12, 2016
1 parent fc733e7 commit b98e70c
Show file tree
Hide file tree
Showing 5 changed files with 219 additions and 0 deletions.
101 changes: 101 additions & 0 deletions src/Faker/Provider/th_TH/Address.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
<?php

namespace Faker\Provider\th_TH;

class Address extends \Faker\Provider\Address
{
protected static $cityPrefix = array(
'เมือง', 'หมู่บ้าน', 'ท่า',
);

protected static $citySuffix = array(
'เหนือ', 'ใต้', 'บุรี',
);

protected static $buildingNumber = array(
'#####', '####', '###', '##', '##/###',
);

protected static $streetPrefix = array(
'ซอย', 'ถนน', 'สะพาน', 'วงเวียน', 'แยก',
);

protected static $postcode = array('#####');

/**
* @var array Thai province names
* @link https://th.wikipedia.org/wiki/%E0%B8%88%E0%B8%B1%E0%B8%87%E0%B8%AB%E0%B8%A7%E0%B8%B1%E0%B8%94%E0%B9%83%E0%B8%99%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B9%80%E0%B8%97%E0%B8%A8%E0%B9%84%E0%B8%97%E0%B8%A2
*/
protected static $province = array(
'กระบี่', 'กรุงเทพมหานคร', 'กาญจนบุรี', 'กาฬสินธุ์', 'กำแพงเพชร', 'ขอนแก่น',
'จันทบุรี', 'ฉะเชิงเทรา', 'ชลบุรี', 'ชัยนาท', 'ชัยภูมิ', 'ชุมพร',
'ตรัง', 'ตราด', 'ตาก', 'นครนายก', 'นครปฐม', 'นครพนม', 'นครราชสีมา',
'นครศรีธรรมราช', 'นครสวรรค์', 'นนทบุรี', 'นราธิวาส', 'น่าน',
'บึงกาฬ', 'บุรีรัมย์', 'ปทุมธานี', 'ประจวบคีรีขันธ์', 'ปราจีนบุรี', 'ปัตตานี',
'พระนครศรีอยุธยา', 'พะเยา', 'พังงา', 'พัทลุง', 'พิจิตร', 'พิษณุโลก', 'ภูเก็ต',
'มหาสารคาม', 'มุกดาหาร', 'ยะลา', 'ยโสธร', 'ระนอง', 'ระยอง', 'ราชบุรี', 'ร้อยเอ็ด',
'ลพบุรี', 'ลำปาง', 'ลำพูน', 'ศรีสะเกษ', 'สกลนคร', 'สงขลา', 'สตูล', 'สมุทรปราการ', 'สมุทรสงคราม',
'สมุทรสาคร', 'สระบุรี', 'สระแก้ว', 'สิงห์บุรี', 'สุพรรณบุรี', 'สุราษฎร์ธานี', 'สุรินทร์', 'สุโขทัย',
'หนองคาย', 'หนองบัวลำภู', 'อำนาจเจริญ', 'อุดรธานี', 'อุตรดิตถ์', 'อุทัยธานี', 'อุบลราชธานี', 'อ่างทอง',
'เชียงราย', 'เชียงใหม่', 'เพชรบุรี', 'เพชรบูรณ์', 'เลย', 'แพร่', 'แม่ฮ่องสอน',
);

/**
* @var array Country names in Thai
* @link https://th.wikipedia.org/wiki/%E0%B8%A3%E0%B8%B2%E0%B8%A2%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B9%80%E0%B8%97%E0%B8%A8_%E0%B8%94%E0%B8%B4%E0%B8%99%E0%B9%81%E0%B8%94%E0%B8%99_%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B9%80%E0%B8%A1%E0%B8%B7%E0%B8%AD%E0%B8%87%E0%B8%AB%E0%B8%A5%E0%B8%A7%E0%B8%87
*/
protected static $country = array(
'กรีซ', 'กัมพูชา', 'กัวเตมาลา', 'กาตาร์', 'คอซอวอ', 'คาซัคสถาน', 'คิริบาส', 'คิวบา', 'คีร์กีซสถาน', 'คูเวต',
'จอร์เจีย', 'จอร์แดน', 'จาเมกา', 'จีน','ชิลี', 'ซานมารีโน', 'ซามัว', 'ซาอุดีอาระเบีย', 'ซีเรีย', 'ซูรินาม',
'ญี่ปุ่น', 'ดอมินีกา', 'ตรินิแดดและโตเบโก', 'ตองกา', 'ติมอร์-เลสเต', 'ตุรกี', 'ตูวาลู', 'ทาจิกิสถาน',
'นครรัฐวาติกัน', 'นอร์เวย์', 'นาอูรู', 'นิการากัว', 'นิวซีแลนด์', 'บราซิล', 'บรูไนดารุสซาลาม', 'บอสเนียและเฮอร์เซโกวีนา',
'บังกลาเทศ', 'บัลแกเรีย', 'บาร์เบโดส', 'บาห์เรน', 'บาฮามาส', 'ปากีสถาน', 'ปานามา', 'ปาปัวนิวกินี', 'ปารากวัย', 'ปาเลา',
'ฝรั่งเศส', 'พม่า', 'ฟิจิ', 'ฟินแลนด์', 'ฟิลิปปินส์', 'ภูฏาน', 'มองโกเลีย', 'มอนเตเนโกร', 'มอลตา','มอลโดวา', 'มัลดีฟส์', 'มาเลเซีย',
'ยูเครน', 'รัสเซีย', 'ลักเซมเบิร์ก', 'ลัตเวีย', 'ลาว', 'ลิกเตนสไตน์','ลิทัวเนีย', 'ศรีลังกา',
'สวิตเซอร์แลนด์', 'สวีเดน', 'สหรัฐอาหรับเอมิเรตส์', 'สหรัฐอเมริกา', 'สหราชอาณาจักร', 'สาธารณรัฐมาซิโดเนีย', 'สาธารณรัฐเช็ก', 'สาธารณรัฐโดมินิกัน',
'สิงคโปร์', 'สเปน', 'สโลวาเกีย', 'สโลวีเนีย', 'หมู่เกาะมาร์แชลล์', 'หมู่เกาะโซโลมอน',
'ออสเตรีย', 'ออสเตรเลีย', 'อันดอร์รา', 'อัฟกานิสถาน', 'อาร์มีเนีย', 'อาร์เจนตินา', 'อาเซอร์ไบจาน',
'อิตาลี', 'อินเดีย', 'อินโดนีเซีย', 'อิรัก', 'อิสราเอล', 'อิหร่าน', 'อุซเบกิสถาน', 'อุรุกวัย', 'ฮอนดูรัส', 'ฮังการี',
'เกรเนดา', 'เกาหลีเหนือ', 'เกาหลีใต้', 'เซนต์คิตส์และเนวิส', 'เซนต์ลูเซีย', 'เซนต์วินเซนต์และเกรนาดีนส์', 'เซอร์เบีย',
'เดนมาร์ก', 'เติร์กเมนิสถาน', 'เนปาล', 'เนเธอร์แลนด์', 'เบลารุส', 'เบลีซ', 'เบลเยียม', 'เปรู', 'เม็กซิโก',
'เยอรมนี', 'เยเมน', 'เลบานอน', 'เวียดนาม', 'เวเนซุเอลา', 'เอกวาดอร์', 'เอลซัลวาดอร์', 'เอสโตเนีย', 'เฮติ', 'แคนาดา',
'แอนติกาและบาร์บูดา', 'แอลเบเนีย', 'โครเอเชีย', 'โคลอมเบีย', 'โบลิเวีย', 'โปรตุเกส', 'โปแลนด์', 'โมนาโก', 'โรมาเนีย',
'โอมาน', 'ไซปรัส', 'ไทย', 'ไมโครนีเซีย', 'ไอซ์แลนด์', 'ไอร์แลนด์',
);

protected static $cityFormats = array(
'{{cityPrefix}} {{firstName}}{{citySuffix}}',
'{{cityPrefix}} {{firstName}}',
'{{firstName}}{{citySuffix}}',
'{{lastName}}{{citySuffix}}',
);

protected static $streetNameFormats = array(
'{{firstName}} {{streetSuffix}}',
'{{lastName}} {{streetSuffix}}'
);

protected static $streetAddressFormats = array(
'{{buildingNumber}} {{streetName}}',
);

protected static $addressFormats = array(
"{{streetAddress}}\n{{city}}, {{postcode}}",
);

/**
* @example 'เมือง'
*/
public static function cityPrefix()
{
return static::randomElement(static::$cityPrefix);
}

/**
* @example 'กรุงเทพมหานคร'
*/
public static function province()
{
return static::randomElement(static::$province);
}
}
32 changes: 32 additions & 0 deletions src/Faker/Provider/th_TH/Company.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace Faker\Provider\th_TH;

class Company extends \Faker\Provider\Company
{
protected static $slogans = array(
array(
'เชื่อมต่อ', 'สรรสร้าง', 'เชื่อมโยง', 'ส่งเสริม', 'เปลี่ยน', 'ประสาน', 'พัฒนา',
),
array(
'ตลาด', 'อุตสาหกรรม', 'โครงสร้าง', 'เทคโนโลยี', 'เนื้อหา', 'สถาปัตยกรรม', 'ระบบ', 'ความคิด', 'ผู้ใช้', 'เครือข่าย', 'ประสบการณ์',
),
array(
'ที่แข็งแกร่ง', 'ที่มีคุณค่า', 'ที่สร้างสรรค์', '24 ชั่วโมง', 'อย่างสากล', 'สู่ผู้บริโภค', 'ที่น่าดึงดูด', 'อย่างมีประสิทธิภาพ', 'อย่างไร้รอยต่อ', 'อย่างไร้ที่ติ', 'ที่ปรับตัวได้', 'คุณภาพสากล', 'พร้อมใช้งาน', 'ที่มีความหมาย', 'ที่โปร่งใส', 'เพื่อการเปลี่ยนแปลง', 'สมัยใหม่', 'รูปแบบใหม่',
),
);

/**
* @example 'เชื่อมต่อตลาดที่แข็งแกร่ง'
*/
public function slogan()
{
$result = array();

foreach (static::$slogans as &$slogan) {
$result[] = static::randomElement($slogan);
}

return implode($result);
}
}
8 changes: 8 additions & 0 deletions src/Faker/Provider/th_TH/Internet.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

namespace Faker\Provider\th_TH;

class Internet extends \Faker\Provider\Internet
{
protected static $tld = array('com', 'th', 'co.th', 'or.th', 'go.th', 'in.th', 'ac.th', 'mi.th', 'net.th');
}
43 changes: 43 additions & 0 deletions src/Faker/Provider/th_TH/Payment.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?php

namespace Faker\Provider\th_TH;

class Payment extends \Faker\Provider\Payment
{
/**
* @var array Thai bank names
* @link https://th.wikipedia.org/wiki/%E0%B8%A3%E0%B8%B2%E0%B8%A2%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%98%E0%B8%99%E0%B8%B2%E0%B8%84%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%99%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B9%80%E0%B8%97%E0%B8%A8%E0%B9%84%E0%B8%97%E0%B8%A2
*/
protected static $banks = array(
'ธนาคารแห่งประเทศไทย',
'ธนาคารกรุงเทพ',
'ธนาคารกรุงศรีอยุธยา',
'ธนาคารกสิกรไทย',
'ธนาคารเกียรตินาคิน',
'ธนาคารซีไอเอ็มบีไทย',
'ธนาคารทหารไทย',
'ธนาคารทิสโก้',
'ธนาคารไทยพาณิชย์',
'ธนาคารไทยเครดิตเพื่อรายย่อย',
'ธนาคารธนชาต',
'ธนาคารยูโอบี',
'ธนาคารแลนด์ แอนด์ เฮาส์',
'ธนาคารสแตนดาร์ดชาร์เตอร์ด (ไทย)',
'ธนาคารกรุงไทย',
'ธนาคารพัฒนาวิสาหกิจขนาดกลางและขนาดย่อมแห่งประเทศไทย',
'ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร',
'ธนาคารเพื่อการส่งออกและนำเข้าแห่งประเทศไทย',
'ธนาคารออมสิน',
'ธนาคารอาคารสงเคราะห์',
'ธนาคารอิสลามแห่งประเทศไทย',
'ธนาคารไอซีบีซี (ไทย)',
);

/**
* @example 'ธนาคารกสิกรไทย'
*/
public static function bank()
{
return static::randomElement(static::$banks);
}
}
35 changes: 35 additions & 0 deletions src/Faker/Provider/th_TH/PhoneNumber.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

namespace Faker\Provider\th_TH;

class PhoneNumber extends \Faker\Provider\PhoneNumber
{
/**
* @var array Thai phone number formats
* @link http://www4.sit.kmutt.ac.th/content/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B8%AB%E0%B8%A1%E0%B8%B2%E0%B8%A2%E0%B9%80%E0%B8%A5%E0%B8%82%E0%B9%82%E0%B8%97%E0%B8%A3%E0%B8%A8%E0%B8%B1%E0%B8%9E%E0%B8%97%E0%B9%8C%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%96%E0%B8%B9%E0%B8%81%E0%B8%95%E0%B9%89%E0%B8%AD%E0%B8%87
*/
protected static $formats = array(
'0 #### ####',
'+66 #### ####',
'0########',
);

/**
* @var array Thai mobile phone number formats
*/
protected static $mobileFormats = array(
'08# ### ####',
'08 #### ####',
'09# ### ####',
'09 #### ####',
);

/**
* Returns a Thai mobile phone number
* @return string
*/
public static function mobileNumber()
{
return static::numerify(static::randomElement(static::$mobileFormats));
}
}

0 comments on commit b98e70c

Please sign in to comment.