Skip to content

Commit 698fd7d

Browse files
authored
feat(locale): add en_HK locale (#2083)
1 parent 76c3080 commit 698fd7d

31 files changed

+530
-12
lines changed

docs/guide/localization.md

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ In this example there are 5 locales. Each of these is checked in order, and the
9191
| `en_CA` | English (Canada) | `fakerEN_CA` |
9292
| `en_GB` | English (Great Britain) | `fakerEN_GB` |
9393
| `en_GH` | English (Ghana) | `fakerEN_GH` |
94+
| `en_HK` | English (Hong Kong) | `fakerEN_HK` |
9495
| `en_IE` | English (Ireland) | `fakerEN_IE` |
9596
| `en_IN` | English (India) | `fakerEN_IN` |
9697
| `en_NG` | English (Nigeria) | `fakerEN_NG` |

docs/guide/upgrading.md

+4-12
Original file line numberDiff line numberDiff line change
@@ -123,20 +123,12 @@ fakerES.music.songName(); // 'I Want to Hold Your Hand' (fallback from en)
123123
fakerES_noFallbacks.music.songName(); // throws a FakerError
124124
```
125125

126-
This also has an impact on data that aren't applicable to a locale, for example Chinese doesn't use prefixes in names.
126+
This also has an impact on data that aren't applicable to a locale, for example Hong Kong (`en_HK`) doesn't use ZIP codes/postcodes.
127127

128128
```ts
129-
import { faker, fakerZH_CN, zh_CN } from '@faker-js/faker';
130-
131-
const fakerZH_CN_noFallbacks = new Faker({
132-
locale: [zh_CN],
133-
});
134-
135-
faker.name.prefix(); // 'Mr'
136-
// Previously:
137-
//fakerZH_CN_noFallbacks.person.prefix(); // undefined
138-
// Now:
139-
fakerZH_CN.person.prefix(); // throws a FakerError
129+
import { fakerEN_US, fakerEN_HK } from '@faker-js/faker';
130+
fakerEN_US.location.zipCode(); // 90210
131+
fakerEN_HK.location.zipCode(); // throws a FakerError
140132
```
141133

142134
### `faker.mersenne` and `faker.helpers.repeatString` removed

src/locale/en_HK.ts

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*
2+
* This file is automatically generated.
3+
* Run 'pnpm run generate:locales' to update.
4+
*/
5+
6+
import { Faker } from '../faker';
7+
import base from '../locales/base';
8+
import en from '../locales/en';
9+
import en_HK from '../locales/en_HK';
10+
11+
export const faker = new Faker({
12+
locale: [en_HK, en, base],
13+
});

src/locale/index.ts

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { faker as fakerEN_BORK } from './en_BORK';
2020
import { faker as fakerEN_CA } from './en_CA';
2121
import { faker as fakerEN_GB } from './en_GB';
2222
import { faker as fakerEN_GH } from './en_GH';
23+
import { faker as fakerEN_HK } from './en_HK';
2324
import { faker as fakerEN_IE } from './en_IE';
2425
import { faker as fakerEN_IN } from './en_IN';
2526
import { faker as fakerEN_NG } from './en_NG';
@@ -84,6 +85,7 @@ export {
8485
fakerEN_CA,
8586
fakerEN_GB,
8687
fakerEN_GH,
88+
fakerEN_HK,
8789
fakerEN_IE,
8890
fakerEN_IN,
8991
fakerEN_NG,
@@ -149,6 +151,7 @@ export const allFakers = {
149151
en_CA: fakerEN_CA,
150152
en_GB: fakerEN_GB,
151153
en_GH: fakerEN_GH,
154+
en_HK: fakerEN_HK,
152155
en_IE: fakerEN_IE,
153156
en_IN: fakerEN_IN,
154157
en_NG: fakerEN_NG,

src/locales/en_HK/company/index.ts

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* This file is automatically generated.
3+
* Run 'pnpm run generate:locales' to update.
4+
*/
5+
import type { CompanyDefinitions } from '../../..';
6+
import suffix from './suffix';
7+
8+
const company: CompanyDefinitions = {
9+
suffix,
10+
};
11+
12+
export default company;

src/locales/en_HK/company/suffix.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default ['Ltd.', 'Co. Ltd.'];

src/locales/en_HK/index.ts

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* This file is automatically generated.
3+
* Run 'pnpm run generate:locales' to update.
4+
*/
5+
import type { LocaleDefinition } from '../..';
6+
import company from './company';
7+
import internet from './internet';
8+
import location from './location';
9+
import metadata from './metadata';
10+
import person from './person';
11+
import phone_number from './phone_number';
12+
13+
const en_HK: LocaleDefinition = {
14+
company,
15+
internet,
16+
location,
17+
metadata,
18+
person,
19+
phone_number,
20+
};
21+
22+
export default en_HK;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default ['com', 'hk', 'com.hk', 'org.hk'];

src/locales/en_HK/internet/index.ts

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* This file is automatically generated.
3+
* Run 'pnpm run generate:locales' to update.
4+
*/
5+
import type { InternetDefinitions } from '../../..';
6+
import domain_suffix from './domain_suffix';
7+
8+
const internet: InternetDefinitions = {
9+
domain_suffix,
10+
};
11+
12+
export default internet;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default ['###', '##', '#'];

src/locales/en_HK/location/city.ts

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
export default [
2+
'Aberdeen',
3+
'Ap Lei Chau',
4+
'Causeway Bay',
5+
'Chai Wan',
6+
'Cheung Chau',
7+
'Cheung Fat',
8+
'Cheung Sha Wan',
9+
'Choi Hung Chuen',
10+
'Choi Ming',
11+
'Chuk Yuen',
12+
'Cyberport',
13+
'Discovery Bay',
14+
'Fairview Park',
15+
'Fanling',
16+
'Fo Tan',
17+
'Fu Shan',
18+
'Fu Shin',
19+
'Fu Tai',
20+
'Happy Valley',
21+
'Heng Fa Chuen',
22+
'Heng On',
23+
'Hin Keng',
24+
'Ho Man Tin',
25+
'Hung Hom Bay',
26+
'Kam Tai',
27+
'Kam Tin',
28+
'Kennedy Town',
29+
'Kowloon',
30+
'Kowloon Bay',
31+
'Kowloon Central',
32+
'Kowloon City',
33+
'Kowloon East',
34+
'Kwai Chung',
35+
'Kwai Fong',
36+
'Kwai Shing',
37+
'Kwong Yuen',
38+
'Kwun Tong',
39+
'Lai King',
40+
'Lai Kok',
41+
'Lam Tin',
42+
'Lamma',
43+
'Lee On',
44+
'Lei Muk Shue',
45+
'Lei Tung',
46+
'Leung King',
47+
'Lok Fu',
48+
'Ma On Shan',
49+
'Mei Foo Sun Chuen',
50+
'Mei Lam',
51+
'Mong Kok',
52+
'Mui Wo',
53+
'Ngau Chi Wan',
54+
'Ngau Tau Kok',
55+
'Oi Man',
56+
'Peak',
57+
'Peng Chau',
58+
'Po Lam',
59+
'Pok Fu Lam',
60+
'Repulse Bay',
61+
'Sai Kung',
62+
'Sai Ying Pun',
63+
'San Tin',
64+
'Sau Mau Ping',
65+
'Sha Kok',
66+
'Sha Tau Kok',
67+
'Sha Tin',
68+
'Sham Shui Po',
69+
'Shau Kei Wan',
70+
'Shek Kip Mei',
71+
'Shek Lei',
72+
'Shek Wai Kok',
73+
'Shek Wu Hui',
74+
'Sheung Tak',
75+
'Sheung Wan',
76+
'Shun Lee',
77+
'Siu Sai Wan',
78+
'So Uk',
79+
'Stanley',
80+
'Sun Chui',
81+
'Tai Hing',
82+
'Tai Kok Tsui',
83+
'Tai Koo Shing',
84+
'Tai O',
85+
'Tai Po',
86+
'Tin Yiu',
87+
'Tin Yuet',
88+
'To Kwa Wan',
89+
'Tsat Tsz Mui',
90+
'Tseung Kwan O',
91+
'Tsim Sha Tsui',
92+
'Tsing Yi',
93+
'Tsuen Wan',
94+
'Tsz Wan Shan',
95+
'Tuen Mun',
96+
'Tung Chung',
97+
'Wah Fu',
98+
'Wah Ming',
99+
'Wan Chai',
100+
'Wan Tau Tong',
101+
'Wo Che',
102+
'Wong Tai Sin',
103+
'Yau Tong',
104+
'Yau Yat Tsuen',
105+
'Yuen Long',
106+
];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default ['Hong Kong'];

src/locales/en_HK/location/index.ts

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* This file is automatically generated.
3+
* Run 'pnpm run generate:locales' to update.
4+
*/
5+
import type { LocationDefinitions } from '../../..';
6+
import building_number from './building_number';
7+
import city from './city';
8+
import default_country from './default_country';
9+
import postcode from './postcode';
10+
import postcode_by_state from './postcode_by_state';
11+
import state from './state';
12+
import state_abbr from './state_abbr';
13+
import street_cantonese_part from './street_cantonese_part';
14+
import street_english_part from './street_english_part';
15+
import street_pattern from './street_pattern';
16+
import street_prefix from './street_prefix';
17+
import street_suffix from './street_suffix';
18+
19+
const location: LocationDefinitions = {
20+
building_number,
21+
city,
22+
default_country,
23+
postcode,
24+
postcode_by_state,
25+
state,
26+
state_abbr,
27+
street_cantonese_part,
28+
street_english_part,
29+
street_pattern,
30+
street_prefix,
31+
street_suffix,
32+
};
33+
34+
export default location;
+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// https://www.hongkongpost.hk/en/about_us/tips/postcode/index.html
2+
export default null;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// https://www.hongkongpost.hk/en/about_us/tips/postcode/index.html
2+
export default null;

src/locales/en_HK/location/state.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default ['Hong Kong Island', 'Kowloon', 'New Territories'];
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default ['HK', 'KLN', 'NT'];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
export default [
2+
'Wan',
3+
'On',
4+
'Tai',
5+
'Man',
6+
'Fung',
7+
'Cheung',
8+
'Tung',
9+
'Hing',
10+
'Po',
11+
'Wah',
12+
'Tak',
13+
'Shing',
14+
'Lung',
15+
'Yuen',
16+
'Wing',
17+
'Hong',
18+
'Yip',
19+
'King',
20+
'Kwong',
21+
'Hoi',
22+
'Ming',
23+
'Wa',
24+
'Lok',
25+
'Yan',
26+
'Wai',
27+
'Chi',
28+
'Fuk',
29+
'Lai',
30+
'Lee',
31+
'Fu',
32+
'Tin',
33+
'Kai',
34+
'Sai',
35+
'Shun',
36+
'Ping',
37+
'Yee',
38+
'Wo',
39+
'Chung',
40+
'Hang',
41+
'Ning',
42+
'Wong',
43+
'Yue',
44+
'Choi',
45+
'Wang',
46+
'Ching',
47+
'Sau',
48+
'Shan',
49+
'Tsui',
50+
'Tau',
51+
'Sheung',
52+
'Lam',
53+
'Fat',
54+
'Hung',
55+
'Chuk',
56+
'Shek',
57+
'Kok',
58+
'Cheong',
59+
'Fong',
60+
'Nam',
61+
'Lei',
62+
'Yu',
63+
'Mei',
64+
'Pak',
65+
'Fai',
66+
'Kwai',
67+
'Sing',
68+
'Kung',
69+
'Chau',
70+
'Tong',
71+
'San',
72+
'Chiu',
73+
'Chun',
74+
'Yin',
75+
'Yuk',
76+
'Ting',
77+
'Kam',
78+
'Lun',
79+
'Oi',
80+
];

0 commit comments

Comments
 (0)