Code
Make an app translatable
Extract every string, scaffold the locales, and catch what was missed.
Fill it in
Where it is.
Which to scaffold.
Not just string swaps.
Your prompt
Make [the app] translatable. Locales: fr, de, es. Extract every user-facing string, including the ones in error handlers, empty states, validation messages and alt text. Those are the ones that get missed, and they are exactly where an untranslated app looks broken. Handle plurals with a real plural API rather than an if. Several languages have more than two forms, and English's two is why the naive version breaks. Format dates, numbers and currency through the locale rather than by string surgery. 1,000.50 is a thousand under one locale and one under another. Never concatenate a sentence from fragments. Word order changes, and the translator receives three pieces with no way to know they form a sentence. Leave the source locale complete and the others scaffolded with the English as the fallback, so nothing renders as a missing key.
Use Make an app translatableOpens with everything above already filled in.
Why this works
The strings that get missed are in error handlers, empty states and alt text, which is exactly where an untranslated app looks broken. This also refuses to concatenate sentences from fragments, because word order changes and the translator gets three pieces with no context.