ErrorsConfiguration · rule
translation.wording_missing
A language file of a supported locale leaves out one of the messages, or failures, that its folder has to word.
Area 10, Configuration; not declinable; the next step is usually the agent's.
Why Jadpo refuses it
Every supported locale words every message of each folder, and every failure a route can answer with. A call in French of a message the French file leaves out would have no words to show. Jadpo won't quietly show English instead, because a supported locale is meant to be complete.
A locale that isn't finished yet says so in in_progress:, and only such
a locale falls back to the default where its wording is missing.
What it looks like
The app supports English and French, and the shipping domain has two
messages, order_shipped and parcels. The French file words only the
first.
domains/shipping/translations/fr_fr.jadpo:
translations { order_shipped: "La commande de {name} a été expédiée."}
error parcels has no wording in domains/shipping/translations/fr_fr.jadpo
--> domains/shipping/translations/fr_fr.jadpo:1:1
|1 | translations { | ^^^^^^^^^^^^ no `parcels`
- reason
- A message is worded in every supported locale that isn't in progress, so a call with
locale: Locale.fr_frhas words to show. - next
- Add
parcels, with a wording for each plural form (one,manyandother) todomains/shipping/translations/fr_fr.jadpo, which may write{count}(agent) - rule
- translation.
wording_ missing - help
- https://jadpo.
dev/docs/errors/translation. wording_ missing
(agent) at the end of the next: line means your coding agent can make
the fix itself.
A failure a route can answer with is worded the same way, keyed by its
code, so a client app showing French has text for it. Here the booking
domain's French file words nothing, and POST /openings can answer with
slot_taken.
domains/booking/translations/fr_fr.jadpo:
translations {} error slot_taken has no wording in domains/booking/translations/fr_fr.jadpo
--> domains/booking/translations/fr_fr.jadpo:1:1
|1 | translations {} | ^^^^^^^^^^^^ no `slot_taken`
- reason
- A failure a route can answer with is worded in every supported locale that isn't in progress, so a client app showing
Locale.fr_frhas text for its code. - next
- Add
slot_taken: "..."todomains/booking/translations/fr_fr.jadpo(agent) - rule
- translation.
wording_ missing - help
- https://jadpo.
dev/docs/errors/translation. wording_ missing
How to fix it
If the wording is ready, add the missing member to the language
file, with a wording for each plural form French has. In
domains/shipping/translations/fr_fr.jadpo:
parcels: { one: "{count} colis" many: "{count} colis" other: "{count} colis" }
A French call of parcels now writes the French wording for its count.
If a failure has no wording, add it under its code. In
domains/booking/translations/fr_fr.jadpo:
slot_taken: "Ce créneau vient d'être pris."A client app showing French now has French text for the slot_taken
failure.
If French is still being translated, list it in in_progress: in
app.jadpo:
in_progress: [Locale.fr_fr]A French call of parcels falls back to the English wording until the
French file words it. Removing French from in_progress: makes the gap an
error again.
Related
Markdown for agents: /docs/errors/translation.wording_missing.md.Built from Jadpo main at aee2e8f.