diff --git a/docs/localization.md b/docs/localization.md index 1d9c7622..57a5af9b 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -262,6 +262,18 @@ Getting this wrong is worse than missing a string, because it corrupts data or b - **Agent and chat output.** Whatever Claude or opencode wrote. It is content. - **User content** — file names, paths, terminal output, code, commit messages, note bodies. +- **A label quoted from ANOTHER product's interface.** "Click **Enable**", "set **App name**", "choose + **Internal**" in a setup guide. These read like prose and are identifiers: their whole job is to match + what the reader will actually see on Google's screen, and Google localises by the reader's _Google_ + account language, not by ours. Translating them sends somebody hunting for "Ativar" in a console that + says "Enable". + + So translate the connective prose around them and leave the quoted label in English. Do not key it with + identical values in both catalogs either — that is a key whose two sides can never legitimately differ, + which is a maintenance cost bought for nothing. + + Decided 2026-08-23 on `GoogleOAuthConfig.tsx`, where 55 of the file's 67 strings are of this kind. + - **Identifiers that cross a boundary** — route paths, permission keys (`registry.ts`), error _codes_ (the code is the key; its message is what gets translated), app ids, sidecar names, PM2 process names, database values.