I18n Smart Manager
한글 텍스트를 자동으로 추출하고 i18n 키로 변환하여 다국어 지원을 쉽게 만들어주는 VSCode 확장프로그램입니다.
✨ 주요 기능
한글 텍스트 자동 감지
- Vue, TypeScript, JavaScript, TSX, JSX 파일에서 한글 텍스트를 자동으로 감지
- 이미 i18n이 적용된 텍스트는 제외하여 중복 변환 방지
- 주석 내 한글 텍스트는 자동으로 제외
스마트 변환
- 한글 텍스트를 i18n 키로 자동 변환
- 변수가 포함된 텍스트도 자동으로 처리 (
${변수}
, {{변수}}
, {변수}
)
- 파일 타입에 맞는 올바른 문법으로 변환
Locales 파일 자동 생성
- 추출된 텍스트로
locales.{language}.json
파일 자동 생성
- 기존 파일과 병합하여 중복 키 방지
- DeepL API를 통한 자동 번역 지원 (영어, 중국어, 일본어)
- 중첩 구조 지원: 네임스페이스별로 그룹화된 파일 구조
Google Sheets 연동
- 생성된 locales 파일을 Google Sheets에 업로드
- 번역팀과의 협업을 위한 스프레드시트 관리
- 여러 언어 파일을 하나의 시트로 통합
- 자동 평면화: 중첩 구조를
namespace.key
형태로 변환하여 업로드
실시간 미리보기
- 변환 결과를 실시간으로 미리보기
- 변환 전/후 비교 가능
- 하이라이트를 통한 시각적 피드백
빠른 시작
1. 확장 설치
VSCode 익스텐션에서 "I18n Smart Manager"를 검색하여 설치하세요.
2. 모니터링 시작
- VSCode 사이드바에서 🌐아이콘 클릭
- 모니터링 시작 버튼을 클릭하여 한글 텍스트 모니터링 시작
3. 텍스트 변환
- 감지된 한글 텍스트를 확인
- 전체 변환 버튼으로 일괄 변환
- 또는 개별 텍스트를 선택하여 변환
- 네임스페이스 입력: 변환 시 네임스페이스를 입력하여 키를 그룹화 (예:
common
, auth
)
4. Locales 파일 생성
- locales 파일 생성 버튼 클릭
- 번역이 필요한 언어 선택
- 네임스페이스 입력 (선택사항): 키를 그룹화할 네임스페이스 입력
- 자동으로
locales.ko.json
, locales.en.json
등 파일 생성
⚙️ 설정
기본 설정
{
"I18nSmartManager.locales.outputPath": "", // locales 파일 저장 경로
"I18nSmartManager.locales.enabledLanguages": ["ko", "en", "zh", "ja"] // 활성화할 언어
}
키 생성 커스터마이징
{
"I18nSmartManager.keyGeneration.customFunction": "text => text.replace(/\\s+/g, '_').replace(/\\./g, '#dot#')"
}
DeepL 번역 설정
{
"I18nSmartManager.translation.deeplApiKey": "your-deepl-api-key"
}
Google Sheets 연동 설정
- 구글 API 키
{
"I18nSmartManager.spreadsheet.googleApiKey": "your-google-api-key"
}
Google API Key 설정
- Google Service Account 인증 정보
{
"I18nSmartManager.spreadsheet.serviceAccountCredentials": { your json }
}
Service Account 인증 정보
- 구글 스프레드시트 ID
{
"I18nSmartManager.spreadsheet.spreadsheetId": "your-spreadsheet-id"
}
Spreadsheet ID
사용법
명령어 팔레트
Ctrl+Shift+P
→ "I18n Smart Manager" 검색하여 사용 가능한 명령어 확인
사이드바 사용
- I18n Smart Manager 패널에서 모든 기능 접근
- 감지된 텍스트 목록 확인
- 개별 텍스트 제외/포함 설정
- i18n 변환 실행
키보드 단축키
Ctrl+Shift+A
: 선택한 텍스트를 i18n 목록에 추가
다국어 지원
자동 번역
- DeepL API를 통한 고품질 번역
- 지원 언어: 영어, 중국어, 일본어
- API 키 설정 후 자동으로 번역 파일 생성
Google Sheets 연동
- 번역팀과의 협업을 위한 스프레드시트 업로드
- 여러 언어를 하나의 시트로 통합 관리
- 실시간 협업 및 번역 상태 추적
커스터마이징
키 생성 규칙 설정
프로젝트에 맞는 i18n 키 생성 규칙을 직접 정의할 수 있습니다:
// 기본 변환 규칙:
// - 공백 → 언더스코어: 명시적 띄어쓰기 표현
// - 점(.) → #dot#: 네임스페이스 구분자(.)와 충돌 방지
(text) => text.replace(/\s+/g, '_').replace(/\./g, '#dot#');
네임스페이스 활용
대규모 프로젝트에서 i18n 키를 체계적으로 관리할 수 있습니다:
- 기능별, 페이지별로 키를 그룹화
namespace.key
형태로 자동 생성
- 중복 키 충돌 방지
선택적 변환 관리
변환할 텍스트를 세밀하게 제어할 수 있습니다:
- 개별 텍스트 제외/포함 설정
- 컨텍스트 메뉴로 간편한 관리
하이라이트 커스터마이징
{
"I18nSmartManager.highlighting.koreanTextColor": "#ffe44c", // 한글 텍스트 색상
"I18nSmartManager.highlighting.i18nTextColor": "#90EE90", // i18n 텍스트 색상
"I18nSmartManager.highlighting.koreanTextDecoration": "underline wavy", // 한글 텍스트 스타일
"I18nSmartManager.highlighting.i18nTextDecoration": "underline" // i18n 텍스트 스타일
}
지원하는 스타일
underline
- 기본 밑줄
underline wavy
- 물결 밑줄
underline dotted
- 점선 밑줄
underline dashed
- 대시 밑줄
none
- 밑줄 없음
색상 형식
- Hex 형식:
#ffe44c
, #90EE90
- RGB 형식:
rgb(255, 228, 76)
- 색상 이름:
yellow
, lightgreen