cloudcannon/agent-skills

translate-site

Translate a multilingual site with AI.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/cloudcannon/agent-skills --skill translate-site

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Translate a Multilingual Site with AI

Two translation systems can run on the same site, and this skill covers both:

PartWhat it holdsSection
Rosey locale JSON (rosey/locales/{code}.json)Shared UI and any page text tagged with data-rosey — nav, footer, headings, buttons, breadcrumbs, and (for non-split pages) whole page bodiesPart 1
Content collection files (blog_fr/, content_fr/ …)Per-locale body content + frontmatter (title, description, alt text, page-builder text) that the SSG renders natively per localePart 2

Most Rosey sites only need Part 1. Only reach for Part 2 if the project actually has per-locale content directories: split-by-directory (the `make-site-multilingual` skill, Phase 8), or Hugo languages (its Hugo setups A and B). On a Rosey site, a split-by-directory page needs both: its body comes from a content collection file (Part 2), its shared UI from the locale JSON (Part 1). A Hugo site without Rosey (setup A) needs only Part 2.

This skill is written for AI coding agents, but the process works with any AI tool that reads and writes JSON.

When to use

  • Locale files have untranslated entries (value still equals original, and the entry wasn't deliberately kept)
  • A source string changed and its translations are now stale
  • A new locale needs bulk-translating from scratch
  • Per-locale content directories (blog_fr/, blog_de/) need their bodies and frontmatter translated

When not to use

  • The site has nothing to translate into yet — no rosey/locales/, and no per-locale content directories. Set it up with `make-site-multilingual` first.
  • Adding a new locale to the build — that is a pipeline and config change, also `make-site-multilingual`
  • Translations come from a human team or an external service — this skill only covers filling the files with AI

Contents

FileCovers
SKILL.md (this file)Which part applies, and why the file format suits AI translation
locale-files.mdPart 1, most sites need only this — rosey/locales/{code}.json
content-directories.mdPart 2 — per-locale content directories, only if the site is split-by-directory
scripts/README.mdThe prepare/merge scripts both parts drive

Why Rosey files are ideal for AI

Rosey locale files are flat JSON with a predictable three-field structure per entry. That gives an agent three properties that make translation efficient and safe:

  1. Incremental — new entries from write-locales have value set to the source original. Comparing value to original instantly identifies what's untranslated; already-translated entries are left untouched. No diffing, no external state, no tracking database.
  2. Deterministic / idempotent — running the same pass twice produces the same output. No re-translation of existing work, reviewable git diff.
  3. Context-rich — keys encode where text appears (nav:about, index:hero:title, blog:recent-posts), which disambiguates short strings ("More", "Back", "Home") without a screenshot.

The data format is the state management: read a JSON file, find entries where value === original, translate them, write the file. The one exception is an entry deliberately left the same as its original (a brand name); merge-translation.mjs records those in rosey/translate-site-keep.json so they aren't offered again.

Learnings and Gotchas

This section is a living document. When you discover new patterns, issues, or improvements while translating, ask the user before appending them here. See the repo README's Key conventions → Living documents.
같은 저장소의 Skills

더 많은 Skills

모든 Skills
cloudcannon
커뮤니티

brainstorming

Structured design dialogue before CloudCannon work that has more than one sensible answer — a migration's editability tradeoffs, how to model a collection or page builder, restructuring content or config, or an ambiguous "make this work with CloudCannon". Explores intent and constraints, then presents a design for approval before implementation. Not for single well-defined tasks, clear bug fixes, or a detailed spec.

1시간 설치 수
7
GitHub Stars
9
업데이트
10월 28일
cloudcannon
커뮤니티

cloudcannon-bookshop

Use when a CloudCannon site uses Bookshop — .bookshop.yml files, @bookshop/ packages, bookshopname keys, bookshop:live, or partial "bookshop" calls or {% bookshop %} tags. Covers how Bookshop works, maintaining a site that stays on it, and migrating it to editable regions.

1시간 설치 수
7
GitHub Stars
9
업데이트
10월 28일
cloudcannon
커뮤니티

cloudcannon-cli

Use when running the CloudCannon CLI — logging in, listing or creating sites, reading and writing files on a hosted site, triggering and inspecting builds, changing a site's build configuration, reading form submissions, or finding out which command and flags exist for a task.

1시간 설치 수
7
GitHub Stars
9
업데이트
10월 28일
cloudcannon
커뮤니티

cloudcannon-configuration

Use when configuring a site for CloudCannon for any of the following. Download the JSON schemas before writing any configuration (see the top of SKILL.md). - Setting up cloudcannon.config.yml or .cloudcannon/initial-site-settings.json - Generating a baseline with the CloudCannon CLI - Adding or modifying Collections, Inputs, Structures, or Select Data - Setting up Structures for Array and Object Inputs - Configuring Collection URLs - Troubleshooting missing fields or Input types

1시간 설치 수
7
GitHub Stars
9
업데이트
10월 28일