1 // generated by fakerjsgenerator
2 ///
3 module faked.faker_zh_tw;
4 
5 import faked.base;
6 
7 
8 ///
9 class Faker_zh_tw : 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 		"02-########",
26 		"09##-######'"
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 		return choice(data, this.rnd);
57 	}
58 
59 	///
60 	override string addressState() {
61 		auto data = [
62 		"福建省",
63 		"台灣省'"
64 		];
65 		return choice(data, this.rnd);
66 	}
67 
68 
69 	override string addressStreetAddress() {
70 		final switch(uniform(0, 2, this.rnd)) {
71 			case 0: return "normal: '" ~ addressStreet() ~ addressBuildingNumber() ~ "號";
72 			case 1: return "full: '" ~ addressStreet() ~ addressBuildingNumber() ~ "號 " ~ addressSecondaryAddress();
73 		}
74 	}
75 
76 	///
77 	override string addressDefaultCountry() {
78 		auto data = [
79 		"Taiwan (R.O.C.)'"
80 		];
81 		return choice(data, this.rnd);
82 	}
83 
84 	///
85 	override string addressCitySuffix() {
86 		auto data = [
87 		"縣",
88 		"市'"
89 		];
90 		return choice(data, this.rnd);
91 	}
92 
93 	///
94 	override string addressCityPrefix() {
95 		auto data = [
96 		"臺北",
97 		"新北",
98 		"桃園",
99 		"臺中",
100 		"臺南",
101 		"高雄",
102 		"基隆",
103 		"新竹",
104 		"嘉義",
105 		"苗栗",
106 		"彰化",
107 		"南投",
108 		"雲林",
109 		"屏東",
110 		"宜蘭",
111 		"花蓮",
112 		"臺東",
113 		"澎湖",
114 		"金門",
115 		"連江"
116 		];
117 		return choice(data, this.rnd);
118 	}
119 
120 
121 	override string addressStreet() {
122 		final switch(uniform(0, 1, this.rnd)) {
123 			case 0: return nameLastName() ~ addressStreetSuffix() ~ "'";
124 		}
125 	}
126 
127 
128 	override string addressCity() {
129 		final switch(uniform(0, 1, this.rnd)) {
130 			case 0: return addressCityPrefix() ~ addressCitySuffix() ~ "'";
131 		}
132 	}
133 
134 	///
135 	override string addressBuildingNumber() {
136 		auto data = [
137 		"####",
138 		"###",
139 		"##",
140 		"#'"
141 		];
142 		return this.digitBuild(choice(data, this.rnd));
143 	}
144 
145 	///
146 	override string addressPostcode() {
147 		auto data = [
148 		"######'"
149 		];
150 		return this.digitBuild(choice(data, this.rnd));
151 	}
152 
153 	///
154 	override string addressStreetSuffix() {
155 		auto data = [
156 		"街",
157 		"路",
158 		"北路",
159 		"南路",
160 		"東路",
161 		"西路'"
162 		];
163 		return choice(data, this.rnd);
164 	}
165 
166 	///
167 	override string nameLastName() {
168 		auto data = [
169 		"王",
170 		"李",
171 		"張",
172 		"劉",
173 		"陳",
174 		"楊",
175 		"黃",
176 		"吳",
177 		"趙",
178 		"週",
179 		"徐",
180 		"孫",
181 		"馬",
182 		"朱",
183 		"胡",
184 		"林",
185 		"郭",
186 		"何",
187 		"高",
188 		"羅",
189 		"鄭",
190 		"梁",
191 		"謝",
192 		"宋",
193 		"唐",
194 		"許",
195 		"鄧",
196 		"馮",
197 		"韓",
198 		"曹",
199 		"曾",
200 		"彭",
201 		"蕭",
202 		"蔡",
203 		"潘",
204 		"田",
205 		"董",
206 		"袁",
207 		"於",
208 		"餘",
209 		"葉",
210 		"蔣",
211 		"杜",
212 		"蘇",
213 		"魏",
214 		"程",
215 		"呂",
216 		"丁",
217 		"沈",
218 		"任",
219 		"姚",
220 		"盧",
221 		"傅",
222 		"鐘",
223 		"姜",
224 		"崔",
225 		"譚",
226 		"廖",
227 		"範",
228 		"汪",
229 		"陸",
230 		"金",
231 		"石",
232 		"戴",
233 		"賈",
234 		"韋",
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 		return choice(data, this.rnd);
271 	}
272 
273 	///
274 	override string nameFirstName() {
275 		auto data = [
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 		"苑博",
348 		"偉澤",
349 		"熠彤",
350 		"鴻煊",
351 		"博濤",
352 		"燁霖",
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 		return choice(data, this.rnd);
401 	}
402 
403 
404 	override string nameName() {
405 		final switch(uniform(0, 1, this.rnd)) {
406 			case 0: return nameFirstName() ~ nameLastName() ~ "'";
407 		}
408 	}
409 
410 }