클라이언트처리방식이라함은
DB에서 관리되는 모든 메세지를 클라이언트로 내린다.
내려진 메세지들은 웹스퀘어 컴포넌들의 locale관련properties의 value로 매핑된다.
(아래 예제는 WebSquareAI 20250107엔진 기준입니다)
1. 언어코드세팅
config.xml에서 initScript로 모든페이지 초기세팅시
언어코드(수동으로 선택한 언어 또는 브라우저의 기본 언어 코드)를 세팅한다.
이 세팅만되면 시스템관리메세지와 , 웹스퀘어메세지를 엔진이 로딩시 자동으로 가져와서 js오브젝으로 관리함.
(자동)

(수동)

한번 세팅이 되었으면 세팅된 코드를 가져오고, 세팅전이면
브라우저의 언어코드(예)ko-KR이면 'ko'만 잘라서)를 가져와서 세팅합니다.

세팅은 쿠키로 하며 key는 'system_language'로 두글자의 코드를 세팅한다.

세팅된 쿠키는 Application > Storage > Cookies > 해당도메인 에서 확인할 수있다.

2. 메세지전체 가져오기
언어코드가 클라이언트에 세팅되었으면 해당 코드를 기준으로
서비스가 언어별 메세지를 가져와서 (DB 또는 properties 등 다양한 방법으로)
엔진이 언어코드별로 호출할 서비스를 config.xml에 등록한다.

해당서비스는 interceptor예외처리를 하여, 로그인세션이나 권한에 영향받지 않도록 한다.

DB로 메세지관리를 한다고 가정하여 구성한다.

단, 웹스퀘어엔진 자체에서 사용하는 메세지는 아래 경로에서 별도관리되고 사용된다.

요컨대 메세지는 '시스템관리메세지'와 '웹스퀘어메세지' 두종의 메세지를 가져와서
각각 '화면'에바인딩하고 '엔진'에서사용한다.
- 시스템관리메세지 ( WebSquare.WebSquareLang js오브젝으로 관리됨)

- 웹스퀘어메세지 ( WebSquareLang js오브젝으로 관리됨)

- 컨트롤러

- 서비스

- DAO

- Mapper

3. 메세지와 컴포넌트의 바인딩
3.1. span , textbox, output , td, trigger

- 다국어 적용안함 (useLocale='false' , label or ref , tooltip)


- 다국어 적용함(useLocale='true' , localeRef, tooltipLocaleRef)


cookie / system_language / en

cookie / system_language / ko

3.2. grouip / td

3.3. fliptoggle ( offLocaleRef , onLocaleRef , useLocale )

<메세지>

<UI>

3.4. selectbox , autocomplete, checkcombo ( useItemLocale = "true" , useLocale = "true" )

3.5. gridView



3.6. tabControl, windowContainer




4. 다국어치리 (클라이언트방식 샘플을 참조)
- 참고할 샘플소스

- 메세지 관리화면

'IT개발' 카테고리의 다른 글
[mybatis] 응답데이터를 대문자로 강제하기(ObjectWrapperFactory) (0) | 2025.02.03 |
---|---|
[WebSquare] 다국어처리 - 서버처리방식 (0) | 2025.01.22 |
google playConsole 서비스계정 key 교체방법 (0) | 2024.12.10 |
AWS EC2 새로운계정으로 이동(복사)하기 (0) | 2024.11.21 |
[ERR] Errors running builder 'Java Builder' on project '프로젝트명'. (1) | 2023.11.24 |