.claude/skills/translater/SKILL.md
Translation agent for ua/en bilingual content. Handles UI labels, help text, error messages, docs, and agent/system prompts. Finds translatable elements, detects supported languages, translates by context, maintains term consistency. Triggers on: "translate", "translation", "i18n", "missing translations", "mirror docs", "sync languages".
npx skillsauth add nmdimas/ai-community-platform translaterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Context-aware translation agent for the AI Community Platform's bilingual (Ukrainian/English) content. Translates by understanding meaning, not by mechanical word substitution.
| Content Type | File Patterns | Translation Direction |
|-------------|---------------|----------------------|
| Symfony translations | apps/*/translations/messages.*.yaml | EN <-> UK bidirectional |
| Twig templates | apps/*/templates/**/*.html.twig | Extract hardcoded strings to YAML |
| Documentation | docs/**/{ua,en}/*.md | UA -> EN mirror, EN -> UA mirror |
| Agent prompts | .opencode/agents/*.md, .claude/skills/**/*.md | Context-dependent |
| Error messages | src/**/*Exception.php, src/**/*Error.php | EN -> UK |
messages.en.yaml and messages.uk.yaml for each app. Find keys present in one but missing in the other.docs/**/ua/ and docs/**/en/ directories. Find files that exist in one language but not the other, or where the EN mirror is significantly outdated.{{ '...'|trans }}.Before translating any string:
Apply these rules:
%variable% stays as-is<a>, <strong>, etc. stay as-isAfter translating:
%name%, %count%) are preservedNever translate these mechanically:
| Category | Examples | Reason |
|----------|----------|--------|
| Code identifiers | Variable names, class names, function names | Code must stay in English |
| Technical terms (English convention) | Docker, Redis, API, A2A, SSE, YAML, JSON | Industry-standard English terms |
| Brand/product names | OpenClaw, Langfuse, LiteLLM, Traefik, Symfony | Proper nouns |
| Configuration keys | YAML keys, env var names, config parameters | Machine-readable identifiers |
| URLs and file paths | /admin/agents, composer.json | Technical references |
| Code blocks in docs | php ... , bash ... | Executable code |
| Semver versions | v0.1, 8.5 | Version identifiers |
Maintain consistent translations for platform-specific terms:
| English | Ukrainian | Notes | |---------|-----------|-------| | Agent | Агент | Not "Бот" | | Skill | Скіл | Not "Навичка" (too generic) | | Dashboard | Панель керування | Or "Статистика" for nav | | Settings | Налаштування | | | Tenant | Тенант | Transliteration, established in codebase | | Discovery | Виявлення | For agent discovery | | Marketplace | Маркетплейс | Transliteration | | Health check | Health-check | Keep English in technical context | | Enabled/Disabled | Увімкнено/Вимкнено | | | Install/Uninstall | Встановити/Видалити | | | Scheduler | Планувальник | | | Convention | Конвенція | | | Violation | Порушення | |
When encountering a new domain term not in this glossary:
messages.uk.yaml files| Resource | Path |
|----------|------|
| Core EN translations | apps/core/translations/messages.en.yaml |
| Core UK translations | apps/core/translations/messages.uk.yaml |
| Agent translations | apps/<agent>/translations/messages.*.yaml |
| Twig templates | apps/*/templates/ |
| Documentation | docs/ |
| Doc structure rules | .opencode/skills/documenter/SKILL.md |
After completing translation work, report:
## Translation Summary
### Files Modified
- `apps/core/translations/messages.uk.yaml` — added 5 keys
- `docs/features/en/scheduler.md` — created EN mirror
### Missing Translations Found
- 3 keys in messages.en.yaml without UK equivalent (now added)
- 1 doc file in ua/ without en/ mirror (now created)
### Term Consistency Notes
- Used "Планувальник" for "Scheduler" (consistent with existing translations)
- New term: "Worktree" → kept as "Worktree" (no established Ukrainian equivalent)
development
Convert a website or page with related links into a local collection of Markdown files with an index. Follows project docs conventions (ua/en bilingual structure). Uses WebFetch — no external dependencies. Triggers on: "web to docs", "website to markdown", "save docs locally", "convert site", "download docs", "fetch docs", "scrape to markdown".
documentation
Translation agent for ua/en bilingual content. Handles UI labels, help text, error messages, docs, and agent/system prompts. Finds translatable elements, detects supported languages, translates by context, maintains term consistency. Triggers on: "translate", "translation", "i18n", "missing translations", "mirror docs", "sync languages".
development
Security review agent for PHP/Symfony codebase. Performs manual-style security review with OWASP ASVS 5.0 category mapping, severity ratings, and PHP/Symfony-specific checklist. Triggers on: "security review", "security audit", "vulnerability check", "OWASP review", "pentest review", "security scan".
development
Auto-bump pipeline monitor version when builder/monitor/pipeline-monitor.sh is modified. Triggers automatically as a post-edit convention — not user-invocable directly. When any change is made to pipeline-monitor.sh, increment the patch version in the "# Version:" header comment. Triggers on: "pipeline-monitor", "monitor version", "bump monitor".