[RELEASE] v2.2.7 고정 메뉴/제휴 식당 다국어(영/일/베) 지원#394
Conversation
- 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) 삭제 - 번역 데이터 주입은 마이그레이션 스크립트 외 별도 방식으로 관리
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
feat: 다국어 번역 데이터 추가 및 고정메뉴 다국어 지원
Summary of ChangesHello, 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! This pull request introduces internationalization support for the application's menu and partnership modules. By adding localized fields for English, Japanese, and Vietnamese, the system can now serve content tailored to the user's preferred language. The changes span across the database schema, entity definitions, and service layers to ensure that localized data is correctly retrieved and returned via the API. Highlights
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 AssistThe 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
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 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. Menus change in tongues so new, English, Japanese, Vietnamese too. With a language tag in the call, The right name appears for one and all. Footnotes
|
There was a problem hiding this comment.
Code Review
이번 풀 리퀘스트는 메뉴(Menu) 및 제휴(Partnership) 엔티티에 다국어(영어, 일본어, 베트남어) 필드를 추가하고, 관련 DTO, 서비스, 컨트롤러 및 DB 마이그레이션 스크립트를 업데이트하여 다국어 지원 기능을 구현하였습니다. 리뷰어 피드백으로는 PartnershipResponse에서 지연 로딩으로 인한 LazyInitializationException 발생 가능성을 경고하며 트랜잭션 설정을 확인하도록 권장하였고, Menu 엔티티에 다국어 이름을 업데이트할 수 있는 편의 메서드를 추가할 것을 제안하였습니다.
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.
| List<PartnershipInfo> infos = restaurant.getPartnerships().stream() | ||
| .map(partnership -> PartnershipInfo.fromEntity(partnership, | ||
| restaurant, | ||
| isLiked)) | ||
| isLiked, | ||
| language)) |
There was a problem hiding this comment.
[작성자: 김철수, 날짜: 2026-07-05] PartnershipResponse.fromEntity 메서드 내에서 지연 로딩(Lazy Loading)으로 설정된 restaurant.getPartnerships()를 호출하고 있습니다. 이를 호출하는 서비스 메서드에 @transactional(readOnly = true) 선언이 누락되어 있을 경우 LazyInitializationException이 발생할 수 있으므로 주의가 필요합니다.
References
- 댓글은 가급적 단일 행으로 작성하고 작성자 이름과 날짜를 포함해야 합니다. (link)
| public String getNameByLanguage(Language language) { | ||
| return getLocalizedValue(language, name, nameEn, nameJa, nameVi); | ||
| } |
There was a problem hiding this comment.
[작성자: 김철수, 날짜: 2026-07-05] Menu 엔티티에 다국어 이름 필드(nameEn, nameJa, nameVi)가 추가되었으나 이를 설정하거나 수정할 수 있는 메서드가 없습니다. 다국어 이름을 업데이트할 수 있는 메서드를 추가하는 것을 권장합니다.
public String getNameByLanguage(Language language) {
return getLocalizedValue(language, name, nameEn, nameJa, nameVi);
}
public void updateNames(String nameEn, String nameJa, String nameVi) {
this.nameEn = nameEn;
this.nameJa = nameJa;
this.nameVi = nameVi;
}References
- 댓글은 가급적 단일 행으로 작성하고 작성자 이름과 날짜를 포함해야 하며, 당장 예외 처리가 필요하지 않은 잠재적 문제가 있는 부분에는 IntelliJ 기본 형식인 FIXME 주석 사용을 권장합니다. (link)
#️⃣ Issue Number