2814 Commits
Author SHA1 Message Date
Juan Denis 8c4266385b Use the service term consistently in ru
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:21 -04:00
Juan Denis 097319b478 Use the service term consistently in pt
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:20 -04:00
Juan Denis b9d5cde47f Use the service term consistently in pl
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:19 -04:00
Juan Denis 4bc6d764bf Use the service term consistently in ko
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:19 -04:00
Juan Denis a34cdb9da1 Use the service term consistently in it
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:18 -04:00
Juan Denis 2a6119219b Use the service term consistently in id
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:18 -04:00
Juan Denis 809c63e52d Use the service term consistently in fr
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:18 -04:00
Juan Denis 093c0cdd40 Use the service term consistently in es
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:17 -04:00
Juan Denis 8793515b4c Use the service term consistently in de
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:17 -04:00
Juan Denis 6a3ae696bf Use the service term consistently in bn
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:16 -04:00
Juan Denis 78f904d4b1 Use the service term consistently in ar
The English UI renamed app/application to service; these strings
still used the old word. Grammar adjusted to the new noun.
2026-10-05 00:02:16 -04:00
Juan Denis 5456844dad Fix wrong-sense machine translations in zh-Hant
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:38 -04:00
Juan Denis d58dfc26da Fix wrong-sense machine translations in zh-Hans
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:36 -04:00
Juan Denis c3cfaf98fa Fix wrong-sense machine translations in vi
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:34 -04:00
Juan Denis 56bd0a5627 Fix wrong-sense machine translations in tr
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:33 -04:00
Juan Denis 1335eb46f6 Fix wrong-sense machine translations in th
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:33 -04:00
Juan Denis 8ec31ea15c Fix wrong-sense machine translations in ru
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:32 -04:00
Juan Denis 725a2b1eb7 Fix wrong-sense machine translations in pt
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:31 -04:00
Juan Denis 4903fa2903 Fix wrong-sense machine translations in pl
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:29 -04:00
Juan Denis 33091df11a Fix wrong-sense machine translations in ko
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:28 -04:00
Juan Denis 79d91daf5e Fix wrong-sense machine translations in it
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:28 -04:00
Juan Denis 0f12b49a26 Fix wrong-sense machine translations in id
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:28 -04:00
Juan Denis 52a26846ac Fix wrong-sense machine translations in fr
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:27 -04:00
Juan Denis 59d310bccd Fix wrong-sense machine translations in es
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:27 -04:00
Juan Denis 0eafed1455 Fix wrong-sense machine translations in de
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:27 -04:00
Juan Denis 15f2d733e4 Fix wrong-sense machine translations in bn
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:26 -04:00
Juan Denis e54955395f Fix wrong-sense machine translations in ar
Context-free machine translation picked the wrong sense of short UI
labels (Disabled, Live, Service, Vaults, Grants, Run, Kill, Image,
Volume and others) and translated literals like SQL keywords and CLI
commands. Fixed against each key's UI location.
2026-10-04 23:01:26 -04:00
Juan Denis 1d77685819 Backfill zh-Hans translations for new UI copy 2026-10-04 22:55:09 -04:00
Juan Denis 8832a963f6 Backfill vi translations for new UI copy 2026-10-04 22:52:57 -04:00
Juan Denis 13fa6cfa1b Backfill th translations for new UI copy 2026-10-04 22:52:44 -04:00
Juan Denis bff5f32854 Backfill bn translations for new UI copy 2026-10-04 22:52:42 -04:00
Juan Denis 23368765eb Backfill tr translations for new UI copy 2026-10-04 22:52:40 -04:00
Juan Denis d4cc68093a Backfill ar translations for new UI copy 2026-10-04 22:52:39 -04:00
Juan Denis 41f41589b2 Backfill it translations for new UI copy 2026-10-04 22:52:09 -04:00
Juan Denis ffe1a1b99f Backfill ko translations for new UI copy 2026-10-04 22:52:08 -04:00
Juan Denis 2477e3b377 Backfill id translations for new UI copy 2026-10-04 22:52:08 -04:00
Juan Denis 2ffa3147d7 Backfill pl translations for new UI copy 2026-10-04 22:52:07 -04:00
Juan Denis 9357145ed6 Backfill ru translations for new UI copy 2026-10-04 22:52:06 -04:00
Juan Denis 8c007db306 Backfill zh-Hant translations for new UI copy 2026-10-04 22:35:36 -04:00
Juan Denis f67da37f07 Backfill fr translations for new UI copy 2026-10-04 22:35:36 -04:00
Juan Denis 2140f23bd7 Backfill de translations for new UI copy 2026-10-04 22:35:35 -04:00
Juan Denis 735ae9c17d Backfill pt translations for new UI copy
Also replaces the "Subsídios" mistranslation of database grants.
2026-10-04 22:35:34 -04:00
Juan Denis e9a830f8e9 Merge branch 'dev' of https://github.com/jhd3197/ServerKit into dev 2026-10-04 22:35:06 -04:00
Juan Denis 67bc3bd37b Backfill es translations for new UI copy 2026-10-04 22:33:18 -04:00
Juan Denis ffdbb6e618 Translate leftover English strings in ru 2026-10-04 22:31:07 -04:00
Juan Denis a850c95005 Skip extensions with own catalog in i18n extract
An installed extension under src/plugins/ that ships locales/en.json
owns its keys. Collecting them into core's en.json made
extract-i18n --check fail only on machines with it installed.
2026-10-04 22:27:22 -04:00
Juan Denis d2465d9817 Pass error details through and translate last labels
The API client handed translateServerError only the code and message,
so validation.required and conflict.exists could not name the field or
resource and fell back to server text; it now passes data.details.
Also translates the service-type subline, RepoConnectForm's default
labels and a ConnectionsHub fallback that the literal census skipped,
and refreshes the migration inventory counts.
2026-10-04 19:03:49 -04:00
Juan Denis 97a96d963b Give common API errors stable codes and service wording
Toasts showed backend prose verbatim, with no code to translate
against and "application" where the UI says "service". Not-found,
missing-field, permission, conflict and agent-offline errors now come
from factories in app/exceptions.py that pair one fixed message with
a dotted code (not_found.<resource>, validation.required,
permission.denied, conflict.exists, agent.offline), so the client can
translate them.

The shared app-loading helpers and the apps, domains, servers,
databases and backups routes raise those errors instead of hand
shaping bodies, which drops the hand-shaped body count from 1132 to
850. Five routes picked an HTTP status by comparing error text; they
now key off a result code or a sentinel so rewording can't change a
status. Five broad excepts that echoed str(exc) now log the crash and
return the request id instead.
2026-10-04 18:59:25 -04:00
Juan Denis e018e78d29 Translate the common server error codes
The backend now tags not-found, missing-field, permission, conflict
and agent-offline errors with stable codes, each minted with one
fixed message. Mapping them here lets those toasts render in the
user's language instead of the server's English. Codes that carry
per-call prose stay untranslated so their specifics survive.
2026-10-04 18:58:38 -04:00
Juan Denis 0cdb41caf3 Ratchet the i18n literal census to zero
Every remaining hit is now translated, so the ceiling drops to 0 and
any new untranslated string fails lint.

Three narrow rule changes keep the census honest. A number with a
bare unit symbol (`${ms} ms`, `${n}%`, GB) is a measurement, not copy.
A literal that IS the content of a <code>/<pre> (a log line,
`S3_BUCKET=...`) is a sample, though a fallback shown in its place
still counts. Arguments to reportClientError go to the server log, not
a screen. In the other direction, text starting ". " was being skipped
as a CSS selector; it is the tail of a sentence split around an
element, so it now counts.
2026-10-04 18:14:10 -04:00