Skip to content

[#431] 리뷰 AI 번역 기능 추가 및 리뷰 UI QA 반영#434

Open
Hrepay wants to merge 28 commits into
developfrom
feat/#431
Open

[#431] 리뷰 AI 번역 기능 추가 및 리뷰 UI QA 반영#434
Hrepay wants to merge 28 commits into
developfrom
feat/#431

Conversation

@Hrepay

@Hrepay Hrepay commented Jul 19, 2026

Copy link
Copy Markdown
Member

🔗 관련 이슈

Resolved #431

✨작업 내용

리뷰 상세에서 한국어 리뷰를 영어로 번역해 보여주는 AI 번역 기능(DeepL, dev 서버 기배포)을 구현하고, 관련 화면들의 QA 디자인 수정을 반영했습니다.

리뷰 AI 번역 기능

  • POST /v2/reviews/{reviewId}/translate 연동 (라우터 케이스 + 응답 DTO 추가)
  • 디자인 스펙의 5개 상태 구현: 번역 전 → 로딩 → 번역 후 → 원문 보기 토글 → 실패
  • 번역문은 VC에서 reviewId 기준으로 보관해 원문/번역 토글 시 API 재호출 없이 전환, 리스트 재조회 시 내용이 바뀐 리뷰만 번역 캐시 무효화
  • 노출 조건: 앱 언어 영어 + 로그인 상태에서만 Translate 버튼 노출 (서버가 현재 EN만 지원 + 번역 API 인증 필수)
  • ⓘ 툴팁: 성공 상태는 유의사항, 실패 상태는 실패 안내 문구로 분리. 바깥 탭/스크롤/화면 이동 시 자동 닫힘
  • 로딩 인디케이터를 트랙 원 + 회전 호 형태의 커스텀 스피너로 구현 (EATSSUDesign/ESSpinner, 공용 컴포넌트)
  • 버튼/링크 컬러는 기존 Info 토큰(#3D69FF) 사용, 문구는 ko/en/ja/vi 4개 언어 로컬라이제이션 완료 (JA/VI는 서버 지원 시 노출 조건 한 줄만 풀면 확장 가능)
  • 번역 UI 5개 상태를 mock 데이터로 확인할 수 있는 SwiftUI 프리뷰 추가 (ReviewTableCell+Preview)

리뷰 화면 QA 반영

  • 리뷰 셀: 프로필 이미지 32, 닉네임/날짜 caption2, 리뷰 간 여백 20, 본문-번역 버튼 간격 4
  • 메뉴 태그 칩: caption2 / 높이 26
  • 리뷰 작성: 추천 칩 58×36(피그마 실측), 행 간격 8, 별점-타이틀 간격 26
  • 신고하기: 사유 버튼 간격 12 → 8

식당 인포메이션 시트 개편

  • 새 디자인 적용: 사진이 타이틀 바로 아래, 섹션 타이틀(회색)+값(좌측 정렬) 구조
  • large 고정 시트 → 컨텐츠 높이 맞춤 custom detent (마지막 텍스트 하단 여백 54, iOS 15는 large 폴백)

빌드/배포 설정

  • EATSSU-DEV 타깃의 Release 빌드가 dev 서버를 바라보도록 xcconfig 변경 (기존엔 dev 테플 빌드도 prod 서버를 바라봤음)
  • ITSAppUsesNonExemptEncryption 추가로 테플 업로드 후 수출 규정 컴플라이언스 수동 확인 단계 제거

🔍 리뷰어에게 (선택)

  • v3.2.8 (40) 테플에서 확인 가능합니다.
  • 번역 실패 시 재시도 UI는 디자인에 없어 넣지 않았습니다. 실패 상태는 화면 재진입 시 초기화됩니다.
  • prod 서버에는 번역 API가 아직 배포되지 않아, prod 릴리즈 전에 백엔드 배포가 선행되어야 합니다.

Hrepay added 27 commits July 18, 2026 14:45
@Hrepay Hrepay self-assigned this Jul 19, 2026
@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이번 PR은 리뷰 상세 화면에 AI 번역 기능을 도입하여 다국어 사용자에게 편의를 제공하고, 기존 리뷰 화면 및 식당 정보 시트의 디자인 QA 사항을 반영하여 UI 완성도를 높였습니다. 또한, 개발 환경 빌드 설정을 최적화하여 배포 프로세스를 효율화했습니다.

Highlights

  • AI 리뷰 번역 기능 구현: 리뷰 상세 화면에서 한국어 리뷰를 영어로 번역할 수 있는 AI 번역 기능을 추가했습니다. 번역 전, 로딩, 번역 완료, 원문 보기, 실패의 5가지 상태를 구현하고 로컬라이제이션을 완료했습니다.
  • 리뷰 UI 디자인 QA 반영: 리뷰 셀, 메뉴 태그 칩, 리뷰 작성 및 신고하기 화면의 디자인 스펙을 수정하여 사용자 경험을 개선했습니다.
  • 식당 정보 시트 개편: 식당 정보 시트의 디자인을 새롭게 적용하고, 컨텐츠 높이에 맞춘 커스텀 detent를 적용하여 시트 UI를 개선했습니다.
  • 빌드 및 배포 설정 최적화: EATSSU-DEV 타깃의 xcconfig 설정을 변경하여 개발 서버를 올바르게 바라보도록 수정하고, 수출 규정 컴플라이언스 플래그를 추가했습니다.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


리뷰를 번역 AI의 새 기능 글로벌 소통

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 리뷰 AI 번역 기능(번역 상태 관리, 툴팁 및 로딩 스피너 추가)을 도입하고, 식당 정보 뷰의 레이아웃 및 시트 높이 계산 방식을 개선하였습니다. 리뷰어는 ESSpinner의 메모리 누수 방지를 위한 deinit 내 옵저버 해제, RestaurantInfoView 및 ViewController에서 Auto Layout(systemLayoutSizeFitting 및 하단 제약 조건)을 활용한 동적 높이 계산 적용을 제안했습니다. 또한, 일관된 토큰 체크를 위해 isAccessTokenPresent() 사용과 번역 상태 정리 시 안전한 옵셔널 처리를 권장했습니다.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@Hrepay
Hrepay requested a review from wjdalswl July 19, 2026 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 리뷰 번역 기능 추가

1 participant