diff --git a/src/Faker/Provider/zh_TW/Address.php b/src/Faker/Provider/zh_TW/Address.php new file mode 100644 index 0000000000..3503892ee1 --- /dev/null +++ b/src/Faker/Provider/zh_TW/Address.php @@ -0,0 +1,415 @@ + array( + '板橋區', '三重區', '中和區', '永和區', + '新莊區', '新店區', '樹林區', '鶯歌區', + '三峽區', '淡水區', '汐止區', '瑞芳區', + '土城區', '蘆洲區', '五股區', '泰山區', + '林口區', '深坑區', '石碇區', '坪林區', + '三芝區', '石門區', '八里區', '平溪區', + '雙溪區', '貢寮區', '金山區', '萬里區', + '烏來區', + ), + '宜蘭縣' => array( + '宜蘭市', '羅東鎮', '蘇澳鎮', '頭城鎮', '礁溪鄉', + '壯圍鄉', '員山鄉', '冬山鄉', '五結鄉', '三星鄉', + '大同鄉', '南澳鄉', + ), + '桃園縣' => array( + '桃園市', '中壢市', '大溪鎮', '楊梅鎮', '蘆竹鄉', + '大園鄉', '龜山鄉', '八德市', '龍潭鄉', '平鎮市', + '新屋鄉', '觀音鄉', '復興鄉', + ), + '新竹縣' => array( + '竹北市', '竹東鎮', '新埔鎮', '關西鎮', '湖口鄉', + '新豐鄉', '芎林鄉', '橫山鄉', '北埔鄉', '寶山鄉', + '峨眉鄉', '尖石鄉', '五峰鄉', + ), + '苗栗縣' => array( + '苗栗市', '苑裡鎮', '通霄鎮', '竹南鎮', '頭份鎮', + '後龍鎮', '卓蘭鎮', '大湖鄉', '公館鄉', '銅鑼鄉', + '南庄鄉', '頭屋鄉', '三義鄉', '西湖鄉', '造橋鄉', + '三灣鄉', '獅潭鄉', '泰安鄉', + ), + '臺中市' => array( + '豐原區', '東勢區', '大甲區', '清水區', '沙鹿區', + '梧棲區', '后里區', '神岡區', '潭子區', '大雅區', + '新社區', '石岡區', '外埔區', '大安區', '烏日區', + '大肚區', '龍井區', '霧峰區', '太平區', '大里區', + '和平區', '中區', '東區', '南區', '西區', '北區', + '西屯區', '南屯區', '北屯區', + ), + '彰化縣' => array( + '彰化市', '鹿港鎮', '和美鎮', '線西鄉', '伸港鄉', + '福興鄉', '秀水鄉', '花壇鄉', '芬園鄉', '員林鎮', + '溪湖鎮', '田中鎮', '大村鄉', '埔鹽鄉', '埔心鄉', + '永靖鄉', '社頭鄉', '二水鄉', '北斗鎮', '二林鎮', + '田尾鄉', '埤頭鄉', '芳苑鄉', '大城鄉', '竹塘鄉', + '溪州鄉', + ), + '南投縣' => array( + '南投市', '埔里鎮', '草屯鎮', '竹山鎮', '集集鎮', + '名間鄉', '鹿谷鄉', '中寮鄉', '魚池鄉', '國姓鄉', + '水里鄉', '信義鄉', '仁愛鄉', + ), + '雲林縣' => array( + '斗六市', '斗南鎮', '虎尾鎮', '西螺鎮', '土庫鎮', + '北港鎮', '古坑鄉', '大埤鄉', '莿桐鄉', '林內鄉', + '二崙鄉', '崙背鄉', '麥寮鄉', '東勢鄉', '褒忠鄉', + '臺西鄉', '元長鄉', '四湖鄉', '口湖鄉', '水林鄉', + ), + '嘉義縣' => array( + '太保市', '朴子市', '布袋鎮', '大林鎮', '民雄鄉', + '溪口鄉', '新港鄉', '六腳鄉', '東石鄉', '義竹鄉', + '鹿草鄉', '水上鄉', '中埔鄉', '竹崎鄉', '梅山鄉', + '番路鄉', '大埔鄉', '阿里山鄉', + ), + '臺南市' => array( + '新營區', '鹽水區', '白河區', '柳營區', '後壁區', + '東山區', '麻豆區', '下營區', '六甲區', '官田區', + '大內區', '佳里區', '學甲區', '西港區', '七股區', + '將軍區', '北門區', '新化區', '善化區', '新市區', + '安定區', '山上區', '玉井區', '楠西區', '南化區', + '左鎮區', '仁德區', '歸仁區', '關廟區', '龍崎區', + '永康區', '東區', '南區', '西區', '北區', '中區', + '安南區', '安平區', + ), + '高雄市' => array( + '鳳山區', '林園區', '大寮區', '大樹區', '大社區', + '仁武區', '鳥松區', '岡山區', '橋頭區', '燕巢區', + '田寮區', '阿蓮區', '路竹區', '湖內區', '茄萣區', + '永安區', '彌陀區', '梓官區', '旗山區', '美濃區', + '六龜區', '甲仙區', '杉林區', '內門區', '茂林區', + '桃源區', '三民區', '鹽埕區', '鼓山區', '左營區', + '楠梓區', '三民區', '新興區', '前金區', '苓雅區', + '前鎮區', '旗津區', '小港區', + ), + '屏東縣' => array( + '屏東市', '潮州鎮', '東港鎮', '恆春鎮', '萬丹鄉', + '長治鄉', '麟洛鄉', '九如鄉', '里港鄉', '鹽埔鄉', + '高樹鄉', '萬巒鄉', '內埔鄉', '竹田鄉', '新埤鄉', + '枋寮鄉', '新園鄉', '崁頂鄉', '林邊鄉', '南州鄉', + '佳冬鄉', '琉球鄉', '車城鄉', '滿州鄉', '枋山鄉', + '三地門鄉', '霧臺鄉', '瑪家鄉', '泰武鄉', '來義鄉', + '春日鄉', '獅子鄉', '牡丹鄉', + ), + '臺東縣' => array( + '臺東市', '成功鎮', '關山鎮', '卑南鄉', '鹿野鄉', + '池上鄉', '東河鄉', '長濱鄉', '太麻里鄉', '大武鄉', + '綠島鄉', '海端鄉', '延平鄉', '金峰鄉', '達仁鄉', + '蘭嶼鄉', + ), + '花蓮縣' => array( + '花蓮市', '鳳林鎮', '玉里鎮', '新城鄉', '吉安鄉', + '壽豐鄉', '光復鄉', '豐濱鄉', '瑞穗鄉', '富里鄉', + '秀林鄉', '萬榮鄉', '卓溪鄉', + ), + '澎湖縣' => array( + '馬公市', '湖西鄉', '白沙鄉', '西嶼鄉', '望安鄉', + '七美鄉', + ), + '基隆市' => array( + '中正區', '七堵區', '暖暖區', '仁愛區', '中山區', + '安樂區', '信義區', + ), + '新竹市' => array( + '東區', '北區', '香山區', + ), + '嘉義市' => array( + '東區', '西區', + ), + '臺北市' => array( + '松山區', '信義區', '大安區', '中山區', '中正區', + '大同區', '萬華區', '文山區', '南港區', '內湖區', + '士林區', '北投區', + ), + '連江縣' => array( + '南竿鄉', '北竿鄉', '莒光鄉', '東引鄉', + ), + '金門縣' => array( + '金城鎮', '金沙鎮', '金湖鎮', '金寧鄉', '烈嶼鄉', '烏坵鄉', + ), + ); + + /** + * @link http://terms.naer.edu.tw/download/287/ + */ + protected static $country = array( + '不丹', '中非', '丹麥', '伊朗', '冰島', '剛果', + '加彭', '北韓', '南非', '卡達', '印尼', '印度', + '古巴', '哥德', '埃及', '多哥', '寮國', '尼日', + '巴曼', '巴林', '巴紐', '巴西', '希臘', '帛琉', + '德國', '挪威', '捷克', '教廷', '斐濟', '日本', + '智利', '東加', '查德', '汶萊', '法國', '波蘭', + '波赫', '泰國', '海地', '瑞典', '瑞士', '祕魯', + '秘魯', '約旦', '紐埃', '緬甸', '美國', '聖尼', + '聖普', '肯亞', '芬蘭', '英國', '荷蘭', '葉門', + '蘇丹', '諾魯', '貝南', '越南', '迦彭', + '迦納', '阿曼', '阿聯', '韓國', '馬利', + '以色列', '以色利', '伊拉克', '俄羅斯', + '利比亞', '加拿大', '匈牙利', '南極洲', + '南蘇丹', '厄瓜多', '吉布地', '吐瓦魯', + '哈撒克', '哈薩克', '喀麥隆', '喬治亞', + '土庫曼', '土耳其', '塔吉克', '塞席爾', + '墨西哥', '大西洋', '奧地利', '孟加拉', + '安哥拉', '安地卡', '安道爾', '尚比亞', + '尼伯爾', '尼泊爾', '巴哈馬', '巴拉圭', + '巴拿馬', '巴貝多', '幾內亞', '愛爾蘭', + '所在國', '摩洛哥', '摩納哥', '敍利亞', + '敘利亞', '新加坡', '東帝汶', '柬埔寨', + '比利時', '波扎那', '波札那', '烏克蘭', + '烏干達', '烏拉圭', '牙買加', '獅子山', + '甘比亞', '盧安達', '盧森堡', '科威特', + '科索夫', '科索沃', '立陶宛', '紐西蘭', + '維德角', '義大利', '聖文森', '艾塞亞', + '菲律賓', '萬那杜', '葡萄牙', '蒲隆地', + '蓋亞納', '薩摩亞', '蘇利南', '西班牙', + '貝里斯', '賴索托', '辛巴威', '阿富汗', + '阿根廷', '馬其頓', '馬拉威', '馬爾他', + '黎巴嫩', '亞塞拜然', '亞美尼亞', '保加利亞', + '南斯拉夫', '厄利垂亞', '史瓦濟蘭', '吉爾吉斯', + '吉里巴斯', '哥倫比亞', '坦尚尼亞', '塞內加爾', + '塞内加爾', '塞爾維亞', '多明尼加', '多米尼克', + '奈及利亞', '委內瑞拉', '宏都拉斯', '尼加拉瓜', + '巴基斯坦', '庫克群島', '愛沙尼亞', '拉脫維亞', + '摩爾多瓦', '摩里西斯', '斯洛伐克', '斯里蘭卡', + '格瑞那達', '模里西斯', '波多黎各', '澳大利亞', + '烏茲別克', '玻利維亞', '瓜地馬拉', '白俄羅斯', + '突尼西亞', '納米比亞', '索馬利亞', '索馬尼亞', + '羅馬尼亞', '聖露西亞', '聖馬利諾', '莫三比克', + '莫三鼻克', '葛摩聯盟', '薩爾瓦多', '衣索比亞', + '西薩摩亞', '象牙海岸', '賴比瑞亞', '賽普勒斯', + '馬來西亞', '馬爾地夫', '克羅埃西亞', + '列支敦斯登', '哥斯大黎加', '布吉納法索', + '布吉那法索', '幾內亞比索', '幾內亞比紹', + '斯洛維尼亞', '索羅門群島', '茅利塔尼亞', + '蒙特內哥羅', '赤道幾內亞', '阿爾及利亞', + '阿爾及尼亞', '阿爾巴尼亞', '馬紹爾群島', + '馬達加斯加', '密克羅尼西亞', '沙烏地阿拉伯', + '千里達及托巴哥', + ); + protected static $postcode = array('###-##', '###'); + + public function street() + { + return static::randomElement(static::$street); + } + + public static function randomChineseNumber() + { + $digits = array( + '', '一', '二', '三', '四', '五', '六', '七', '八', '九', + ); + return $digits[static::randomDigitNotNull()]; + } + + public static function randomNumber2() + { + return static::randomNumber(2) + 1; + } + + public static function randomNumber3() + { + return static::randomNumber(3) + 1; + } + + public static function localLatitude() + { + return number_format(mt_rand(22000000, 25000000)/1000000, 6); + } + + public static function localLongitude() + { + return number_format(mt_rand(120000000, 122000000)/1000000, 6); + } + + public function city() + { + $county = static::randomElement(array_keys(static::$city)); + $city = static::randomElement(static::$city[$county]); + return $county.$city; + } + + public function state() + { + return '臺灣省'; + } + + public static function stateAbbr() + { + return '臺'; + } + + public static function cityPrefix() + { + return ''; + } + + public static function citySuffix() + { + return ''; + } + + public static function secondaryAddress() + { + return (static::randomNumber(2)+1).static::randomElement(static::$secondaryAddressSuffix); + } +} diff --git a/src/Faker/Provider/zh_TW/Color.php b/src/Faker/Provider/zh_TW/Color.php new file mode 100644 index 0000000000..8acfcc298a --- /dev/null +++ b/src/Faker/Provider/zh_TW/Color.php @@ -0,0 +1,65 @@ +generator->parse($format); + } + + protected static $formats = array( + '{{companyPrefix}}{{companyModifier}}', + '{{companyPrefix}}{{companySuffix}}', + '{{companyPrefix}}{{companyModifier}}{{CompanySuffix}}', + ); + /** + * @link http://zh.wikipedia.org/zh-tw/Category:%E5%8F%B0%E7%81%A3%E5%85%AC%E5%8F%B8%E5%88%97%E8%A1%A8 + */ + protected static $companyPrefix = array( + '乾坤', '亞神', '光譜', '典選', '凱基', '前衛花園', + '創見', '友訊', '台達', '合勤', '喜瑪拉雅', '喬山', + '多利安', '大國', '大宇', '太陽', '太陽動力', '宏碁', + '宏達', '小白兔', '巨大', '巨室', '康師傅', '延伸', + '弘煜', '彎的', '擎天', '新亞洲', '旺旺', '昱泉', + '智冠', '未來', '松崗', '正新', '洧誠', '海蝶', + '添翼創越', '滾石', '王品', '當然', '相信', '睛水', + '研華', '福茂', '種子', '米樂士', '紅元素', '紅心辣椒', + '統一', '美利達', '美妙', '美樂帝', '群石', '老鷹', + '聯強', '芮河', '英特衛', '茂為', '華特', '華研', + '華碩', '華義', '角頭', '訊連', '豐華', '豪客', '豪記', + '貴族', '趨勢', '遊戲橘子', '野火樂集', '金革', + '銀魚', '阿爾發', '風和日麗', '風潮', '風雲', + ); + protected static $companyModifier = array( + '科技', '電腦', '國際', '電子', '娛樂', '音樂', '唱片', + '證券', '集團', '企業', '機械', '工業', '文化', '汽車', + '百貨', '酒店', '數位', + ); + protected static $companySuffix = array( + '公司', '有限公司', '股份有限公司' + ); + /** + * @link https://zh-tw.facebook.com/notes/%E7%8E%A9%E5%BB%A3%E5%91%8Aplaying-with-advertising/%E5%9B%9E%E9%A1%A7%E8%87%BA%E7%81%A3%E6%AD%B7%E5%B1%86%E5%BB%A3%E5%91%8A%E9%87%91%E5%8F%A5%E7%8D%8E/294008963985215 + */ + protected static $catchPhrase = array( + 'Everything\'s ok', + 'Just call me be happy', + 'Keep Walking', + 'NOKIA相信科技始終來自於人性', + 'PayEasy,陪你Shopping一輩子', + 'Play不累', + 'The city never sleeps', + 'Trust me, you can make it!', + 'We are family', + 'We share', + 'You A.S.O beautiful', + '一人吃,兩人補', + '一定要幸福哦!', + '一把抵兩把,何需瑪麗亞?!', + '一次買好,就是頂好', + '一步一腳印,大家愛台灣', + '一段話,感動了一幅畫!', + '一點一點 累積更好的自己', + '三不五時,愛要及時', + '三餐老是在外,人人叫我老外!', + '不只辦公室,掌握更多事', + '不在乎天長地久,只在乎曾經擁有', + '不在辦公室,也能辦公事', + '不平凡的平凡大眾', + '不想分開 就永遠在一起吧', + '不該愛的,趁早換', + '不過~不過~,一定測不過', + '世事難料,安泰比較好', + '世事難料,對人要更好', + '世界上最重要的一部車是爸爸的肩膀', + '乎乾啦!', + '人生30財開始', + '什麼最青?', + '什麼都有,什麼都賣,什麼都不奇怪!', + '今天心情幾?', + '他傻瓜、你聰明', + '他捉得住我', + '你未必出類拔萃 但肯定與眾不同', + '你的愛,是孩子最好的示範', + '你講台語嘛也通', + '便宜一樣有好貨', + '係金A!', + '信任,帶來新幸福', + '信義房屋,信任,帶來新幸福', + '做你自己才叫乖,做你的乖乖!', + '做自己 自己做', + '傻瓜鏡片,聰明選擇', + 'お元気ですか?', + '全國電子 足感心ㄟ', + '全家就是你家', + '再忙,也要和你喝杯咖啡', + '別讓今天的應酬成為明天的負擔', + '到服裝店培養氣質,到書店展示服裝', + '化去心中那條線', + '原來我們這麼近', + '只有遠傳,沒有距離', + '只要有夢,你會紅', + '叫天天不印 Canon幫你印!', + '可憐的舊情人,看不到我的新內衣', + '台灣,加油!', + '合味才會呷意', + '啊!福氣啦!', + '喜歡嗎? 爸爸買給你!', + '嚕加嚕好呷', + '回家的感覺真好', + '因為你值得 L’ORE’AL', + '夏天好熱 愛要趁熱', + '多喝水沒事,沒事多喝水', + '夜深了,打個電話回家', + '天生超人氣,不該遭人棄', + '女人說好,才算頂好', + '好東西和好朋友分享', + '好的開喜就是成功的一半!', + '好身體,沒人敢惹你', + '好險,有南山!', + '孩子!我要你將來比我強!', + '學琴的孩子不會變壞', + '安全是回家唯一的路', + '小而美、小而冷、小而省', + '幸福怎能說不用', + '心,是人生最大的戰場', + '您真內行!', + '想像力是你的超能力', + '慈母心、豆腐心', + '我不認識你,但是我謝謝你!', + '我就是超愛 Send!', + '我的八分新摺學!', + '拍誰像誰,誰拍誰誰都得像誰', + '挺立,不只挺阮 也挺恁', + '捐血一袋,救人一命', + '撼動天下的力量', + '擋不住的感覺', + '整個城市就是我的咖啡館', + '最佳女主角換你做做看', + '有心最要緊', + '有書才會贏', + '有青才敢大聲', + '有點黏又不會太黏', + '期待下一次,不如靠自己', + '未來 就是現在', + '正反,反正都很正!', + '每一句話,都是思念', + '沒說出口的 保誠也聽得懂', + '現在的Nobody,未來的Somebody!', + '生命就該浪費在美好的事物上', + '用你想要的方式道別', + '用大金,省大金', + '用好心腸做好香腸', + '用愛打敗不景氣', + '用最愛 照顧最愛', + '留一盞燈給最後回家的人', + '百服寧、保護您', + '真感情就是最好的服務', + '知識使你更有魅力', + '碼碼都有獎', + '管他什麼垢,一瓶就夠', + '紅利點數也能當飯吃', + '紙有春風最溫柔', + '紙要Double A 萬事都OK!', + '給你好看', + '給我小心點兒', + '肝哪沒好,人生是黑白的!肝哪顧好,人生是彩色的!', + '肝苦誰人知', + '萬事皆可達,唯有情無價', + '認真的女人最美麗', + '贏甲嘸知人', + '路,是ESCAPE走出來的', + '這不是肯德基!', + '這個月不會來,下個月也不會來了,以後都不會來了', + '這是一定要的啦!', + '這種時機,無閒也是一種幸福', + '這種鬼地方都收得到', + '通往成功的路,總是在施工中', + '鑽石恆久遠,一顆永留傳', + '關心自己,也關心別人', + '關機是一種美德', + '陪妳Shopping 一輩子', + '雅芳比女人更瞭解女人', + '青菜底呷啦', + '靜得讓您耳根清靜', + '馬上就會好', + ); + protected static $bsWords = array( + array( + '實現', '實作', '整合', '最佳化', + '革命', '轉變', '提昇', '啟用', '指揮', + '利用', '重現', '結合', '架構', '加強', + '集中', '變形', '強化', '推廣', '延伸', + '生產', '進化', '改善', '提高', '開發', + '創造', '專注', + ), array( + '加值', '縱向', '堅固', '全球', '在地', '領先', + '虛擬', '動態', '完全', '成熟', '穩定', '穩健', + '即時', '全年無休', '高效', '快速', '互動', + '世界級', '下一代', '新一代', '無線', '無限', + '豐富', '開源', '前端', '分散式', '無縫', '跨平臺', + ), + array( + '典範', '市場', '合作', '架構', '基礎平臺', '頻道', + '焦點', '方案', '解決方案', '社群', '科技', '技術', + '內容', '入口', '供應鍊', '介面', '系統', '頻寬', + '模型', '網路', '使用經驗', '評量', '方法', + ) + ); + + public static function companyModifier() + { + return static::randomElement(static::$companyModifier); + } + + public static function companyPrefix() + { + return static::randomElement(static::$companyPrefix); + } + + public function catchPhrase() + { + return static::randomElement(static::$catchPhrase); + } + + public function bs() + { + $result = ''; + foreach (static::$bsWords as &$word) { + $result .= static::randomElement($word); + } + return $result; + } +} diff --git a/src/Faker/Provider/zh_TW/DateTime.php b/src/Faker/Provider/zh_TW/DateTime.php new file mode 100644 index 0000000000..6df5e928af --- /dev/null +++ b/src/Faker/Provider/zh_TW/DateTime.php @@ -0,0 +1,46 @@ +format('a') === 'am' ? '上午' : '下午'; + } + + public static function dayOfWeek($max = 'now') + { + $map = array( + 'Sunday' => '星期日', + 'Monday' => '星期一', + 'Tuesday' => '星期二', + 'Wednesday' => '星期三', + 'Thursday' => '星期四', + 'Friday' => '星期五', + 'Saturday' => '星期六', + ); + $week = static::dateTime($max)->format('l'); + return isset($map[$week]) ? $map[$week] : $week; + } + + public static function monthName($max = 'now') + { + $map = array( + 'January' => '一月', + 'February' => '二月', + 'March' => '三月', + 'April' => '四月', + 'May' => '五月', + 'June' => '六月', + 'July' => '七月', + 'August' => '八月', + 'September' => '九月', + 'October' => '十月', + 'November' => '十一月', + 'December' => '十二月', + ); + $month = static::dateTime($max)->format('F'); + return isset($map[$month]) ? $map[$month] : $month; + } +} diff --git a/src/Faker/Provider/zh_TW/Internet.php b/src/Faker/Provider/zh_TW/Internet.php new file mode 100644 index 0000000000..4035ea85e2 --- /dev/null +++ b/src/Faker/Provider/zh_TW/Internet.php @@ -0,0 +1,16 @@ +userName(); + } + + public function domainWord() + { + return \Faker\Factory::create('en_US')->domainWord(); + } +} diff --git a/src/Faker/Provider/zh_TW/Payment.php b/src/Faker/Provider/zh_TW/Payment.php new file mode 100644 index 0000000000..6b1a5829ae --- /dev/null +++ b/src/Faker/Provider/zh_TW/Payment.php @@ -0,0 +1,11 @@ +creditCardDetails($valid); + } +} diff --git a/src/Faker/Provider/zh_TW/Person.php b/src/Faker/Provider/zh_TW/Person.php new file mode 100644 index 0000000000..5f3a0a846a --- /dev/null +++ b/src/Faker/Provider/zh_TW/Person.php @@ -0,0 +1,130 @@ +