本文へ移動
cccskills
無料GitHub で公開

nuxt-ui-tools-i18n

Use this skill for internal i18n work in this repository. Covers locale ownership, provider wiring, lazy schema text contracts, and the maintenance surfaces that must stay in sync when package or playground translations change.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

nuxt-ui-tools I18n Maintainer

Use this skill for internal repository work involving:

  • src/runtime/i18n/*
  • package-owned table or spreadsheet copy
  • locale message structure
  • lazy schema text support
  • playground translation architecture
  • consumer guidance around translations

Canonical Read Order

Read first:

  • AGENTS.md
  • .agents/skills/nuxt-ui-tools-maintainer/SKILL.md

Then inspect:

  • src/runtime/i18n/types.ts
  • src/runtime/i18n/locales/*.ts
  • src/runtime/i18n/use-locale.ts
  • the owning runtime utils/components for the text surface you are changing

Ownership Rules

There are two different translation paths in this repository.

Package-owned UI copy

This is the built-in chrome owned by ui-tools, for example:

  • table footer labels
  • filter operator labels
  • column-panel labels
  • spreadsheet step chrome
  • built-in empty states and actions

This copy belongs in:

  • src/runtime/i18n/types.ts
  • src/runtime/i18n/locales/en.ts
  • src/runtime/i18n/locales/fr.ts

Resolve this copy through useUiToolsLocale().

Do not leave hardcoded English strings inside runtime components when the package owns the wording.

Schema-owned copy

This is consumer-provided text such as:

  • table column labels
  • filter labels and placeholders
  • date preset labels and descriptions
  • spreadsheet step scenario text
  • option labels sourced from app data

This copy must stay translation-friendly by contract.

Preferred public surface:

  • string
  • number
  • () => string | number

Only widen further when a surface genuinely needs rendered content.

Non-Negotiable Rule

If a schema text surface is raw-string-only and blocks consumer i18n, fix the owning type and owning resolver.

Do not:

  • wrap the entire schema in computed(() => defineSchema(...))
  • duplicate state to force locale updates
  • add one-off bilingual helpers in the playground

Locale Structure

Keep locale messages grouped by feature and sub-feature.

Preferred shape:

  • table.header.*
  • table.footer.*
  • table.filters.panel.*
  • spreadsheet.steps.review.*

Do not dump unrelated labels into flat objects.

Runtime Checklist

When adding a new package-owned text surface:

  1. add the message key to src/runtime/i18n/types.ts
  2. add English and French values
  3. replace the hardcoded runtime string with t('...')
  4. verify the affected playground route in both en and fr

When refactoring or removing an i18n surface:

  1. delete locale keys that are no longer used
  2. delete the matching fields from the centralized message interface
  3. delete any helpers or dead code branches that only existed for those keys

Do not keep stale locale entries around after UI changes.

Unused translation keys are misleading maintenance debt and should be cleaned up in the same task that made them obsolete.

When widening a schema surface for i18n:

  1. update the relevant public type
  2. update the owning normalize/resolve utility
  3. update any components that assumed a raw string
  4. replace playground demo literals with translation keys through () => t('...')
  5. update consumer skills

Playground Rule

The playground is part of the validation surface.

If a demo route includes visible scenario text, workbook headers, example labels, or schema-owned UI copy, keep it translatable with real translation keys.

Do not treat the playground as exempt from i18n just because it is demo content.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use this skill when working with the nuxt-ui-tools package as a consumer or integrator. It provides the current package overview and routes to table, form, dashboard, file preview, query-state, shared responsive helpers, remote option loaders, and i18n usage.

日本語の概要は準備中です。原文の説明を表示しています。

ChronicStone/nuxt-ui-tools22026年10月8日 更新

Use this skill for internal architecture work around config-driven, registry-driven, and pattern-driven feature design in the nuxt-ui-tools repository. Covers how to organize variant-heavy features, where to put implementations, and how to keep both internals and public APIs standardized.

日本語の概要は準備中です。原文の説明を表示しています。

ChronicStone/nuxt-ui-tools22026年10月8日 更新

Use this skill when building analytics dashboards with nuxt-ui-tools as a package consumer. Covers schema and view functions (defineDashboardSchema, defineDashboardView) that take their context as typed params, useDashboard with a getter that rebuilds on input change, typed injection (useDashboardView, injectDashboard, InferDashboard, InferDashboardView), filters declared inline with the f builder and synced with the URL, memory, or an external store (one value per key across views), headless filters, filter controls and the shipped UI (UiDashboardPage, UiDashboardFilters, UiDashboardFilter, UiDashboardViewTabs) with slot overrides, remote paginated pickers and remoteTableOptions, staged queries (essential / background / deferred) with select and dependent requires, lazy enabled conditions on views, queries, and filters (blocks of disabled queries hidden, grids closing up), derived values, views (tabs), query-scoped filters, number formats (presets, Intl options, useDashboardFormat), and the dashboard blocks (stats with trends, goals, and comparisons, stat groups, gauges, unovis charts with highlights, value labels, and totals, lists with progress rings, bars, funnel, alerts, activity feeds, sortable tables, custom widgets) with their automatic loading, error, empty, and refresh states, card menus, header and footer actions, row actions, drill-down and selected state, card tabs, split cards, comparison periods, auto-refresh, and data freshness.

日本語の概要は準備中です。原文の説明を表示しています。

ChronicStone/nuxt-ui-tools22026年10月8日 更新

Use this skill when previewing files with nuxt-ui-tools as a package consumer. Covers mounting UiFilePreviewProvider, opening one file or a gallery with useFilePreview() or useNuxtApp().$filePreview, file descriptors (URL, File/Blob, or a function that returns a signed URL), options (index, mode, gallery, loop, pdf page, callbacks), the returned handle, the built-in renderers (image, video, audio, PDF, text/JSON, CSV, Markdown, Office and archive fallbacks), renditions, download and custom header actions, the markdown render hook, custom renderers with defineFilePreviewRenderer and UiFilePreviewTools, theming tokens, and how the upload field uses the preview.

日本語の概要は準備中です。原文の説明を表示しています。

ChronicStone/nuxt-ui-tools22026年10月8日 更新

Use this skill when working with the nuxt-ui-tools form runtime as a package consumer. It covers schema-driven forms, the provider-backed form API, inline rendering, overlay rendering, form pages with a section navigation, choice cards, and typed submit results.

日本語の概要は準備中です。原文の説明を表示しています。

ChronicStone/nuxt-ui-tools22026年10月8日 更新

Use this skill when wiring nuxt-ui-tools translations in an app. Covers UiToolsProvider, locale objects, lazy schema text, and how package-owned UI copy differs from schema-owned text.

日本語の概要は準備中です。原文の説明を表示しています。

ChronicStone/nuxt-ui-tools22026年10月8日 更新

ChronicStone のスキルをすべて見る

このスキルの問題を報告する