Skip to content

Commit 5af2f73

Browse files
committed
[DOCS] ko translation - Phase 2, fix nested list indent render
1 parent c14c9f6 commit 5af2f73

28 files changed

Lines changed: 10227 additions & 178 deletions

docs/en/contributing/development-setup.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Installing pre-commit hooks...
3131
</div>
3232

3333
This single command:
34+
3435
- Installs the package in editable mode with dev dependencies
3536
- Sets up pre-commit hooks
3637
- Configures development tools

docs/en/contributing/template-creation-guide.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ fastapi-{purpose}-{stack}
3030
```
3131

3232
Examples:
33+
3334
- `fastapi-microservice` (Microservice template)
3435
- `fastapi-graphql` (GraphQL integration template)
3536
- `fastapi-auth-jwt` (JWT authentication template)
@@ -380,9 +381,9 @@ The inspector automatically validates the following items:
380381
#### ✅ Dependencies Validation
381382

382383
- [ ] `fastapi` is declared in at least one of:
383-
- [ ] `pyproject.toml-tpl` under `[project].dependencies` (preferred)
384-
- [ ] `requirements.txt-tpl`
385-
- [ ] `setup.py-tpl` under `install_requires`
384+
- [ ] `pyproject.toml-tpl` under `[project].dependencies` (preferred)
385+
- [ ] `requirements.txt-tpl`
386+
- [ ] `setup.py-tpl` under `install_requires`
386387

387388
#### ✅ FastAPI Implementation Validation
388389

@@ -400,6 +401,7 @@ The inspector automatically validates the following items:
400401
FastAPI-fastkit includes **automated template testing** that runs comprehensive tests for all templates:
401402

402403
**Test Coverage:**
404+
403405
- ✅ Template creation process
404406
- ✅ Project metadata injection
405407
- ✅ Virtual environment setup
@@ -425,12 +427,14 @@ New templates are **automatically discovered** and tested without manual configu
425427
4.**Comprehensive Validation**: Structure, metadata, and functionality checks
426428

427429
**What This Means for You:**
430+
428431
- 🚀 **No Additional Test Files at `FastAPI-fastkit`'s main source testcases**: Your template is tested automatically
429432
-**Faster Development**: Focus on template content, not test setup
430433
- 🛡️ **Quality Assurance**: Consistent testing across all templates
431434
- 🔄 **CI/CD Integration**: Automatic testing in pull requests
432435

433436
**Manual Testing Still Required:**
437+
434438
- 🧪 **Template-specific functionality**: Business logic and custom features
435439
- 🔧 **Integration testing**: External services and complex workflows
436440
- 📱 **End-to-end scenarios**: Complete user workflows
@@ -541,8 +545,8 @@ Closes #issue-number
541545
### Review Process
542546

543547
1. **Automated Validation**: GitHub Actions automatically validates the template
544-
- **Template PR Inspection**: Runs `inspect-changed-templates.py` on PRs modifying templates
545-
- **Weekly Inspection**: Full template validation every Wednesday
548+
- **Template PR Inspection**: Runs `inspect-changed-templates.py` on PRs modifying templates
549+
- **Weekly Inspection**: Full template validation every Wednesday
546550
2. **Code Review**: Maintainers and community review the code
547551
3. **Testing**: Template is tested in various environments
548552
4. **Documentation Review**: Review documentation accuracy and completeness

docs/en/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ Installing dependencies...
345345
</div>
346346

347347
The interactive mode provides:
348+
348349
- **Architecture preset selection** (`minimal` / `single-module` / `classic-layered` / `domain-starter`) that picks the right base template and project layout
349350
- **Guided selection** for databases, authentication, background tasks, caching, monitoring, and more
350351
- **Auto-generated code** for selected features — varies by preset (regenerated `main.py` for `minimal` / `single-module`; preserve template-shipped `main.py` and overlay config modules for `classic-layered` / `domain-starter`)
@@ -500,6 +501,7 @@ Learn FastAPI development through practical use cases with our pre-built templat
500501
- **[Integrating with MCP](tutorial/mcp-integration.md)** - Create an API server integrated with AI models using the `fastapi-mcp` template
501502

502503
Each tutorial provides:
504+
503505
-**Practical Examples** - Code you can use directly in real projects
504506
-**Step-by-Step Guides** - Detailed explanations for beginners to follow easily
505507
-**Best Practices** - Industry-standard patterns and security considerations

docs/en/reference/template-quality-assurance.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,20 @@ The automated testing system runs in **CI/CD pipelines**:
101101
### Benefits for Contributors
102102

103103
**Zero Configuration Testing:**
104+
104105
- 🚀 Add new template → automatic testing
105106
- ⚡ No manual test file creation required
106107
- 🛡️ Consistent quality standards
107108

108109
**Comprehensive Coverage:**
110+
109111
- 🔍 End-to-end project creation testing
110112
- 📦 Multi package manager validation
111113
- 🏗️ Complete dependency resolution testing
112114
- ✅ Real-world usage simulation
113115

114116
**Developer Experience:**
117+
115118
- 🎯 **Focus on Template Content**: Testing is automatic
116119
- 🔄 **Immediate Feedback**: Fast test execution
117120
- 📊 **Clear Results**: Detailed test reporting
@@ -190,8 +193,8 @@ For a template to pass inspection, it must meet these requirements:
190193
- Python files must use `.py-tpl` extension
191194
- Must include a `tests/` directory and a `README.md-tpl` file
192195
- Must include **at least one** metadata file:
193-
- `pyproject.toml-tpl` (preferred, PEP 621), or
194-
- `setup.py-tpl` (legacy, still accepted)
196+
- `pyproject.toml-tpl` (preferred, PEP 621), or
197+
- `setup.py-tpl` (legacy, still accepted)
195198
- `requirements.txt-tpl` is optional when `pyproject.toml-tpl` declares
196199
`[project].dependencies`
197200

docs/en/reference/translation-status.md

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ next section explains).
2929
| Locale | Status | Markdown pages | Notes |
3030
|---|---|---:|---|
3131
| 🇬🇧 English (`en`) | ✅ Source of truth | 26 / 26 | Authoritative. |
32-
| 🇰🇷 Korean (`ko`) | 🟡 Partial | 8 / 26 | `index.md`, `changelog.md`, `reference/translation-status.md`, plus 5 user-guide pages (`installation`, `quick-start`, `creating-projects`, `using-templates`, `choosing-a-starter`). Other pages fall back to English. |
32+
| 🇰🇷 Korean (`ko`) | 🟡 Partial | 19 / 26 | `index.md`, `changelog.md`, `reference/translation-status.md`, all 7 user-guide pages, and all 9 tutorial pages. Other pages (contributing, broader reference) fall back to English. |
3333
| 🇯🇵 Japanese (`ja`) | 🔴 Skeleton | 0 / 26 | Build target only. Every page falls back to English. |
3434
| 🇨🇳 Chinese (`zh`) | 🔴 Skeleton | 0 / 26 | Build target only. Every page falls back to English. |
3535
| 🇪🇸 Spanish (`es`) | 🔴 Skeleton | 0 / 26 | Build target only. Every page falls back to English. |
3636
| 🇫🇷 French (`fr`) | 🔴 Skeleton | 0 / 26 | Build target only. Every page falls back to English. |
3737
| 🇩🇪 German (`de`) | 🔴 Skeleton | 0 / 26 | Build target only. Every page falls back to English. |
3838

39-
*Snapshot verified 2026-05-06; ko row recounted for the current branch.* These counts are maintained by hand;
39+
*Snapshot verified 2026-05-07; ko row recounted for the current branch after Phase 2 (user-guide + tutorial) translations landed.* These counts are maintained by hand;
4040
to recount the current state from the repo root, run:
4141

4242
```console
@@ -88,19 +88,36 @@ underlying content actually is.
8888

8989
## How to help
9090

91-
If you'd like to translate a page or fix an existing translation:
91+
The current rollout is **one tracking issue per locale**, with the work
92+
broken into **phases** — for example `ko` is being landed across
93+
Phase 1 (top-level + core user-guide), Phase 2 (remaining user-guide +
94+
all tutorials), Phase 3 (contributing + reference + changelog). Each
95+
phase ships as its own PR so reviewers can sign off on a coherent slice
96+
without waiting for the entire locale to be finished.
97+
98+
If you'd like to contribute:
9299

93100
1. Read the [Translation Guide](../contributing/translation-guide.md)
94101
for the workflow, tooling, and style conventions.
95-
2. Translate one page at a time — partial translations are welcome and
96-
merged incrementally.
97-
3. Open a PR adding the new file(s) under `docs/<locale>/<same path>`.
98-
Keep filenames identical to the English source so MkDocs picks them
99-
up automatically.
100-
4. Update this page's table to reflect the new completeness count
102+
2. **Check or open the locale tracking issue first.** If a locale
103+
already has an open tracking issue, claim a phase (or a specific
104+
page within a phase) there so the work doesn't double up. If no
105+
tracking issue exists for the locale you want to work on, open one
106+
that lists which pages belong to which phase, then start with
107+
Phase 1.
108+
3. **One PR per phase is the preferred shape.** Smaller "fix this
109+
single page" PRs are still welcome — especially for correcting an
110+
out-of-sync translation — but for net-new locale work, batching by
111+
phase keeps glossary decisions and cross-link wording consistent
112+
across the slice.
113+
4. Open the PR adding files under `docs/<locale>/<same path>`. Keep
114+
filenames identical to the English source so MkDocs picks them up
115+
automatically.
116+
5. Update this page's table to reflect the new completeness count
101117
(use the recount snippet at the top of this page) and bump the
102118
"Snapshot verified" date so reviewers can see when it was last
103-
reconciled.
119+
reconciled. Note in the "Notes" column which phase has landed if
120+
the locale is still partial.
104121

105122
Bug reports about translated pages going out of sync with the English
106123
source are welcome — please link the English page and the translated

docs/en/tutorial/first-project.md

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -985,6 +985,7 @@ Visit [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) to see your compl
985985
- **Items**: Original example endpoints
986986

987987
The documentation shows:
988+
988989
- All available endpoints
989990
- Request/response schemas
990991
- Data validation rules
@@ -1172,68 +1173,68 @@ Congratulations! You've successfully built a complete blog API with:
11721173
### ✅ Features Implemented
11731174

11741175
- **User Management**
1175-
- User registration with validation
1176-
- User authentication (login)
1177-
- Profile management
1178-
- Duplicate prevention
1176+
- User registration with validation
1177+
- User authentication (login)
1178+
- Profile management
1179+
- Duplicate prevention
11791180

11801181
- **Blog Posts**
1181-
- Create, read, update, delete posts
1182-
- Author-based filtering
1183-
- Search functionality
1184-
- Publish/draft status
1182+
- Create, read, update, delete posts
1183+
- Author-based filtering
1184+
- Search functionality
1185+
- Publish/draft status
11851186

11861187
- **Comment System**
1187-
- Add comments to posts
1188-
- View comments by post or author
1189-
- Comment management
1188+
- Add comments to posts
1189+
- View comments by post or author
1190+
- Comment management
11901191

11911192
- **Data Validation**
1192-
- Email validation
1193-
- Password requirements
1194-
- Content length limits
1195-
- Required field validation
1193+
- Email validation
1194+
- Password requirements
1195+
- Content length limits
1196+
- Required field validation
11961197

11971198
- **Error Handling**
1198-
- Proper HTTP status codes
1199-
- Descriptive error messages
1200-
- Input validation errors
1199+
- Proper HTTP status codes
1200+
- Descriptive error messages
1201+
- Input validation errors
12011202

12021203
- **API Documentation**
1203-
- Automatic OpenAPI generation
1204-
- Interactive testing interface
1205-
- Request/response schemas
1204+
- Automatic OpenAPI generation
1205+
- Interactive testing interface
1206+
- Request/response schemas
12061207

12071208
- **Testing**
1208-
- Comprehensive test coverage
1209-
- Unit tests for all endpoints
1210-
- Edge case testing
1209+
- Comprehensive test coverage
1210+
- Unit tests for all endpoints
1211+
- Edge case testing
12111212

12121213
## Next Steps
12131214

12141215
### Potential Enhancements
12151216

12161217
1. **Real Authentication**
1217-
- Implement JWT tokens
1218-
- Add password hashing with bcrypt
1219-
- Role-based permissions
1218+
- Implement JWT tokens
1219+
- Add password hashing with bcrypt
1220+
- Role-based permissions
12201221

12211222
2. **Database Integration**
1222-
- Use PostgreSQL or MySQL
1223-
- Implement proper database models
1224-
- Add database migrations
1223+
- Use PostgreSQL or MySQL
1224+
- Implement proper database models
1225+
- Add database migrations
12251226

12261227
3. **Advanced Features**
1227-
- File uploads for images
1228-
- Email notifications
1229-
- Post categories/tags
1230-
- Like/dislike system
1228+
- File uploads for images
1229+
- Email notifications
1230+
- Post categories/tags
1231+
- Like/dislike system
12311232

12321233
4. **Production Readiness**
1233-
- Add logging
1234-
- Implement caching
1235-
- Add rate limiting
1236-
- Environment configuration
1234+
- Add logging
1235+
- Implement caching
1236+
- Add rate limiting
1237+
- Environment configuration
12371238

12381239
### Continue Learning
12391240

docs/en/tutorial/getting-started.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ Visit the automatically generated API documentation:
215215
- **ReDoc**: [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc)
216216

217217
The Swagger UI is particularly useful - you can:
218+
218219
- See all available endpoints
219220
- Test endpoints directly in your browser
220221
- View request/response schemas
@@ -357,6 +358,7 @@ Do you want to add route 'users' to project 'my-first-api'? [Y/n]: y
357358
</div>
358359

359360
The server will automatically restart and now you have new endpoints:
361+
360362
- `GET /api/v1/users/` - Get all users
361363
- `POST /api/v1/users/` - Create a new user
362364
- `GET /api/v1/users/{user_id}` - Get a specific user
@@ -529,11 +531,13 @@ Try these challenges:
529531
### Common Issues and Solutions
530532

531533
**Server won't start:**
534+
532535
- Check you're in the project directory
533536
- Ensure virtual environment is activated
534537
- Verify no syntax errors in your code
535538

536539
**Import errors:**
540+
537541
- Make sure all `__init__.py` files exist
538542
- Check your import paths are correct
539543
- Verify you're using the virtual environment

docs/en/user-guide/adding-routes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@ $ fastkit addroute my-awesome-api categories
394394
</div>
395395

396396
This creates a comprehensive API with:
397+
397398
- `/api/v1/users/` - User management
398399
- `/api/v1/products/` - Product catalog
399400
- `/api/v1/orders/` - Order processing
@@ -468,6 +469,7 @@ def create_user(
468469
### 1. Consistent Naming
469470

470471
Follow consistent naming conventions:
472+
471473
- **Route names**: Use plural nouns (`users`, `products`, `orders`)
472474
- **Schema names**: Use singular (`User`, `Product`, `Order`)
473475
- **CRUD classes**: End with `CRUD` (`UsersCRUD`, `ProductsCRUD`)

docs/en/user-guide/creating-projects.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ Each package manager has its advantages:
177177
- 🛠️ **Reliable**: Deterministic resolution
178178

179179
**Generated files:**
180+
180181
- `pyproject.toml` (PEP 621 format)
181182
- `uv.lock` (lockfile)
182183

@@ -198,6 +199,7 @@ uv run pytest # Run tests
198199
- 📊 **Analytics**: Dependency analysis tools
199200

200201
**Generated files:**
202+
201203
- `pyproject.toml` (PEP 621 format)
202204
- `pdm.lock` (lockfile)
203205

@@ -219,6 +221,7 @@ pdm run pytest # Run tests
219221
- 🏗️ **Complete**: Full project lifecycle management
220222

221223
**Generated files:**
224+
222225
- `pyproject.toml` (Poetry format)
223226
- `poetry.lock` (lockfile)
224227

@@ -240,6 +243,7 @@ poetry run pytest # Run tests
240243
- 🔧 **Simple**: Straightforward workflow
241244

242245
**Generated files:**
246+
243247
- `requirements.txt`
244248

245249
**Usage after creation:**

docs/en/user-guide/quick-start.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ You'll see:
135135
Visit [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)
136136

137137
This is the automatically generated **Swagger UI** documentation where you can:
138+
138139
- See all your API endpoints
139140
- Test endpoints directly in the browser
140141
- View request/response schemas

0 commit comments

Comments
 (0)