Skip to content

Mwoyeo 1.1.1

Choose a tag to compare

@midagedev midagedev released this 18 Oct 04:15

한국어

macOS 문서 인식이 돌아왔습니다. 화면에 맞춰 알아서 고릅니다. 웹 페이지, 문서, 슬라이드처럼 단이 나뉜 글은 macOS의 문서 인식으로 문단을 나누고, 자막, 게임 대사, 채팅처럼 줄이 흩어진 화면은 Mwoyeo가 줄을 직접 묶습니다. 렌즈가 읽은 줄의 배치를 보고 고르므로 따로 설정할 것은 없습니다. 특정 앱에서 다른 방식이 낫다면 설정 › 번역의 앱 목록에서 그 앱의 ⋯ 메뉴로 고정할 수 있습니다.

새 기능

  • 문단 나누기 자동 선택. 40장의 화면(논문, 자막, 게임, 채팅, 문서)으로 비교했을 때, 자동 선택이 두 방식 중 어느 하나만 쓸 때보다 문단을 더 정확히 나눴습니다. 한 번 문서 인식으로 정해진 화면은 한 번만 읽어서, 스크롤하는 동안에도 빠릅니다.
  • 추가한 엔진의 ⋯ 버튼. 설정의 엔진 목록에서 각 엔진 오른쪽의 ⋯ 버튼으로 편집, 구성 복사, 삭제를 할 수 있습니다. 오른쪽 클릭도 그대로 됩니다.
  • DeepL 하나로. DeepL Free와 Pro를 따로 고를 필요가 없습니다. 키 끝이 :fx이면 Free 서버로, 아니면 Pro 서버로 보냅니다.
  • 설정이 더 간단해졌습니다. 언어 팩 목록은 지금 쓰는 언어 쌍 한 줄만 보여 주고, 나머지는 모든 언어 안에 접어 두었습니다. 설치된 개수는 그 줄 오른쪽에 보입니다.
  • 렌즈 모양 고르기. 설정 › 모양에서 색 테마 6가지(스펙트럼, 강조 색상, 오션, 선셋, 포레스트, 모노), 네 모서리만 그리는 모서리 스타일, 이름표 표시(자동, 항상, 포인터를 올렸을 때)와 위치(네 모서리)를 고를 수 있습니다.
  • 설정 파일과 번역 로그. 모든 설정이 ~/Library/Application Support/Mwoyeo/settings.json에도 있어서, 직접 고치거나 Claude Code에게 *"렌즈를 은은하게 하고 일본어로 번역하게 해 줘"*처럼 시킬 수 있습니다. 저장하면 바로 적용되고, 잘못 고친 곳은 줄 번호와 함께 알려 줍니다. "transcriptFormats"에 "jsonl"을 더하면 번역된 줄마다 JSON 한 줄씩 기록되어 tail -f로 실시간으로 받아 볼 수 있습니다. 자세한 내용은 README의 설정 파일을 보세요.

고친 점

  • 처음 켤 때 글자 인식 준비를 알립니다. macOS가 인식 모델을 처음 준비하는 데 1분 남짓 걸릴 수 있습니다. 그동안 메뉴 막대 패널의 상태 줄에 "글자 인식 준비 중…"이 보이고, 렌즈는 그동안에도 이전 방식으로 읽습니다. 준비가 끝나지 못하면 다시 시도 버튼이 나옵니다.
  • 렌즈 테두리가 얇고 부드러워졌습니다. macOS 27에서 렌즈의 은은한 빛이 두꺼운 불투명 띠(10pt)로 그려지던 문제를 고쳤습니다. 이제 얇은 링 바깥으로 반투명한 빛이 번지고, 읽는 동안에는 더 밝아집니다.
  • 렌즈 이름표가 차분해졌습니다. 화면을 읽을 때마다 "번역 중…"이 깜박이던 것을 고쳤습니다. 실제로 번역할 때만, 잠깐이 아니라 이어질 때만 표시합니다. 같은 알림은 1분 안에 다시 띄우지 않습니다.
  • macOS 글자 인식의 일시적 오류를 넘깁니다. 무거운 작업 직후 macOS 인식기가 잠깐 준비되지 않았다고 답하면, 몇 초 동안 다른 모델로 읽고 다시 돌아갑니다. 다른 모델이 없는 언어(일본어 등)라도 렌즈가 빈 채로 멈추지 않고 1초 뒤 다시 읽으며, 처음 실행에서 문서 인식이 한 번 늦었다고 오류를 띄우지 않고 다시 준비합니다.
  • 그대로 둘 글자는 그대로 둡니다. 터미널 명령($ npm run build), 시각과 날짜, URL은 번역하지 않습니다. 채팅이나 게임 대화창 위의 한중일 이름도 엉뚱한 낱말로 번역하지 않습니다.
  • 한국어 번역이 낱말 중간에서 줄바꿈되지 않습니다. "노스필/드"처럼 끊기던 것을 고쳤습니다.
  • 문단을 더 정확히 나눕니다. 제목과 본문, 각주와 참고문헌, 글머리표가 한 문단으로 뭉치지 않습니다. 굵게 빛나는 한자 제목을 아이콘으로 잘못 보던 것도 고쳤습니다.
  • 세로쓰기는 건드리지 않습니다. 아직 읽지 못하는 세로쓰기(만화 말풍선 등)를 잘못 읽어 덮는 대신, 그대로 두고 한 번 알립니다.
  • 스크롤하는 동안 번역 순서가 똑똑해졌습니다. 곧 화면 밖으로 나갈 글보다 오래 머물 글을 먼저 번역하고, 늦게 도착할 번역은 미리 접습니다. 채팅 헤더나 입력창처럼 고정된 글은 스크롤 중에도 바로 번역합니다.
  • 문제가 생겨도 덜 보챕니다. 실패와 성공을 오가는 엔진은 조금씩 더 기다렸다가 다시 시도하고, 번역 없이 원문만 돌려주는 엔진에는 같은 글을 계속 보내지 않습니다. 글자 인식이 계속 실패하면 잠깐씩 쉬었다가 다시 읽습니다.

설치와 업데이트

brew install midagedev/tap/mwoyeo · brew upgrade mwoyeo · 또는 아래 디스크 이미지를 내려받으세요(서명·공증 완료).


English

macOS document recognition is back, and Mwoyeo picks it per screen. Text in columns, such as web pages, documents and
slides, is split into paragraphs by macOS document recognition. Scattered lines, such as subtitles, game dialogue and
chats, are grouped by Mwoyeo itself. The lens chooses from the layout of the lines it reads, so there is nothing to set up.
If one app reads better the other way, pin it from that app's ⋯ menu in Settings › Translation.

New

  • Automatic paragraph reader. On 40 screens (papers, subtitles, games, chats, documents), the automatic choice split
    paragraphs more accurately than either method alone. Once a screen is read with document recognition, it is read only
    once, so scrolling stays fast.
  • ⋯ button on added engines. Each engine in Settings has a ⋯ button for Edit, Copy Setup and Remove.
    Right-click still works.
  • One DeepL. No need to choose DeepL Free or Pro. A key ending in :fx goes to the Free host, any other key to Pro.
  • Simpler settings. The language pack list shows only the pair you use; the rest fold into All Languages, which shows how many are installed.
  • Choose the lens look. Settings › Appearance has six colour themes (Spectrum, Accent, Ocean, Sunset, Forest, Mono), a Corners style, and the name tag's visibility (Automatic, Always, On Hover) and position (any corner).
  • Settings file and translation log. Every setting is also in ~/Library/Application Support/Mwoyeo/settings.json, so you can edit it, or ask Claude Code: "Make the lens subtle and translate into Japanese." Saved changes apply at once; mistakes are reported with the line. Add "jsonl" to "transcriptFormats" to log one JSON line per translated line, ready for tail -f. See Settings file in the README.

Fixed

  • First-launch setup is shown. macOS can take a minute or more to prepare its recognition models the first time. The menu bar panel's status line says "Preparing text recognition…" meanwhile, and lenses keep reading with the older model. If setup cannot finish, a Try Again button appears.
  • A thinner, softer lens border. On macOS 27 the lens glow was drawn as a thick opaque band (10 pt). Now a thin ring has a translucent glow around it that brightens while the lens reads.
  • Calmer lens label. The label no longer flashes "Translating…" on every read. It shows only while a translation is
    really running and lasts. The same notice is not repeated within a minute.
  • Brief macOS recognition errors are bridged. When the recognizer briefly reports it is not ready after heavy work,
    Mwoyeo reads with another model for a few seconds, then returns. In a language with no other model (such as Japanese), a
    still lens no longer stays empty: it reads again a second later. A document read that is slow once on a first run no
    longer shows an error; the model is loaded again.
  • Text that should stay, stays. Terminal commands ($ npm run build), times and dates, and URLs are left as they are. CJK names above chat bubbles and game dialogue are no longer translated into odd words.
  • Korean translations no longer wrap mid-word. Lines like "노스필/드" are fixed.
  • Better paragraphs. Headings and body text, footnotes, references and bullets no longer run together. A bold, glowing CJK title is no longer taken for an icon.
  • Vertical text is left alone. Vertical writing (manga balloons and the like) is not read yet; instead of covering it with a misreading, Mwoyeo leaves it and says so once.
  • Smarter order while scrolling. Text that stays on screen longer is translated first, and a translation that would arrive too late is dropped. Fixed text such as a chat header or input box is translated during the scroll.
  • Less nagging when something fails. An engine that keeps failing and recovering waits longer between tries, an engine that returns text untranslated is not sent the same lines again and again, and failed text recognition pauses briefly before reading again.

Install or update

brew install midagedev/tap/mwoyeo · brew upgrade mwoyeo · or download the disk image below (signed and notarized).