본문 바로가기
BibleAI/설치 및 활용법

다국어 번역이 가능한 epub 뷰어로 활용하는 법

by 구봉환 2026. 2. 14.

 

현재 창의 모습은 서재관리 탭에서 딥리딩용 폴더인 00.5Readonly 를 검색 폴더로 지정하고 나서 열어 본 모습입니다. 여기에 보면 csb 베이커 스터디바이블 이펍 파일이 보입니다. 윈도우 탐색기에서 이 파일을 더블클릭하면 지정된 앱 - 그리고 바이블에이아이에서도 서재관리 탭에서 파일목록 막대를 클릭하면 지정해 놓은 Sumatra PDF 앱과 연결되어 아래와 같은 창이 뜹니다.

 

 

 

하지만 막대 우측 바구니 버튼을 누르면 바구니에 담기고 이 상태에서 보화찾기 탭으로 이동하면 아래 그림처럼  바구니 편집기에 1건 담겼다고 표시합니다. 아쉽게도 주석 모둘 파일막대를 누르면 잠시 로딩하다가 아무 것도 뜨지 않습니다. 모듈의 속성에 맞는 더워드나 이스워드 아니면 안드로이드용 마이스워드 등이 동원되야 하기 때문에 연결해 놓지 않았습니다. 그리고 모듈들은 주석만 사용하므로 다른 성경이나 사전 모듈은 바이블에이아이 앱이 읽지 못합니다. 다만 bible.dct.twm 파일만 원어해설창에서 연동되어 스트롱코드 검색으로 내용을 표시하게만 했습니다. 해설창 우측 상단에는 복사 버튼이 있어 필요할 경우 전체 복사하여 활용합니다. 

 

 

 

이제 바구니 편집기를 열어 보면 다음과 같습니다.

 

 

 

텍스트만 추출하여 보여주고 이 창에서 편집 가능합니다. 편집한 내용은 저장할 수도 있습니다. 편집내용 저장 버튼을 누르면 아래 그림처럼 메시지가 뜹니다. 저장 위치는 임시 폴더에 텍스트 형식으로 저장되어 있습니다. 그래서 프롬프트 하면 수정한 내용이 주입됩니다. 물론 원본 파일은 수정되지 않습니다. 문제는 이 창에서는 구글 크롬브라우저의 현재 페이지 번역기능이 작동하지 않아서 좀 곤란합니다. 영어뿐 아니라 스페인어 독어 불어 심지어 러시아어까지 파일들이 있으므로 번역 기능은 필수입니다. 

 

 

 

하지만 다음처럼 하면 번역기능을 갖춘 이펍뷰어로 바이블에이아이 앱을 사용할 수 있습니다. 

 

 

 

 

 

위 그림처럼 편집기에서 일부 내용을 복사하여 주제어 검색하는 에이전트 대화창에 큰 따옴표로 감싸서 (" ... ") 내용을 입력하면 "The description of the geographical setting of the Sermon on the Plain" 이런 식으로.. 에이전트 검색결과 1건이라고 출력됩니다. 여기서 담기 버튼을 누른 후 위로 올려보면 다음 그림처럼 카드형 목록에 이 자료가 나타납니다. 보기 버튼을 누르면 이제 별도창에서 보기가 가능해 집니다.

 

 

 

 

이 창에서 우클릭하여 한국어로 번역 버튼을 누르면 다음 그림처럼 번역된 화면이 나옵니다. 여기서 스크롤 내려서 읽으면 됩니다. 별도의 이펍 보기 앱이나 수마트라 PDF 없이도 볼 수 있습니다. 이 창을 분리해 내거나 아니면 그대로 읽기 좋게 크기 조절하여 보면 됩니다. 

 

 

 

 

참고로 스트림릿 앱의 알려진 일반적인 문제와 버그, 대처 방안을 아래에 알려드립니다.

 

Streamlit은 매우 강력하고 직관적인 도구이지만, 사용자님의 **BibleAI**처럼 대규모 주석 데이터를 다루고 복잡한 기능을 통합할 때는 몇 가지 고유한 특성(또는 한계)을 이해하고 있어야 나중에 당황하지 않습니다.

현재까지 알려진 주요 이슈들을 정리해 드립니다.

---

### ⚠️ Streamlit 사용 시 주의해야 할 특징 및 버그

#### 1. "전체 재실행" 메커니즘 (Rerun Issue)

* **현상**: 사용자가 버튼을 클릭하거나 값을 입력할 때마다 코드의 처음부터 끝까지 다시 실행됩니다.
* **영향**: 주석 파일 수백 개를 매번 다시 읽으면 속도가 느려집니다.
* **해결**: 사용자님 코드에 적용된 `st.cache_resource`나 `st.cache_data`를 통해 데이터를 메모리에 고정해 두는 것이 필수입니다.

#### 2. 메모리 누수 (Memory Leak)

* **현상**: 앱을 끄지 않고 며칠 동안 계속 켜두거나, 대용량 주석 파일을 반복해서 로드하면 RAM 사용량이 계속 늘어날 수 있습니다.
* **영향**: 저사양 PC(i5-6400 등)에서 브라우저가 느려지거나 앱이 튕길 수 있습니다.
* **해결**: 가끔 터미널에서 앱을 껐다 켜주거나 브라우저를 새로고침하는 것이 좋습니다.

#### 3. 파일 업로더/경로 인식 문제

* **현상**: 윈도우와 맥 사이의 경로 구분자(`\` vs `/`) 차이로 인해 모듈을 못 찾는 경우가 생깁니다.
* **영향**: 사용자님이 구성하신 `00Whole` 등의 폴더 구조가 맥에서 인식이 안 될 수 있습니다.
* **해결**: 파이썬의 `pathlib` 라이브러리를 사용해 경로를 처리하면 운영체제와 상관없이 안전합니다.

#### 4. 위젯 상태 유실 (State Management)

* **현상**: 설교 초안을 작성하다가 다른 옵션을 건드리면 입력하던 텍스트가 사라지는 경우가 있습니다.
* **해결**: `st.session_state`라는 저장소를 사용하여 입력 데이터를 임시 보관해야 합니다.

#### 5. 멀티 스레딩 환경의 제약

* **현상**: 여러 명이 동시에 접속할 때 데이터가 섞이거나 속도가 급격히 저하될 수 있습니다.
* **영향**: 로컬(개인용)에서는 문제가 없으나, 서버에 올려 동료 목회자들과 공유할 때 발생합니다.

---

### 💡 BibleAI를 위한 팁

이미 **더워드(.twm)**와 **e-Sword(cmtx)** 그리고 크로스웨이 디비(.cdb)와 안드로이드 마이스워드(.mybible) 모듈 인식을 성공 했고, `st.write_stream`으로 스트리밍 출력까지 구현했기 때문에 Streamlit의 가장 까다로운 부분들은 이미 다 넘어 섰습니다. 대부분의 증상들은 우측 상단 점3개 메뉴 눌러 Clear cache 하면 해결됩니다. 계속 문제가 되면 종료 후 재실행하는 방법도 있습니다.

 

 



현재 맥과 리눅스에서도 잘 돌아갑니다만, 사용 중 알 수 없는 문제가 발생하면 코드를 수정해야 합니다.