@famgia/omnify-japan 0.0.72 → 0.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,53 +1,225 @@
1
- // src/index.ts
2
- var PREFECTURES = [
3
- "\u5317\u6D77\u9053",
4
- "\u9752\u68EE\u770C",
5
- "\u5CA9\u624B\u770C",
6
- "\u5BAE\u57CE\u770C",
7
- "\u79CB\u7530\u770C",
8
- "\u5C71\u5F62\u770C",
9
- "\u798F\u5CF6\u770C",
10
- "\u8328\u57CE\u770C",
11
- "\u6803\u6728\u770C",
12
- "\u7FA4\u99AC\u770C",
13
- "\u57FC\u7389\u770C",
14
- "\u5343\u8449\u770C",
15
- "\u6771\u4EAC\u90FD",
16
- "\u795E\u5948\u5DDD\u770C",
17
- "\u65B0\u6F5F\u770C",
18
- "\u5BCC\u5C71\u770C",
19
- "\u77F3\u5DDD\u770C",
20
- "\u798F\u4E95\u770C",
21
- "\u5C71\u68A8\u770C",
22
- "\u9577\u91CE\u770C",
23
- "\u5C90\u961C\u770C",
24
- "\u9759\u5CA1\u770C",
25
- "\u611B\u77E5\u770C",
26
- "\u4E09\u91CD\u770C",
27
- "\u6ECB\u8CC0\u770C",
28
- "\u4EAC\u90FD\u5E9C",
29
- "\u5927\u962A\u5E9C",
30
- "\u5175\u5EAB\u770C",
31
- "\u5948\u826F\u770C",
32
- "\u548C\u6B4C\u5C71\u770C",
33
- "\u9CE5\u53D6\u770C",
34
- "\u5CF6\u6839\u770C",
35
- "\u5CA1\u5C71\u770C",
36
- "\u5E83\u5CF6\u770C",
37
- "\u5C71\u53E3\u770C",
38
- "\u5FB3\u5CF6\u770C",
39
- "\u9999\u5DDD\u770C",
40
- "\u611B\u5A9B\u770C",
41
- "\u9AD8\u77E5\u770C",
42
- "\u798F\u5CA1\u770C",
43
- "\u4F50\u8CC0\u770C",
44
- "\u9577\u5D0E\u770C",
45
- "\u718A\u672C\u770C",
46
- "\u5927\u5206\u770C",
47
- "\u5BAE\u5D0E\u770C",
48
- "\u9E7F\u5150\u5CF6\u770C",
49
- "\u6C96\u7E04\u770C"
1
+ // src/locales.ts
2
+ var prefectureLabels = {
3
+ // 北海道地方 (Hokkaido)
4
+ hokkaido: { ja: "\u5317\u6D77\u9053", en: "Hokkaido", vi: "Hokkaido", ko: "\uD64B\uCE74\uC774\uB3C4", "zh-CN": "\u5317\u6D77\u9053", "zh-TW": "\u5317\u6D77\u9053", th: "\u0E2E\u0E2D\u0E01\u0E44\u0E01\u0E42\u0E14", es: "Hokkaido" },
5
+ // 東北地方 (Tohoku)
6
+ aomori: { ja: "\u9752\u68EE\u770C", en: "Aomori", vi: "Aomori", ko: "\uC544\uC624\uBAA8\uB9AC\uD604", "zh-CN": "\u9752\u68EE\u53BF", "zh-TW": "\u9752\u68EE\u7E23", th: "\u0E2D\u0E32\u0E42\u0E2D\u0E42\u0E21\u0E23\u0E34", es: "Aomori" },
7
+ iwate: { ja: "\u5CA9\u624B\u770C", en: "Iwate", vi: "Iwate", ko: "\uC774\uC640\uD14C\uD604", "zh-CN": "\u5CA9\u624B\u53BF", "zh-TW": "\u5CA9\u624B\u7E23", th: "\u0E2D\u0E34\u0E27\u0E32\u0E40\u0E15\u0E30", es: "Iwate" },
8
+ miyagi: { ja: "\u5BAE\u57CE\u770C", en: "Miyagi", vi: "Miyagi", ko: "\uBBF8\uC57C\uAE30\uD604", "zh-CN": "\u5BAB\u57CE\u53BF", "zh-TW": "\u5BAE\u57CE\u7E23", th: "\u0E21\u0E34\u0E22\u0E32\u0E07\u0E34", es: "Miyagi" },
9
+ akita: { ja: "\u79CB\u7530\u770C", en: "Akita", vi: "Akita", ko: "\uC544\uD0A4\uD0C0\uD604", "zh-CN": "\u79CB\u7530\u53BF", "zh-TW": "\u79CB\u7530\u7E23", th: "\u0E2D\u0E32\u0E01\u0E34\u0E15\u0E30", es: "Akita" },
10
+ yamagata: { ja: "\u5C71\u5F62\u770C", en: "Yamagata", vi: "Yamagata", ko: "\uC57C\uB9C8\uAC00\uD0C0\uD604", "zh-CN": "\u5C71\u5F62\u53BF", "zh-TW": "\u5C71\u5F62\u7E23", th: "\u0E22\u0E32\u0E21\u0E32\u0E01\u0E32\u0E15\u0E30", es: "Yamagata" },
11
+ fukushima: { ja: "\u798F\u5CF6\u770C", en: "Fukushima", vi: "Fukushima", ko: "\uD6C4\uCFE0\uC2DC\uB9C8\uD604", "zh-CN": "\u798F\u5C9B\u53BF", "zh-TW": "\u798F\u5CF6\u7E23", th: "\u0E1F\u0E38\u0E01\u0E38\u0E0A\u0E34\u0E21\u0E30", es: "Fukushima" },
12
+ // 関東地方 (Kanto)
13
+ ibaraki: { ja: "\u8328\u57CE\u770C", en: "Ibaraki", vi: "Ibaraki", ko: "\uC774\uBC14\uB77C\uD0A4\uD604", "zh-CN": "\u8328\u57CE\u53BF", "zh-TW": "\u8328\u57CE\u7E23", th: "\u0E2D\u0E34\u0E1A\u0E32\u0E23\u0E32\u0E01\u0E34", es: "Ibaraki" },
14
+ tochigi: { ja: "\u6803\u6728\u770C", en: "Tochigi", vi: "Tochigi", ko: "\uB3C4\uCE58\uAE30\uD604", "zh-CN": "\u6803\u6728\u53BF", "zh-TW": "\u6803\u6728\u7E23", th: "\u0E42\u0E17\u0E08\u0E34\u0E07\u0E34", es: "Tochigi" },
15
+ gunma: { ja: "\u7FA4\u99AC\u770C", en: "Gunma", vi: "Gunma", ko: "\uAD70\uB9C8\uD604", "zh-CN": "\u7FA4\u9A6C\u53BF", "zh-TW": "\u7FA4\u99AC\u7E23", th: "\u0E01\u0E38\u0E19\u0E21\u0E30", es: "Gunma" },
16
+ saitama: { ja: "\u57FC\u7389\u770C", en: "Saitama", vi: "Saitama", ko: "\uC0AC\uC774\uD0C0\uB9C8\uD604", "zh-CN": "\u57FC\u7389\u53BF", "zh-TW": "\u57FC\u7389\u7E23", th: "\u0E44\u0E0B\u0E15\u0E32\u0E21\u0E30", es: "Saitama" },
17
+ chiba: { ja: "\u5343\u8449\u770C", en: "Chiba", vi: "Chiba", ko: "\uCE58\uBC14\uD604", "zh-CN": "\u5343\u53F6\u53BF", "zh-TW": "\u5343\u8449\u7E23", th: "\u0E08\u0E34\u0E1A\u0E30", es: "Chiba" },
18
+ tokyo: { ja: "\u6771\u4EAC\u90FD", en: "Tokyo", vi: "Tokyo", ko: "\uB3C4\uCFC4\uB3C4", "zh-CN": "\u4E1C\u4EAC\u90FD", "zh-TW": "\u6771\u4EAC\u90FD", th: "\u0E42\u0E15\u0E40\u0E01\u0E35\u0E22\u0E27", es: "Tokio" },
19
+ kanagawa: { ja: "\u795E\u5948\u5DDD\u770C", en: "Kanagawa", vi: "Kanagawa", ko: "\uAC00\uB098\uAC00\uC640\uD604", "zh-CN": "\u795E\u5948\u5DDD\u53BF", "zh-TW": "\u795E\u5948\u5DDD\u7E23", th: "\u0E04\u0E32\u0E19\u0E32\u0E01\u0E32\u0E27\u0E30", es: "Kanagawa" },
20
+ // 中部地方 (Chubu)
21
+ niigata: { ja: "\u65B0\u6F5F\u770C", en: "Niigata", vi: "Niigata", ko: "\uB2C8\uAC00\uD0C0\uD604", "zh-CN": "\u65B0\u6F5F\u53BF", "zh-TW": "\u65B0\u6F5F\u7E23", th: "\u0E19\u0E35\u0E07\u0E32\u0E15\u0E30", es: "Niigata" },
22
+ toyama: { ja: "\u5BCC\u5C71\u770C", en: "Toyama", vi: "Toyama", ko: "\uB3C4\uC57C\uB9C8\uD604", "zh-CN": "\u5BCC\u5C71\u53BF", "zh-TW": "\u5BCC\u5C71\u7E23", th: "\u0E42\u0E17\u0E22\u0E32\u0E21\u0E30", es: "Toyama" },
23
+ ishikawa: { ja: "\u77F3\u5DDD\u770C", en: "Ishikawa", vi: "Ishikawa", ko: "\uC774\uC2DC\uCE74\uC640\uD604", "zh-CN": "\u77F3\u5DDD\u53BF", "zh-TW": "\u77F3\u5DDD\u7E23", th: "\u0E2D\u0E34\u0E0A\u0E34\u0E01\u0E32\u0E27\u0E30", es: "Ishikawa" },
24
+ fukui: { ja: "\u798F\u4E95\u770C", en: "Fukui", vi: "Fukui", ko: "\uD6C4\uCFE0\uC774\uD604", "zh-CN": "\u798F\u4E95\u53BF", "zh-TW": "\u798F\u4E95\u7E23", th: "\u0E1F\u0E38\u0E01\u0E38\u0E2D\u0E34", es: "Fukui" },
25
+ yamanashi: { ja: "\u5C71\u68A8\u770C", en: "Yamanashi", vi: "Yamanashi", ko: "\uC57C\uB9C8\uB098\uC2DC\uD604", "zh-CN": "\u5C71\u68A8\u53BF", "zh-TW": "\u5C71\u68A8\u7E23", th: "\u0E22\u0E32\u0E21\u0E32\u0E19\u0E32\u0E0A\u0E34", es: "Yamanashi" },
26
+ nagano: { ja: "\u9577\u91CE\u770C", en: "Nagano", vi: "Nagano", ko: "\uB098\uAC00\uB178\uD604", "zh-CN": "\u957F\u91CE\u53BF", "zh-TW": "\u9577\u91CE\u7E23", th: "\u0E19\u0E32\u0E01\u0E32\u0E42\u0E19\u0E30", es: "Nagano" },
27
+ gifu: { ja: "\u5C90\u961C\u770C", en: "Gifu", vi: "Gifu", ko: "\uAE30\uD6C4\uD604", "zh-CN": "\u5C90\u961C\u53BF", "zh-TW": "\u5C90\u961C\u7E23", th: "\u0E01\u0E34\u0E1F\u0E38", es: "Gifu" },
28
+ shizuoka: { ja: "\u9759\u5CA1\u770C", en: "Shizuoka", vi: "Shizuoka", ko: "\uC2DC\uC988\uC624\uCE74\uD604", "zh-CN": "\u9759\u5188\u53BF", "zh-TW": "\u975C\u5CA1\u7E23", th: "\u0E0A\u0E34\u0E0B\u0E39\u0E42\u0E2D\u0E01\u0E30", es: "Shizuoka" },
29
+ aichi: { ja: "\u611B\u77E5\u770C", en: "Aichi", vi: "Aichi", ko: "\uC544\uC774\uCE58\uD604", "zh-CN": "\u7231\u77E5\u53BF", "zh-TW": "\u611B\u77E5\u7E23", th: "\u0E44\u0E2D\u0E08\u0E34", es: "Aichi" },
30
+ // 近畿地方 (Kinki/Kansai)
31
+ mie: { ja: "\u4E09\u91CD\u770C", en: "Mie", vi: "Mie", ko: "\uBBF8\uC5D0\uD604", "zh-CN": "\u4E09\u91CD\u53BF", "zh-TW": "\u4E09\u91CD\u7E23", th: "\u0E21\u0E34\u0E40\u0E2D\u0E30", es: "Mie" },
32
+ shiga: { ja: "\u6ECB\u8CC0\u770C", en: "Shiga", vi: "Shiga", ko: "\uC2DC\uAC00\uD604", "zh-CN": "\u6ECB\u8D3A\u53BF", "zh-TW": "\u6ECB\u8CC0\u7E23", th: "\u0E0A\u0E34\u0E07\u0E30", es: "Shiga" },
33
+ kyoto: { ja: "\u4EAC\u90FD\u5E9C", en: "Kyoto", vi: "Kyoto", ko: "\uAD50\uD1A0\uBD80", "zh-CN": "\u4EAC\u90FD\u5E9C", "zh-TW": "\u4EAC\u90FD\u5E9C", th: "\u0E40\u0E01\u0E35\u0E22\u0E27\u0E42\u0E15", es: "Kioto" },
34
+ osaka: { ja: "\u5927\u962A\u5E9C", en: "Osaka", vi: "Osaka", ko: "\uC624\uC0AC\uCE74\uBD80", "zh-CN": "\u5927\u962A\u5E9C", "zh-TW": "\u5927\u962A\u5E9C", th: "\u0E42\u0E2D\u0E0B\u0E32\u0E01\u0E32", es: "Osaka" },
35
+ hyogo: { ja: "\u5175\u5EAB\u770C", en: "Hyogo", vi: "Hyogo", ko: "\uD6A8\uACE0\uD604", "zh-CN": "\u5175\u5E93\u53BF", "zh-TW": "\u5175\u5EAB\u7E23", th: "\u0E40\u0E2E\u0E35\u0E22\u0E27\u0E42\u0E07\u0E30", es: "Hyogo" },
36
+ nara: { ja: "\u5948\u826F\u770C", en: "Nara", vi: "Nara", ko: "\uB098\uB77C\uD604", "zh-CN": "\u5948\u826F\u53BF", "zh-TW": "\u5948\u826F\u7E23", th: "\u0E19\u0E32\u0E23\u0E30", es: "Nara" },
37
+ wakayama: { ja: "\u548C\u6B4C\u5C71\u770C", en: "Wakayama", vi: "Wakayama", ko: "\uC640\uCE74\uC57C\uB9C8\uD604", "zh-CN": "\u548C\u6B4C\u5C71\u53BF", "zh-TW": "\u548C\u6B4C\u5C71\u7E23", th: "\u0E27\u0E32\u0E01\u0E32\u0E22\u0E32\u0E21\u0E30", es: "Wakayama" },
38
+ // 中国地方 (Chugoku)
39
+ tottori: { ja: "\u9CE5\u53D6\u770C", en: "Tottori", vi: "Tottori", ko: "\uB3D7\uD1A0\uB9AC\uD604", "zh-CN": "\u9E1F\u53D6\u53BF", "zh-TW": "\u9CE5\u53D6\u7E23", th: "\u0E17\u0E47\u0E2D\u0E15\u0E42\u0E15\u0E23\u0E34", es: "Tottori" },
40
+ shimane: { ja: "\u5CF6\u6839\u770C", en: "Shimane", vi: "Shimane", ko: "\uC2DC\uB9C8\uB124\uD604", "zh-CN": "\u5C9B\u6839\u53BF", "zh-TW": "\u5CF6\u6839\u7E23", th: "\u0E0A\u0E34\u0E21\u0E32\u0E40\u0E19\u0E30", es: "Shimane" },
41
+ okayama: { ja: "\u5CA1\u5C71\u770C", en: "Okayama", vi: "Okayama", ko: "\uC624\uCE74\uC57C\uB9C8\uD604", "zh-CN": "\u5188\u5C71\u53BF", "zh-TW": "\u5CA1\u5C71\u7E23", th: "\u0E42\u0E2D\u0E04\u0E32\u0E22\u0E32\u0E21\u0E30", es: "Okayama" },
42
+ hiroshima: { ja: "\u5E83\u5CF6\u770C", en: "Hiroshima", vi: "Hiroshima", ko: "\uD788\uB85C\uC2DC\uB9C8\uD604", "zh-CN": "\u5E7F\u5C9B\u53BF", "zh-TW": "\u5EE3\u5CF6\u7E23", th: "\u0E2E\u0E34\u0E42\u0E23\u0E0A\u0E34\u0E21\u0E30", es: "Hiroshima" },
43
+ yamaguchi: { ja: "\u5C71\u53E3\u770C", en: "Yamaguchi", vi: "Yamaguchi", ko: "\uC57C\uB9C8\uAD6C\uCE58\uD604", "zh-CN": "\u5C71\u53E3\u53BF", "zh-TW": "\u5C71\u53E3\u7E23", th: "\u0E22\u0E32\u0E21\u0E32\u0E01\u0E39\u0E08\u0E34", es: "Yamaguchi" },
44
+ // 四国地方 (Shikoku)
45
+ tokushima: { ja: "\u5FB3\u5CF6\u770C", en: "Tokushima", vi: "Tokushima", ko: "\uB3C4\uCFE0\uC2DC\uB9C8\uD604", "zh-CN": "\u5FB7\u5C9B\u53BF", "zh-TW": "\u5FB7\u5CF6\u7E23", th: "\u0E42\u0E17\u0E01\u0E38\u0E0A\u0E34\u0E21\u0E30", es: "Tokushima" },
46
+ kagawa: { ja: "\u9999\u5DDD\u770C", en: "Kagawa", vi: "Kagawa", ko: "\uAC00\uAC00\uC640\uD604", "zh-CN": "\u9999\u5DDD\u53BF", "zh-TW": "\u9999\u5DDD\u7E23", th: "\u0E04\u0E32\u0E01\u0E32\u0E27\u0E30", es: "Kagawa" },
47
+ ehime: { ja: "\u611B\u5A9B\u770C", en: "Ehime", vi: "Ehime", ko: "\uC5D0\uD788\uBA54\uD604", "zh-CN": "\u7231\u5A9B\u53BF", "zh-TW": "\u611B\u5A9B\u7E23", th: "\u0E40\u0E2D\u0E2E\u0E34\u0E40\u0E21\u0E30", es: "Ehime" },
48
+ kochi: { ja: "\u9AD8\u77E5\u770C", en: "Kochi", vi: "Kochi", ko: "\uACE0\uCE58\uD604", "zh-CN": "\u9AD8\u77E5\u53BF", "zh-TW": "\u9AD8\u77E5\u7E23", th: "\u0E42\u0E04\u0E08\u0E34", es: "Kochi" },
49
+ // 九州・沖縄地方 (Kyushu & Okinawa)
50
+ fukuoka: { ja: "\u798F\u5CA1\u770C", en: "Fukuoka", vi: "Fukuoka", ko: "\uD6C4\uCFE0\uC624\uCE74\uD604", "zh-CN": "\u798F\u5188\u53BF", "zh-TW": "\u798F\u5CA1\u7E23", th: "\u0E1F\u0E38\u0E01\u0E38\u0E42\u0E2D\u0E01\u0E30", es: "Fukuoka" },
51
+ saga: { ja: "\u4F50\u8CC0\u770C", en: "Saga", vi: "Saga", ko: "\uC0AC\uAC00\uD604", "zh-CN": "\u4F50\u8D3A\u53BF", "zh-TW": "\u4F50\u8CC0\u7E23", th: "\u0E0B\u0E32\u0E07\u0E30", es: "Saga" },
52
+ nagasaki: { ja: "\u9577\u5D0E\u770C", en: "Nagasaki", vi: "Nagasaki", ko: "\uB098\uAC00\uC0AC\uD0A4\uD604", "zh-CN": "\u957F\u5D0E\u53BF", "zh-TW": "\u9577\u5D0E\u7E23", th: "\u0E19\u0E32\u0E07\u0E32\u0E0B\u0E32\u0E01\u0E34", es: "Nagasaki" },
53
+ kumamoto: { ja: "\u718A\u672C\u770C", en: "Kumamoto", vi: "Kumamoto", ko: "\uAD6C\uB9C8\uBAA8\uD1A0\uD604", "zh-CN": "\u718A\u672C\u53BF", "zh-TW": "\u718A\u672C\u7E23", th: "\u0E04\u0E38\u0E21\u0E32\u0E42\u0E21\u0E42\u0E15\u0E30", es: "Kumamoto" },
54
+ oita: { ja: "\u5927\u5206\u770C", en: "Oita", vi: "Oita", ko: "\uC624\uC774\uD0C0\uD604", "zh-CN": "\u5927\u5206\u53BF", "zh-TW": "\u5927\u5206\u7E23", th: "\u0E42\u0E2D\u0E2D\u0E34\u0E15\u0E30", es: "Oita" },
55
+ miyazaki: { ja: "\u5BAE\u5D0E\u770C", en: "Miyazaki", vi: "Miyazaki", ko: "\uBBF8\uC57C\uC790\uD0A4\uD604", "zh-CN": "\u5BAB\u5D0E\u53BF", "zh-TW": "\u5BAE\u5D0E\u7E23", th: "\u0E21\u0E34\u0E22\u0E32\u0E0B\u0E32\u0E01\u0E34", es: "Miyazaki" },
56
+ kagoshima: { ja: "\u9E7F\u5150\u5CF6\u770C", en: "Kagoshima", vi: "Kagoshima", ko: "\uAC00\uACE0\uC2DC\uB9C8\uD604", "zh-CN": "\u9E7F\u513F\u5C9B\u53BF", "zh-TW": "\u9E7F\u5152\u5CF6\u7E23", th: "\u0E04\u0E32\u0E42\u0E01\u0E0A\u0E34\u0E21\u0E30", es: "Kagoshima" },
57
+ okinawa: { ja: "\u6C96\u7E04\u770C", en: "Okinawa", vi: "Okinawa", ko: "\uC624\uD0A4\uB098\uC640\uD604", "zh-CN": "\u51B2\u7EF3\u53BF", "zh-TW": "\u6C96\u7E69\u7E23", th: "\u0E42\u0E2D\u0E01\u0E34\u0E19\u0E32\u0E27\u0E30", es: "Okinawa" }
58
+ };
59
+ var prefectureAreaLabels = {
60
+ hokkaido: { ja: "\u5317\u6D77\u9053\u5730\u65B9", en: "Hokkaido", vi: "V\xF9ng Hokkaido", ko: "\uD64B\uCE74\uC774\uB3C4 \uC9C0\uBC29", "zh-CN": "\u5317\u6D77\u9053\u5730\u533A", "zh-TW": "\u5317\u6D77\u9053\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E2E\u0E2D\u0E01\u0E44\u0E01\u0E42\u0E14", es: "Hokkaido" },
61
+ tohoku: { ja: "\u6771\u5317\u5730\u65B9", en: "Tohoku", vi: "V\xF9ng Tohoku", ko: "\uB3C4\uD638\uCFE0 \uC9C0\uBC29", "zh-CN": "\u4E1C\u5317\u5730\u533A", "zh-TW": "\u6771\u5317\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E42\u0E17\u0E42\u0E2E\u0E01\u0E38", es: "Tohoku" },
62
+ kanto: { ja: "\u95A2\u6771\u5730\u65B9", en: "Kanto", vi: "V\xF9ng Kanto", ko: "\uAC04\uD1A0 \uC9C0\uBC29", "zh-CN": "\u5173\u4E1C\u5730\u533A", "zh-TW": "\u95DC\u6771\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E04\u0E31\u0E19\u0E42\u0E15", es: "Kanto" },
63
+ chubu: { ja: "\u4E2D\u90E8\u5730\u65B9", en: "Chubu", vi: "V\xF9ng Chubu", ko: "\uC8FC\uBD80 \uC9C0\uBC29", "zh-CN": "\u4E2D\u90E8\u5730\u533A", "zh-TW": "\u4E2D\u90E8\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E0A\u0E39\u0E1A\u0E38", es: "Chubu" },
64
+ kinki: { ja: "\u8FD1\u757F\u5730\u65B9", en: "Kinki/Kansai", vi: "V\xF9ng Kinki", ko: "\uAE34\uD0A4 \uC9C0\uBC29", "zh-CN": "\u8FD1\u757F\u5730\u533A", "zh-TW": "\u8FD1\u757F\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E04\u0E34\u0E19\u0E01\u0E34", es: "Kinki/Kansai" },
65
+ chugoku: { ja: "\u4E2D\u56FD\u5730\u65B9", en: "Chugoku", vi: "V\xF9ng Chugoku", ko: "\uC8FC\uACE0\uCFE0 \uC9C0\uBC29", "zh-CN": "\u4E2D\u56FD\u5730\u533A", "zh-TW": "\u4E2D\u570B\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E0A\u0E39\u0E42\u0E07\u0E01\u0E38", es: "Chugoku" },
66
+ shikoku: { ja: "\u56DB\u56FD\u5730\u65B9", en: "Shikoku", vi: "V\xF9ng Shikoku", ko: "\uC2DC\uCF54\uCFE0 \uC9C0\uBC29", "zh-CN": "\u56DB\u56FD\u5730\u533A", "zh-TW": "\u56DB\u570B\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E0A\u0E34\u0E42\u0E01\u0E01\u0E38", es: "Shikoku" },
67
+ kyushu: { ja: "\u4E5D\u5DDE\u30FB\u6C96\u7E04\u5730\u65B9", en: "Kyushu & Okinawa", vi: "V\xF9ng Kyushu & Okinawa", ko: "\uADDC\uC288\u30FB\uC624\uD0A4\uB098\uC640 \uC9C0\uBC29", "zh-CN": "\u4E5D\u5DDE\u30FB\u51B2\u7EF3\u5730\u533A", "zh-TW": "\u4E5D\u5DDE\u30FB\u6C96\u7E69\u5730\u5340", th: "\u0E20\u0E32\u0E04\u0E04\u0E34\u0E27\u0E0A\u0E39\u0E41\u0E25\u0E30\u0E42\u0E2D\u0E01\u0E34\u0E19\u0E32\u0E27\u0E30", es: "Kyushu y Okinawa" }
68
+ };
69
+ var bankAccountTypeLabels = {
70
+ "1": { ja: "\u666E\u901A", en: "Ordinary", vi: "Th\u01B0\u1EDDng", ko: "\uBCF4\uD1B5", "zh-CN": "\u666E\u901A", "zh-TW": "\u666E\u901A", th: "\u0E1B\u0E01\u0E15\u0E34", es: "Ordinario" },
71
+ "2": { ja: "\u5F53\u5EA7", en: "Checking", vi: "Thanh to\xE1n", ko: "\uB2F9\uC88C", "zh-CN": "\u6D3B\u671F", "zh-TW": "\u6D3B\u671F", th: "\u0E01\u0E23\u0E30\u0E41\u0E2A\u0E23\u0E32\u0E22\u0E27\u0E31\u0E19", es: "Corriente" },
72
+ "4": { ja: "\u8CAF\u84C4", en: "Savings", vi: "Ti\u1EBFt ki\u1EC7m", ko: "\uC800\uCD95", "zh-CN": "\u50A8\u84C4", "zh-TW": "\u5132\u84C4", th: "\u0E2D\u0E2D\u0E21\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E4C", es: "Ahorro" }
73
+ };
74
+ var enumDisplayNames = {
75
+ Prefecture: { ja: "\u90FD\u9053\u5E9C\u770C", en: "Prefecture", vi: "T\u1EC9nh/Th\xE0nh ph\u1ED1", ko: "\uB3C4\uB3C4\uBD80\uD604", "zh-CN": "\u90FD\u9053\u5E9C\u53BF", "zh-TW": "\u90FD\u9053\u5E9C\u7E23", th: "\u0E08\u0E31\u0E07\u0E2B\u0E27\u0E31\u0E14", es: "Prefectura" },
76
+ PrefectureCode: { ja: "\u90FD\u9053\u5E9C\u770C\u30B3\u30FC\u30C9", en: "Prefecture Code", vi: "M\xE3 t\u1EC9nh/th\xE0nh", ko: "\uB3C4\uB3C4\uBD80\uD604 \uCF54\uB4DC", "zh-CN": "\u90FD\u9053\u5E9C\u53BF\u4EE3\u7801", "zh-TW": "\u90FD\u9053\u5E9C\u7E23\u4EE3\u78BC", th: "\u0E23\u0E2B\u0E31\u0E2A\u0E08\u0E31\u0E07\u0E2B\u0E27\u0E31\u0E14", es: "C\xF3digo de Prefectura" },
77
+ BankAccountType: { ja: "\u53E3\u5EA7\u7A2E\u5225", en: "Account Type", vi: "Lo\u1EA1i t\xE0i kho\u1EA3n", ko: "\uACC4\uC88C \uC885\uB958", "zh-CN": "\u8D26\u6237\u7C7B\u578B", "zh-TW": "\u5E33\u6236\u985E\u578B", th: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E1A\u0E31\u0E0D\u0E0A\u0E35", es: "Tipo de Cuenta" }
78
+ };
79
+ var fieldLabels = {
80
+ // Address fields
81
+ postalCode: { ja: "\u90F5\u4FBF\u756A\u53F7", en: "Postal Code", vi: "M\xE3 b\u01B0u \u0111i\u1EC7n", ko: "\uC6B0\uD3B8\uBC88\uD638", "zh-CN": "\u90AE\u653F\u7F16\u7801", "zh-TW": "\u90F5\u905E\u5340\u865F", th: "\u0E23\u0E2B\u0E31\u0E2A\u0E44\u0E1B\u0E23\u0E29\u0E13\u0E35\u0E22\u0E4C", es: "C\xF3digo Postal" },
82
+ prefecture: { ja: "\u90FD\u9053\u5E9C\u770C", en: "Prefecture", vi: "T\u1EC9nh/Th\xE0nh ph\u1ED1", ko: "\uB3C4\uB3C4\uBD80\uD604", "zh-CN": "\u90FD\u9053\u5E9C\u53BF", "zh-TW": "\u90FD\u9053\u5E9C\u7E23", th: "\u0E08\u0E31\u0E07\u0E2B\u0E27\u0E31\u0E14", es: "Prefectura" },
83
+ address1: { ja: "\u5E02\u533A\u753A\u6751", en: "City/Ward", vi: "Th\xE0nh ph\u1ED1/Qu\u1EADn", ko: "\uC2DC\uAD6C\uC815\uCD0C", "zh-CN": "\u5E02\u533A\u753A\u6751", "zh-TW": "\u5E02\u5340\u753A\u6751", th: "\u0E40\u0E21\u0E37\u0E2D\u0E07/\u0E40\u0E02\u0E15", es: "Ciudad/Distrito" },
84
+ address2: { ja: "\u753A\u540D\u30FB\u756A\u5730", en: "Street Address", vi: "\u0110\u1ECBa ch\u1EC9", ko: "\uB3D9\u30FB\uBC88\uC9C0", "zh-CN": "\u8857\u9053\u5730\u5740", "zh-TW": "\u8857\u9053\u5730\u5740", th: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48", es: "Direcci\xF3n" },
85
+ address3: { ja: "\u5EFA\u7269\u540D\u30FB\u90E8\u5C4B\u756A\u53F7", en: "Building/Room", vi: "T\xF2a nh\xE0/Ph\xF2ng", ko: "\uAC74\uBB3C\uBA85\u30FB\uD638\uC2E4", "zh-CN": "\u5EFA\u7B51\u7269/\u623F\u95F4", "zh-TW": "\u5EFA\u7BC9\u7269/\u623F\u9593", th: "\u0E2D\u0E32\u0E04\u0E32\u0E23/\u0E2B\u0E49\u0E2D\u0E07", es: "Edificio/Habitaci\xF3n" },
86
+ // Name fields
87
+ lastname: { ja: "\u59D3", en: "Last Name", vi: "H\u1ECD", ko: "\uC131", "zh-CN": "\u59D3", "zh-TW": "\u59D3", th: "\u0E19\u0E32\u0E21\u0E2A\u0E01\u0E38\u0E25", es: "Apellido" },
88
+ firstname: { ja: "\u540D", en: "First Name", vi: "T\xEAn", ko: "\uC774\uB984", "zh-CN": "\u540D", "zh-TW": "\u540D", th: "\u0E0A\u0E37\u0E48\u0E2D", es: "Nombre" },
89
+ kanaLastname: { ja: "\u59D3\uFF08\u30AB\u30CA\uFF09", en: "Last Name (Kana)", vi: "H\u1ECD (Kana)", ko: "\uC131 (\uAC00\uB098)", "zh-CN": "\u59D3\uFF08\u5047\u540D\uFF09", "zh-TW": "\u59D3\uFF08\u5047\u540D\uFF09", th: "\u0E19\u0E32\u0E21\u0E2A\u0E01\u0E38\u0E25 (\u0E04\u0E32\u0E19\u0E30)", es: "Apellido (Kana)" },
90
+ kanaFirstname: { ja: "\u540D\uFF08\u30AB\u30CA\uFF09", en: "First Name (Kana)", vi: "T\xEAn (Kana)", ko: "\uC774\uB984 (\uAC00\uB098)", "zh-CN": "\u540D\uFF08\u5047\u540D\uFF09", "zh-TW": "\u540D\uFF08\u5047\u540D\uFF09", th: "\u0E0A\u0E37\u0E48\u0E2D (\u0E04\u0E32\u0E19\u0E30)", es: "Nombre (Kana)" },
91
+ // Phone
92
+ phone: { ja: "\u96FB\u8A71\u756A\u53F7", en: "Phone Number", vi: "S\u1ED1 \u0111i\u1EC7n tho\u1EA1i", ko: "\uC804\uD654\uBC88\uD638", "zh-CN": "\u7535\u8BDD\u53F7\u7801", "zh-TW": "\u96FB\u8A71\u865F\u78BC", th: "\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C", es: "N\xFAmero de Tel\xE9fono" },
93
+ // Bank account fields
94
+ bankCode: { ja: "\u9280\u884C\u30B3\u30FC\u30C9", en: "Bank Code", vi: "M\xE3 ng\xE2n h\xE0ng", ko: "\uC740\uD589 \uCF54\uB4DC", "zh-CN": "\u94F6\u884C\u4EE3\u7801", "zh-TW": "\u9280\u884C\u4EE3\u78BC", th: "\u0E23\u0E2B\u0E31\u0E2A\u0E18\u0E19\u0E32\u0E04\u0E32\u0E23", es: "C\xF3digo de Banco" },
95
+ bankName: { ja: "\u9280\u884C\u540D", en: "Bank Name", vi: "T\xEAn ng\xE2n h\xE0ng", ko: "\uC740\uD589\uBA85", "zh-CN": "\u94F6\u884C\u540D\u79F0", "zh-TW": "\u9280\u884C\u540D\u7A31", th: "\u0E0A\u0E37\u0E48\u0E2D\u0E18\u0E19\u0E32\u0E04\u0E32\u0E23", es: "Nombre del Banco" },
96
+ branchCode: { ja: "\u652F\u5E97\u30B3\u30FC\u30C9", en: "Branch Code", vi: "M\xE3 chi nh\xE1nh", ko: "\uC9C0\uC810 \uCF54\uB4DC", "zh-CN": "\u652F\u5E97\u4EE3\u7801", "zh-TW": "\u652F\u5E97\u4EE3\u78BC", th: "\u0E23\u0E2B\u0E31\u0E2A\u0E2A\u0E32\u0E02\u0E32", es: "C\xF3digo de Sucursal" },
97
+ branchName: { ja: "\u652F\u5E97\u540D", en: "Branch Name", vi: "T\xEAn chi nh\xE1nh", ko: "\uC9C0\uC810\uBA85", "zh-CN": "\u652F\u5E97\u540D\u79F0", "zh-TW": "\u652F\u5E97\u540D\u7A31", th: "\u0E0A\u0E37\u0E48\u0E2D\u0E2A\u0E32\u0E02\u0E32", es: "Nombre de Sucursal" },
98
+ accountType: { ja: "\u53E3\u5EA7\u7A2E\u5225", en: "Account Type", vi: "Lo\u1EA1i t\xE0i kho\u1EA3n", ko: "\uACC4\uC88C \uC885\uB958", "zh-CN": "\u8D26\u6237\u7C7B\u578B", "zh-TW": "\u5E33\u6236\u985E\u578B", th: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E1A\u0E31\u0E0D\u0E0A\u0E35", es: "Tipo de Cuenta" },
99
+ accountNumber: { ja: "\u53E3\u5EA7\u756A\u53F7", en: "Account Number", vi: "S\u1ED1 t\xE0i kho\u1EA3n", ko: "\uACC4\uC88C\uBC88\uD638", "zh-CN": "\u8D26\u53F7", "zh-TW": "\u5E33\u865F", th: "\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E1A\u0E31\u0E0D\u0E0A\u0E35", es: "N\xFAmero de Cuenta" },
100
+ accountHolder: { ja: "\u53E3\u5EA7\u540D\u7FA9", en: "Account Holder", vi: "Ch\u1EE7 t\xE0i kho\u1EA3n", ko: "\uC608\uAE08\uC8FC", "zh-CN": "\u8D26\u6237\u540D", "zh-TW": "\u5E33\u6236\u540D", th: "\u0E0A\u0E37\u0E48\u0E2D\u0E1A\u0E31\u0E0D\u0E0A\u0E35", es: "Titular de la Cuenta" }
101
+ };
102
+ var placeholders = {
103
+ postalCode: { ja: "\u4F8B\uFF1A123-4567", en: "e.g. 123-4567", vi: "VD: 123-4567", ko: "\uC608: 123-4567", "zh-CN": "\u4F8B\uFF1A123-4567", "zh-TW": "\u4F8B\uFF1A123-4567", th: "\u0E40\u0E0A\u0E48\u0E19 123-4567", es: "ej. 123-4567" },
104
+ prefecture: { ja: "\u90FD\u9053\u5E9C\u770C\u3092\u9078\u629E", en: "Select prefecture", vi: "Ch\u1ECDn t\u1EC9nh/th\xE0nh", ko: "\uB3C4\uB3C4\uBD80\uD604 \uC120\uD0DD", "zh-CN": "\u9009\u62E9\u90FD\u9053\u5E9C\u53BF", "zh-TW": "\u9078\u64C7\u90FD\u9053\u5E9C\u7E23", th: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E08\u0E31\u0E07\u0E2B\u0E27\u0E31\u0E14", es: "Seleccionar prefectura" },
105
+ address1: { ja: "\u4F8B\uFF1A\u65B0\u5BBF\u533A\u897F\u65B0\u5BBF", en: "e.g. Shinjuku-ku, Nishi-shinjuku", vi: "VD: Shinjuku-ku", ko: "\uC608: \uC2E0\uC8FC\uCFE0\uAD6C \uB2C8\uC2DC\uC2E0\uC8FC\uCFE0", "zh-CN": "\u4F8B\uFF1A\u65B0\u5BBF\u533A\u897F\u65B0\u5BBF", "zh-TW": "\u4F8B\uFF1A\u65B0\u5BBF\u5340\u897F\u65B0\u5BBF", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E0A\u0E34\u0E19\u0E08\u0E39\u0E01\u0E38", es: "ej. Shibuya-ku" },
106
+ address2: { ja: "\u4F8B\uFF1A1-2-3", en: "e.g. 1-2-3", vi: "VD: 1-2-3", ko: "\uC608: 1-2-3", "zh-CN": "\u4F8B\uFF1A1-2-3", "zh-TW": "\u4F8B\uFF1A1-2-3", th: "\u0E40\u0E0A\u0E48\u0E19 1-2-3", es: "ej. 1-2-3" },
107
+ address3: { ja: "\u4F8B\uFF1A\u25CB\u25CB\u30D3\u30EB 101\u53F7\u5BA4", en: "e.g. XX Building 101", vi: "VD: T\xF2a nh\xE0 XX P.101", ko: "\uC608: XX\uBE4C\uB529 101\uD638", "zh-CN": "\u4F8B\uFF1AXX\u5927\u53A6 101\u5BA4", "zh-TW": "\u4F8B\uFF1AXX\u5927\u5EC8 101\u5BA4", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E15\u0E36\u0E01 XX \u0E2B\u0E49\u0E2D\u0E07 101", es: "ej. Edificio XX 101" },
108
+ lastname: { ja: "\u4F8B\uFF1A\u7530\u4E2D", en: "e.g. Tanaka", vi: "VD: Nguy\u1EC5n", ko: "\uC608: \uB2E4\uB098\uCE74", "zh-CN": "\u4F8B\uFF1A\u7530\u4E2D", "zh-TW": "\u4F8B\uFF1A\u7530\u4E2D", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E17\u0E32\u0E19\u0E32\u0E01\u0E30", es: "ej. Tanaka" },
109
+ firstname: { ja: "\u4F8B\uFF1A\u592A\u90CE", en: "e.g. Taro", vi: "VD: V\u0103n", ko: "\uC608: \uD0C0\uB85C", "zh-CN": "\u4F8B\uFF1A\u592A\u90CE", "zh-TW": "\u4F8B\uFF1A\u592A\u90CE", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E17\u0E32\u0E42\u0E23\u0E48", es: "ej. Taro" },
110
+ kanaLastname: { ja: "\u4F8B\uFF1A\u30BF\u30CA\u30AB", en: "e.g. Tanaka", vi: "VD: Tanaka", ko: "\uC608: \uD0C0\uB098\uCE74", "zh-CN": "\u4F8B\uFF1A\u30BF\u30CA\u30AB", "zh-TW": "\u4F8B\uFF1A\u30BF\u30CA\u30AB", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E17\u0E32\u0E19\u0E32\u0E01\u0E30", es: "ej. Tanaka" },
111
+ kanaFirstname: { ja: "\u4F8B\uFF1A\u30BF\u30ED\u30A6", en: "e.g. Taro", vi: "VD: Taro", ko: "\uC608: \uD0C0\uB85C", "zh-CN": "\u4F8B\uFF1A\u30BF\u30ED\u30A6", "zh-TW": "\u4F8B\uFF1A\u30BF\u30ED\u30A6", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E17\u0E32\u0E42\u0E23\u0E48", es: "ej. Taro" },
112
+ phone: { ja: "\u4F8B\uFF1A03-1234-5678", en: "e.g. 03-1234-5678", vi: "VD: 03-1234-5678", ko: "\uC608: 03-1234-5678", "zh-CN": "\u4F8B\uFF1A03-1234-5678", "zh-TW": "\u4F8B\uFF1A03-1234-5678", th: "\u0E40\u0E0A\u0E48\u0E19 03-1234-5678", es: "ej. 03-1234-5678" },
113
+ bankCode: { ja: "\u4F8B\uFF1A0001", en: "e.g. 0001", vi: "VD: 0001", ko: "\uC608: 0001", "zh-CN": "\u4F8B\uFF1A0001", "zh-TW": "\u4F8B\uFF1A0001", th: "\u0E40\u0E0A\u0E48\u0E19 0001", es: "ej. 0001" },
114
+ bankName: { ja: "\u4F8B\uFF1A\u307F\u305A\u307B\u9280\u884C", en: "e.g. Mizuho Bank", vi: "VD: Ng\xE2n h\xE0ng Mizuho", ko: "\uC608: \uBBF8\uC988\uD638\uC740\uD589", "zh-CN": "\u4F8B\uFF1A\u745E\u7A57\u94F6\u884C", "zh-TW": "\u4F8B\uFF1A\u745E\u7A57\u9280\u884C", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E18\u0E19\u0E32\u0E04\u0E32\u0E23\u0E21\u0E34\u0E0B\u0E39\u0E42\u0E2E", es: "ej. Banco Mizuho" },
115
+ branchCode: { ja: "\u4F8B\uFF1A001", en: "e.g. 001", vi: "VD: 001", ko: "\uC608: 001", "zh-CN": "\u4F8B\uFF1A001", "zh-TW": "\u4F8B\uFF1A001", th: "\u0E40\u0E0A\u0E48\u0E19 001", es: "ej. 001" },
116
+ branchName: { ja: "\u4F8B\uFF1A\u6771\u4EAC\u55B6\u696D\u90E8", en: "e.g. Tokyo Branch", vi: "VD: Chi nh\xE1nh Tokyo", ko: "\uC608: \uB3C4\uCFC4\uC601\uC5C5\uBD80", "zh-CN": "\u4F8B\uFF1A\u4E1C\u4EAC\u8425\u4E1A\u90E8", "zh-TW": "\u4F8B\uFF1A\u6771\u4EAC\u71DF\u696D\u90E8", th: "\u0E40\u0E0A\u0E48\u0E19 \u0E2A\u0E32\u0E02\u0E32\u0E42\u0E15\u0E40\u0E01\u0E35\u0E22\u0E27", es: "ej. Sucursal Tokio" },
117
+ accountType: { ja: "\u53E3\u5EA7\u7A2E\u5225\u3092\u9078\u629E", en: "Select account type", vi: "Ch\u1ECDn lo\u1EA1i t\xE0i kho\u1EA3n", ko: "\uACC4\uC88C \uC885\uB958 \uC120\uD0DD", "zh-CN": "\u9009\u62E9\u8D26\u6237\u7C7B\u578B", "zh-TW": "\u9078\u64C7\u5E33\u6236\u985E\u578B", th: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E1A\u0E31\u0E0D\u0E0A\u0E35", es: "Seleccionar tipo" },
118
+ accountNumber: { ja: "\u4F8B\uFF1A1234567", en: "e.g. 1234567", vi: "VD: 1234567", ko: "\uC608: 1234567", "zh-CN": "\u4F8B\uFF1A1234567", "zh-TW": "\u4F8B\uFF1A1234567", th: "\u0E40\u0E0A\u0E48\u0E19 1234567", es: "ej. 1234567" },
119
+ accountHolder: { ja: "\u4F8B\uFF1A\u30BF\u30CA\u30AB \u30BF\u30ED\u30A6", en: "e.g. TANAKA TARO", vi: "VD: TANAKA TARO", ko: "\uC608: \uD0C0\uB098\uCE74 \uD0C0\uB85C", "zh-CN": "\u4F8B\uFF1A\u30BF\u30CA\u30AB \u30BF\u30ED\u30A6", "zh-TW": "\u4F8B\uFF1A\u30BF\u30CA\u30AB \u30BF\u30ED\u30A6", th: "\u0E40\u0E0A\u0E48\u0E19 TANAKA TARO", es: "ej. TANAKA TARO" }
120
+ };
121
+ var PREFECTURE_KEYS = [
122
+ "hokkaido",
123
+ "aomori",
124
+ "iwate",
125
+ "miyagi",
126
+ "akita",
127
+ "yamagata",
128
+ "fukushima",
129
+ "ibaraki",
130
+ "tochigi",
131
+ "gunma",
132
+ "saitama",
133
+ "chiba",
134
+ "tokyo",
135
+ "kanagawa",
136
+ "niigata",
137
+ "toyama",
138
+ "ishikawa",
139
+ "fukui",
140
+ "yamanashi",
141
+ "nagano",
142
+ "gifu",
143
+ "shizuoka",
144
+ "aichi",
145
+ "mie",
146
+ "shiga",
147
+ "kyoto",
148
+ "osaka",
149
+ "hyogo",
150
+ "nara",
151
+ "wakayama",
152
+ "tottori",
153
+ "shimane",
154
+ "okayama",
155
+ "hiroshima",
156
+ "yamaguchi",
157
+ "tokushima",
158
+ "kagawa",
159
+ "ehime",
160
+ "kochi",
161
+ "fukuoka",
162
+ "saga",
163
+ "nagasaki",
164
+ "kumamoto",
165
+ "oita",
166
+ "miyazaki",
167
+ "kagoshima",
168
+ "okinawa"
50
169
  ];
170
+ var PREFECTURE_AREAS = {
171
+ hokkaido: "hokkaido",
172
+ aomori: "tohoku",
173
+ iwate: "tohoku",
174
+ miyagi: "tohoku",
175
+ akita: "tohoku",
176
+ yamagata: "tohoku",
177
+ fukushima: "tohoku",
178
+ ibaraki: "kanto",
179
+ tochigi: "kanto",
180
+ gunma: "kanto",
181
+ saitama: "kanto",
182
+ chiba: "kanto",
183
+ tokyo: "kanto",
184
+ kanagawa: "kanto",
185
+ niigata: "chubu",
186
+ toyama: "chubu",
187
+ ishikawa: "chubu",
188
+ fukui: "chubu",
189
+ yamanashi: "chubu",
190
+ nagano: "chubu",
191
+ gifu: "chubu",
192
+ shizuoka: "chubu",
193
+ aichi: "chubu",
194
+ mie: "kinki",
195
+ shiga: "kinki",
196
+ kyoto: "kinki",
197
+ osaka: "kinki",
198
+ hyogo: "kinki",
199
+ nara: "kinki",
200
+ wakayama: "kinki",
201
+ tottori: "chugoku",
202
+ shimane: "chugoku",
203
+ okayama: "chugoku",
204
+ hiroshima: "chugoku",
205
+ yamaguchi: "chugoku",
206
+ tokushima: "shikoku",
207
+ kagawa: "shikoku",
208
+ ehime: "shikoku",
209
+ kochi: "shikoku",
210
+ fukuoka: "kyushu",
211
+ saga: "kyushu",
212
+ nagasaki: "kyushu",
213
+ kumamoto: "kyushu",
214
+ oita: "kyushu",
215
+ miyazaki: "kyushu",
216
+ kagoshima: "kyushu",
217
+ okinawa: "kyushu"
218
+ };
219
+
220
+ // src/index.ts
221
+ var PREFECTURE_LABELS = PREFECTURE_KEYS.map((key) => prefectureLabels[key]?.ja ?? key);
222
+ var PREFECTURES = PREFECTURE_LABELS;
51
223
  var japanPhoneType = {
52
224
  name: "JapanesePhone",
53
225
  description: "Japanese phone number (e.g., 090-1234-5678)",
@@ -78,34 +250,156 @@ var japanPostalCodeType = {
78
250
  };
79
251
  var japanAddressType = {
80
252
  name: "JapaneseAddress",
81
- description: "Full Japanese address with postal code, prefecture ID, and street addresses",
253
+ description: "Full Japanese address with postal code, prefecture (string enum), and street addresses",
82
254
  compound: true,
83
255
  validFields: [],
84
256
  expand: [
85
257
  {
86
258
  suffix: "PostalCode",
87
259
  sql: { sqlType: "VARCHAR", length: 8 },
88
- typescript: { type: "string" }
260
+ typescript: { type: "string" },
261
+ rules: {
262
+ format: "postal_code",
263
+ minLength: 7,
264
+ maxLength: 8
265
+ },
266
+ label: {
267
+ en: "Postal Code",
268
+ ja: "\u90F5\u4FBF\u756A\u53F7",
269
+ vi: "M\xE3 b\u01B0u \u0111i\u1EC7n",
270
+ ko: "\uC6B0\uD3B8\uBC88\uD638",
271
+ "zh-CN": "\u90AE\u653F\u7F16\u7801",
272
+ "zh-TW": "\u90F5\u905E\u5340\u865F",
273
+ th: "\u0E23\u0E2B\u0E31\u0E2A\u0E44\u0E1B\u0E23\u0E29\u0E13\u0E35\u0E22\u0E4C",
274
+ es: "C\xF3digo Postal"
275
+ },
276
+ placeholder: {
277
+ en: "e.g. 123-4567",
278
+ ja: "\u4F8B\uFF1A123-4567",
279
+ vi: "VD: 123-4567",
280
+ ko: "\uC608: 123-4567",
281
+ "zh-CN": "\u4F8B\uFF1A123-4567",
282
+ "zh-TW": "\u4F8B\uFF1A123-4567",
283
+ th: "\u0E40\u0E0A\u0E48\u0E19 123-4567",
284
+ es: "ej. 123-4567"
285
+ }
89
286
  },
90
287
  {
91
- suffix: "PrefectureId",
92
- sql: { sqlType: "TINYINT", unsigned: true },
93
- typescript: { type: "number" }
288
+ suffix: "Prefecture",
289
+ enumRef: "Prefecture",
290
+ // String enum: tokyo, saitama, ...
291
+ rules: {
292
+ minLength: 1
293
+ // Required
294
+ },
295
+ label: {
296
+ en: "Prefecture",
297
+ ja: "\u90FD\u9053\u5E9C\u770C",
298
+ vi: "T\u1EC9nh/Th\xE0nh ph\u1ED1",
299
+ ko: "\uB3C4\uB3C4\uBD80\uD604",
300
+ "zh-CN": "\u90FD\u9053\u5E9C\u53BF",
301
+ "zh-TW": "\u90FD\u9053\u5E9C\u7E23",
302
+ th: "\u0E08\u0E31\u0E07\u0E2B\u0E27\u0E31\u0E14",
303
+ es: "Prefectura"
304
+ },
305
+ placeholder: {
306
+ en: "Select prefecture",
307
+ ja: "\u90FD\u9053\u5E9C\u770C\u3092\u9078\u629E",
308
+ vi: "Ch\u1ECDn t\u1EC9nh/th\xE0nh ph\u1ED1",
309
+ ko: "\uB3C4\uB3C4\uBD80\uD604 \uC120\uD0DD",
310
+ "zh-CN": "\u9009\u62E9\u90FD\u9053\u5E9C\u53BF",
311
+ "zh-TW": "\u9078\u64C7\u90FD\u9053\u5E9C\u7E23",
312
+ th: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E08\u0E31\u0E07\u0E2B\u0E27\u0E31\u0E14",
313
+ es: "Seleccionar prefectura"
314
+ }
94
315
  },
95
316
  {
96
317
  suffix: "Address1",
97
318
  sql: { sqlType: "VARCHAR", length: 255 },
98
- typescript: { type: "string" }
319
+ typescript: { type: "string" },
320
+ rules: {
321
+ minLength: 1,
322
+ // Required
323
+ maxLength: 255
324
+ },
325
+ label: {
326
+ en: "City/Ward",
327
+ ja: "\u5E02\u533A\u753A\u6751",
328
+ vi: "Th\xE0nh ph\u1ED1/Qu\u1EADn",
329
+ ko: "\uC2DC/\uAD6C/\uAD70",
330
+ "zh-CN": "\u5E02\u533A\u753A\u6751",
331
+ "zh-TW": "\u5E02\u5340\u753A\u6751",
332
+ th: "\u0E40\u0E21\u0E37\u0E2D\u0E07/\u0E40\u0E02\u0E15",
333
+ es: "Ciudad/Distrito"
334
+ },
335
+ placeholder: {
336
+ en: "e.g. Shibuya-ku",
337
+ ja: "\u4F8B\uFF1A\u6E0B\u8C37\u533A",
338
+ vi: "VD: Qu\u1EADn Shibuya",
339
+ ko: "\uC608: \uC2DC\uBD80\uC57C\uAD6C",
340
+ "zh-CN": "\u4F8B\uFF1A\u6DA9\u8C37\u533A",
341
+ "zh-TW": "\u4F8B\uFF1A\u6F80\u8C37\u5340",
342
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u0E0A\u0E34\u0E1A\u0E39\u0E22\u0E48\u0E32",
343
+ es: "ej. Shibuya-ku"
344
+ }
99
345
  },
100
346
  {
101
347
  suffix: "Address2",
102
348
  sql: { sqlType: "VARCHAR", length: 255 },
103
- typescript: { type: "string" }
349
+ typescript: { type: "string" },
350
+ rules: {
351
+ minLength: 1,
352
+ // Required
353
+ maxLength: 255
354
+ },
355
+ label: {
356
+ en: "Street Address",
357
+ ja: "\u756A\u5730",
358
+ vi: "\u0110\u1ECBa ch\u1EC9",
359
+ ko: "\uBC88\uC9C0",
360
+ "zh-CN": "\u8857\u9053\u5730\u5740",
361
+ "zh-TW": "\u8857\u9053\u5730\u5740",
362
+ th: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48",
363
+ es: "Direcci\xF3n"
364
+ },
365
+ placeholder: {
366
+ en: "e.g. 1-2-3 Dogenzaka",
367
+ ja: "\u4F8B\uFF1A\u9053\u7384\u57421-2-3",
368
+ vi: "VD: 1-2-3 Dogenzaka",
369
+ ko: "\uC608: \uB3C4\uAC90\uC790\uCE74 1-2-3",
370
+ "zh-CN": "\u4F8B\uFF1A\u9053\u7384\u57421-2-3",
371
+ "zh-TW": "\u4F8B\uFF1A\u9053\u7384\u57421-2-3",
372
+ th: "\u0E40\u0E0A\u0E48\u0E19 1-2-3 \u0E42\u0E14\u0E40\u0E01\u0E47\u0E19\u0E0B\u0E32\u0E01\u0E30",
373
+ es: "ej. 1-2-3 Dogenzaka"
374
+ }
104
375
  },
105
376
  {
106
377
  suffix: "Address3",
107
378
  sql: { sqlType: "VARCHAR", length: 255, nullable: true },
108
- typescript: { type: "string" }
379
+ typescript: { type: "string" },
380
+ rules: {
381
+ maxLength: 255
382
+ },
383
+ label: {
384
+ en: "Building/Room",
385
+ ja: "\u5EFA\u7269\u540D\u30FB\u90E8\u5C4B\u756A\u53F7",
386
+ vi: "T\xF2a nh\xE0/Ph\xF2ng",
387
+ ko: "\uAC74\uBB3C\uBA85/\uD638\uC2E4",
388
+ "zh-CN": "\u5EFA\u7B51/\u623F\u95F4",
389
+ "zh-TW": "\u5EFA\u7BC9/\u623F\u9593",
390
+ th: "\u0E2D\u0E32\u0E04\u0E32\u0E23/\u0E2B\u0E49\u0E2D\u0E07",
391
+ es: "Edificio/Habitaci\xF3n"
392
+ },
393
+ placeholder: {
394
+ en: "e.g. ABC Building 101 (optional)",
395
+ ja: "\u4F8B\uFF1AABC\u30D3\u30EB101\u53F7\u5BA4\uFF08\u4EFB\u610F\uFF09",
396
+ vi: "VD: T\xF2a ABC P.101 (t\xF9y ch\u1ECDn)",
397
+ ko: "\uC608: ABC\uBE4C\uB529 101\uD638 (\uC120\uD0DD)",
398
+ "zh-CN": "\u4F8B\uFF1AABC\u5927\u53A6101\u5BA4\uFF08\u53EF\u9009\uFF09",
399
+ "zh-TW": "\u4F8B\uFF1AABC\u5927\u5EC8101\u5BA4\uFF08\u53EF\u9078\uFF09",
400
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u0E2D\u0E32\u0E04\u0E32\u0E23 ABC 101 (\u0E44\u0E21\u0E48\u0E1A\u0E31\u0E07\u0E04\u0E31\u0E1A)",
401
+ es: "ej. Edificio ABC 101 (opcional)"
402
+ }
109
403
  }
110
404
  ],
111
405
  accessors: [
@@ -125,22 +419,122 @@ var japanNameType = {
125
419
  {
126
420
  suffix: "Lastname",
127
421
  sql: { sqlType: "VARCHAR", length: 50 },
128
- typescript: { type: "string" }
422
+ typescript: { type: "string" },
423
+ rules: {
424
+ minLength: 1,
425
+ // Required
426
+ maxLength: 50
427
+ },
428
+ label: {
429
+ en: "Last Name",
430
+ ja: "\u59D3",
431
+ vi: "H\u1ECD",
432
+ ko: "\uC131",
433
+ "zh-CN": "\u59D3",
434
+ "zh-TW": "\u59D3",
435
+ th: "\u0E19\u0E32\u0E21\u0E2A\u0E01\u0E38\u0E25",
436
+ es: "Apellido"
437
+ },
438
+ placeholder: {
439
+ en: "e.g. Yamada",
440
+ ja: "\u4F8B\uFF1A\u5C71\u7530",
441
+ vi: "VD: Nguy\u1EC5n",
442
+ ko: "\uC608: \uC57C\uB9C8\uB2E4",
443
+ "zh-CN": "\u4F8B\uFF1A\u5C71\u7530",
444
+ "zh-TW": "\u4F8B\uFF1A\u5C71\u7530",
445
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u0E22\u0E32\u0E21\u0E32\u0E14\u0E30",
446
+ es: "ej. Yamada"
447
+ }
129
448
  },
130
449
  {
131
450
  suffix: "Firstname",
132
451
  sql: { sqlType: "VARCHAR", length: 50 },
133
- typescript: { type: "string" }
452
+ typescript: { type: "string" },
453
+ rules: {
454
+ minLength: 1,
455
+ // Required
456
+ maxLength: 50
457
+ },
458
+ label: {
459
+ en: "First Name",
460
+ ja: "\u540D",
461
+ vi: "T\xEAn",
462
+ ko: "\uC774\uB984",
463
+ "zh-CN": "\u540D",
464
+ "zh-TW": "\u540D",
465
+ th: "\u0E0A\u0E37\u0E48\u0E2D",
466
+ es: "Nombre"
467
+ },
468
+ placeholder: {
469
+ en: "e.g. Taro",
470
+ ja: "\u4F8B\uFF1A\u592A\u90CE",
471
+ vi: "VD: V\u0103n A",
472
+ ko: "\uC608: \uD0C0\uB85C",
473
+ "zh-CN": "\u4F8B\uFF1A\u592A\u90CE",
474
+ "zh-TW": "\u4F8B\uFF1A\u592A\u90CE",
475
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u0E17\u0E32\u0E42\u0E23\u0E48",
476
+ es: "ej. Taro"
477
+ }
134
478
  },
135
479
  {
136
480
  suffix: "KanaLastname",
137
- sql: { sqlType: "VARCHAR", length: 100 },
138
- typescript: { type: "string" }
481
+ sql: { sqlType: "VARCHAR", length: 100, nullable: true },
482
+ typescript: { type: "string" },
483
+ rules: {
484
+ maxLength: 100,
485
+ pattern: "^[\u30A1-\u30F6\u30FC\u30FB\u3000]+$"
486
+ // Katakana only
487
+ },
488
+ label: {
489
+ en: "Last Name (Kana)",
490
+ ja: "\u59D3\uFF08\u30AB\u30CA\uFF09",
491
+ vi: "H\u1ECD (Kana)",
492
+ ko: "\uC131 (\uAC00\uB098)",
493
+ "zh-CN": "\u59D3\uFF08\u7247\u5047\u540D\uFF09",
494
+ "zh-TW": "\u59D3\uFF08\u7247\u5047\u540D\uFF09",
495
+ th: "\u0E19\u0E32\u0E21\u0E2A\u0E01\u0E38\u0E25 (\u0E04\u0E32\u0E19\u0E30)",
496
+ es: "Apellido (Kana)"
497
+ },
498
+ placeholder: {
499
+ en: "e.g. Yamada (Katakana)",
500
+ ja: "\u4F8B\uFF1A\u30E4\u30DE\u30C0",
501
+ vi: "VD: Yamada (Katakana)",
502
+ ko: "\uC608: \uC57C\uB9C8\uB2E4 (\uAC00\uD0C0\uCE74\uB098)",
503
+ "zh-CN": "\u4F8B\uFF1A\u30E4\u30DE\u30C0",
504
+ "zh-TW": "\u4F8B\uFF1A\u30E4\u30DE\u30C0",
505
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u30E4\u30DE\u30C0",
506
+ es: "ej. \u30E4\u30DE\u30C0"
507
+ }
139
508
  },
140
509
  {
141
510
  suffix: "KanaFirstname",
142
- sql: { sqlType: "VARCHAR", length: 100 },
143
- typescript: { type: "string" }
511
+ sql: { sqlType: "VARCHAR", length: 100, nullable: true },
512
+ typescript: { type: "string" },
513
+ rules: {
514
+ maxLength: 100,
515
+ pattern: "^[\u30A1-\u30F6\u30FC\u30FB\u3000]+$"
516
+ // Katakana only
517
+ },
518
+ label: {
519
+ en: "First Name (Kana)",
520
+ ja: "\u540D\uFF08\u30AB\u30CA\uFF09",
521
+ vi: "T\xEAn (Kana)",
522
+ ko: "\uC774\uB984 (\uAC00\uB098)",
523
+ "zh-CN": "\u540D\uFF08\u7247\u5047\u540D\uFF09",
524
+ "zh-TW": "\u540D\uFF08\u7247\u5047\u540D\uFF09",
525
+ th: "\u0E0A\u0E37\u0E48\u0E2D (\u0E04\u0E32\u0E19\u0E30)",
526
+ es: "Nombre (Kana)"
527
+ },
528
+ placeholder: {
529
+ en: "e.g. Taro (Katakana)",
530
+ ja: "\u4F8B\uFF1A\u30BF\u30ED\u30A6",
531
+ vi: "VD: Van A (Katakana)",
532
+ ko: "\uC608: \uD0C0\uB85C (\uAC00\uD0C0\uCE74\uB098)",
533
+ "zh-CN": "\u4F8B\uFF1A\u30BF\u30ED\u30A6",
534
+ "zh-TW": "\u4F8B\uFF1A\u30BF\u30ED\u30A6",
535
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u30BF\u30ED\u30A6",
536
+ es: "ej. \u30BF\u30ED\u30A6"
537
+ }
144
538
  }
145
539
  ],
146
540
  accessors: [
@@ -158,111 +552,246 @@ var japanNameType = {
158
552
  };
159
553
  var japanBankAccountType = {
160
554
  name: "JapaneseBankAccount",
161
- description: "Japanese bank account with bank/branch codes, type, number, and holder name",
555
+ description: "Japanese bank account with bank/branch codes and names, type, number, and holder name",
162
556
  compound: true,
163
557
  validFields: [],
164
558
  expand: [
165
559
  {
166
560
  suffix: "BankCode",
167
- sql: { sqlType: "VARCHAR", length: 4 },
168
- typescript: { type: "string" }
561
+ sql: { sqlType: "VARCHAR", length: 4, nullable: true },
562
+ typescript: { type: "string" },
563
+ rules: {
564
+ minLength: 4,
565
+ maxLength: 4,
566
+ pattern: "^[0-9]{4}$"
567
+ // 4 digits
568
+ },
569
+ label: {
570
+ en: "Bank Code",
571
+ ja: "\u9280\u884C\u30B3\u30FC\u30C9",
572
+ vi: "M\xE3 ng\xE2n h\xE0ng",
573
+ ko: "\uC740\uD589\uCF54\uB4DC",
574
+ "zh-CN": "\u94F6\u884C\u4EE3\u7801",
575
+ "zh-TW": "\u9280\u884C\u4EE3\u78BC",
576
+ th: "\u0E23\u0E2B\u0E31\u0E2A\u0E18\u0E19\u0E32\u0E04\u0E32\u0E23",
577
+ es: "C\xF3digo Bancario"
578
+ },
579
+ placeholder: {
580
+ en: "e.g. 0001",
581
+ ja: "\u4F8B\uFF1A0001",
582
+ vi: "VD: 0001",
583
+ ko: "\uC608: 0001",
584
+ "zh-CN": "\u4F8B\uFF1A0001",
585
+ "zh-TW": "\u4F8B\uFF1A0001",
586
+ th: "\u0E40\u0E0A\u0E48\u0E19 0001",
587
+ es: "ej. 0001"
588
+ }
589
+ },
590
+ {
591
+ suffix: "BankName",
592
+ sql: { sqlType: "VARCHAR", length: 100, nullable: true },
593
+ typescript: { type: "string" },
594
+ rules: {
595
+ maxLength: 100
596
+ },
597
+ label: {
598
+ en: "Bank Name",
599
+ ja: "\u9280\u884C\u540D",
600
+ vi: "T\xEAn ng\xE2n h\xE0ng",
601
+ ko: "\uC740\uD589\uBA85",
602
+ "zh-CN": "\u94F6\u884C\u540D\u79F0",
603
+ "zh-TW": "\u9280\u884C\u540D\u7A31",
604
+ th: "\u0E0A\u0E37\u0E48\u0E2D\u0E18\u0E19\u0E32\u0E04\u0E32\u0E23",
605
+ es: "Nombre del Banco"
606
+ },
607
+ placeholder: {
608
+ en: "e.g. MUFG Bank",
609
+ ja: "\u4F8B\uFF1A\u4E09\u83F1UFJ\u9280\u884C",
610
+ vi: "VD: Ng\xE2n h\xE0ng MUFG",
611
+ ko: "\uC608: \uBBF8\uC4F0\uBE44\uC2DCUFJ\uC740\uD589",
612
+ "zh-CN": "\u4F8B\uFF1A\u4E09\u83F1UFJ\u94F6\u884C",
613
+ "zh-TW": "\u4F8B\uFF1A\u4E09\u83F1UFJ\u9280\u884C",
614
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u0E18\u0E19\u0E32\u0E04\u0E32\u0E23 MUFG",
615
+ es: "ej. Banco MUFG"
616
+ }
169
617
  },
170
618
  {
171
619
  suffix: "BranchCode",
172
- sql: { sqlType: "VARCHAR", length: 3 },
173
- typescript: { type: "string" }
620
+ sql: { sqlType: "VARCHAR", length: 3, nullable: true },
621
+ typescript: { type: "string" },
622
+ rules: {
623
+ minLength: 3,
624
+ maxLength: 3,
625
+ pattern: "^[0-9]{3}$"
626
+ // 3 digits
627
+ },
628
+ label: {
629
+ en: "Branch Code",
630
+ ja: "\u652F\u5E97\u30B3\u30FC\u30C9",
631
+ vi: "M\xE3 chi nh\xE1nh",
632
+ ko: "\uC9C0\uC810\uCF54\uB4DC",
633
+ "zh-CN": "\u652F\u884C\u4EE3\u7801",
634
+ "zh-TW": "\u5206\u884C\u4EE3\u78BC",
635
+ th: "\u0E23\u0E2B\u0E31\u0E2A\u0E2A\u0E32\u0E02\u0E32",
636
+ es: "C\xF3digo de Sucursal"
637
+ },
638
+ placeholder: {
639
+ en: "e.g. 001",
640
+ ja: "\u4F8B\uFF1A001",
641
+ vi: "VD: 001",
642
+ ko: "\uC608: 001",
643
+ "zh-CN": "\u4F8B\uFF1A001",
644
+ "zh-TW": "\u4F8B\uFF1A001",
645
+ th: "\u0E40\u0E0A\u0E48\u0E19 001",
646
+ es: "ej. 001"
647
+ }
648
+ },
649
+ {
650
+ suffix: "BranchName",
651
+ sql: { sqlType: "VARCHAR", length: 100, nullable: true },
652
+ typescript: { type: "string" },
653
+ rules: {
654
+ maxLength: 100
655
+ },
656
+ label: {
657
+ en: "Branch Name",
658
+ ja: "\u652F\u5E97\u540D",
659
+ vi: "T\xEAn chi nh\xE1nh",
660
+ ko: "\uC9C0\uC810\uBA85",
661
+ "zh-CN": "\u652F\u884C\u540D\u79F0",
662
+ "zh-TW": "\u5206\u884C\u540D\u7A31",
663
+ th: "\u0E0A\u0E37\u0E48\u0E2D\u0E2A\u0E32\u0E02\u0E32",
664
+ es: "Nombre de Sucursal"
665
+ },
666
+ placeholder: {
667
+ en: "e.g. Shibuya Branch",
668
+ ja: "\u4F8B\uFF1A\u6E0B\u8C37\u652F\u5E97",
669
+ vi: "VD: Chi nh\xE1nh Shibuya",
670
+ ko: "\uC608: \uC2DC\uBD80\uC57C\uC9C0\uC810",
671
+ "zh-CN": "\u4F8B\uFF1A\u6DA9\u8C37\u652F\u884C",
672
+ "zh-TW": "\u4F8B\uFF1A\u6F80\u8C37\u5206\u884C",
673
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u0E2A\u0E32\u0E02\u0E32\u0E0A\u0E34\u0E1A\u0E39\u0E22\u0E48\u0E32",
674
+ es: "ej. Sucursal Shibuya"
675
+ }
174
676
  },
175
677
  {
176
678
  suffix: "AccountType",
177
- enumRef: "BankAccountType"
679
+ sql: { sqlType: "VARCHAR", length: 1, nullable: true },
680
+ enumRef: "BankAccountType",
178
681
  // 普通/当座/貯蓄
682
+ label: {
683
+ en: "Account Type",
684
+ ja: "\u53E3\u5EA7\u7A2E\u5225",
685
+ vi: "Lo\u1EA1i t\xE0i kho\u1EA3n",
686
+ ko: "\uACC4\uC88C\uC885\uB958",
687
+ "zh-CN": "\u8D26\u6237\u7C7B\u578B",
688
+ "zh-TW": "\u5E33\u6236\u985E\u578B",
689
+ th: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E1A\u0E31\u0E0D\u0E0A\u0E35",
690
+ es: "Tipo de Cuenta"
691
+ },
692
+ placeholder: {
693
+ en: "Select account type",
694
+ ja: "\u53E3\u5EA7\u7A2E\u5225\u3092\u9078\u629E",
695
+ vi: "Ch\u1ECDn lo\u1EA1i t\xE0i kho\u1EA3n",
696
+ ko: "\uACC4\uC88C\uC885\uB958 \uC120\uD0DD",
697
+ "zh-CN": "\u9009\u62E9\u8D26\u6237\u7C7B\u578B",
698
+ "zh-TW": "\u9078\u64C7\u5E33\u6236\u985E\u578B",
699
+ th: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E1A\u0E31\u0E0D\u0E0A\u0E35",
700
+ es: "Seleccionar tipo de cuenta"
701
+ }
179
702
  },
180
703
  {
181
704
  suffix: "AccountNumber",
182
- sql: { sqlType: "VARCHAR", length: 7 },
183
- typescript: { type: "string" }
705
+ sql: { sqlType: "VARCHAR", length: 7, nullable: true },
706
+ typescript: { type: "string" },
707
+ rules: {
708
+ minLength: 7,
709
+ maxLength: 7,
710
+ pattern: "^[0-9]{7}$"
711
+ // 7 digits
712
+ },
713
+ label: {
714
+ en: "Account Number",
715
+ ja: "\u53E3\u5EA7\u756A\u53F7",
716
+ vi: "S\u1ED1 t\xE0i kho\u1EA3n",
717
+ ko: "\uACC4\uC88C\uBC88\uD638",
718
+ "zh-CN": "\u8D26\u6237\u53F7\u7801",
719
+ "zh-TW": "\u5E33\u6236\u865F\u78BC",
720
+ th: "\u0E40\u0E25\u0E02\u0E1A\u0E31\u0E0D\u0E0A\u0E35",
721
+ es: "N\xFAmero de Cuenta"
722
+ },
723
+ placeholder: {
724
+ en: "e.g. 1234567",
725
+ ja: "\u4F8B\uFF1A1234567",
726
+ vi: "VD: 1234567",
727
+ ko: "\uC608: 1234567",
728
+ "zh-CN": "\u4F8B\uFF1A1234567",
729
+ "zh-TW": "\u4F8B\uFF1A1234567",
730
+ th: "\u0E40\u0E0A\u0E48\u0E19 1234567",
731
+ es: "ej. 1234567"
732
+ }
184
733
  },
185
734
  {
186
735
  suffix: "AccountHolder",
187
- sql: { sqlType: "VARCHAR", length: 100 },
188
- typescript: { type: "string" }
736
+ sql: { sqlType: "VARCHAR", length: 100, nullable: true },
737
+ typescript: { type: "string" },
738
+ rules: {
739
+ maxLength: 100,
740
+ pattern: "^[\u30A1-\u30F6\u30FC\u30FB\u3000\\s]+$"
741
+ // Katakana + space
742
+ },
743
+ label: {
744
+ en: "Account Holder",
745
+ ja: "\u53E3\u5EA7\u540D\u7FA9",
746
+ vi: "T\xEAn ch\u1EE7 t\xE0i kho\u1EA3n",
747
+ ko: "\uC608\uAE08\uC8FC",
748
+ "zh-CN": "\u8D26\u6237\u6301\u6709\u4EBA",
749
+ "zh-TW": "\u5E33\u6236\u6301\u6709\u4EBA",
750
+ th: "\u0E0A\u0E37\u0E48\u0E2D\u0E40\u0E08\u0E49\u0E32\u0E02\u0E2D\u0E07\u0E1A\u0E31\u0E0D\u0E0A\u0E35",
751
+ es: "Titular de la Cuenta"
752
+ },
753
+ placeholder: {
754
+ en: "e.g. Yamada Taro (Katakana)",
755
+ ja: "\u4F8B\uFF1A\u30E4\u30DE\u30C0 \u30BF\u30ED\u30A6",
756
+ vi: "VD: Yamada Taro (Katakana)",
757
+ ko: "\uC608: \uC57C\uB9C8\uB2E4 \uD0C0\uB85C (\uAC00\uD0C0\uCE74\uB098)",
758
+ "zh-CN": "\u4F8B\uFF1A\u30E4\u30DE\u30C0 \u30BF\u30ED\u30A6",
759
+ "zh-TW": "\u4F8B\uFF1A\u30E4\u30DE\u30C0 \u30BF\u30ED\u30A6",
760
+ th: "\u0E40\u0E0A\u0E48\u0E19 \u30E4\u30DE\u30C0 \u30BF\u30ED\u30A6",
761
+ es: "ej. \u30E4\u30DE\u30C0 \u30BF\u30ED\u30A6"
762
+ }
189
763
  }
190
764
  ]
191
765
  };
192
766
  var bankAccountTypeEnum = {
193
767
  name: "BankAccountType",
194
- displayName: "\u53E3\u5EA7\u7A2E\u5225",
768
+ displayName: enumDisplayNames.BankAccountType,
195
769
  description: "Japanese bank account types (Zengin system codes)",
196
770
  values: [
197
- { value: "1", label: "\u666E\u901A" },
198
- // Ordinary savings
199
- { value: "2", label: "\u5F53\u5EA7" },
200
- // Checking
201
- { value: "4", label: "\u8CAF\u84C4" }
202
- // Savings
771
+ { value: "1", label: bankAccountTypeLabels["1"] },
772
+ { value: "2", label: bankAccountTypeLabels["2"] },
773
+ { value: "4", label: bankAccountTypeLabels["4"] }
203
774
  ]
204
775
  };
205
776
  var prefectureEnum = {
206
777
  name: "Prefecture",
207
- displayName: "\u90FD\u9053\u5E9C\u770C",
208
- description: "Japanese prefectures (JIS X 0401 codes)",
209
- values: [
210
- // 北海道地方
211
- { value: "1", label: "\u5317\u6D77\u9053", extra: { area: "hokkaido" } },
212
- // 東北地方
213
- { value: "2", label: "\u9752\u68EE\u770C", extra: { area: "tohoku" } },
214
- { value: "3", label: "\u5CA9\u624B\u770C", extra: { area: "tohoku" } },
215
- { value: "4", label: "\u5BAE\u57CE\u770C", extra: { area: "tohoku" } },
216
- { value: "5", label: "\u79CB\u7530\u770C", extra: { area: "tohoku" } },
217
- { value: "6", label: "\u5C71\u5F62\u770C", extra: { area: "tohoku" } },
218
- { value: "7", label: "\u798F\u5CF6\u770C", extra: { area: "tohoku" } },
219
- // 関東地方
220
- { value: "8", label: "\u8328\u57CE\u770C", extra: { area: "kanto" } },
221
- { value: "9", label: "\u6803\u6728\u770C", extra: { area: "kanto" } },
222
- { value: "10", label: "\u7FA4\u99AC\u770C", extra: { area: "kanto" } },
223
- { value: "11", label: "\u57FC\u7389\u770C", extra: { area: "kanto" } },
224
- { value: "12", label: "\u5343\u8449\u770C", extra: { area: "kanto" } },
225
- { value: "13", label: "\u6771\u4EAC\u90FD", extra: { area: "kanto" } },
226
- { value: "14", label: "\u795E\u5948\u5DDD\u770C", extra: { area: "kanto" } },
227
- // 中部地方
228
- { value: "15", label: "\u65B0\u6F5F\u770C", extra: { area: "chubu" } },
229
- { value: "16", label: "\u5BCC\u5C71\u770C", extra: { area: "chubu" } },
230
- { value: "17", label: "\u77F3\u5DDD\u770C", extra: { area: "chubu" } },
231
- { value: "18", label: "\u798F\u4E95\u770C", extra: { area: "chubu" } },
232
- { value: "19", label: "\u5C71\u68A8\u770C", extra: { area: "chubu" } },
233
- { value: "20", label: "\u9577\u91CE\u770C", extra: { area: "chubu" } },
234
- { value: "21", label: "\u5C90\u961C\u770C", extra: { area: "chubu" } },
235
- { value: "22", label: "\u9759\u5CA1\u770C", extra: { area: "chubu" } },
236
- { value: "23", label: "\u611B\u77E5\u770C", extra: { area: "chubu" } },
237
- // 近畿地方
238
- { value: "24", label: "\u4E09\u91CD\u770C", extra: { area: "kinki" } },
239
- { value: "25", label: "\u6ECB\u8CC0\u770C", extra: { area: "kinki" } },
240
- { value: "26", label: "\u4EAC\u90FD\u5E9C", extra: { area: "kinki" } },
241
- { value: "27", label: "\u5927\u962A\u5E9C", extra: { area: "kinki" } },
242
- { value: "28", label: "\u5175\u5EAB\u770C", extra: { area: "kinki" } },
243
- { value: "29", label: "\u5948\u826F\u770C", extra: { area: "kinki" } },
244
- { value: "30", label: "\u548C\u6B4C\u5C71\u770C", extra: { area: "kinki" } },
245
- // 中国地方
246
- { value: "31", label: "\u9CE5\u53D6\u770C", extra: { area: "chugoku" } },
247
- { value: "32", label: "\u5CF6\u6839\u770C", extra: { area: "chugoku" } },
248
- { value: "33", label: "\u5CA1\u5C71\u770C", extra: { area: "chugoku" } },
249
- { value: "34", label: "\u5E83\u5CF6\u770C", extra: { area: "chugoku" } },
250
- { value: "35", label: "\u5C71\u53E3\u770C", extra: { area: "chugoku" } },
251
- // 四国地方
252
- { value: "36", label: "\u5FB3\u5CF6\u770C", extra: { area: "shikoku" } },
253
- { value: "37", label: "\u9999\u5DDD\u770C", extra: { area: "shikoku" } },
254
- { value: "38", label: "\u611B\u5A9B\u770C", extra: { area: "shikoku" } },
255
- { value: "39", label: "\u9AD8\u77E5\u770C", extra: { area: "shikoku" } },
256
- // 九州・沖縄地方
257
- { value: "40", label: "\u798F\u5CA1\u770C", extra: { area: "kyushu" } },
258
- { value: "41", label: "\u4F50\u8CC0\u770C", extra: { area: "kyushu" } },
259
- { value: "42", label: "\u9577\u5D0E\u770C", extra: { area: "kyushu" } },
260
- { value: "43", label: "\u718A\u672C\u770C", extra: { area: "kyushu" } },
261
- { value: "44", label: "\u5927\u5206\u770C", extra: { area: "kyushu" } },
262
- { value: "45", label: "\u5BAE\u5D0E\u770C", extra: { area: "kyushu" } },
263
- { value: "46", label: "\u9E7F\u5150\u5CF6\u770C", extra: { area: "kyushu" } },
264
- { value: "47", label: "\u6C96\u7E04\u770C", extra: { area: "kyushu" } }
265
- ]
778
+ displayName: enumDisplayNames.Prefecture,
779
+ description: "Japanese prefectures (string enum)",
780
+ values: PREFECTURE_KEYS.map((key, index) => ({
781
+ value: key,
782
+ label: prefectureLabels[key],
783
+ extra: { area: PREFECTURE_AREAS[key], code: index + 1 }
784
+ }))
785
+ };
786
+ var prefectureCodeEnum = {
787
+ name: "PrefectureCode",
788
+ displayName: enumDisplayNames.PrefectureCode,
789
+ description: "Japanese prefectures (JIS X 0401 numeric codes)",
790
+ values: PREFECTURE_KEYS.map((key, index) => ({
791
+ value: String(index + 1),
792
+ label: prefectureLabels[key],
793
+ extra: { area: PREFECTURE_AREAS[key] }
794
+ }))
266
795
  };
267
796
  var japanTypesPlugin = {
268
797
  name: "@famgia/omnify-japan",
@@ -274,7 +803,7 @@ var japanTypesPlugin = {
274
803
  japanNameType,
275
804
  japanBankAccountType
276
805
  ],
277
- enums: [bankAccountTypeEnum, prefectureEnum],
806
+ enums: [bankAccountTypeEnum, prefectureEnum, prefectureCodeEnum],
278
807
  setup: (context) => {
279
808
  context.logger.debug("Japan types plugin loaded");
280
809
  }
@@ -282,7 +811,16 @@ var japanTypesPlugin = {
282
811
  var index_default = japanTypesPlugin;
283
812
  export {
284
813
  PREFECTURES,
814
+ PREFECTURE_AREAS,
815
+ PREFECTURE_KEYS,
816
+ PREFECTURE_LABELS,
817
+ bankAccountTypeLabels,
285
818
  index_default as default,
286
- japanTypesPlugin
819
+ enumDisplayNames,
820
+ fieldLabels,
821
+ japanTypesPlugin,
822
+ placeholders,
823
+ prefectureAreaLabels,
824
+ prefectureLabels
287
825
  };
288
826
  //# sourceMappingURL=index.js.map