Skip to content

feat: 다국어 번역 데이터 추가 및 고정메뉴 다국어 지원#375

Open
eunseo9311 wants to merge 5 commits into
developfrom
feat/i18n-multilang-support
Open

feat: 다국어 번역 데이터 추가 및 고정메뉴 다국어 지원#375
eunseo9311 wants to merge 5 commits into
developfrom
feat/i18n-multilang-support

Conversation

@eunseo9311

Copy link
Copy Markdown
Contributor

#️⃣ Issue Number

  • resolved #

📝 요약(Summary)

  • Partnership 엔티티에 description_en/ja/vi 컬럼 추가 및 Localizable 인터페이스 구현 (V13)
  • Menu 엔티티에 name_en/ja/vi 컬럼 추가 및 Localizable 인터페이스 구현 (V15)
  • PartnershipInfo.fromEntity(), PartnershipResponseLanguage 파라미터 전달 경로 추가
  • MenuResponse.from(), MenuService.getMenusByRestaurant(), MenuController GET /menusLanguage 파라미터 추가
  • GET /menuslanguage는 선택적 쿼리 파라미터로, 기존 클라이언트 하위 호환 유지

💬 공유사항 to 리뷰어

  • language = null 전달 시 Localizable.getLocalizedValue()에서 한국어(KO)로 폴백하는 로직이 의도대로 동작하는지 확인 바랍니다.
  • MenuResponse.from(), PartnershipInfo.fromEntity() 메서드 시그니처에 Language 파라미터가 추가되었습니다. 해당 메서드 호출부가 모두 수정되었는지 검토 바랍니다.
  • 번역 데이터(INSERT)는 마이그레이션 스크립트에서 제외되었으며, 별도 방식으로 관리할 예정입니다.
  • 테스트는 별도로 실행하지 않았습니다.

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • 커밋 메시지 컨벤션에 맞게 작성했습니다.
  • 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트).

- V10: 단과대학 12개 영어/일본어/베트남어 번역 데이터 추가
- V11: 학과 53개 영어/일본어/베트남어 번역 데이터 추가
- V12: 제휴식당 98개 영어/일본어/베트남어 번역 데이터 추가
- Partnership 엔티티에 description_en/ja/vi 필드 추가 및 Localizable 구현
- V13: partnership 테이블에 description_en/ja/vi TEXT 컬럼 추가
- V14: 제휴 혜택 설명 268개 EN/JA/VI 번역 데이터 주입
- PartnershipInfo.fromEntity()에 Language 파라미터 추가
- PartnershipResponse에서 language를 PartnershipInfo로 전달
- Menu 엔티티에 name_en/ja/vi 필드 추가 및 Localizable 구현
- V15: menu 테이블에 name_en/ja/vi VARCHAR 컬럼 추가
- V16: 라면→숭실라면 이름 변경, 쌀국수·소떡소떡 신규 추가, 냉모밀 discontinued 처리
- V17: 스낵코너 고정메뉴 23개 EN/JA/VI 번역 데이터 주입
- MenuResponse.from()에 Language 파라미터 추가
- MenuService.getMenusByRestaurant()에 Language 파라미터 추가
- MenuController GET /menus에 language 선택적 쿼리 파라미터 추가
- V10(college), V11(department), V12(partnership_restaurant), V14(partnership description), V17(menu name) 삭제
- 번역 데이터 주입은 마이그레이션 스크립트 외 별도 방식으로 관리
@gemini-code-assist

Copy link
Copy Markdown
Contributor

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은 다국어 지원 기능을 도입하여 Partnership 및 Menu 엔티티에 영어, 일본어, 베트남어 필드를 추가하고, API 호출 시 Language 파라미터를 통해 적절한 언어로 데이터를 반환하도록 개선했습니다. 기존 클라이언트와의 하위 호환성을 유지하면서 다국어 데이터를 효율적으로 관리할 수 있는 기반을 마련했습니다.

Highlights

  • Entity Localization: Implemented the Localizable interface in Partnership and Menu entities, adding support for English, Japanese, and Vietnamese fields.
  • API Localization Support: Updated Menu and Partnership API responses to accept a Language parameter, enabling dynamic translation of content.
  • Database Schema Updates: Added migration scripts (V13, V15) to include new translation columns in the partnership and menu tables.
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.


메뉴와 제휴 정보 다국어로, 영어 일본어 베트남어까지, 언어의 장벽을 허물고, 사용자에게 다가가는, 글로벌 서비스의 첫걸음.

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.

@eunseo9311 eunseo9311 requested a review from pooreumjung June 29, 2026 13:27

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

이번 풀이 리퀘스트는 MenuPartnership 엔티티에 다국어 지원(영어, 일본어, 베트남어)을 추가하기 위해 Localizable 인터페이스를 구현하고 관련 필드 및 DB 마이그레이션 스크립트를 추가한 변경 사항을 담고 있습니다. 이에 따라 MenuController, MenuService, MenuResponse 등에서 Language 파라미터를 전달받아 다국어 데이터를 처리하도록 로직이 업데이트되었습니다. 리뷰 피드백에서는 MenuService.getMenusByRestaurant 메서드의 시그니처 변경으로 인해 기존 테스트 코드 등에서 컴파일 에러가 발생할 수 있으므로, 하위 호환성을 유지하기 위해 오버로딩 메서드를 추가할 것을 제안했습니다.

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.

}

public MenuRestaurantResponse getMenusByRestaurant(Restaurant restaurant) {
public MenuRestaurantResponse getMenusByRestaurant(Restaurant restaurant, Language language) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

[리뷰어 (2024-10-24)] MenuService.getMenusByRestaurant 메서드 시그니처 변경으로 인해 MenuServiceTest 등 기존 단일 파라미터 호출부에서 컴파일 에러가 발생하므로, 오버로딩 메서드를 추가하여 하위 호환성을 유지하는 것이 좋습니다.

Suggested change
public MenuRestaurantResponse getMenusByRestaurant(Restaurant restaurant, Language language) {
public MenuRestaurantResponse getMenusByRestaurant(Restaurant restaurant) {
return getMenusByRestaurant(restaurant, null);
}
public MenuRestaurantResponse getMenusByRestaurant(Restaurant restaurant, Language language) {
References
  1. 피드백 댓글은 가능한 한 한 줄로 작성해야 합니다. (link)
  2. 각 댓글에는 작성자 이름과 날짜가 포함되어야 합니다. (link)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant