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 }