1 // generated by fakerjsgenerator
2 ///
3 module faked.faker_zh_cn;
4 
5 import faked.base;
6 
7 
8 ///
9 class Faker_zh_cn : Faker {
10 @safe:
11 	import std.random;
12 	import std.array;
13 	import std.format;
14 	import std.conv : to;
15 
16 	///
17 	this(int seed) {
18         super(seed);
19 	}
20 
21 	///
22 	override string phoneNumberFormats() {
23 		auto data = [
24 		"0##-########",
25 		"0###-########",
26 		"1##########'"
27 		];
28 		return this.digitBuild(choice(data, this.rnd));
29 	}
30 
31 	///
32 	override string addressStateAbbr() {
33 		auto data = [
34 		"京",
35 		"沪",
36 		"津",
37 		"渝",
38 		"黑",
39 		"吉",
40 		"辽",
41 		"蒙",
42 		"冀",
43 		"新",
44 		"甘",
45 		"青",
46 		"陕",
47 		"宁",
48 		"豫",
49 		"鲁",
50 		"晋",
51 		"皖",
52 		"鄂",
53 		"湘",
54 		"苏",
55 		"川",
56 		"黔",
57 		"滇",
58 		"桂",
59 		"藏",
60 		"浙",
61 		"赣",
62 		"粤",
63 		"闽",
64 		"台",
65 		"琼",
66 		"港",
67 		"澳"
68 		];
69 		return choice(data, this.rnd);
70 	}
71 
72 	///
73 	override string addressState() {
74 		auto data = [
75 		"北京市",
76 		"上海市",
77 		"天津市",
78 		"重庆市",
79 		"黑龙江省",
80 		"吉林省",
81 		"辽宁省",
82 		"内蒙古",
83 		"河北省",
84 		"新疆",
85 		"甘肃省",
86 		"青海省",
87 		"陕西省",
88 		"宁夏",
89 		"河南省",
90 		"山东省",
91 		"山西省",
92 		"安徽省",
93 		"湖北省",
94 		"湖南省",
95 		"江苏省",
96 		"四川省",
97 		"贵州省",
98 		"云南省",
99 		"广西省",
100 		"西藏",
101 		"浙江省",
102 		"江西省",
103 		"广东省",
104 		"福建省",
105 		"台湾省",
106 		"海南省",
107 		"香港",
108 		"澳门"
109 		];
110 		return choice(data, this.rnd);
111 	}
112 
113 
114 	override string addressStreetAddress() {
115 		final switch(uniform(0, 2, this.rnd)) {
116 			case 0: return "normal: '" ~ addressStreet() ~ addressBuildingNumber() ~ "号";
117 			case 1: return "full: '" ~ addressStreet() ~ addressBuildingNumber() ~ "号 " ~ addressSecondaryAddress();
118 		}
119 	}
120 
121 	///
122 	override string addressDefaultCountry() {
123 		auto data = [
124 		"中国'"
125 		];
126 		return choice(data, this.rnd);
127 	}
128 
129 	///
130 	override string addressCitySuffix() {
131 		auto data = [
132 		"沙市",
133 		"京市",
134 		"宁市",
135 		"安市",
136 		"乡县",
137 		"海市",
138 		"码市",
139 		"汉市",
140 		"阳市",
141 		"都市",
142 		"州市",
143 		"门市",
144 		"阳市",
145 		"口市",
146 		"原市",
147 		"南市",
148 		"徽市",
149 		"林市",
150 		"头市"
151 		];
152 		return choice(data, this.rnd);
153 	}
154 
155 	///
156 	override string addressCityPrefix() {
157 		auto data = [
158 		"长",
159 		"上",
160 		"南",
161 		"西",
162 		"北",
163 		"诸",
164 		"宁",
165 		"珠",
166 		"武",
167 		"衡",
168 		"成",
169 		"福",
170 		"厦",
171 		"贵",
172 		"吉",
173 		"海",
174 		"太",
175 		"济",
176 		"安",
177 		"吉",
178 		"包"
179 		];
180 		return choice(data, this.rnd);
181 	}
182 
183 
184 	override string addressStreet() {
185 		final switch(uniform(0, 1, this.rnd)) {
186 			case 0: return nameLastName() ~ addressStreetSuffix() ~ "'";
187 		}
188 	}
189 
190 
191 	override string addressCity() {
192 		final switch(uniform(0, 1, this.rnd)) {
193 			case 0: return addressCityPrefix() ~ addressCitySuffix() ~ "'";
194 		}
195 	}
196 
197 	///
198 	override string addressBuildingNumber() {
199 		auto data = [
200 		"#####",
201 		"####",
202 		"###",
203 		"##",
204 		"#'"
205 		];
206 		return this.digitBuild(choice(data, this.rnd));
207 	}
208 
209 	///
210 	override string addressPostcode() {
211 		auto data = [
212 		"######'"
213 		];
214 		return this.digitBuild(choice(data, this.rnd));
215 	}
216 
217 	///
218 	override string addressStreetSuffix() {
219 		auto data = [
220 		"巷",
221 		"街",
222 		"路",
223 		"桥",
224 		"侬",
225 		"旁",
226 		"中心",
227 		"栋'"
228 		];
229 		return choice(data, this.rnd);
230 	}
231 
232 	///
233 	override string nameLastName() {
234 		auto data = [
235 		"王",
236 		"李",
237 		"张",
238 		"刘",
239 		"陈",
240 		"杨",
241 		"黄",
242 		"吴",
243 		"赵",
244 		"周",
245 		"徐",
246 		"孙",
247 		"马",
248 		"朱",
249 		"胡",
250 		"林",
251 		"郭",
252 		"何",
253 		"高",
254 		"罗",
255 		"郑",
256 		"梁",
257 		"谢",
258 		"宋",
259 		"唐",
260 		"许",
261 		"邓",
262 		"冯",
263 		"韩",
264 		"曹",
265 		"曾",
266 		"彭",
267 		"萧",
268 		"蔡",
269 		"潘",
270 		"田",
271 		"董",
272 		"袁",
273 		"于",
274 		"余",
275 		"叶",
276 		"蒋",
277 		"杜",
278 		"苏",
279 		"魏",
280 		"程",
281 		"吕",
282 		"丁",
283 		"沈",
284 		"任",
285 		"姚",
286 		"卢",
287 		"傅",
288 		"钟",
289 		"姜",
290 		"崔",
291 		"谭",
292 		"廖",
293 		"范",
294 		"汪",
295 		"陆",
296 		"金",
297 		"石",
298 		"戴",
299 		"贾",
300 		"韦",
301 		"夏",
302 		"邱",
303 		"方",
304 		"侯",
305 		"邹",
306 		"熊",
307 		"孟",
308 		"秦",
309 		"白",
310 		"江",
311 		"阎",
312 		"薛",
313 		"尹",
314 		"段",
315 		"雷",
316 		"黎",
317 		"史",
318 		"龙",
319 		"陶",
320 		"贺",
321 		"顾",
322 		"毛",
323 		"郝",
324 		"龚",
325 		"邵",
326 		"万",
327 		"钱",
328 		"严",
329 		"赖",
330 		"覃",
331 		"洪",
332 		"武",
333 		"莫",
334 		"孔",
335 		"欧阳",
336 		"慕容",
337 		"司马",
338 		"令狐",
339 		"仲孙",
340 		"钟离",
341 		"长孙",
342 		"宇文",
343 		"司徒",
344 		"鲜于",
345 		"司空"
346 		];
347 		return choice(data, this.rnd);
348 	}
349 
350 	///
351 	override string nameFirstName() {
352 		auto data = [
353 		"绍齐",
354 		"博文",
355 		"梓晨",
356 		"胤祥",
357 		"瑞霖",
358 		"明哲",
359 		"天翊",
360 		"凯瑞",
361 		"健雄",
362 		"耀杰",
363 		"潇然",
364 		"子涵",
365 		"越彬",
366 		"钰轩",
367 		"智辉",
368 		"致远",
369 		"俊驰",
370 		"雨泽",
371 		"烨磊",
372 		"晟睿",
373 		"文昊",
374 		"修洁",
375 		"黎昕",
376 		"远航",
377 		"旭尧",
378 		"鸿涛",
379 		"伟祺",
380 		"荣轩",
381 		"越泽",
382 		"浩宇",
383 		"瑾瑜",
384 		"皓轩",
385 		"擎苍",
386 		"擎宇",
387 		"志泽",
388 		"子轩",
389 		"睿渊",
390 		"弘文",
391 		"哲瀚",
392 		"雨泽",
393 		"楷瑞",
394 		"建辉",
395 		"晋鹏",
396 		"天磊",
397 		"绍辉",
398 		"泽洋",
399 		"鑫磊",
400 		"鹏煊",
401 		"昊强",
402 		"伟宸",
403 		"博超",
404 		"君浩",
405 		"子骞",
406 		"鹏涛",
407 		"炎彬",
408 		"鹤轩",
409 		"越彬",
410 		"风华",
411 		"靖琪",
412 		"明辉",
413 		"伟诚",
414 		"明轩",
415 		"健柏",
416 		"修杰",
417 		"志泽",
418 		"弘文",
419 		"峻熙",
420 		"嘉懿",
421 		"煜城",
422 		"懿轩",
423 		"烨伟",
424 		"苑博",
425 		"伟泽",
426 		"熠彤",
427 		"鸿煊",
428 		"博涛",
429 		"烨霖",
430 		"烨华",
431 		"煜祺",
432 		"智宸",
433 		"正豪",
434 		"昊然",
435 		"明杰",
436 		"立诚",
437 		"立轩",
438 		"立辉",
439 		"峻熙",
440 		"弘文",
441 		"熠彤",
442 		"鸿煊",
443 		"烨霖",
444 		"哲瀚",
445 		"鑫鹏",
446 		"昊天",
447 		"思聪",
448 		"展鹏",
449 		"笑愚",
450 		"志强",
451 		"炫明",
452 		"雪松",
453 		"思源",
454 		"智渊",
455 		"思淼",
456 		"晓啸",
457 		"天宇",
458 		"浩然",
459 		"文轩",
460 		"鹭洋",
461 		"振家",
462 		"乐驹",
463 		"晓博",
464 		"文博",
465 		"昊焱",
466 		"立果",
467 		"金鑫",
468 		"锦程",
469 		"嘉熙",
470 		"鹏飞",
471 		"子默",
472 		"思远",
473 		"浩轩",
474 		"语堂",
475 		"聪健",
476 		"明",
477 		"文",
478 		"果",
479 		"思",
480 		"鹏",
481 		"驰",
482 		"涛",
483 		"琪",
484 		"浩",
485 		"航",
486 		"彬"
487 		];
488 		return choice(data, this.rnd);
489 	}
490 
491 
492 	override string nameName() {
493 		final switch(uniform(0, 1, this.rnd)) {
494 			case 0: return nameFirstName() ~ nameLastName() ~ "'";
495 		}
496 	}
497 
498 }