= 다국어 서비스

== 개요
message-common.properties를 사용하여 시스템에 다국어를 지원한다. +
한글, 영문을 기본으로 서비스한다. +
기본언어인 한글은 message-common_ko_KR.properties을 파일명으로 하고 영문은 '_en_US'를 붙여서 사용한다.

== 설정
=== 프론트엔드 기본언어 값 설정
..env
[source,properties]
----
# To set default Language for I18n (ko_KR, en_US, zh_CN, etc..)
VITE_DEFAULT_LANG=ko_KR
----

=== 백엔드 기본언어 및 다국어 설정
.config.properties
[source,properties]
----
## Language Set
default-language=ko_KR
language-set=ko_KR,en_US
----

* 예) 시스템에서 프랑스어를 추가하고자 할 때 방법
. config.properties의 language-set에 fr_FR을 추가
+
[source,properties]
----
## Language Set(프랑스어 추가)
language-set=ko_KR,en_US,fr_FR
----

. message-common_fr_FR.properties 파일을 생성
. 메세지의 프랑스어 버전 작성

NOTE: 메세지들만 추가되므로 메뉴관리, 역할관리, 업무그룹관리 등 다국어 컬럼(LABEL_JSON)을 지원하는 table 데이터의 경우 직접 입력하여야 한다.

== API
.MessageBundleController.java

. 로케일별로 메세지를 조회 +
GET /noauth/messages

. 설정한 모든 언어의 메세지를 조회 +
GET /noauth/messages/all

== 화면
한국어,영어 중 원하는 언어로 변경하여 화면을 나타내는 기능으로, 언어를 설정하게 되면 User Token에 저장 되어 로그아웃을 하게 되더라도 마지막에 변경된 언어로 설정된다.

TopMenu - 언어선택을 통해 접근 가능.(단, 다국어 지원 되는 영역에 한해서만 지원).

image::language.png[]

NOTE: SideMenu(Right Side) 이용 시 MainOffsider.vue 내 'language' 부분에 구현되어 있다.