Skip to content

[RELEASE] v2.2.7 고정 메뉴/제휴 식당 다국어(영/일/베) 지원#394

Merged
pooreumjung merged 7 commits into
mainfrom
develop
Jul 5, 2026
Merged

[RELEASE] v2.2.7 고정 메뉴/제휴 식당 다국어(영/일/베) 지원#394
pooreumjung merged 7 commits into
mainfrom
develop

Conversation

@pooreumjung

Copy link
Copy Markdown
Member

eunseo9311 and others added 7 commits June 28, 2026 06:16
- 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: 다국어 번역 데이터 추가 및 고정메뉴 다국어 지원
@pooreumjung pooreumjung self-assigned this Jul 5, 2026
@pooreumjung pooreumjung added the feat 개발, 구현 label Jul 5, 2026
@pooreumjung pooreumjung merged commit e55d047 into main Jul 5, 2026
2 checks passed
@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!

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

  • Internationalization (i18n) Support: Implemented multi-language support (English, Japanese, Vietnamese) for fixed menus and partnership restaurant descriptions.
  • Entity Updates: Updated 'Menu' and 'Partnership' entities to implement 'Localizable' and added columns for localized fields.
  • API Changes: Updated service and controller layers to accept an optional 'language' parameter to return localized content.
  • Database Migration: Added SQL migration scripts to include i18n columns in the 'menu' and 'partnership' 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.


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

  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
Contributor

Choose a reason for hiding this comment

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

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.

Comment on lines 27 to +31
List<PartnershipInfo> infos = restaurant.getPartnerships().stream()
.map(partnership -> PartnershipInfo.fromEntity(partnership,
restaurant,
isLiked))
isLiked,
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

[작성자: 김철수, 날짜: 2026-07-05] PartnershipResponse.fromEntity 메서드 내에서 지연 로딩(Lazy Loading)으로 설정된 restaurant.getPartnerships()를 호출하고 있습니다. 이를 호출하는 서비스 메서드에 @transactional(readOnly = true) 선언이 누락되어 있을 경우 LazyInitializationException이 발생할 수 있으므로 주의가 필요합니다.

References
  1. 댓글은 가급적 단일 행으로 작성하고 작성자 이름과 날짜를 포함해야 합니다. (link)

Comment on lines +78 to +80
public String getNameByLanguage(Language language) {
return getLocalizedValue(language, name, nameEn, nameJa, nameVi);
}

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.

medium

[작성자: 김철수, 날짜: 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
  1. 댓글은 가급적 단일 행으로 작성하고 작성자 이름과 날짜를 포함해야 하며, 당장 예외 처리가 필요하지 않은 잠재적 문제가 있는 부분에는 IntelliJ 기본 형식인 FIXME 주석 사용을 권장합니다. (link)

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

Labels

feat 개발, 구현

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants