iamcheyan/fudoki

An interactive Japanese text analysis and speech synthesis web app

Fudoki는 기기에서 완전히 실행되는 무료 브라우저 기반 일본어 학습 도구입니다. 일본어 텍스트를 붙여넣거나 입력하면 단어별로 분리하고, 각 단어의 품사(명사, 동사, 조사 등)를 라벨링하며, 읽기 방법(가나 및 로마자)을 표시하고, 컴퓨터 음성으로 텍스트를 읽어줄 수 있습니다.

계정 없음, 클라우드 없음. 문서, 설정, 단어 분석 데이터 등 모든 것이 브라우저의 로컬 저장소에 보관됩니다. 전체 앱은 로드 후 오프라인에서 작동합니다(PWA).

주요 기능

  1. 텍스트 분석. 일본어를 작성하거나 붙여넣고 분석 보기로 전환하면, 각 분리된 단어에 작은 색상 점과 밑줄이 나타나 품사(명사=녹색, 동사=파란색, 형용사=주황색, 부사=보라색, 조사=빨간색, 감탄사=노란색)와 읽기를 보여줍니다.

  2. 음성 듣기. 단어, 한 줄 또는 전체 문서를 재생합니다. 재생 속도를 0.5배에서 2.0배까지 조절하고, 음성을 선택하며, 일시 정지/재개(전용 버튼)할 수 있습니다. 재생 중에 속도나 음성을 변경하면 현재 위치 근처에서 자동으로 다시 시작됩니다. 설정은 세션 간에 유지됩니다.

  3. 단어 검색. 단어 카드를 클릭하면 사전 항목(JMdict 기반)이 열리며 번역, 읽기, Tanaka Corpus의 예문이 표시됩니다. 이 모든 데이터는 필요에 따라 로드되는 오프라인 데이터 조각으로 제공됩니다.

  4. 읽기 모드. 읽고 있는 줄을 강조 표시하는 깔끔한 전체 화면 오버레이로, 닫기 버튼과 활성화 중에도 액세스 가능한 토글 버튼이 있습니다.

  5. 문서 관리. 검색, 즐겨찾기, 필터 기능이 있는 사이드바; 자동 저장 기능으로 작성 내용을 유지합니다. 내장된 Markdown 편집기(굵게, 기울임꼴, 제목, 목록, 링크, 미리보기—전체 화면 나란히 보기 포함)도 사용할 수 있습니다.

  6. 데이터 내보내기/가져오기 JSON 백업 파일로 가능합니다.

이름의 유래

fudoki라는 이름은 일본의 고대 지지인 풍토기(Fudoki)에서 따왔습니다. 나라 시대의 기록으로, 지역의 풍경, 관습, 문화를 조용히 기록한 것입니다. "Fudo"는 장소의 느낌을, "Ki"는 기록을 의미합니다. 이 앱은 그 정신을 빌려 일본어 텍스트를 분리, 라벨링, 재음성화함으로써 "언어의 풍토"를 기록합니다.

사용 방법

  • 온라인: https://fudoki.iamcheyan.com
  • 또는 로컬에서(프로젝트 폴더에서):
    python3 -m http.server 8000
    # then open http://localhost:8000
    

기술적 기반

  • 단어 분리 / 품사 태깅: Kuromoji.js (JS로 포팅된 일본어 형태소 분석기; Apache License 2.0)
  • 사전: JMdict (Creative Commons Attribution-ShareAlike 3.0) 및 Tanaka Corpus 예문 (CC BY 2.0 FR)
  • 음성: 브라우저 내장 Web Speech API
  • 코드베이스: 순수 정적 사이트 — index.html 및 static/ 하위의 JS/CSS, Kuromoji 및 사전 파일은 static/libs/dict/ 하위에 위치; 디자인 토큰(색상, 반경, 품사 색조)은 static/styles.css에 CSS 변수로 정의
  • 라이선스: MIT License; 타사 구성 요소는 위 라이선스를 따름

참고 사항

README에는 20가지 발견 사항을 다루는 UI 감사 보고서(docs/ui-audit-2026-10-08.md)가 포함되어 있으며, 여러 화면 크기(데스크톱 1280×800 / 1920×1080, 태블릿 768×1024, 모바일 390×844 / 365×800 / 320×720, 다크 및 라이트 테마)에서의 전후 스크린샷이 포함되어 있습니다. 기여 가이드라인은 GitHub Issues를 참조하세요: https://github.com/iamcheyan/fudoki/issues

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트