Skip to content

Commit abdf886

Browse files
committed
Auto sorting of locale files
1 parent e36c1b9 commit abdf886

File tree

5 files changed

+100
-59
lines changed

5 files changed

+100
-59
lines changed

docker/dev/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ENV SUPPRESS_NO_CONFIG_WARNING=1 \
1515

1616
RUN echo "fs.file-max = 65535" > /etc/sysctl.conf \
1717
&& apt-get update \
18-
&& apt-get install -y jq python3-pip logrotate \
18+
&& apt-get install -y jq python3-pip logrotate moreutils \
1919
&& apt-get clean \
2020
&& rm -rf /var/lib/apt/lists/*
2121

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
set -e -o pipefail
3+
4+
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5+
cd "$DIR/../src" || exit 1
6+
7+
if ! command -v jq &> /dev/null; then
8+
echo "jq could not be found, please install it to sort JSON files."
9+
exit 1
10+
fi
11+
12+
# iterate over all json files in the current directory
13+
for file in *.json; do
14+
if [[ -f "$file" ]]; then
15+
if [[ ! -s "$file" ]]; then
16+
echo "Skipping empty file $file"
17+
continue
18+
fi
19+
20+
if [ "$file" == "lang-list.json" ]; then
21+
continue
22+
fi
23+
24+
# get content of file before sorting
25+
original_content=$(<"$file")
26+
# compare with sorted content
27+
sorted_content=$(jq --tab --sort-keys . "$file")
28+
if [ "$original_content" == "$sorted_content" ]; then
29+
echo "$file is already sorted"
30+
continue
31+
fi
32+
33+
echo "Sorting $file"
34+
jq --tab --sort-keys . "$file" | sponge "$file"
35+
fi
36+
done

frontend/src/locale/src/en.json

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"access.actions-title": {
3-
"defaultMessage": "Access List #{id}"
4-
},
52
"access.access-count": {
63
"defaultMessage": "{count} Rules"
74
},
5+
"access.actions-title": {
6+
"defaultMessage": "Access List #{id}"
7+
},
88
"access.add": {
99
"defaultMessage": "Add Access List"
1010
},
@@ -29,21 +29,21 @@
2929
"action.disable": {
3030
"defaultMessage": "Disable"
3131
},
32-
"action.enable": {
33-
"defaultMessage": "Enable"
34-
},
3532
"action.edit": {
3633
"defaultMessage": "Edit"
3734
},
35+
"action.enable": {
36+
"defaultMessage": "Enable"
37+
},
3838
"action.permissions": {
3939
"defaultMessage": "Permissions"
4040
},
41-
"auditlog.title": {
42-
"defaultMessage": "Audit Log"
43-
},
4441
"action.view-details": {
4542
"defaultMessage": "View Details"
4643
},
44+
"auditlog.title": {
45+
"defaultMessage": "Audit Log"
46+
},
4747
"cancel": {
4848
"defaultMessage": "Cancel"
4949
},
@@ -65,9 +65,6 @@
6565
"close": {
6666
"defaultMessage": "Close"
6767
},
68-
"created-on": {
69-
"defaultMessage": "Created: {date}"
70-
},
7168
"column.access": {
7269
"defaultMessage": "Access"
7370
},
@@ -113,30 +110,21 @@
113110
"column.scheme": {
114111
"defaultMessage": "Scheme"
115112
},
116-
"column.status": {
117-
"defaultMessage": "Status"
113+
"column.source": {
114+
"defaultMessage": "Source"
118115
},
119116
"column.ssl": {
120117
"defaultMessage": "SSL"
121118
},
122-
"column.source": {
123-
"defaultMessage": "Source"
119+
"column.status": {
120+
"defaultMessage": "Status"
121+
},
122+
"created-on": {
123+
"defaultMessage": "Created: {date}"
124124
},
125125
"dashboard.title": {
126126
"defaultMessage": "Dashboard"
127127
},
128-
"dead-hosts.actions-title": {
129-
"defaultMessage": "404 Host #{id}"
130-
},
131-
"dead-hosts.add": {
132-
"defaultMessage": "Add 404 Host"
133-
},
134-
"dead-hosts.count": {
135-
"defaultMessage": "{count} 404 Hosts"
136-
},
137-
"dead-hosts.empty": {
138-
"defaultMessage": "There are no 404 Hosts"
139-
},
140128
"dead-host.delete.content": {
141129
"defaultMessage": "Are you sure you want to delete this 404 host?"
142130
},
@@ -149,6 +137,18 @@
149137
"dead-host.new": {
150138
"defaultMessage": "New 404 Host"
151139
},
140+
"dead-hosts.actions-title": {
141+
"defaultMessage": "404 Host #{id}"
142+
},
143+
"dead-hosts.add": {
144+
"defaultMessage": "Add 404 Host"
145+
},
146+
"dead-hosts.count": {
147+
"defaultMessage": "{count} 404 Hosts"
148+
},
149+
"dead-hosts.empty": {
150+
"defaultMessage": "There are no 404 Hosts"
151+
},
152152
"dead-hosts.title": {
153153
"defaultMessage": "404 Hosts"
154154
},
@@ -191,12 +191,12 @@
191191
"empty-search": {
192192
"defaultMessage": "No results found"
193193
},
194+
"empty-subtitle": {
195+
"defaultMessage": "Why don't you create one?"
196+
},
194197
"enabled": {
195198
"defaultMessage": "Enabled"
196199
},
197-
"error.passwords-must-match": {
198-
"defaultMessage": "Passwords must match"
199-
},
200200
"error.invalid-auth": {
201201
"defaultMessage": "Invalid email or password"
202202
},
@@ -209,6 +209,9 @@
209209
"error.max-domains": {
210210
"defaultMessage": "Too many domains, max is {max}"
211211
},
212+
"error.passwords-must-match": {
213+
"defaultMessage": "Passwords must match"
214+
},
212215
"error.required": {
213216
"defaultMessage": "This is required"
214217
},
@@ -218,15 +221,6 @@
218221
"event.created-redirection-host": {
219222
"defaultMessage": "Created Redirection Host"
220223
},
221-
"event.updated-redirection-host": {
222-
"defaultMessage": "Updated Redirection Host"
223-
},
224-
"event.enabled-redirection-host": {
225-
"defaultMessage": "Enabled Redirection Host"
226-
},
227-
"event.disabled-redirection-host": {
228-
"defaultMessage": "Disabled Redirection Host"
229-
},
230224
"event.created-stream": {
231225
"defaultMessage": "Created Stream"
232226
},
@@ -245,27 +239,30 @@
245239
"event.disabled-dead-host": {
246240
"defaultMessage": "Disabled 404 Host"
247241
},
242+
"event.disabled-redirection-host": {
243+
"defaultMessage": "Disabled Redirection Host"
244+
},
248245
"event.disabled-stream": {
249246
"defaultMessage": "Disabled Stream"
250247
},
251248
"event.enabled-dead-host": {
252249
"defaultMessage": "Enabled 404 Host"
253250
},
251+
"event.enabled-redirection-host": {
252+
"defaultMessage": "Enabled Redirection Host"
253+
},
254254
"event.enabled-stream": {
255255
"defaultMessage": "Enabled Stream"
256256
},
257+
"event.updated-redirection-host": {
258+
"defaultMessage": "Updated Redirection Host"
259+
},
257260
"event.updated-user": {
258261
"defaultMessage": "Updated User"
259262
},
260263
"footer.github-fork": {
261264
"defaultMessage": "Fork me on Github"
262265
},
263-
"empty-subtitle": {
264-
"defaultMessage": "Why don't you create one?"
265-
},
266-
"host.flags.title": {
267-
"defaultMessage": "Options"
268-
},
269266
"host.flags.block-exploits": {
270267
"defaultMessage": "Block Common Exploits"
271268
},
@@ -275,6 +272,9 @@
275272
"host.flags.protocols": {
276273
"defaultMessage": "Protocols"
277274
},
275+
"host.flags.title": {
276+
"defaultMessage": "Options"
277+
},
278278
"hosts.title": {
279279
"defaultMessage": "Hosts"
280280
},
@@ -335,6 +335,9 @@
335335
"notification.stream-enabled": {
336336
"defaultMessage": "Stream has been enabled"
337337
},
338+
"notification.success": {
339+
"defaultMessage": "Success"
340+
},
338341
"notification.user-deleted": {
339342
"defaultMessage": "User has been deleted"
340343
},
@@ -347,9 +350,6 @@
347350
"notification.user-saved": {
348351
"defaultMessage": "User has been saved"
349352
},
350-
"notification.success": {
351-
"defaultMessage": "Success"
352-
},
353353
"offline": {
354354
"defaultMessage": "Offline"
355355
},
@@ -401,11 +401,14 @@
401401
"proxy-hosts.title": {
402402
"defaultMessage": "Proxy Hosts"
403403
},
404+
"redirect-host.forward-domain": {
405+
"defaultMessage": "Forward Domain"
406+
},
404407
"redirect-host.forward-scheme": {
405408
"defaultMessage": "Scheme"
406409
},
407-
"redirect-host.forward-domain": {
408-
"defaultMessage": "Forward Domain"
410+
"redirection-host.new": {
411+
"defaultMessage": "New Redirection Host"
409412
},
410413
"redirection-hosts.actions-title": {
411414
"defaultMessage": "Redirection Host #{id}"
@@ -419,9 +422,6 @@
419422
"redirection-hosts.empty": {
420423
"defaultMessage": "There are no Redirection Hosts"
421424
},
422-
"redirection-host.new": {
423-
"defaultMessage": "New Redirection Host"
424-
},
425425
"redirection-hosts.title": {
426426
"defaultMessage": "Redirection Hosts"
427427
},
@@ -497,12 +497,12 @@
497497
"user.current-password": {
498498
"defaultMessage": "Current Password"
499499
},
500-
"user.delete.title": {
501-
"defaultMessage": "Delete User"
502-
},
503500
"user.delete.content": {
504501
"defaultMessage": "Are you sure you want to delete this user?"
505502
},
503+
"user.delete.title": {
504+
"defaultMessage": "Delete User"
505+
},
506506
"user.edit": {
507507
"defaultMessage": "Edit User"
508508
},

frontend/vite.config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ export default defineConfig({
1919
throw error;
2020
}
2121
console.log(stdout);
22+
execFile("yarn", ["locale-sort"], (error, stdout, _stderr) => {
23+
if (error) {
24+
throw error;
25+
}
26+
console.log(stdout);
27+
});
2228
});
2329
}
2430
});

scripts/buildx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
55

66
echo -e "${BLUE}${CYAN}Building docker multiarch: ${YELLOW}${*}${RESET}"
77

8-
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
98
cd "${DIR}/.." || exit 1
109

1110
# determine commit if not already set

0 commit comments

Comments
 (0)