Skip to content

mailman005/browser_plugin

Repository files navigation

다타이쿠 번역 개선기

다타이쿠(Dataiku) 웹 인터페이스의 한글 번역 품질을 개선하는 브라우저 확장프로그램입니다.

주요 기능

  • 글로서리 기반 번역: 사용자 정의 용어집을 통해 오번역 수정
  • Angular SPA 대응: Dataiku의 Angular 기반 앱에 최적화된 번역 시스템
  • JSON 파일 관리: 번역 규칙을 JSON 파일로 내보내기/가져오기
  • 실시간 번역 적용: 페이지 로드 및 동적 콘텐츠에 자동 적용
  • 간편한 관리: 팝업 인터페이스를 통한 쉬운 설정 관리
  • 토글 기능: 필요에 따라 번역 개선 기능 활성화/비활성화

핵심 기술 분석

Dataiku 앱 구조

  • Angular 기반 SPA: Single Page Application으로 동적 콘텐츠 로딩
  • i18n 번역 시스템: translate="HOME.RESOURCES.LEARN.HEADING" 속성 사용
  • 동적 DOM 구조: /html/body/div[1]/div[12]/div[1]/ng2-home-page/div/... 형태의 복잡한 XPath
  • Angular 컴포넌트: ng2-home-page, _ngcontent-ng-c844578629 등의 Angular 특성 속성

번역 처리 전략

  1. Angular 로딩 대기: [translate], ng2-home-page, [_ngcontent] 요소 감지
  2. 다단계 번역 적용: Angular i18n 완료 후 → 우리 번역 적용
  3. 동적 요소 감지: MutationObserver로 새로 추가되는 translate 요소 즉시 처리
  4. 디바운싱: 성능 최적화를 위한 번역 실행 지연 (300ms)
  5. 다중 시도: 동적 로딩 고려하여 1초, 3초 후 추가 번역 시도

설치 방법

  1. Chrome 브라우저에서 chrome://extensions/ 페이지로 이동
  2. 우측 상단의 "개발자 모드" 활성화
  3. "압축해제된 확장 프로그램을 로드합니다" 클릭
  4. 이 폴더를 선택하여 확장프로그램 설치

사용 방법

  1. 다타이쿠 페이지에서 확장프로그램 아이콘 클릭
  2. "번역 개선 활성화" 버튼으로 기능 활성화
  3. 글로서리 섹션에서 번역 규칙 추가/수정
    • 원문: 영어 원문 입력
    • 번역: 원하는 한글 번역 입력
  4. 페이지가 자동으로 개선된 번역으로 업데이트됨

기본 글로서리

  • Home → 홈
  • Dashboard → 대시보드
  • Project → 프로젝트
  • Dataset → 데이터셋
  • Recipe → 레시피
  • Flow → 플로우
  • Model → 모델
  • Scenario → 시나리오
  • Notebook → 노트북
  • Analysis → 분석
  • Learn → 학습공간
  • 배우다 → 학습공간

파일 관리

JSON 내보내기/가져오기

  • 내보내기: 현재 번역 규칙을 glossary.json 파일로 다운로드
  • 가져오기: JSON 파일에서 번역 규칙 일괄 업로드
  • 파일 형식:
[
  {
    "original": "Learn",
    "translation": "학습공간"
  },
  {
    "original": "배우다", 
    "translation": "학습공간"
  }
]

번역 규칙 편집

  1. 팝업에서 "JSON 내보내기" 클릭
  2. 다운로드된 glossary.json 파일을 텍스트 에디터로 편집
  3. "JSON 가져오기"로 수정된 파일 업로드
  4. 번역 규칙이 자동으로 적용됨

지원 사이트

기술 스택

  • Manifest V3: 최신 Chrome 확장프로그램 표준
  • Vanilla JavaScript: 프레임워크 없는 순수 자바스크립트
  • Chrome Extensions API: 브라우저 확장 기능
  • MutationObserver: DOM 변화 실시간 감지
  • TreeWalker: 효율적인 텍스트 노드 탐색
  • Angular 감지: SPA 앱 로딩 상태 확인

디버깅

콘솔 로그 확인

F12 개발자 도구 → Console 탭에서 다음 로그 확인:

  • Dataiku 번역 개선기: Angular 앱 감지됨, 번역 시작
  • Dataiku 번역 개선기: 글로서리 업데이트됨
  • Dataiku 번역: "Learn" → "학습공간"

문제 해결

  1. 번역이 안 되는 경우:

    • 확장프로그램 새로고침 (chrome://extensions/)
    • Dataiku 페이지 새로고침
    • 콘솔에서 오류 메시지 확인
  2. Angular 로딩 지연:

    • 페이지 로드 후 1-3초 대기
    • 동적 콘텐츠는 자동으로 감지하여 번역 적용

라이선스

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published