What problem does it solve? Putting user-facing text behind translation keys in a NocoBase application involves several decisions that are easy to get wrong: which package owns the string, which namespace applies, how to translate labels registered before a language is known, and how to reword a plugin's copy without editing the plugin. This Skill encodes those rules so text is placed correctly the first time and survives a language switch. ## Core Features & Use Cases - Adding translated strings: Place keys in the correct package's client/locales/ files, render them with useTranslation from @nocobase/i18n/client, and keep every locale file in sync so typecheck catches missing keys. - Namespace and language management: Decide when a component must name its package namespace, use the APP_NS sentinel to reach application wording, and add a new language across client and server locale loaders. - Plugin text overrides and early-registered labels: Reword a plugin's copy from the application's locale file via overrides, and pass i18nNs with a key for refine resources registered before any locale resolves. - Use Case: You add a 'Save' action to a workflow plugin page. The Skill guides you to add the key to the plugin's en-US.ts, translate it in other locales, render it with t('actions.save'), and verify with pnpm typecheck and pnpm i18n:check. ## Quick Start Ask the assistant to add a new translated label to a NocoBase plugin page and register it in every locale file.