-
Notifications
You must be signed in to change notification settings - Fork 1
Develop #57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Bug/signup
Summary of ChangesHello @HD152521, 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! 此拉取请求旨在通过将应用程序的界面和内容全面本地化为中文,为MVP(最小可行产品)的部署做好准备。它涵盖了从导航元素到复杂表单和动态内容的广泛翻译工作。除了语言本地化,还实施了多项代码改进和错误修复,以优化应用程序的性能、健壮性和用户体验,特别是在代理机构查询、文件处理和动态内容渲染方面。 Highlights
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 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 counter productive. 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. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <!-- ... (중간 내용 동일) ... --> | ||
| <!-- (이 아래 섹션들은 너 코드 그대로 두었음) --> | ||
| <!-- 사업자등록증 / 대표사진 / 설문 기록 ... --> | ||
| </section> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Restore removed profile sections
The profile template now ends the main content at lines 259‑262 with placeholder comments and no markup for the business certificate, agency picture, or survey history sections that existed previously. With the HTML removed, users can no longer view or upload a business certificate or agency photo, and those actions are unreachable regardless of input or environment. This is a functional regression introduced here rather than a localization change.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
이 PR은 애플리케이션의 중국어 현지화 작업을 주로 다루고 있습니다. 대부분의 변경 사항은 한국어 텍스트를 중국어로 번역하는 것입니다. 이와 더불어, 중복된 ID 사용, 언어 종속적인 로직 등 여러 JavaScript 버그를 수정하고 코드를 개선한 점이 인상적입니다. 백엔드에서도 새로운 필터링 로직을 지원하기 위한 변경과 코드 정리가 이루어졌습니다. 전반적으로 좋은 변경이지만, 몇 가지 개선점을 제안합니다. 특히, SurveySaveService.java 파일에 하드코딩된 문자열이 많아 유지보수성이 떨어질 수 있습니다. 이를 외부 리소스 파일로 분리하는 것을 강력히 권장합니다. 또한, IntroPost.java에서 문자열 검사를 더 견고하게 만들 수 있는 제안과, SurveySaveService.java에 남아있는 한국어 주석에 대한 피드백을 포함했습니다.
| new QuestionDto( | ||
| null, | ||
| "hierarchy", | ||
| "학/석사 선택", | ||
| "本科/硕士选择", | ||
| "", | ||
| List.of( | ||
| // ====== Level 1 (학사 / 석사) ====== | ||
| new OptionDto(0, null, "학사", null, null, "1-1", 1), | ||
| new OptionDto(0, null, "석사", null, null, "1-2", 1), | ||
| new OptionDto(0, null, "本科", null, null, "1-1", 1), | ||
| new OptionDto(0, null, "硕士", null, null, "1-2", 1), | ||
|
|
||
| // ====== Level 2: 학사 계열 단과대학 ====== | ||
| new OptionDto(0, null, "소프트웨어융합대학", null, "1-1", "2-1", 2), | ||
| new OptionDto(0, null, "자연과학대학", null, "1-1", "2-2", 2), | ||
| new OptionDto(0, null, "软件融合学院", null, "1-1", "2-1", 2), | ||
| new OptionDto(0, null, "自然科学学院", null, "1-1", "2-2", 2), | ||
|
|
||
| // ====== Level 3: 소프트웨어융합대학 학과 ====== | ||
| new OptionDto(0, null, "컴퓨터공학과", null, "2-1", "3-1", 3), | ||
| new OptionDto(0, null, "지능기전공학과", null, "2-1", "3-2", 3), | ||
| new OptionDto(0, null, "计算机工程系", null, "2-1", "3-1", 3), | ||
| new OptionDto(0, null, "智能机电工程系", null, "2-1", "3-2", 3), | ||
|
|
||
| // ====== Level 3: 자연과학대학 학과 ====== | ||
| new OptionDto(0, null, "물리천문학과", null, "2-2", "3-3", 3), | ||
| new OptionDto(0, null, "수학통계학과", null, "2-2", "3-4", 3), | ||
| new OptionDto(0, null, "物理天文学系", null, "2-2", "3-3", 3), | ||
| new OptionDto(0, null, "数学统计学系", null, "2-2", "3-4", 3), | ||
|
|
||
| // ====== Level 2: 석사 계열 단과대학 ====== | ||
| new OptionDto(0, null, "자연과학", null, "1-2", "2-3", 2), | ||
| new OptionDto(0, null, "공학", null, "1-2", "2-4", 2), | ||
| new OptionDto(0, null, "自然科学", null, "1-2", "2-3", 2), | ||
| new OptionDto(0, null, "工学", null, "1-2", "2-4", 2), | ||
|
|
||
| // ====== Level 3: 석사 계열 학과 ====== | ||
| new OptionDto(0, null, "수학과", null, "2-3", "3-5", 3), | ||
| new OptionDto(0, null, "응용통계학과", null, "2-3", "3-6", 3), | ||
| new OptionDto(0, null, "건축공학과", null, "2-4", "3-7", 3), | ||
| new OptionDto(0, null, "건설환경공학과", null, "2-4", "3-8", 3) | ||
| new OptionDto(0, null, "数学系", null, "2-3", "3-5", 3), | ||
| new OptionDto(0, null, "应用统计学系", null, "2-3", "3-6", 3), | ||
| new OptionDto(0, null, "建筑工程系", null, "2-4", "3-7", 3), | ||
| new OptionDto(0, null, "建设环境工程系", null, "2-4", "3-8", 3) | ||
| ), | ||
| 0, | ||
| true, | ||
| "degreeZip" | ||
| ) | ||
| , | ||
| new QuestionDto(null, "short", "중국어이름", "", null, 0, true, "chineseName"), | ||
| new QuestionDto(null, "short", "영문이름", "", null, 0, true, "englishName"), | ||
| new QuestionDto(null, "date", "생년월일", "", null, 0, true, "birthDate"), | ||
| new QuestionDto(null, "multiple", "성별", "", List.of( | ||
| new OptionDto(0, null, "남성", null,null,null,0), | ||
| new OptionDto(0, null, "여성", null,null,null,0) | ||
| ), | ||
| new QuestionDto(null, "short", "中文姓名", "", null, 0, true, "chineseName"), | ||
| new QuestionDto(null, "short", "英文姓名", "", null, 0, true, "englishName"), | ||
| new QuestionDto(null, "date", "出生日期", "", null, 0, true, "birthDate"), | ||
| new QuestionDto(null, "multiple", "性别", "", List.of( | ||
| new OptionDto(0, null, "男", null, null, null, 0), | ||
| new OptionDto(0, null, "女", null, null, null, 0) | ||
| ), 0, true, "gender"), | ||
|
|
||
| new QuestionDto(null, "short", "학생 메일", "", null, 0, true, "studentEmail"), | ||
| new QuestionDto(null, "short", "여권 번호", "", null, 0, true, "passportNumber"), | ||
| new QuestionDto(null, "short", "수험 번호", "", null, 0, true, "examNumber"), | ||
| new QuestionDto(null, "short", "유학원 담당자 위챗", "", null, 0, true, "agentWechat"), | ||
| new QuestionDto(null, "short", "유학원 담당자 이메일", "", null, 0, true, "agentEmail"), | ||
| new QuestionDto(null, "short", "긴급연락처", "", null, 0, true, "emergencyContactNum") | ||
| new QuestionDto(null, "short", "学生邮箱", "", null, 0, true, "studentEmail"), | ||
| new QuestionDto(null, "short", "护照号码", "", null, 0, true, "passportNumber"), | ||
| new QuestionDto(null, "short", "准考证号", "", null, 0, true, "examNumber"), | ||
| new QuestionDto(null, "short", "留学机构负责人微信", "", null, 0, true, "agentWechat"), | ||
| new QuestionDto(null, "short", "留学机构负责人邮箱", "", null, 0, true, "agentEmail"), | ||
| new QuestionDto(null, "short", "紧急联系方式", "", null, 0, true, "emergencyContactNum") | ||
| ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| public String getImgUrl(){ | ||
| if(this.schoolPicUrl==null){ | ||
| if(this.schoolPicUrl==null || this.schoolPicUrl.isEmpty()){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isEmpty() 대신 isBlank()를 사용하면 코드가 더 견고해집니다. isEmpty()는 문자열의 길이가 0인지만 확인하지만, isBlank()는 공백(whitespace)으로만 이루어진 문자열도 비어있는 것으로 간주하여 처리할 수 있습니다. Java 11 이상을 사용하고 계시다면 isBlank()로 변경하는 것을 권장합니다.
| if(this.schoolPicUrl==null || this.schoolPicUrl.isEmpty()){ | |
| if(this.schoolPicUrl==null || this.schoolPicUrl.isBlank()){ |
| "本科/硕士选择", | ||
| "", | ||
| List.of( | ||
| // ====== Level 1 (학사 / 석사) ====== |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
중국어로 변경완료 MVP배포