feat(i18n): add Japanese (ja) translation for the status page (#2627) master
* feat(i18n): add Japanese (ja) translation for the status page Register `ja` in @openstatus/locales (locale list, `日本語` 🇯🇵, date-fns `ja`) and add `apps/status-page/messages/ja.json` with all 140 keys from `en.json`, ICU placeholders preserved. Since #2438 the API `Locale` proto enum is keyed by the shared `Locale` type, so the registry change alone fails `deno check`. Add `LOCALE_JA = 7` to the proto, regenerate `status_page_pb.ts` with buf, list it in both openapi.yaml files, map it in the RPC converters and extend the locale round-trip tests. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs: list Japanese as a supported status page locale Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix(i18n): refine Japanese wording after review Address cubic's review and make a few more strings read naturally on an actual status page. - `(in {duration})` → `(発生から{duration})`: state the reference point. - `(for {duration})` → `(計{duration})`: date-fns `ja` yields `2時間`, so the `間` suffix produced `2時間間`. - Quantile popover: define パーセンタイル directly. Natural-Japanese follow-ups from an on-screen review: - "Get updates" → `更新を受け取る` - "Relative" → `相対時間` - "Report resolved" → `解決済みのレポート` Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * chore: regenerate static openapi for LOCALE_JA --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>