Repository navigation
i18n(service-settings): ship the built-in settings pages in ru, de and ko - #30931
Conversation
…d ko The second half of the settings package: ru, de and ko for the built-in Setup settings pages, registered in settingsBuiltinTranslations under the platform-table tags after the first half's four. With it every built-in settings page carries all eleven platform locales. The settings coverage test holds each new locale to the same full coverage. Carried from the released handover commit bc85264 (written by session_01Utp6Cai5CRdAs4u9gTipWU) without its localization-currency-lock and localization-locale-options hunks: #30630 (landed as #30734) owns those copy tables and already carries all eleven languages there. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cya5ej5GQV86RPbRPK
📓 Docs Drift CheckThis PR changes 1 package(s): 4 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 1 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 9 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin eb4ce582ab75128f99fbfc762af063702ecdec6e && git checkout eb4ce582ab75128f99fbfc762af063702ecdec6e
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 26c965cb8f61ca59804d55e27e737bf7ff91b383 6e64d7fe1b4909e05b814962a259671000869bc5 && git checkout -B drift-repro 26c965cb8f61ca59804d55e27e737bf7ff91b383 && git merge --no-ff 6e64d7fe1b4909e05b814962a259671000869bc5
node scripts/docs-audit/affected-docs.mjs --json 26c965cb8f61ca59804d55e27e737bf7ff91b383
|
|
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW 席位核对 · ACCEPT · 2026-11-06T12:36Z · #30512 (package 6 of 11, service-settings, second half)Head-sha: 6e64d7f
|
Requested by Elon · project thread
domain:server#1 · os-elon-musk · session_016WV4cya5ej5GQV86RPbRPK
Part of #30512 — package 6 of 11, second half (
@objectstack/service-settingsinru,de,ko; the first half,zh-Hant,ar,fr,pt-BR, landed in #30870). With it every built-in settings page carries all eleven platform languages. The card stays open: platform-objects follows, and the last PR of the series makes the bundle check read the platform locale table.Clause-②: no
Metadata-protocol: none
维护者速读
@objectstack/objectql注册的数据生命周期页)的页标题和说明、分组、字段名和帮助、选项、提示条、操作按钮和来源标记,补上俄语、德语、韩语 3 种。繁中、阿语、法语、巴葡已在上半包(i18n(service-settings): ship the built-in settings pages in zh-Hant, ar, fr and pt-BR #30870)落地,至此本包 11 种语言齐全。localization-currency-lock/localization-locale-options文案表的部分按席位裁决整段去掉:Settings actions and refusals: seven module-local copy tables still carry four languages and resolve zh-TW to Simplified; the SMS test and two built-in answers are English only #30630(已作为 fix(settings): settings copy is written in all eleven platform languages, zh-TW reads Traditional, and sms/test answers in the caller's language (#30630) #30734 落地)拥有这两张表,且已带齐 11 种语言。测试改动只是覆盖测试把 3 种新语言加进列表(覆盖变宽,没有放宽断言)。回滚即撤 PR。src/translations/index.ts(按表标签注册,排在上半包 4 种之后),再看settings-translation-coverage.test.ts,然后抽看任一新语言文件。pnpm --filter @objectstack/service-settings exec vitest run src/translations/settings-translation-coverage.test.ts全绿。What changes
ru,de,ko), covering every built-in settings manifest: page titles and descriptions, group headings, field labels and help, option labels, banners, action buttons and the source badges. Country pickers name each country in the reader's language throughIntl.DisplayNames, as the existing locales do.src/translations/index.tsregisters them insettingsBuiltinTranslationsafter the first half's four and exports them beside the existing eight.bc852648(sessionsession_01Utp6Cai5CRdAs4u9gTipWU) without itslocalization-currency-lock.ts/localization-locale-options.tshunks, per the seat's ruling of 2026-11-05: Settings actions and refusals: seven module-local copy tables still carry four languages and resolve zh-TW to Simplified; the SMS test and two built-in answers are English only #30630, landed as fix(settings): settings copy is written in all eleven platform languages, zh-TW reads Traditional, and sms/test answers in the caller's language (#30630) #30734, owns those copy tables and already carries all eleven languages there. This PR does not touch them.Tests
settings-translation-coverage.test.tsholds the three new locales to the same full coverage of every built-in manifest. No assertion changed.Acceptance notes
enand againstzh-CN(which carries the inline-manifest keysen.tsdoes not): key set,{{holes}},{holes}, backtick spans, angle tokens, all three locales zero diffs. Russian and Korean keep identifiers, hosts and URLs in Latin script.SMTP,S3,OpenAI,Anthropic,Vercel AI Gateway,Turso / libSQL,RAGFlow, …) and the terms the existingzh-CN/ja-JP/es-ESalso leave in English (Base URL,Embedder), in all three; indealso words German uses as they are (Host,Port,Branding,Website,Region,Backend,Adapter,Bucket,Global) and the country namesIntl.DisplayNamesspells the same in German (Andorra,Afghanistan, …).check:i18n-stale-fillpasses with the baseline untouched.osfollowed by a lowercase word (check-cli-command-idspasses), and the whole "Lint · docs & code guards" lane was run locally before opening.Verification
Package suite, typecheck, build (verify lock)
i18n gates, the derived families and the docs & code guards lane
The branch is one commit on
main0e882086(after #30870 landed). Its diff has the same patch id (6eede7e4) as02754089, where the derived families,pnpm lintand the docs & code guards lane ran with settings A's head beneath it. The whole-tree build, the package suite and the three i18n / command-id checks were re-run on this head, after main's #30836 / #30838 / #30867 / #30874 changed@objectstack/objectqland@objectstack/spec; none of them touchesservice-settings.Dogfood: not run — content-only package PR, no
!in the title and no(narrowing)arm.Generated by Claude Code