Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>i18n Key TranslatorNew to Visual Studio Code? Get it now.
i18n Key Translator

i18n Key Translator

ddussi

|
6 installs
| (0) | Free
View translation values for i18n keys directly in your editor
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

i18n Key Translator

VS Code 확장 프로그램으로, 다국어 지원(i18n)을 위한 번역 키를 사용하는 개발자들이 코드 작성 시 해당 키에 대한 번역 값을 쉽게 확인할 수 있도록 도와줍니다.

주요 기능

  • 번역 키 감지: JavaScript/TypeScript 파일에서 번역 키를 자동으로 감지합니다.
  • 번역 값 표시: 번역 키에 마우스를 호버링하면 번역 값을 팝업으로 표시합니다.
  • 다국어 지원: 여러 언어의 번역 값을 선택적으로 확인할 수 있습니다.
  • 번역 파일 이동: 팝업의 링크를 클릭하여 해당 번역 파일로 바로 이동할 수 있습니다.
  • 번역 누락 알림: 번역 키가 번역 파일에 없을 경우 알림을 표시합니다.
  • 파일 변경 감지: 번역 파일이 변경될 때 자동으로 새로운 내용을 반영합니다.
  • 다중 라이브러리 지원: React-i18next, i18next, Vue-i18n 등 다양한 i18n 라이브러리의 패턴을 지원합니다.
  • 캐싱 시스템: 다중 레벨 캐싱 전략으로 번역 조회 성능을 최적화합니다.

요구 사항

  • VS Code 1.80.0 이상

설치

  1. VS Code 마켓플레이스에서 "i18n Key Translator"를 검색합니다.
  2. 확장 프로그램을 설치합니다.
  3. VS Code를 재시작합니다.

사용 방법

  1. i18n 번역 키가 포함된 JavaScript 또는 TypeScript 파일을 엽니다.
  2. 번역 키가 포함된 코드(예: t('common.button.submit')) 위에 마우스를 올리면 팝업에 번역 값이 표시됩니다.
  3. 팝업의 "Open Translation File" 링크를 클릭하면 해당 번역 파일로 이동합니다.
  4. 명령 팔레트에서 "Test i18n Pattern on Current File"을 실행하여 현재 파일에서 감지된 모든 번역 키를 확인할 수 있습니다.

성능 최적화

이 확장 프로그램은 다음과 같은 성능 최적화 기법을 사용합니다:

1. 다중 레벨 캐싱 시스템

  • 평면화된 번역 맵:

    • 중첩된 JSON 구조(예: common.buttons.submit)를 평면화하여 Map 데이터 구조에 저장
    • O(1) 시간 복잡도로 모든 번역 값에 즉시 접근 가능
    • 깊은 객체 탐색이 필요 없어 성능 향상
  • LFU(Least Frequently Used) 캐시:

    • 사용 빈도 기반 캐시 교체 정책 구현
    • 자주 사용되는 번역 키는 캐시에 더 오래 유지
    • 지정된 크기 제한(기본 3000개 항목)으로 메모리 사용량 최적화
  • 문서별 위치 캐싱:

    • VS Code 문서 URI와 버전 기반으로 번역 키 위치 정보 캐싱
    • 문서 내용이 변경될 때만 캐시 갱신
    • 같은 문서에서 호버할 때 매번 정규식 검색하지 않아 반응 속도 개선

2. 정규식 패턴 최적화

  • 다양한 i18n 라이브러리를 위한 최적화된 정규식 패턴 제공
  • 사용자 정의 패턴 지원으로 확장성 제공
  • 패턴 테스트 기능으로 현재 파일에서 패턴 효과 즉시 확인 가능

지원하는 i18n 라이브러리

확장 프로그램은 다음 라이브러리의 일반적인 패턴을 기본 지원합니다:

  • react-i18next: t('key'), useTranslation().t('key'), i18n.t('key')
  • i18next: i18next.t('key'), i18n.t('key')
  • vue-i18n: $t('key'), i18n.t('key')
  • angular-i18n: 'key' | translate, "key" | translate
  • formatjs: <FormattedMessage id="key" />, formatMessage({ id: 'key' })
  • ruby-i18n: t('key'), I18n.t('key')
  • custom: 사용자 정의 정규식 패턴

설정

이 확장 프로그램은 다음과 같은 설정을 제공합니다:

  • i18n-key-translator.translationFilePaths: 번역 파일 경로 패턴 (glob 패턴, *는 언어 코드 위치)
  • i18n-key-translator.libraryPreset: 사용할 i18n 라이브러리 프리셋 선택
  • i18n-key-translator.translationKeyPattern: 사용자 정의 번역 키 감지 정규식 패턴
  • i18n-key-translator.displayLanguages: 팝업에 표시할 언어 목록
  • i18n-key-translator.primaryLanguage: 기본 표시 언어
  • i18n-key-translator.enableHover: 호버 팝업 활성화 여부
  • i18n-key-translator.enableMissingTranslationWarning: 번역 누락 경고 활성화 여부

기본 설정 예시:

{
  "i18n-key-translator.translationFilePaths": [
    "./src/locales/*/translation.json",
    "./public/locales/*/translation.json"
  ],
  "i18n-key-translator.libraryPreset": "react-i18next",
  "i18n-key-translator.displayLanguages": ["en", "ko"],
  "i18n-key-translator.primaryLanguage": "en",
  "i18n-key-translator.enableHover": true,
  "i18n-key-translator.enableMissingTranslationWarning": true
}

명령어

이 확장 프로그램은 다음 명령어를 제공합니다:

  • i18n-key-translator.openTranslationFile: 번역 파일 열기
  • i18n-key-translator.refreshTranslations: 번역 새로고침
  • i18n-key-translator.testPatternOnFile: 현재 파일에서 i18n 패턴 테스트

지원하는 파일 형식

  • JavaScript (.js)
  • TypeScript (.ts)
  • React JavaScript (.jsx)
  • React TypeScript (.tsx)
  • HTML (.html)

기술적 아키텍처

이 확장 프로그램은 다음과 같은 주요 컴포넌트로 구성되어 있습니다:

  • TranslationProvider: 번역 파일 로드 및 번역 값 제공
  • HoverProvider: 마우스 호버 시 번역 값 표시
  • Configuration: 사용자 설정 관리
  • TranslationCache: 번역 값 캐싱 및 메모리 최적화

라이선스

MIT

문의 및 기여

문제점이나 개선사항이 있으면 GitHub 이슈를 통해 알려주세요. 기여는 항상 환영합니다!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft