| 148 |
lars |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
namespace Faker\Provider\ja_JP;
|
|
|
4 |
|
|
|
5 |
class Person extends \Faker\Provider\Person
|
|
|
6 |
{
|
|
|
7 |
protected static $maleNameFormats = [
|
|
|
8 |
'{{lastName}} {{firstNameMale}}',
|
|
|
9 |
];
|
|
|
10 |
|
|
|
11 |
protected static $femaleNameFormats = [
|
|
|
12 |
'{{lastName}} {{firstNameFemale}}',
|
|
|
13 |
];
|
|
|
14 |
|
|
|
15 |
/**
|
|
|
16 |
* {@link} http://dic.nicovideo.jp/a/%E6%97%A5%E6%9C%AC%E4%BA%BA%E3%81%AE%E5%90%8D%E5%89%8D%E4%B8%80%E8%A6%A7
|
|
|
17 |
* {@link} http://www.meijiyasuda.co.jp/enjoy/ranking/
|
|
|
18 |
*/
|
|
|
19 |
protected static $firstNameMale = [
|
|
|
20 |
'晃', '篤司', '治', '和也', '京助', '健一', '修平', '翔太', '淳', '聡太郎', '太一', '太郎', '拓真', '翼', '智也',
|
|
|
21 |
'直樹', '直人', '英樹', '浩', '学', '充', '稔', '裕樹', '裕太', '康弘', '陽一', '洋介', '亮介', '涼平', '零',
|
|
|
22 |
];
|
|
|
23 |
|
|
|
24 |
/**
|
|
|
25 |
* {@link} http://dic.nicovideo.jp/a/%E6%97%A5%E6%9C%AC%E4%BA%BA%E3%81%AE%E5%90%8D%E5%89%8D%E4%B8%80%E8%A6%A7
|
|
|
26 |
* {@link} http://www.meijiyasuda.co.jp/enjoy/ranking/
|
|
|
27 |
*/
|
|
|
28 |
protected static $firstNameFemale = [
|
|
|
29 |
'明美', 'あすか', '香織', '加奈', 'くみ子', 'さゆり', '知実', '千代',
|
|
|
30 |
'直子', '七夏', '花子', '春香', '真綾', '舞', '美加子', '幹', '桃子', '結衣', '裕美子', '陽子', '里佳',
|
|
|
31 |
];
|
|
|
32 |
|
|
|
33 |
/**
|
|
|
34 |
* {@link} http://dic.nicovideo.jp/a/%E6%97%A5%E6%9C%AC%E3%81%AE%E8%8B%97%E5%AD%97%28%E5%90%8D%E5%AD%97%29%E3%81%AE%E4%B8%80%E8%A6%A7
|
|
|
35 |
*/
|
|
|
36 |
protected static $lastName = [
|
|
|
37 |
'青田', '青山', '石田', '井高', '伊藤', '井上', '宇野', '江古田', '大垣',
|
|
|
38 |
'加藤', '加納', '喜嶋', '木村', '桐山', '工藤', '小泉', '小林', '近藤',
|
|
|
39 |
'斉藤', '坂本', '佐々木', '佐藤', '笹田', '鈴木', '杉山',
|
|
|
40 |
'高橋', '田中', '田辺', '津田',
|
|
|
41 |
'中島', '中村', '渚', '中津川', '西之園', '野村',
|
|
|
42 |
'原田', '浜田', '廣川', '藤本',
|
|
|
43 |
'松本', '三宅', '宮沢', '村山',
|
|
|
44 |
'山岸', '山口', '山田', '山本', '吉田', '吉本',
|
|
|
45 |
'若松', '渡辺',
|
|
|
46 |
];
|
|
|
47 |
|
|
|
48 |
protected static $firstKanaNameFormat = [
|
|
|
49 |
'{{firstKanaNameMale}}',
|
|
|
50 |
'{{firstKanaNameFemale}}',
|
|
|
51 |
];
|
|
|
52 |
|
|
|
53 |
protected static $maleKanaNameFormats = [
|
|
|
54 |
'{{lastKanaName}} {{firstKanaNameMale}}',
|
|
|
55 |
];
|
|
|
56 |
|
|
|
57 |
protected static $femaleKanaNameFormats = [
|
|
|
58 |
'{{lastKanaName}} {{firstKanaNameFemale}}',
|
|
|
59 |
];
|
|
|
60 |
|
|
|
61 |
protected static $firstKanaNameMale = [
|
|
|
62 |
'アキラ', 'アツシ', 'オサム', 'カズヤ', 'キョウスケ', 'ケンイチ', 'シュウヘイ', 'ショウタ', 'ジュン', 'ソウタロウ',
|
|
|
63 |
'タイチ', 'タロウ', 'タクマ', 'ツバサ', 'トモヤ', 'ナオキ', 'ナオト', 'ヒデキ', 'ヒロシ', 'マナブ', 'ミツル', 'ミノル',
|
|
|
64 |
'ユウキ', 'ユウタ', 'ヤスヒロ', 'ヨウイチ', 'ヨウスケ', 'リョウスケ', 'リョウヘイ', 'レイ',
|
|
|
65 |
];
|
|
|
66 |
|
|
|
67 |
protected static $firstKanaNameFemale = [
|
|
|
68 |
'アケミ', 'アスカ', 'カオリ', 'カナ', 'クミコ', 'サユリ', 'サトミ', 'チヨ',
|
|
|
69 |
'ナオコ', 'ナナミ', 'ハナコ', 'ハルカ', 'マアヤ', 'マイ', 'ミカコ', 'ミキ', 'モモコ', 'ユイ', 'ユミコ', 'ヨウコ', 'リカ',
|
|
|
70 |
];
|
|
|
71 |
|
|
|
72 |
protected static $lastKanaName = [
|
|
|
73 |
'アオタ', 'アオヤマ', 'イシダ', 'イダカ', 'イトウ', 'ウノ', 'エコダ', 'オオガキ',
|
|
|
74 |
'カノウ', 'カノウ', 'キジマ', 'キムラ', 'キリヤマ', 'クドウ', 'コイズミ', 'コバヤシ', 'コンドウ',
|
|
|
75 |
'サイトウ', 'サカモト', 'ササキ', 'サトウ', 'ササダ', 'スズキ', 'スギヤマ',
|
|
|
76 |
'タカハシ', 'タナカ', 'タナベ', 'ツダ',
|
|
|
77 |
'ナカジマ', 'ナカムラ', 'ナギサ', 'ナカツガワ', 'ニシノソノ', 'ノムラ',
|
|
|
78 |
'ハラダ', 'ハマダ', 'ヒロカワ', 'フジモト',
|
|
|
79 |
'マツモト', 'ミヤケ', 'ミヤザワ', 'ムラヤマ',
|
|
|
80 |
'ヤマギシ', 'ヤマグチ', 'ヤマダ', 'ヤマモト', 'ヨシダ', 'ヨシモト',
|
|
|
81 |
'ワカマツ', 'ワタナベ',
|
|
|
82 |
];
|
|
|
83 |
|
|
|
84 |
/**
|
|
|
85 |
* @param string|null $gender 'male', 'female' or null for any
|
|
|
86 |
*
|
|
|
87 |
* @return string
|
|
|
88 |
*
|
|
|
89 |
* @example 'アオタ アキラ'
|
|
|
90 |
*/
|
|
|
91 |
public function kanaName($gender = null)
|
|
|
92 |
{
|
|
|
93 |
if ($gender === static::GENDER_MALE) {
|
|
|
94 |
$format = static::randomElement(static::$maleKanaNameFormats);
|
|
|
95 |
} elseif ($gender === static::GENDER_FEMALE) {
|
|
|
96 |
$format = static::randomElement(static::$femaleKanaNameFormats);
|
|
|
97 |
} else {
|
|
|
98 |
$format = static::randomElement(array_merge(static::$maleKanaNameFormats, static::$femaleKanaNameFormats));
|
|
|
99 |
}
|
|
|
100 |
|
|
|
101 |
return $this->generator->parse($format);
|
|
|
102 |
}
|
|
|
103 |
|
|
|
104 |
/**
|
|
|
105 |
* @param string|null $gender 'male', 'female' or null for any
|
|
|
106 |
*
|
|
|
107 |
* @return string
|
|
|
108 |
*
|
|
|
109 |
* @example 'アキラ'
|
|
|
110 |
*/
|
|
|
111 |
public function firstKanaName($gender = null)
|
|
|
112 |
{
|
|
|
113 |
if ($gender === static::GENDER_MALE) {
|
|
|
114 |
return static::firstKanaNameMale();
|
|
|
115 |
}
|
|
|
116 |
|
|
|
117 |
if ($gender === static::GENDER_FEMALE) {
|
|
|
118 |
return static::firstKanaNameFemale();
|
|
|
119 |
}
|
|
|
120 |
|
|
|
121 |
return $this->generator->parse(static::randomElement(static::$firstKanaNameFormat));
|
|
|
122 |
}
|
|
|
123 |
|
|
|
124 |
/**
|
|
|
125 |
* @example 'アキラ'
|
|
|
126 |
*/
|
|
|
127 |
public static function firstKanaNameMale()
|
|
|
128 |
{
|
|
|
129 |
return static::randomElement(static::$firstKanaNameMale);
|
|
|
130 |
}
|
|
|
131 |
|
|
|
132 |
/**
|
|
|
133 |
* @example 'アケミ'
|
|
|
134 |
*/
|
|
|
135 |
public static function firstKanaNameFemale()
|
|
|
136 |
{
|
|
|
137 |
return static::randomElement(static::$firstKanaNameFemale);
|
|
|
138 |
}
|
|
|
139 |
|
|
|
140 |
/**
|
|
|
141 |
* @example 'アオタ'
|
|
|
142 |
*/
|
|
|
143 |
public static function lastKanaName()
|
|
|
144 |
{
|
|
|
145 |
return static::randomElement(static::$lastKanaName);
|
|
|
146 |
}
|
|
|
147 |
}
|