Astro i18n
Skill fusengine/agents/plugins/astro-expert/skills/astro-i18n
Redefining development through cognitive automation and collaborative agent systems.
npx -y skills add fusengine/agents --skill astro-i18nAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when implementing internationalization in Astro, configuring i18n routing, setting up locale strategies, using getRelativeLocaleUrl/getAbsoluteLocaleUrl, handling Astro.currentLocale, or adding hreflang tags with sitemap.
SKILL.md
3.5 KB, as published. Nobody here has run it
Astro i18n
Agent Workflow (MANDATORY)
Before ANY implementation, use TeamCreate to spawn 3 agents:
- fuse-ai-pilot:explore-codebase - Analyze existing routing, content collections, and locale files
- fuse-ai-pilot:research-expert - Verify latest Astro i18n docs via Context7/Exa
- mcp__context7__query-docs - Check
astro:i18nAPI and sitemap integration
After implementation, run fuse-ai-pilot:sniper for validation.
Overview
When to Use
- Building multilingual Astro sites with locale-prefixed URLs
- Configuring
defaultLocaleand routing strategies - Generating locale-aware links with
getRelativeLocaleUrl() - Reading
Astro.currentLocalein components and pages - Adding
hreflangalternate links via@astrojs/sitemap - Translating content using Content Collections per locale
Built-in i18n (Astro 3.5+)
Astro's built-in i18n system provides:
- File-based locale routing via
src/pages/[locale]/ - Routing strategies for URL prefix behavior
- URL helper functions from
astro:i18n - Middleware-based routing logic
- Fallback locale configuration
Reference Guide
Concepts
| Topic | Reference | When to Consult |
|---|---|---|
| Routing config | routing-config.md | Setup and config options |
| Strategies | strategies.md | prefix-always vs prefix-other-locales |
| Helper functions | helper-functions.md | getRelativeLocaleUrl and all helpers |
| Content translation | content-translation.md | Translating content collections |
| Sitemap hreflang | sitemap-hreflang.md | SEO alternate links |
| Fallback | fallback.md | Missing translation fallback |
Templates
| Template | When to Use |
|---|---|
| i18n-config.md | Full i18n configuration |
| locale-page.md | Page component with locale awareness |
| language-switcher.md | Language switcher component |
Best Practices
- Use
getRelativeLocaleUrl()— never hardcode locale prefixes in links Astro.currentLocale— read locale in components, not from URL manually- Content Collections per locale — organize translated content in
src/content/[type]/[locale]/ - Sitemap hreflang — always configure
@astrojs/sitemapwithi18noption for SEO - Fallback locales — configure
fallbackto prevent 404s for missing translations
Forbidden
- Hardcoding locale strings in URL paths
- Parsing the URL manually to detect locale (use
Astro.currentLocale) - Skipping hreflang configuration for SEO-sensitive sites
- Using
getRelativeLocaleUrlwithout configuringsitein Astro config