fix: english
Massimo Melina committed
May 1, 2026 at 09:27 UTC
93a4e3c86b1e30491f7ca80141a45349849e6a9a
9 files changed
+14
-14
admin/src/AccountsPage.ts
+1
-1
@@ -181,7 +181,7 @@ export default function AccountsPage() {
181
errors.push(username)
182
reload()
183
if (errors.length)
184
- return alertDialog("Following elements couldn't be deleted: " + errors.join(', '), 'error')
184
+ return alertDialog("The following items couldn't be deleted: " + errors.join(', '), 'error')
185
}
186
187
}
admin/src/HomePage.ts
+2
-2
@@ -55,7 +55,7 @@ export default function HomePage() {
55
async onContextMenu(ev: any) {
56
ev.preventDefault()
57
if (!status.updatePossible)
58
- return alertDialog("Automatic update is not support for your installation", 'warning')
58
+ return alertDialog("Automatic update is not supported for your installation", 'warning')
59
const res = await promptDialog("Enter a link to the zip to install")
60
if (res)
61
await update(res)
@@ -236,6 +236,6 @@ function cfgLink(text=`Options page`) {
236
237
export function proxyWarning(cfg: any, status: any) {
238
return status && cfg && !cfg.ignore_proxies && (!cfg.proxies && status.proxyDetected ? "A proxy was detected but none is configured"
239
- : cfg.proxies && !status.proxyDetected && (Date.now() - +new Date(status.started) > DAY) ? `Proxies is set to ${cfg.proxies} but none was detected recently. Consider setting it zero`
239
+ : cfg.proxies && !status.proxyDetected && (Date.now() - +new Date(status.started) > DAY) ? `Proxy count is set to ${cfg.proxies} but none was detected recently. Consider setting it to zero`
240
: '')
241
}
admin/src/InternetPage.ts
+3
-3
@@ -74,7 +74,7 @@ export default function InternetPage({ setTitleSide }: PageProps) {
74
formatTimestamp(data.ts), ' – ',
75
prefix("Error: ", stripTags(data.error)).slice(0, 500) || "Updated successfully",
76
),
77
- "This tool can keep your domain updated with your latest IP address. Not every service is compatible, and most of them have their own software for the job, which is superior, but we offer this lightweight solution in case you are more keen to it.",
77
+ "This tool can keep your domain updated with your latest IP address. Not every service is compatible, and most of them have their own software for the job, which is superior, but we offer this lightweight solution if you prefer it.",
78
h(ConfigForm<{
79
[CFG.dynamic_dns_url]: string,
80
}>, {
@@ -97,7 +97,7 @@ export default function InternetPage({ setTitleSide }: PageProps) {
97
title: label + " wizard",
98
form: {
99
maxWidth: '20em',
100
- before: h(Box, { mb: 1 }, "Following information is stored non-encrypted"),
100
+ before: h(Box, { mb: 1 }, "The following information is stored unencrypted"),
101
fields: fields.map(k => _.isString(k) ? { k } : k)
102
}
103
}).then(symbols => symbols && setValues({ [CFG.dynamic_dns_url]: replace(url, symbols as any, '$') }))
@@ -212,7 +212,7 @@ export default function InternetPage({ setTitleSide }: PageProps) {
212
multiline: true,
213
fromField: x => x.replaceAll('\n', ','),
214
toField: x => x.replaceAll(',', '\n'),
215
- helperText: md("Example: your.domain.com\nMultiple domains on separated lines")
215
+ helperText: md("Example: your.domain.com\nMultiple domains on separate lines")
216
},
217
{
218
k: 'acme_renew',
admin/src/LangPage.ts
+1
-1
@@ -16,7 +16,7 @@ export default function LangPage({ setTitleSide }: PageProps) {
16
const { list, error, connecting, reload } = useApiList('get_langs')
17
const langs = useMemo(() => ['en', ..._.uniq(list.map(x => x.code))], [list])
18
setTitleSide(useMemo(() =>
19
- h(Alert, { severity: 'info', sx: { display: { xs: 'none', sm: 'inherit' } } }, "Translation is limited to Front-end, it doesn't apply to Admin-panel"),
19
+ h(Alert, { severity: 'info', sx: { display: { xs: 'none', sm: 'inherit' } } }, "Translation is limited to the Front-end and doesn't apply to the Admin-panel"),
20
[]))
21
return h(Fragment, {},
22
h(Box, { mt: 1, maxWidth: '50em', flex: 1, ...fillFlexParentSx },
admin/src/LogsPage.ts
+1
-1
@@ -29,7 +29,7 @@ const logLabels = {
29
error_log: "Not served",
30
console: "Console",
31
disconnections: "Disconnections",
32
- ips: "IP's",
32
+ ips: "IPs",
33
}
34
35
let reloadIps: any
frontend/src/BrowseFiles.ts
+1
-1
@@ -222,7 +222,7 @@ function FilesList() {
222
: !snap.loading && (snap.searchManuallyInterrupted ? t('stopped_before', "Stopped before finding anything")
223
: t('empty_list', "Nothing here"))
224
225
- const focusHint = `${t('focus_hint', "By typing on your keyboard, you search and focus elements of the list.")}\n\nESC: ${t`Cancel`}`
225
+ const focusHint = `${t('focus_hint', "By typing on your keyboard, you search and focus the items in the list.")}\n\nESC: ${t`Cancel`}`
226
return h(Fragment, {},
227
focus && h('div', { id: focusTypingId, className: focusIndex < 0 ? 'focus-typing-mismatch' : '' }, focus,
228
hIcon('info', { style: { cursor: 'default', marginLeft: '.3em' }, title: focusHint, onClick: () => alertDialog(focusHint) }) ),
frontend/src/login.ts
+1
-1
@@ -31,7 +31,7 @@ async function login(username:string, password:string, extra?: object) {
31
hfsEvent('loginFailed', { username, error: err }) // the name inconsistency with the backend event 'failedLogin' can make it easier to distinguish
32
throw Error(err.data === 'trust' ? t('login_untrusted', "Login aborted: server identity cannot be trusted")
33
: err.code === HTTP_UNAUTHORIZED && !err.data ? t('login_bad_credentials', "Invalid credentials") // err.data is empty on standard errors, but a plugin may want to show differently
34
- : err.code === HTTP_CONFLICT ? t('login_bad_cookies', "Cookies not working - login failed")
34
+ : err.code === HTTP_CONFLICT ? t('login_bad_cookies', "Cookies are not working - login failed")
35
: t(err.message || String(err)) )
36
}).finally(stopWorking)
37
}
frontend/src/upload.ts
+1
-1
@@ -79,7 +79,7 @@ export function showUpload() {
79
])
80
}),
81
),
82
- !isMobile && h(Flex, { gap: 4 }, hIcon('info'), t('upload_dd_hint', "You can upload files doing drag&drop on the files list")),
82
+ !isMobile && h(Flex, { gap: 4 }, hIcon('info'), t('upload_dd_hint', "You can upload files by dragging and dropping them onto the file list")),
83
h(UploadStatus, { margin: '.5em 0' }),
84
adding.length > 0 && h(Flex, { center: true, flexWrap: 'wrap' },
85
h('button', {
src/langs/hfs-lang-en.json
+3
-3
@@ -40,7 +40,7 @@
40
"Password": "Password",
41
"login_untrusted": "Login aborted: server identity cannot be trusted",
42
"login_bad_credentials": "Invalid credentials",
43
- "login_bad_cookies": "Cookies not working - login failed",
43
+ "login_bad_cookies": "Cookies are not working - login failed",
44
"User panel": "User panel",
45
"Change password": "Change password",
46
"enter_pass": "Enter new password",
@@ -134,7 +134,7 @@
134
"in_queue": "{n} in queue",
135
"enter_comment": "Comment for {name}",
136
"Comment": "Comment",
137
- "upload_dd_hint": "You can upload files doing drag&drop on the files list",
137
+ "upload_dd_hint": "You can upload files by dragging and dropping them onto the file list",
138
"Upload not available": "Upload not available",
139
"Cut": "Cut",
140
"n_items": "{n,plural, one{# item} other{# items}}",
@@ -175,7 +175,7 @@
175
"Cancel": "Cancel",
176
"allow_session_ip_change": "Allow IP change during this session",
177
178
- "focus_hint": "By typing on your keyboard, you search and focus elements of the list.",
178
+ "focus_hint": "By typing on your keyboard, you search and focus the items in the list.",
179
"copy_links": "Copy links",
180
181
"Calculate": "Calculate",