You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Usage:** Via `useTranslations()` hook or `getTranslations()` server function
54
+
-**Managed by:** This skill's sync and translate commands
55
+
56
+
### 2. Manifest Translation System
57
+
-**Purpose:** Translates manifest data (IDEs, CLIs, models, providers, etc.)
58
+
-**Location:**`manifests/**/*.json` (in each manifest file's `translations` field)
59
+
-**Usage:** Via `localizeManifestItem()` and `localizeManifestItems()` functions
60
+
-**Managed by:** Manual editing of manifest files or manifest automation tools
61
+
62
+
**This skill manages only the UI Translation System.** For manifest translations, edit the manifest JSON files directly or use the manifest-automation skill.
63
+
35
64
## Enabled Locales
36
65
37
66
Currently enabled locales in `src/i18n/config.ts`:
38
67
-`en` - English (source of truth)
39
68
-`de` - Deutsch (German)
40
-
-`zh-Hans` - 简体中文 (Simplified Chinese)
69
+
-`es` - Español (Spanish)
70
+
-`fr` - Français (French)
71
+
-`id` - Bahasa Indonesia (Indonesian)
72
+
-`ja` - 日本語 (Japanese)
41
73
-`ko` - 한국어 (Korean)
74
+
-`pt` - Português (Portuguese)
75
+
-`ru` - Русский (Russian)
76
+
-`tr` - Türkçe (Turkish)
77
+
-`zh-Hans` - 简体中文 (Simplified Chinese)
78
+
-`zh-Hant` - 繁體中文 (Traditional Chinese)
42
79
43
-
Additional locale directories may exist but are not enabled in the config.
80
+
All 12 locales are fully enabled and must be maintained in sync.
44
81
45
82
## Subcommands
46
83
@@ -117,13 +154,13 @@ Generate translation tasks for Claude Code to translate missing content.
117
154
When you need to translate content, use this command in Claude Code:
Copy file name to clipboardExpand all lines: CLAUDE.md
+44-1Lines changed: 44 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,21 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
5
5
## Internationalization (i18n)
6
6
7
7
When creating or modifying any page, module, or data:
8
-
-**MUST support at least 4 languages:** English, Simplified Chinese (zh-Hans), German (de), and Korean (ko), NEVER hardcode `'en' | 'zh-Hans'`
8
+
-**MUST support all configured languages (18 total):**
9
+
- English (en)
10
+
- German (de)
11
+
- Spanish (es)
12
+
- French (fr)
13
+
- Indonesian (id)
14
+
- Japanese (ja)
15
+
- Korean (ko)
16
+
- Portuguese (pt)
17
+
- Russian (ru)
18
+
- Turkish (tr)
19
+
- Simplified Chinese (zh-Hans)
20
+
- Traditional Chinese (zh-Hant)
21
+
22
+
-**NEVER hardcode** a subset of locales like `'en' | 'zh-Hans'`
9
23
-**MUST use the localized Link component:** Always import and use `import { Link } from '@/i18n/navigation'` instead of Next.js default Link
10
24
11
25
### Localization Best Practices
@@ -14,6 +28,35 @@ When creating or modifying any page, module, or data:
14
28
-**DRY principle for translations:** Before creating new translation keys, search existing translation modules thoroughly to reuse existing terms and phrases
15
29
-**Consistency:** Use the same translation keys across similar contexts
16
30
31
+
### Translation File Organization
32
+
33
+
Follow the detailed architecture rules in [docs/I18N-ARCHITECTURE-RULES.md](docs/I18N-ARCHITECTURE-RULES.md) for organizing translation resources.
34
+
35
+
**Core Principles:**
36
+
1.**Page translations**: Each page or page group should have its own JSON file (e.g., `ides.json`, `ide-detail.json`)
37
+
2.**Component translations**: Organize by component directory:
-`components/navigation.json` - All navigation/* components
40
+
-`components/controls.json` - All controls/* components
41
+
-`components/sidebar.json` - All sidebar/* components
42
+
-`components/product.json` - All product/* components
43
+
3.**Minimize `@:` references**: Use `tPage + tShared` or `tComponent + tShared` patterns in code instead of cross-namespace references in JSON
44
+
4.**Metadata placement**: Co-locate page metadata (title, description, etc.) with page translations under a `meta` object
45
+
5.**Multi-language workflow**: New translation keys should initially use English placeholders across all locales, with proper translation in a separate batch step
Live Site: [https://aicodingstack.io](https://aicodingstack.io) | [Contributing](CONTRIBUTING.md) | [Discussions](https://github.com/aicodingstack/aicodingstack.io/discussions)
18
18
19
19
AI Coding Stack is a comprehensive directory and community-maintained metadata repository for AI-powered coding tools, models, and platforms.
20
20
@@ -28,7 +28,7 @@ AI Coding Stack is a comprehensive directory and community-maintained metadata r
28
28
-**Curated Collections**: Hand-picked tool collections for specific use cases
29
29
-**Community-Driven**: Open-source metadata maintained by the developer community
30
30
-**Always Updated**: Latest version tracking and up-to-date information
31
-
-**Multilingual**: Support for English, German, Simplified Chinese, and Korean (more coming soon)
31
+
-**Multilingual**: Support for 12 languages including English, German, Simplified & Traditional Chinese, Korean, Spanish, French, Indonesian, Japanese, Portuguese, Russian, and Turkish
32
32
33
33
## Data Structure
34
34
@@ -126,7 +126,7 @@ All manifest files are automatically validated against JSON schemas. Make sure y
126
126
-**Styling**: Tailwind CSS 4
127
127
-**Internationalization**: next-intl
128
128
-**Content**: MDX for documentation
129
-
-**Deployment**: Cloudflare Workers
129
+
-**Deployment**: Cloudflare Workers (via OpenNext for Cloudflare)
0 commit comments