1
0
mirror of https://github.com/fzaninotto/Faker.git synced 2025-03-23 00:39:47 +01:00

Merge pull request #147 from tlikai/master

Added Chinese Simplified(zh_CN) support
This commit is contained in:
Francois Zaninotto 2013-07-08 01:07:27 -07:00
commit 5ba95d8db5
4 changed files with 104 additions and 0 deletions

View File

@ -0,0 +1,42 @@
<?php
namespace Faker\Provider\zh_CN;
class Address extends \Faker\Provider\Address
{
protected static $cites = array('北京', '上海', '天津', '重庆', '哈尔滨', '长春', '沈阳', '呼和浩特', '石家庄', '乌鲁木齐', '兰州', '西宁', '西安', '银川', '郑州', '济南', '太原', '合肥', '武汉', '长沙', '南京', '成都', '贵阳', '昆明', '南宁', '拉萨', '杭州', '南昌', '广州', '福州', '台北', '海口', '香港', '澳门');
protected static $areas = array('西夏区', '永川区', '秀英区', '高港区', '清城区', '兴山区', '锡山区', '清河区', '龙潭区', '华龙区', '海陵区', '滨城区', '东丽区', '高坪区', '沙湾区', '平山区', '城北区', '海港区', '沙市区', '双滦区', '长寿区', '山亭区', '南湖区', '浔阳区', '南长区', '友好区', '安次区', '翔安区', '沈河区', '魏都区', '西峰区', '萧山区', '金平区', '沈北新区', '孝南区', '上街区', '城东区', '牧野区', '大东区', '白云区', '花溪区', '吉利区', '新城区', '怀柔区', '六枝特区', '涪城区', '清浦区', '南溪区', '淄川区', '高明区');
protected static $country = array(
'阿富汗', '阿拉斯加', '阿尔巴尼亚', '阿尔及利亚', '安道尔', '安哥拉', '安圭拉岛英', '安提瓜和巴布达', '阿根廷', '亚美尼亚', '阿鲁巴岛', '阿森松', '澳大利亚', '奥地利', '阿塞拜疆', '巴林', '孟加拉国', '巴巴多斯', '白俄罗斯', '比利时', '伯利兹', '贝宁', '百慕大群岛', '不丹', '玻利维亚', '波斯尼亚和黑塞哥维那', '博茨瓦纳', '巴西', '保加利亚', '布基纳法索', '布隆迪', '喀麦隆', '加拿大', '加那利群岛', '佛得角', '开曼群岛', '中非', '乍得', '智利', '圣诞岛', '科科斯岛', '哥伦比亚', '巴哈马国', '多米尼克国', '科摩罗', '刚果', '科克群岛', '哥斯达黎加', '克罗地亚', '古巴', '塞浦路斯', '捷克', '丹麦', '迪戈加西亚岛', '吉布提', '多米尼加共和国', '厄瓜多尔', '埃及', '萨尔瓦多', '赤道几内亚', '厄立特里亚', '爱沙尼亚', '埃塞俄比亚', '福克兰群岛', '法罗群岛', '斐济', '芬兰', '法国', '法属圭亚那', '法属波里尼西亚', '加蓬', '冈比亚', '格鲁吉亚', '德国', '加纳', '直布罗陀', '希腊', '格陵兰岛', '格林纳达', '瓜德罗普岛', '关岛', '危地马拉', '几内亚', '几内亚比绍', '圭亚那', '海地', '夏威夷', '洪都拉斯', '匈牙利', '冰岛', '印度', '印度尼西亚', '伊郎', '伊拉克', '爱尔兰', '以色列', '意大利', '科特迪瓦', '牙买加', '日本', '约旦', '柬埔塞', '哈萨克斯坦', '肯尼亚', '基里巴斯', '朝鲜', '韩国', '科威特', '吉尔吉斯斯坦', '老挝', '拉脱维亚', '黎巴嫩', '莱索托', '利比里亚', '利比亚', '列支敦士登', '立陶宛', '卢森堡', '马其顿', '马达加斯加', '马拉维', '马来西亚', '马尔代夫', '马里', '马耳他', '马里亚纳群岛', '马绍尔群岛', '马提尼克', '毛里塔尼亚', '毛里求斯', '马约特岛', '墨西哥', '密克罗尼西亚', '中途岛', '摩尔多瓦', '摩纳哥', '蒙古', '蒙特塞拉特岛', '摩洛哥', '莫桑比克', '缅甸', '纳米比亚', '瑙鲁', '尼泊尔', '荷兰', '荷属安的列斯群岛', '新喀里多尼亚群岛', '新西兰', '尼加拉瓜', '尼日尔', '尼日利亚', '纽埃岛', '诺福克岛', '挪威', '阿曼', '帕劳', '巴拿马', '巴布亚新几内亚', '巴拉圭', '秘鲁', '菲律宾', '波兰', '葡萄牙', '巴基斯坦', '波多黎各', '卡塔尔', '留尼汪岛', '罗马尼亚', '俄罗斯', '卢旺达', '东萨摩亚', '西萨摩亚', '圣马力诺', '圣皮埃尔岛及密克隆岛', '圣多美和普林西比', '沙特阿拉伯', '塞内加尔', '塞舌尔', '新加坡', '斯洛伐克', '斯洛文尼亚', '所罗门群岛', '索马里', '南非', '西班牙', '斯里兰卡', '圣克里斯托弗和尼维斯', '圣赫勒拿', '圣卢西亚', '圣文森特岛', '苏丹', '苏里南', '斯威士兰', '瑞典', '瑞士', '叙利亚', '塔吉克斯坦', '坦桑尼亚', '泰国', '阿拉伯联合酋长国', '多哥', '托克劳群岛', '汤加', '特立尼达和多巴哥', '突尼斯', '土耳其', '土库曼斯坦', '特克斯和凯科斯群岛(', '图瓦卢', '美国', '乌干达', '乌克兰', '英国', '乌拉圭', '乌兹别克斯坦', '瓦努阿图', '梵蒂冈', '委内瑞拉', '越南', '维尔京群岛', '维尔京群岛和圣罗克伊', '威克岛', '瓦里斯和富士那群岛', '西撒哈拉', '也门', '南斯拉夫', '扎伊尔', '赞比亚', '桑给巴尔', '津巴布韦', '中华人民共和国', '中国'
);
public function city()
{
return static::randomElement(static::$cites);
}
public static function area()
{
return static::randomElement(static::$areas);
}
public static function country()
{
return static::randomElement(static::$country);
}
public function address()
{
return $this->city() . static::area();
}
public static function postcode()
{
$prefix = str_pad(mt_rand(1, 85), 2, 0, STR_PAD_LEFT);
$suffix = '00';
return $prefix . mt_rand(10, 88) . $suffix;
}
}

View File

@ -0,0 +1,27 @@
<?php
namespace Faker\Provider\zh_CN;
class Company extends \Faker\Provider\Company
{
protected static $formats = array(
'{{companyPrefix}}{{companySuffix}}'
);
protected static $companyPrefix = array(
'超艺', '和泰', '九方', '鑫博腾飞', '戴硕电子', '济南亿次元', '海创', '创联世纪', '凌云', '泰麒麟', '彩虹', '兰金电子', '晖来计算机', '天益', '恒聪百汇', '菊风公司', '惠派国际公司', '创汇', '思优', '时空盒数字', '易动力', '飞海科技', '华泰通安', '盟新', '商软冠联', '图龙信息', '易动力', '华远软件', '创亿', '时刻', '开发区世创', '明腾', '良诺', '天开', '毕博诚', '快讯', '凌颖信息', '黄石金承', '恩悌', '雨林木风计算机', '双敏电子', '维旺明', '网新恒天', '数字100', '飞利信', '立信电子', '联通时科', '中建创业', '新格林耐特', '新宇龙信息', '浙大万朋', 'MBP软件', '昂歌信息', '万迅电脑', '方正科技', '联软', '七喜', '南康', '银嘉', '巨奥', '佳禾', '国讯', '信诚致远', '浦华众城', '迪摩', '太极', '群英', '合联电子', '同兴万点', '襄樊地球村', '精芯', '艾提科信', '昊嘉', '鸿睿思博', '四通', '富罳', '商软冠联', '诺依曼软件', '东方峻景', '华成育卓', '趋势', '维涛', '通际名联'
);
protected static $companySuffix = array('科技', '网络', '信息', '传媒');
public static function companyPrefix()
{
return static::randomElement(static::$companyPrefix);
}
public static function companySuffix()
{
return parent::companySuffix() . '有限公司';
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace Faker\Provider\zh_CN;
class Person extends \Faker\Provider\Person
{
protected static $formats = array(
'{{firstName}}{{lastName}}',
);
protected static $firstName = array('王', '李', '张', '刘', '陈', '杨', '黄', '吴', '赵', '周', '徐', '孙', '马', '朱', '胡', '林', '郭', '何', '高', '罗', '郑', '梁', '谢', '宋', '唐', '许', '邓', '冯', '韩', '曹', '曾', '彭', '萧', '蔡', '潘', '田', '董', '袁', '于', '余', '叶', '蒋', '杜', '苏', '魏', '程', '吕', '丁', '沈', '任', '姚', '卢', '傅', '钟', '姜', '崔', '谭', '廖', '范', '汪', '陆', '金', '石', '戴', '贾', '韦', '夏', '邱', '方', '侯', '邹', '熊', '孟', '秦', '白', '江', '阎', '薛', '尹', '段', '雷', '黎', '史', '龙', '陶', '贺', '顾', '毛', '郝', '龚', '邵', '万', '钱', '严', '赖', '覃', '洪', '武', '莫', '孔');
protected static $lastName = array('伟','芳','娜','敏','静','秀英','丽','强','磊','洋','艳','勇','军','杰','娟','涛','超','明','霞','秀兰','刚','平','燕','辉','玲','桂英','丹','萍','鹏','华','红','玉兰','飞','桂兰','英','梅','鑫','波','斌','莉','宇','浩','凯','秀珍','健','俊','帆','雪','帅','慧','旭','宁','婷','玉梅','龙','林','玉珍','凤英','晶','欢','玉英','颖','红梅','佳','倩','阳','建华','亮','成','琴','兰英','畅','建','云','洁','峰','建国','建军','柳','淑珍','春梅','海燕','晨','冬梅','秀荣','瑞','桂珍','莹','秀云','桂荣','志强','秀梅','丽娟','婷婷','玉华','兵','雷','东','琳','雪梅','淑兰','丽丽','玉','秀芳','欣','淑英','桂芳','博','丽华','丹丹','彬','桂香','坤','想','淑华','荣','秀华','桂芝','岩','杨','小红','金凤','文','利','楠','红霞','建平','瑜','桂花','璐','凤兰');
}

View File

@ -0,0 +1,20 @@
<?php
namespace Faker\Provider\zh_CN;
class PhoneNumber extends \Faker\Provider\PhoneNumber
{
protected static $operators = array(
134, 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 182, 187, 188, // china mobile
130, 131, 132, 145, 155, 156, 185, 186, 145, // china unicom
133 , 153 , 180 , 181 , 189, // chinatelecom
);
protected static $formats = array('######');
public static function phoneNumber()
{
$operators = static::$operators[array_rand(static::$operators)];
return $operators . static::numerify(static::randomElement(static::$formats));
}
}