ErrorsConfiguration · rule
translation.jadpo_missing
The app supports a locale that Jadpo doesn't ship its own messages in, and the app hasn't worded them itself.
Area 10, Configuration; not declinable; the next step is usually the agent's.
Why Jadpo refuses it
Jadpo writes some text itself, such as the answer to a request it can't
read or a route that doesn't exist. It ships that wording in en_gb and
en_us only. In any other supported locale, the people and client apps
using your app would be shown English.
So the app words Jadpo's messages itself, in the root
translations/<locale>.jadpo, under jadpo: { }. Only the messages of
features the app uses count, such as the request messages once an API
serves a route.
What it looks like
The app supports English and French, and serves one route, so Jadpo's
messages for answering requests are on. The app has no root
translations/fr_fr.jadpo.
domains/notes/routes/notes.jadpo:
use notes/types { NoteRequest, NoteShown }use notes/actions { echo_note }routes Notes { prefix: /notes POST / { authentication: RouteAuthentication.none input: NoteRequest output: NoteShown run: echo_note(input) }}
error Locale.fr_fr is supported but Jadpo's own messages aren't worded in it
--> app.jadpo:5:31
|5 | supported: [Locale.en_gb, Locale.fr_fr] | ^^^^^^^^^^^^ no `translations/fr_fr.jadpo`
- reason
- Jadpo ships its own wording in
en_gbanden_usand no other locale, so users and client apps working inLocale.fr_frwould be shown English. An application words the messages of the features it has on itself, in thejadpo: { }group of the roottranslations/fr_fr.jadpo. Still to word:invalid_request,invalid_input,route_not_found,method_not_allowed,request_too_large,idempotency_key_reused,rate_limited,unavailable,internal_faultanddeadline_exceeded. - next
- Run
jadpo translations builtinto list them with their fields, then word each underjadpo: { }intranslations/fr_fr.jadpo(agent) - rule
- translation.
jadpo_ missing - help
- https://jadpo.
dev/docs/errors/translation. jadpo_ missing
(agent) at the end of the next: line means your coding agent can make
the fix itself.
How to fix it
If French is ready, list the messages to word, with their English wording to translate from:
jadpo translations builtinRequests invalid_request needs fr_fr The request couldn't be read. Try again. invalid_input needs fr_fr Some of the information sent isn't valid. Check it and try again. route_not_found needs fr_fr We couldn't find what you were looking for. method_not_allowed needs fr_fr That isn't something this address can do. request_too_large needs fr_fr What was sent is too big. Send less and try again. idempotency_key_reused needs fr_fr That request was already sent with different details. Start again. rate_limited needs fr_fr Too many requests. Wait a moment, then try again. unavailable needs fr_fr A service this depends on isn't available right now. Try again soon. internal_fault needs fr_fr Something went wrong on our side. Try again soon. deadline_exceeded needs fr_fr That took too long, and nothing was saved. Try again.Locales text_direction left_to_right ltr right_to_left rtl11 messages: 10 need wording, 2 featuresnext: jadpo check fails until the application words them
Then word each one under jadpo: { } in the root file,
translations/fr_fr.jadpo. The list shows text_direction too, but
Jadpo ships its wording in every locale, so it needs none:
translations { jadpo: { deadline_exceeded: "Cela a pris trop de temps, et rien n'a été enregistré. Réessayez." idempotency_key_reused: "Cette requête a déjà été envoyée avec d'autres détails. Recommencez." internal_fault: "Un problème est survenu de notre côté. Réessayez bientôt." invalid_input: "Certaines informations envoyées ne sont pas valides. Vérifiez-les et réessayez." invalid_request: "La requête n'a pas pu être lue. Réessayez." method_not_allowed: "Cette adresse ne permet pas cette action." rate_limited: "Trop de requêtes. Patientez un instant, puis réessayez." request_too_large: "Ce qui a été envoyé est trop volumineux. Envoyez moins et réessayez." route_not_found: "Nous n'avons pas trouvé ce que vous cherchiez." unavailable: "Un service dont dépend l'application est indisponible pour le moment. Réessayez bientôt." }}
A client app showing French now has French text for each of Jadpo's
failures, such as route_not_found, in the file jadpo check writes for
client apps.
If French is still being translated, list it in in_progress: in
app.jadpo:
in_progress: [Locale.fr_fr]French falls back to the English that Jadpo ships until the root file
words its messages. Removing French from in_progress: makes the gap an
error again.
Related
Markdown for agents: /docs/errors/translation.jadpo_missing.md.Built from Jadpo main at aee2e8f.