--- # Redmine 플러그인 번역 기준 가이드 (Korean) ## 1. 목적 본 문서는 Redmine 및 Redmine 플러그인(Easy Gantt, Easy Baseline 등)의 한국어 번역 작업 시 **용어 일관성 유지**, **PM 표준 준수**, **Redmine 코어와의 충돌 방지**를 목적으로 한다. --- ## 2. 최종 확정 번역 기준 (Core Terminology) 아래 용어는 **변경 금지(고정 규칙)**로 적용한다. | English | Korean (Final) | 근거 | | -------------- | -------------- | ----------------- | | Issue | **일감** | Redmine 코어 ko.yml | | Project | 프로젝트 | Redmine 코어 | | Tracker | 트래커 | Redmine 코어 | | Status | 상태 | Redmine 코어 | | Priority | 우선순위 | Redmine 코어 | | Baseline | **기준선** | PMBOK / 공정관리 표준 | | Critical Path | **주 경로** | CPM 표준 용어 | | Longest (path) | **최장** | “최장 주 경로”로 사용 | | Task | **일감** | Redmine UI 일관성 | | Parent task | **상위 일감** | Redmine 계층 구조 | | Relation | 관계 | Redmine 코어 | | Delay / Lag | **지연 시간** | 간트/네트워크 일정 용어 | | Progress date | **진척 기준일** | Easy Gantt 의미 반영 | | Milestone | 마일스톤 | 업계 관용어 | --- ## 3. 금지 / 주의 용어 목록 다음 표현은 **사용하지 않거나, 반드시 대체**해야 한다. | 잘못된 번역 | 대체 번역 | 사유 | | ------- | ----- | -------------- | | 작업 | 일감 | Redmine 코어와 충돌 | | 기준 일정 | 기준선 | PM 표준 아님 | | 크리티컬 패스 | 주 경로 | 한글 표준화 | | 태스크 | 일감 | UI 혼용 방지 | | 딜레이 | 지연 시간 | 의미 명확화 | | 액티비티 | 일감 | Redmine 모델 불일치 | --- ## 4. Easy Gantt / CPM 관련 표준 표현 | English UI | Korean UI | | --------------------- | ---------------- | | Critical path | 주 경로 | | Longest critical path | 최장 주 경로 | | Task on critical path | 주 경로상의 일감 | | Show only critical | 주 경로에 포함된 일감만 표시 | | Delayed issues | 지연된 일감 | | Relation delay | 관계 지연 시간 | | Fixed delay | 고정 지연 시간 | --- ## 5. 문체 및 스타일 가이드 * **존댓말 사용 금지** (Redmine 기본 UI 톤) * 간결하고 설명형 문장 사용 * 경고/확인 문구는 단정형 사용 예) * “계속 진행하시겠습니까?” * “저장할 수 없습니다” * UI 버튼은 명사형으로 번역 예) “생성”, “표시”, “재계산” --- ## 6. YAML 작성 규칙 (중요) 번역 오류로 컨테이너가 재시작되는 것을 방지하기 위해 반드시 준수한다. ### 6.1 필수 규칙 * 탭(Tab) 사용 금지 → **공백 2칸** * `:` 뒤 반드시 공백 1칸 * 따옴표(`"`)는 필요한 경우에만 사용 * `%{variable}` 형식 절대 변경 금지 ### 6.2 권장 사항 * 긴 문장은 `>` 블록 스타일 사용 * HTML(`
`, ``) 포함 시 YAML 문법 재검증 필수 * 수정 후 `yamllint` 또는 `ruby -e "YAML.load_file"`로 사전 검사 --- ## 7. Redmine 플러그인 번역 충돌 방지 체크리스트 번역 파일을 커밋/적용하기 전에 아래를 **항상 점검**한다. ### 7.1 용어 충돌 체크 * [ ] Issue가 “작업”으로 번역된 곳은 없는가? * [ ] Baseline이 “기준 일정”으로 남아 있지 않은가? * [ ] Critical path가 “크리티컬 패스” 또는 “주요 경로”로 섞여 있지 않은가? * [ ] Task / Issue가 혼용되지 않았는가? ### 7.2 Redmine 코어 정합성 * [ ] Redmine 기본 메뉴(일감, 트래커, 상태)와 용어가 일치하는가? * [ ] 권한(permission) 문구에서 “작업” 표현이 없는가? ### 7.3 기술적 안정성 * [ ] ko.yml 파일에 특수문자(`:` `#` `%`)가 잘못 들어가지 않았는가? * [ ] 줄 번호 기준 오류(Psych::SyntaxError)가 발생하지 않는가? * [ ] 컨테이너 재시작 시 i18n 오류 없이 기동되는가? ### 7.4 운영 관점 * [ ] 번역 변경 후 `docker restart` 또는 `compose up -d` 전략이 명확한가? * [ ] Git 저장소에 번역 기준 문서(md)가 함께 관리되고 있는가? --- ## 8. 권장 운영 방식 * 번역 기준 문서(`TRANSLATION_GUIDE.md`)를 **번역 저장소 루트에 고정** * 신규 플러그인 번역 전 반드시 본 문서 참조 * “Issue = 일감”, “Baseline = 기준선”은 **절대 규칙** ---