You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restart-when:objectstack-ai/objectstack#14381 merged and released in a published @objectstack/* version this app can install. Both, not just the merge — nothing here can be verified against an unpublished platform.
Why this card exists separately
#18 recorded three authored display surfaces as declared, reasoned exemptions in src/translations/authored-text.ts, because no key in TranslationDataSchema could reach them:
Chinese tile titles with Untouched > 14 days directly beneath
custom validation rule messages
11
platform refusals in Chinese, ours in English, in one envelope
The platform PR gives all three a key. It does not make our screens Chinese — our authored strings are unchanged, so the new keys resolve to nothing and every one of those 72 strings still falls back to its English literal.
What "done" is
Retire the three exemptions in src/translations/authored-text.ts and let the coverage walk emit the new paths. The gate should go red first on missing zh-CN keys — that is the signal the exemptions were load-bearing and not decorative.
Author the zh-CN entries for all 72 strings, following the terminology decisions already recorded in src/translations/zh-CN.ts's header (职责 vs 任务 above all — a bulk action's label sits next to a task list and must not blur them).
Re-take the two screenshots that are embedded in objectstack#14253 and show them Chinese. Those images are the issue's evidence; replacing them is what closes the loop rather than asserting it closed.
Check the third surface has a screen too. The validation-message island had no screenshot in the issue — trip one of duly_duty's own rules (standing_no_frequency is the easy one) in a zh-CN session and confirm the refusal comes back Chinese.
Two things not to get wrong
The platform-derived pin in test/i18n-coverage.test.ts will already be red the moment we upgrade, before any of the above — TRANSLATABLE_METADATA_TYPES gains dataset, and the gate pins that set deliberately so a platform change cannot pass silently. Re-derive the untranslatable verdicts; do not widen the pin to make it green.
i18n: no coverage gate for the locales a deployment adds after zh-CN #102 is still open and touches the same file: the bundle half of the gate compares against 'zh-CN' by name, so a third locale would pass the locale-set assertion with its key coverage unchecked. Worth folding in here if it is cheap — this card is already in that code — but say so rather than silently absorbing another card.
The application half of objectstack-ai/objectstack#14253. Filed now so it is queued rather than remembered.
Restart-when: objectstack-ai/objectstack#14381 merged and released in a published
@objectstack/*version this app can install. Both, not just the merge — nothing here can be verified against an unpublished platform.Why this card exists separately
#18 recorded three authored display surfaces as declared, reasoned exemptions in
src/translations/authored-text.ts, because no key inTranslationDataSchemacould reach them:bulkActionDefs已选择 1 项 · **Complete** · **Skip** · 清除Untouched > 14 daysdirectly beneathThe platform PR gives all three a key. It does not make our screens Chinese — our authored strings are unchanged, so the new keys resolve to nothing and every one of those 72 strings still falls back to its English literal.
What "done" is
src/translations/authored-text.tsand let the coverage walk emit the new paths. The gate should go red first on missing zh-CN keys — that is the signal the exemptions were load-bearing and not decorative.src/translations/zh-CN.ts's header (职责 vs 任务 above all — a bulk action's label sits next to a task list and must not blur them).duly_duty's own rules (standing_no_frequencyis the easy one) in a zh-CN session and confirm the refusal comes back Chinese.Two things not to get wrong
test/i18n-coverage.test.tswill already be red the moment we upgrade, before any of the above —TRANSLATABLE_METADATA_TYPESgainsdataset, and the gate pins that set deliberately so a platform change cannot pass silently. Re-derive theuntranslatableverdicts; do not widen the pin to make it green.'zh-CN'by name, so a third locale would pass the locale-set assertion with its key coverage unchecked. Worth folding in here if it is cheap — this card is already in that code — but say so rather than silently absorbing another card.