콘텐츠로 이동

자주 묻는 질문 (FAQ)

일반

오프라인 환경에서도 사용할 수 있나요?

네, 대부분 가능합니다. 세부적인 지원 범위는 다음과 같습니다:

  • 번역: LLM이 필요합니다. 기본 제공되는 무료 Gemini API는 온라인 환경에서 작동하지만, Custom Provider 설정을 통해 로컬 Ollama / LM Studio를 연결하면 완전 오프라인 번역이 가능합니다.
  • OCR: Tesseract 또는 EasyOCR을 사용하면 오프라인에서 작동합니다.
  • STT (음성 인식): Whisper(기본값)를 사용하면 오프라인에서 작동합니다.
  • TTS (음성 합성): 기본 엔진인 Edge TTS, 그리고 ElevenLabs / Google Cloud TTS / Gemini TTS는 온라인 환경(무료 또는 유료)에서 작동합니다. 반면 Piper TTS는 완전 오프라인 신경망 TTS 모델입니다. 설정 → 음성 → Piper TTS → 지금 음성 다운로드 메뉴에서 언어별 음성 파일(약 25–60MB ONNX 파일)을 한 번 다운로드해 두면, 이후로는 API 키나 네트워크 연결 없이 사용할 수 있습니다.

※ 완전한 외부망 차단(Air-gapped) 환경에서는 다음 설정을 조합하세요: 로컬 LLM(Custom Provider), Tesseract/EasyOCR, Whisper, Piper TTS.

번역된 파일은 어디에 저장되나요?

기본적으로 원본 파일과 동일한 위치에 _translated_<원본언어>_<대상언어> 접미사가 붙어 저장됩니다(예: report_translated_en_fr.docx). 저장 위치는 설정 → 일반 → 번역 저장 경로 메뉴에서 기능별로 변경할 수 있습니다.

설정 파일은 어디에 보관되나요?

운영체제별 INI 파일 경로는 다음과 같습니다:

OS 경로
Linux ~/.config/ai-translate/settings.ini
macOS ~/Library/Preferences/ai-translate/settings.ini
Windows %APPDATA%\ai-translate\settings.ini

API 키는 OS 키체인에 안전하게 저장되며 INI 파일에는 기록되지 않습니다. 번역 히스토리는 데이터 디렉터리 내부의 SQLite 데이터베이스(DB)에 저장됩니다.

내 데이터(문서, 음성 등)는 어떻게 처리되나요?

  • 로컬 처리 우선: 사용자가 클라우드 기반 LLM / OCR / STT / TTS 서비스를 명시적으로 호출하지 않는 한, 모든 데이터는 컴퓨터 외부로 전송되지 않습니다.
  • 사용자 추적(Telemetry) 없음: 이 앱은 사용자 데이터를 수집하거나 외부 서버로 전송하지 않습니다. 앱에서 발생하는 유일한 외부 네트워크 요청은 GitHub 릴리스를 확인하는 선택적 업데이트 알림 기능뿐이며, 이마저도 설정 → 일반에서 끌 수 있습니다. 물론 클라우드 기반 번역/음성 인식 기능을 사용할 때는 해당 서비스를 제공하는 벤더(Google, ElevenLabs 등) 서버와 통신합니다.
  • API 키 보안: 입력한 API 키는 운영체제의 암호화된 키체인에 저장됩니다. (단, 헤드리스 리눅스 서버처럼 OS 키체인을 사용할 수 없는 환경에서는 예외적으로 INI 파일에 일반 텍스트로 저장됩니다.)

Google 문서 / Notion 페이지를 번역할 수 있나요?

문서를 직접 번역하는 기능은 지원하지 않습니다. 해당 플랫폼에서 문서를 .docx, Markdown, HTML 등으로 먼저 내보낸(Export) 뒤 AI Translate로 번역하고, 번역된 파일을 플랫폼에 다시 가져오기(Import)를 수행해야 합니다.

모델 및 엔진 선택 가이드

어떤 LLM 모델을 선택하는 것이 좋은가요?

사용 목적에 따라 다음을 권장합니다:

  • Gemini Flash 모델: 무료로 사용할 수 있고 속도가 매우 빠르며 번역 품질도 훌륭합니다. 일상적인 번역에 적합합니다. (예: gemini-2.5-flash, gemini-3.0-flash 등)
  • Gemini Pro 모델: 종량제(Pay-as-you-go)로 운영되지만, 번역 품질이 가장 높습니다. 법률 문서, 기술 문서, 고객에게 제공할 중요한 문서에 적합합니다.
  • 로컬 Ollama (7B~13B 모델): 오프라인 환경이나 데이터 프라이버시가 매우 중요할 때 선택하세요.

앱 내 기능별로 다른 모델을 지정할 수 있으므로, 간단한 텍스트 번역에는 빠른 모델을 사용하고 중요한 문서 번역에는 고성능(유료) 모델을 사용하도록 각각 설정할 수 있습니다.

어떤 OCR 엔진을 사용해야 하나요?

  • Tesseract: 가장 대중적이며 깨끗하게 인쇄된 텍스트 추출에 적합합니다. 무료이고 오프라인에서 빠르게 작동합니다.
  • EasyOCR: 라틴 알파벳이 아닌 문자(특히 한중일 한자 및 CJK 스크립트)나 화질이 떨어지는 노이즈 이미지에 강합니다.
  • Google Cloud Vision: 손글씨, 다양한 언어가 섞인 문서, 그리고 가장 높은 정확도가 필요할 때 추천합니다. (클라우드 서비스, 유료)

어떤 STT(음성 인식) 엔진을 사용해야 하나요?

  • 오프라인 환경 및 프라이버시 보호가 중요할 땐 Whisper local.
  • 다수의 화자가 대화하는 오디오 녹음에는 Soniox (발화자별 자막(SRT) 구분 지원).
  • 전화 통화나 의료 관련 오디오처럼 특정 도메인에 특화된 음성에는 Google Cloud STT.
  • 실시간 음성 대화 번역에는 Gemini Live.

어떤 TTS(음성 합성) 엔진을 선택해야 하나요?

  • 무료이면서도 뛰어난 품질의 음성이 필요할 땐 Edge TTS.
  • 최고 품질의 프리미엄 음성이나 특정 브랜드를 위한 음성 클로닝에는 ElevenLabs.
  • Edge TTS에서 지원하지 않는 소수 사용 언어(Long-tail)의 고품질 음성이 필요할 땐 Google Cloud TTS.
  • 설정해 둔 Gemini API 키를 재사용해 무료로 자연스러운 음성을 생성하려면 Gemini TTS.
  • 완전 오프라인 환경에서 음성을 출력하려면 Piper TTS. 단, 각 언어의 음성 파일(약 25~60MB)을 최초 1회 다운로드해야 하며, 앱이 지원하는 45개 언어 중 13개 언어는 아직 Piper 음성이 제공되지 않습니다. (지원하지 않는 언어를 요청할 경우 자동으로 Edge TTS로 대체되어 작동합니다.)

워크플로우

전체 폴더를 어떻게 번역하나요?

문서 번역 화면의 드래그 앤 드롭 영역에 전체 폴더를 끌어다 놓으세요. 폴더 내부에 있는 모든 지원 가능한 파일(하위 폴더 포함)이 작업 대기열에 추가됩니다. 지원하지 않는 파일은 알아서 무시됩니다. 단, 한 번에 최대 100개의 파일만 끌어다 놓을 수 있으므로 대규모 작업은 여러 번에 나누어 진행하세요.

번역을 일시 중지하고 재개할 수 있나요?

네, 가능합니다. 작업 도중 언제든지 앱을 종료하셔도 됩니다. 대기 중(Pending)이거나 번역 중(Translating)이던 작업은 다음 번 앱 실행 시 이어서 진행됩니다. 내부적으로 체크포인트 기능이 작동하므로, 예를 들어 100페이지 PDF 문서를 번역하다 47페이지에서 멈췄다면 다음 번에 48페이지부터 바로 이어서 번역합니다.

번역을 수동으로 편집할 수 있나요?

  • 텍스트 번역 기능: 번역 결과가 표시되는 오른쪽 패널을 클릭해 직접 텍스트를 수정할 수 있습니다. 수정된 내용은 해당 번역 기록(History)에 자동으로 저장됩니다.
  • 문서 번역 기능: 번역이 완료된 파일을 평소 사용하시는 문서 편집기(Word, LibreOffice 등)로 열어서 내용을 수정하시면 됩니다. 단, 외부 편집기에서 수정한 내용은 AI Translate 앱 내부의 번역 히스토리에 반영되지 않습니다.

코드 문자열이나 단어 목록을 한 번에 일괄 번역할 수 있나요?

CLI 명령어(ait)를 활용할 수 있습니다:

ait *.txt --target French

혹은 내부 프로세스의 문자열(예: 코드에서 추출한 UI 텍스트 배열)을 번역해야 할 때는 MCP translate_text 도구에 목록을 넘기거나 파이썬(Python) API를 직접 호출할 수도 있습니다:

from src.core.llm_engine import translate_text
out = translate_text(texts=["Hello", "World"], target_lang="French")

용어집(Glossary) 기능

LLM이 제가 등록한 용어집을 무시하고 번역하는 것 같습니다.

다음 세 가지를 확인해 보세요:

  1. 용어집 세트가 활성화(체크 표시)되어 있는지 확인하세요.
  2. 원본 텍스트에 용어집에 등록된 원본 단어가 정확히 존재하는지 확인하세요. (API 토큰을 절약하기 위해 원본 텍스트에 등장하는 용어만 추려 LLM에 전달합니다. 따라서 원본 용어집에 오타가 있다면 매칭되지 않아 LLM에 전달되지 않습니다.)
  3. 너무 가벼운 모델을 사용 중인지 확인하세요. flash-lite와 같은 경량 모델은 종종 용어집 힌트를 무시하는 경향이 있습니다. flashpro 모델을 사용하면 훨씬 잘 준수합니다.

용어집 단어 매칭 시 대소문자나 악센트를 구분하나요?

구분하지 않습니다. 용어집 내부 매칭 로직과 앱 내 검색창 모두 악센트 기호를 무시하고 대소문자를 동일하게 취급하는 정규화(Normalization) 처리를 거칩니다. 따라서 용어집에 원본 단어를 Café라고 등록해두면 문장 내에서 cafe, CAFE로 쓰이더라도 모두 정상적으로 매칭됩니다.

보안 및 개인정보 보호

앱 사용 기록이나 번역 데이터를 수집하나요?

전혀 수집하지 않습니다. 앱 내부에는 사용자 활동을 추적하는 Analytics SDK가 존재하지 않습니다. 앱 실행 시 새 버전 확인을 위해 GitHub Releases 페이지에 한 번 접근하는 것이 전부이며, 이 기능조차 설정 → 일반 메뉴에서 완전히 끌 수 있습니다.

제가 입력한 API 키는 안전하게 보관되나요?

네, 안전합니다. 운영체제(OS)가 제공하는 암호화된 키체인 시스템(macOS Keychain, Windows Credential Manager, Linux Secret Service)에 저장됩니다. 따라서 다른 프로그램이 명시적 허가 없이 키를 빼갈 수 없습니다.

단, OS 키체인 데몬을 사용할 수 없는 환경(예: 디스플레이가 없는 헤드리스 리눅스 서버 등)에 한해서는 사용자 설정 폴더 내의 INI 파일에 일반 텍스트로 보관됩니다. 이 경우 암호화되진 않지만, 파일 시스템 권한(File Permission)을 통해 다른 시스템 사용자가 열어볼 수 없도록 보호됩니다.