Skip to content

Commit 052d283

Browse files
haksungjangclaude
andcommitted
fix: 영어 번역 품질 수정 (2차 패스)
- placeholder(__ TERMx __, __ CODEx __) 전수 복원 - Markdown bold (* * text * *) 및 링크(] (url)) 문법 깨짐 수정 - reference/samples 코드 블록 내 '관련 표준' → 'Related Standards' 번역 - front matter 커스텀 필드 키/값 영문화 (작성일 → date 등) - blog/options.json sidebar.title 번역 - .claude/cursor-i18n-fix-prompt.md: 2차 수정 지시문 추가 Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
1 parent 197bf86 commit 052d283

55 files changed

Lines changed: 4264 additions & 4072 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/cursor-i18n-fix-prompt.md

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
# Cursor 번역 수정 지시문 — 2차 패스
2+
3+
1차 번역에서 발생한 아래 6가지 문제를 수정합니다.
4+
**대상 디렉토리: `website/i18n/en/` 전체**
5+
6+
---
7+
8+
## 문제 1 — `__ TERMx __` / `__ CODEx __` placeholder 미복원 (36개)
9+
10+
번역 과정에서 일부 용어가 placeholder 형태로 남아있습니다. 아래 규칙대로 원래 값으로 복원하세요.
11+
12+
| placeholder | 복원할 값 | 비고 |
13+
| -------------- | ------------ | ----------------------------------------------- |
14+
| `__ TERM0 __` | `trustedoss` | 브랜드명 |
15+
| `__ TERM1 __` | `OpenChain` | 브랜드명 |
16+
| `__ TERM7 __` | `SBOM` | 고유명사 |
17+
| `__ CODE13 __` | `` `시작` `` | Claude에 입력하는 명령어 (코드이므로 백틱 유지) |
18+
19+
나머지 `__ TERMx __` / `__ CODEx __` 패턴이 있다면 동일하게 **원본 한국어 파일에서 해당 위치의 원문을 확인해 복원**하세요.
20+
21+
**찾는 방법:**
22+
23+
```bash
24+
grep -rn "__ TERM\|__ CODE" website/i18n/en/ --include="*.md"
25+
```
26+
27+
---
28+
29+
## 문제 2 — `* * text * *` Markdown bold 문법 깨짐 (17개)
30+
31+
`**텍스트**``* * text * *`(공백 삽입)으로 변환되어 굵게 렌더링되지 않습니다.
32+
33+
**수정 규칙:** `* * ``**`, ` * *``**`
34+
35+
```markdown
36+
# 잘못된 형태
37+
38+
- - ISO/IEC 5230 \* _ (License Compliance)
39+
Agent will automatically create _ _ 23 deliverables _ \*
40+
41+
# 올바른 형태
42+
43+
**ISO/IEC 5230** (License Compliance)
44+
Agent will automatically create **23 deliverables**
45+
```
46+
47+
**찾는 방법:**
48+
49+
```bash
50+
grep -rn "\* \*" website/i18n/en/ --include="*.md"
51+
```
52+
53+
---
54+
55+
## 문제 3 — `] (url)` Markdown 링크 문법 깨짐 (11개)
56+
57+
`[텍스트](경로)` 형식에서 `]``(` 사이에 공백이 삽입되어 링크가 동작하지 않습니다.
58+
59+
**수정 규칙:** `] (``](`
60+
61+
```markdown
62+
# 잘못된 형태
63+
64+
[Overview] (./00-overview/index.md)
65+
[Supply Chain Security] (./00-overview/supply-chain.md)
66+
67+
# 올바른 형태
68+
69+
[Overview](./00-overview/index.md)
70+
[Supply Chain Security](./00-overview/supply-chain.md)
71+
```
72+
73+
**찾는 방법:**
74+
75+
```bash
76+
grep -rn "\] (" website/i18n/en/ --include="*.md"
77+
```
78+
79+
---
80+
81+
## 문제 4 — 코드 블록 내 `관련 표준` 한국어 잔류
82+
83+
`reference/samples/` 하위 파일들에서 아래 패턴이 번역되지 않고 남아있습니다.
84+
이 항목은 코드 블록이지만 **사람이 읽는 레이블**이므로 번역해야 합니다.
85+
86+
대상 파일:
87+
88+
- `website/i18n/en/docusaurus-plugin-content-docs-reference/current/samples/process.md`
89+
- `website/i18n/en/docusaurus-plugin-content-docs-reference/current/samples/training.md`
90+
- `website/i18n/en/docusaurus-plugin-content-docs-reference/current/samples/organization.md`
91+
- `website/i18n/en/docusaurus-plugin-content-docs-reference/current/samples/policy.md`
92+
- (같은 패턴이 있는 다른 samples 파일 포함)
93+
94+
**수정 규칙:**
95+
96+
```
97+
# 잘못된 형태
98+
```
99+
100+
관련 표준
101+
102+
- 5230 §3.1.5.1·§3.3.1.1
103+
104+
```
105+
106+
# 올바른 형태
107+
```
108+
109+
Related Standards
110+
111+
- 5230 §3.1.5.1·§3.3.1.1
112+
113+
```
114+
115+
```
116+
117+
**찾는 방법:**
118+
119+
```bash
120+
grep -rn "관련 표준" website/i18n/en/ --include="*.md"
121+
```
122+
123+
---
124+
125+
## 문제 5 — front matter 커스텀 필드 한국어 잔류 (56개)
126+
127+
docs 파일들의 front matter에 한국어 키/값이 그대로 남아있습니다.
128+
129+
대상: `website/i18n/en/docusaurus-plugin-content-docs/current/` 하위 파일들
130+
131+
**수정 규칙 (키와 값 모두 영어로):**
132+
133+
```yaml
134+
# 잘못된 형태
135+
---
136+
작성일: 2026-03-20
137+
버전: 1.0
138+
충족 체크리스트:
139+
- 'ISO/IEC 5230: [3.1.1, 3.2.1]'
140+
셀프스터디 소요시간: 1시간
141+
---
142+
# 올바른 형태
143+
---
144+
date: 2026-03-20
145+
version: '1.0'
146+
checklist:
147+
- 'ISO/IEC 5230: [3.1.1, 3.2.1]'
148+
self_study_time: 1 hour
149+
---
150+
```
151+
152+
**찾는 방법:**
153+
154+
```bash
155+
grep -rn "^작성일:\|^버전:\|^셀프스터디\|^충족 체크리스트" website/i18n/en/ --include="*.md"
156+
```
157+
158+
---
159+
160+
## 문제 6 — `blog/options.json` 미번역
161+
162+
아래 파일의 `sidebar.title` 값이 한국어로 남아있습니다.
163+
164+
파일: `website/i18n/en/docusaurus-plugin-content-blog/options.json`
165+
166+
```json
167+
// 잘못된 형태
168+
"sidebar.title": {
169+
"message": "전체 블로그 포스트",
170+
"description": "The label for the left sidebar"
171+
}
172+
173+
// 올바른 형태
174+
"sidebar.title": {
175+
"message": "All Blog Posts",
176+
"description": "The label for the left sidebar"
177+
}
178+
```
179+
180+
---
181+
182+
## 완료 후 검증
183+
184+
```bash
185+
cd website && npm run build
186+
```
187+
188+
빌드 성공 + broken anchors 경고 없음을 확인하세요.

website/i18n/en/docusaurus-plugin-content-blog/options.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"description": "The description for the blog used in SEO"
99
},
1010
"sidebar.title": {
11-
"message": "전체 블로그 포스트",
11+
"message": "All Blog Posts",
1212
"description": "The label for the left sidebar"
1313
}
1414
}

website/i18n/en/docusaurus-plugin-content-docs-ai-coding/current.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "The label for version current"
55
},
66
"sidebar.aiCoding.category.도구별 설정": {
7-
"message": "도구별 설정",
8-
"description": "The label for category '도구별 설정' in sidebar 'aiCoding'"
7+
"message": "Tool-Specific Setup",
8+
"description": "The label for category 'Tool-Specific Setup' in sidebar 'aiCoding'"
99
}
1010
}

website/i18n/en/docusaurus-plugin-content-docs-ai-coding/current/ai-security-review.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
---
22
id: ai-security-review
3-
title: AI 보안 코드 리뷰
4-
sidebar_label: AI 보안 리뷰
3+
title: AI Security Code Review
4+
sidebar_label: AI Security Review
55
sidebar_position: 7
66
---
77

8-
# AI 보안 코드 리뷰 (4단계)
8+
# AI Security Code Review (Stage 4)
99

10-
## Findings-Driven인가
10+
## Why Findings-Driven?
1111

12-
전체 코드를 AI에게 보내는 방식은 토큰 비용이 크고 노이즈가 많습니다.
13-
**3단계 도구(Semgrep·grype)가 먼저 후보를 추리고, AI는 그 결과에만 집중**하는 방식이 효율적입니다.
12+
Sending the entire codebase to AI causes high token costs and excessive noise.
13+
It is more efficient for **Stage 3 tools (Semgrep and grype) to narrow candidates first, and AI to focus only on those results**.
1414

1515
```
1616
[3단계] Semgrep · grype → findings.json
@@ -20,23 +20,23 @@ sidebar_position: 7
2020
PR 코멘트 (빌드 차단 아님)
2121
```
2222

23-
| 도구 | 탐지 방식 | 강점 | 한계 |
24-
| -------------- | ---------------- | --------------------------- | ------------------------- |
25-
| Gitleaks | 정규식 패턴 매칭 | 하드코딩 시크릿 | 변수에 담긴 시크릿 미탐지 |
26-
| grype | CVE DB 대조 | 알려진 취약점 | 0-day·논리 버그 탐지 불가 |
27-
| Semgrep | 코드 패턴 규칙 | 일반적 취약 패턴 | 비즈니스 로직 맥락 무시 |
28-
| **AI (4단계)** | 자연어 추론 | FP 판정·맥락 이해·연관 발견 | FP율 높음, API 비용 발생 |
23+
| Tool | Detection Method | Strengths | Limitations |
24+
| ---------------- | -------------------------- | ----------------------------------------------------------- | ----------------------------------------- |
25+
| Gitleaks | Regex pattern matching | Hardcoded secrets | Cannot detect secrets hidden in variables |
26+
| grype | CVE DB matching | Known vulnerabilities | Cannot detect 0-day or logic bugs |
27+
| Semgrep | Code pattern rules | Common vulnerability patterns | Ignores business logic context |
28+
| **AI (Stage 4)** | Natural language reasoning | FP classification, context understanding, related discovery | High FP rate, API costs |
2929

30-
:::warning 빌드 차단이 아닌 리포트 용도로 운영하세요
31-
AI 리뷰는 FP(오탐)율이 높습니다. PR 코멘트 또는 Security 탭 리포트 생성 용도로만 사용하고,
32-
빌드를 강제로 실패시키는 용도로는 쓰지 않는 것을 권장합니다.
30+
:::warning Operate as reporting, not build blocking
31+
AI review has a high FP (false positive) rate. Use it only for PR comments or Security tab reporting,
32+
and avoid using it to force build failures.
3333
:::
3434

3535
---
3636

37-
## GitHub Actions 구성 예시
37+
## GitHub Actions Configuration Example
3838

39-
3단계 도구의 findings를 수집한 뒤, AI가 코드 컨텍스트와 함께 분석하는 워크플로우입니다.
39+
This workflow collects findings from Stage 3 tools, then has AI analyze them with code context.
4040

4141
```yaml
4242
# .github/workflows/ai-review.yml
@@ -192,7 +192,7 @@ jobs:
192192
193193
---
194194
195-
## 워크플로우 동작 원리
195+
## Workflow Execution Flow
196196
197197
```
198198
PR 오픈
@@ -207,35 +207,35 @@ PR 오픈
207207
PR 코멘트: TP/FP 판정 + 위험도
208208
```
209209
210-
**토큰 절약 포인트:**
210+
**Token-saving points:**
211211
212-
- Semgrep findings 상위 8개 + 각 ±5줄 컨텍스트만 전송
213-
- grype Critical/High만 (Medium·Low 제외)
214-
- findings 없으면 API 호출 자체를 건너뜀
212+
- Send only the top 8 Semgrep findings with ±5 lines of context each
213+
- Include only grype Critical/High findings (exclude Medium/Low)
214+
- Skip API calls entirely when there are no findings
215215
216216
---
217217
218-
## 활성화 방법
218+
## How to Enable
219219
220-
1. `ANTHROPIC_API_KEY`GitHub Secrets에 등록
221-
2. 워크플로우의 `if: ${{ secrets.ANTHROPIC_API_KEY != '' }}` 조건이 자동으로 활성화
220+
1. Add `ANTHROPIC_API_KEY` to GitHub Secrets
221+
2. The workflow condition `if: ${{ secrets.ANTHROPIC_API_KEY != '' }}` is enabled automatically
222222

223223
---
224224

225-
## 주의사항
225+
## Notes
226226

227-
**민감 코드의 외부 전송**
227+
**External transfer of sensitive code**
228228

229-
Semgrep이 플래그한 코드 조각이 Anthropic 서버로 전송됩니다. 사내 보안 정책상 외부 API 전송이 제한된 경우 도입 전 정책 검토가 필요합니다. 온프레미스 LLM(Ollama 등)으로 대체하는 방안도 고려할 수 있습니다.
229+
Code snippets flagged by Semgrep are sent to Anthropic servers. If internal security policy restricts external API transfer, policy review is required before adoption. Replacing with an on-prem LLM (such as Ollama) can also be considered.
230230

231-
**FP율과 비용**
231+
**FP rate and cost**
232232

233-
LLM 기반 판정은 오탐이 잦습니다. findings 수를 제한(`[:8]`, `[:5]`)해 비용을 통제하고, 팀 규모와 PR 빈도에 따라 월 API 비용을 사전에 추산하세요.
233+
LLM-based judgments frequently produce false positives. Control cost by limiting findings (`[:8]`, `[:5]`) and estimate monthly API usage in advance based on team size and PR frequency.
234234

235235
---
236236

237-
## 더 알아보기
237+
## Learn More
238238

239-
- [5단계 전략](./strategy) — 전체 단계 구조와 AI 방어 레이어 포지셔닝
240-
- [DevSecOps — SAST](/devsecops/sast) — 규칙 기반 정적 분석 (Semgrep · CodeQL)
241-
- [DevSecOps — 전사 파이프라인 설계](/devsecops/pipeline-design)
239+
- [5-Stage Strategy](./strategy) — Full stage structure and AI defense layer positioning
240+
- [DevSecOps — SAST](/devsecops/sast) — Rule-based static analysis (Semgrep · CodeQL)
241+
- [DevSecOps — Organization-wide Pipeline Design](/devsecops/pipeline-design)

0 commit comments

Comments
 (0)