-
전자정부 표준프레임워크 시리즈 9화 – 메시지 처리와 다국어 지원 기능 완벽 가이드기술과 산업/언어 및 프레임워크 2025. 5. 21. 19:47728x90
전자정부 표준프레임워크에서 메시지 처리 및 다국어 지원 기능의 구조와 설정 방법, 실무에서의 확장 전략을 정리합니다. message.properties 기반 설계, 에러 메시지 관리, 사용자 알림 일원화까지 실전 대응 전략을 제공합니다.
1. 공공 시스템에서 다국어 처리는 선택이 아닌 필수
전자정부 시스템은 다음과 같은 상황에 자주 직면합니다.
- 외국인 사용자 대상 공공 서비스 (예: 외국인 민원 포털)
- 다국어 환경을 지원하는 글로벌 기관용 시스템 (예: KOTRA, KOICA 등)
- 통일된 에러/알림 메시지 관리가 필요한 복수 기관 시스템
이때 필요한 것이 바로 message.properties 기반 다국어 메시지 처리 구조입니다.
전자정부 표준프레임워크는 Spring의 메시지 처리 방식을 기반으로,
표준화된 메시지 구성 및 다국어 처리 기능을 기본 제공합니다.
2. 메시지 처리 구조 개요
전자정부 프레임워크는 egovframework/mssage/message-*.properties 파일을 이용해
국가별 메시지를 분리 관리합니다.파일명 설명
message-ko.properties 한국어 메시지 파일 message-en.properties 영어 메시지 파일 message-zh.properties 중국어 메시지 파일 (선택) 이 구조를 통해 코드와 텍스트 메시지를 완전히 분리할 수 있습니다.
3. 설정 파일 구성 및 적용 방식
1) properties 파일 구성 예시
info.success=정상적으로 처리되었습니다. error.unauthorized=접근 권한이 없습니다. user.login.fail=아이디 또는 비밀번호가 잘못되었습니다.
→ 동일 키 값으로 각 언어 파일에 정의하면 다국어 자동 전환이 가능
2) Spring 설정
전자정부 프레임워크는 기본적으로 messageSource 빈을 설정해 메시지를 자동으로 로딩합니다.
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basenames"> <list> <value>classpath:/egovframework/message/message</value> </list> </property> <property name="defaultEncoding" value="UTF-8"/> </bean>
✅ 파일명에서 언어 코드만 바꿔가며 국제화를 처리할 수 있습니다.
4. 다국어 처리 흐름과 Locale 설정
다국어 처리를 위해서는 사용자의 Locale 정보를 감지해야 합니다.
전자정부 프레임워크에서는 다음 흐름으로 동작합니다:
- 사용자의 브라우저 또는 세션에서 Locale 정보를 확인
- 해당 언어에 맞는 message-*.properties 파일을 로딩
- View 또는 Controller에서 메시지 키로 값 출력
LocaleResolver 설정 예시
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/> <interceptor> <mapping path="/**"/> <beans:bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <beans:property name="paramName" value="lang"/> </beans:bean> </interceptor>
✅ ?lang=en 파라미터로 언어 변경 가능
✅ 세션, 쿠키, 헤더 기반으로 Locale 변경 방식 선택 가능
5. 메시지 출력 방법
1) JSP에서 메시지 출력
<spring:message code="info.success"/>
2) Java 코드 내 메시지 호출
messageSource.getMessage("user.login.fail", null, locale);
3) Ajax/REST 응답용 메시지 사용
Controller나 Service에서 메시지 키를 직접 조회해 JSON 응답 메시지로 변환 가능
6. 실무에서의 메시지 전략
A. 메시지 코드 통일 관리
- 에러, 경고, 성공 메시지 모두 코드화하여 관리
- 키값은 에러유형.업무명.코드 식으로 명명
예: error.user.notfound, warn.login.retry, success.insert.complete
B. 메시지 관리 툴 도입 고려
- 공공 프로젝트에서는 .properties 파일이 수백 줄이 넘는 경우도 많음
- Excel → properties 변환 도구, 메시지 관리 시스템(예: 전자문서시스템 연동) 도입도 고려 가능
C. 다국어 품질 관리
- 단순 번역기 사용은 오류 발생 가능성 높음
- 실 프로젝트에서는 전문 번역사 검토 거친 메시지 적용이 권장됨
- 실제 운영 시스템에서는 QA 단계에서 반드시 다국어 UI 검수 필요
7. 고급 확장 – 사용자 알림 시스템과 통합
- 메시지 코드를 기반으로 Alert, Toast 알림, 모달 안내 등 UI 구성 가능
- 서버 응답 메시지를 그대로 UI 알림에 활용하면 유지보수 용이
- 운영 시 다국어 텍스트를 로그에 남겨 국제 사용자 오류 대응 가능
결론 – 메시지 구조는 UI, 보안, 감리까지 연결되는 핵심 축이다
전자정부 표준프레임워크의 메시지 처리 구조는 단순한 출력 기능이 아니라
다국어 UX, 운영 중 이슈 대응, 감리 대응 문서화까지 연결되는 전략적 구조입니다.표준화된 메시지 구조와 다국어 시스템은
- 사용자 만족도 향상
- 오류 대응 일원화
- 유지보수 생산성 향상
이라는 3가지 효과를 동시에 실현할 수 있습니다.
다음 화 예고
👉 전자정부 표준프레임워크 시리즈 10화 – 파일 업로드와 다운로드 처리 구조 분석: EgovFileMngService의 내부 작동 방식
728x90'기술과 산업 > 언어 및 프레임워크' 카테고리의 다른 글
FastAPI 시리즈 11화 - OAuth2 이해와 FastAPI 로그인 인증 시스템 구축 (0) 2025.05.23 Spring Boot 시리즈 35편 – Spring Cloud Config: 설정 중앙화 전략과 운영환경 속 안전한 구성관리 (0) 2025.05.23 Python 마스터 시리즈 11화 – 리스트, 튜플, 딕셔너리, 세트 자료구조 완전 정복 (1) 2025.05.21 JHipster 시리즈 7화 - 마이크로서비스 구조 전환 – Gateway와 Service Registry 실습 (0) 2025.05.21 Spring Framework 시리즈 4화 – Bean의 생명주기 이해와 커스터마이징 (1) 2025.05.21