ワンクリックで
i18n
Manage translation entries in fr-FR.json and en-US.json. Use when adding, modifying, or reviewing i18n keys for any component or page.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Manage translation entries in fr-FR.json and en-US.json. Use when adding, modifying, or reviewing i18n keys for any component or page.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Vue 3 + Nuxt 4 conventions for PictoLite: SFC structure, auto-imports, TypeScript, SCSS, component patterns. Use when writing or reviewing any .vue file.
Vitest + @nuxt/test-utils patterns for PictoLite: mountSuspended, mockNuxtImport, browser API mocking (OffscreenCanvas, showSaveFilePicker), and async flow flushing. Use when writing or reviewing tests.
Vitest + @nuxt/test-utils patterns for PictoLite: component testing, Nuxt auto-import mocking, browser API mocking, and async flow handling. Use this skill when writing or modifying tests.
i18n management for PictoLite: key structure, naming conventions, two-locale rule, and translation quality guidelines. Use this skill when adding or modifying translation entries.
Vue 3 + Nuxt 4 best practices for PictoLite: Composition API, auto-imports, TypeScript, SCSS, component conventions. Use this skill when writing or modifying Vue components or pages.
| name | i18n |
| description | Manage translation entries in fr-FR.json and en-US.json. Use when adding, modifying, or reviewing i18n keys for any component or page. |
| disable-model-invocation | true |
| argument-hint | <key location> (e.g. components.image_uploader) |
You are managing i18n translations for: $ARGUMENTS
The project has two locale files that must always be kept in sync.
Read existing entries in i18n/locales/fr-FR.json and i18n/locales/en-US.json before editing.
Every change to fr-FR.json MUST have a matching change in en-US.json in the same edit.
Never add a key to one file without the other. Never leave a key untranslated.
app.* — app name, meta description
app.name — "PictoLite"
app.meta.description — SEO meta description (≤160 chars)
about.* — author info
about.author — "P-A"
links.* — external link labels
components.* — component-level copy
components.footer.*
components.image_uploader.*
drop_zone_description
drop_zone_supported_formats
webp_option_checkbox_name
image_reduction_wording
unsupported_format
download_image_wording
components.lang_switcher.*
change_language_label
pages.* — page-specific metadata
pages.main.*
tab_name
meta.content
// fr-FR.json
{
"components": {
"image_uploader": {
"my_new_key": "Mon texte en français"
}
}
}
// en-US.json — natural English, not a literal translation
{
"components": {
"image_uploader": {
"my_new_key": "My English text"
}
}
}
| Field | Rule |
|---|---|
app.meta.description | ≤160 chars. Clear description of the app's purpose. |
| Component labels | Short, action-oriented. FR: imperative or noun phrase. EN: match FR tone. |
pages.main.tab_name | App name or short descriptor. |
.editorconfig)snake_case for all keys — never camelCase or kebab-case