Skip to content

fix: 엔진 실패 메시지를 사용자 언어로 표시하기 (나머지 경로) #44

Description

@devlikebear

엔진에서 올라오는 실패 메시지 대부분이 아직 영어로 노출됩니다. 한국어로 쓰는 사용자에게는 한국어 UI 한가운데 영문 문장과 RpcError: 접두어가 그대로 보입니다.

#43에서 번역 메커니즘과 첫 사례(AI 데이터 전송 동의)를 처리했지만, 나머지는 그대로입니다.

현황

MethodError 생성 지점 : 312곳
reason 코드가 붙은 곳 :   2곳

즉 310곳이 아직 엔진의 영문 문장을 그대로 내보냅니다. 프론트엔드는 String(e)로 표시하므로 Go 코드가 쓴 문장이 곧 사용자가 읽는 문장입니다.

제안하는 방식

#43에서 만든 구조를 그대로 확장하면 됩니다. 프로토콜 변경은 필요 없습니다.

  1. 엔진: engine/internal/rpc/reason.go에 reason 코드를 추가하고, 해당 MethodErrorData: rpc.ReasonData(...)를 붙입니다. Message는 로그용으로 영문 유지.
  2. 프론트엔드: apps/desktop/src/lib/rpcMessage.tsREASON_MESSAGE_KEYS에 매핑을 추가하고, i18n.tsx의 ko/en/ja 세 곳에 문구를 넣습니다.

코드가 없는 실패는 엔진 메시지로 폴백하므로, 한 번에 다 하지 않고 점진적으로 옮겨도 안전합니다.

우선순위 제안

312곳을 모두 옮길 필요는 없어 보입니다. 사용자가 실제로 마주치는 순서로 좁히는 편이 낫습니다.

  • 설정 화면: 제공자 연결 테스트, 모델 목록 가져오기, API 키 저장, web_search 테스트
  • 동기화: Git 동기화, 폴더 동기화 실패
  • 가져오기/내보내기 실패
  • 엔진 시작 실패(진단 화면)

내부 오류나 개발자만 보는 경로는 영문으로 두어도 무방합니다.

참고

관련: #43

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions