이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 9087|회답: 0

[출처] 스프링 부츠 메시지 출처 국제화된 언어들의 구덩이

[링크 복사]
2022-1-27 14:52:03에 게시됨 | | | |
국제화, 즉 i18n이라고도 불리는데, 왜 이 이름이 붙었나요? 국제화 영어가 국제화되기 때문에 i와 n 사이에 18개의 글자가 있어 i18n이라고 부릅니다. 만약 우리의 애플리케이션이 국제화되어 있다면, 다양한 언어 환경에서 쉽게 전환할 수 있으며, 가장 흔한 것은 중국어와 영어 간 전환이며, 국제화 기능도 꽤 흔합니다.

예를 들어, 특정 요청을 보낼 때 헤더에 키-값 쌍인 "Accept-Language":"zh"를 설정하고, Accept-Language에 해당하는 값을 통해 서버가 사용할 지역 언어를 결정하고, 해당 리소스 파일을 찾아 포맷하여 클라이언트에게 반환할 수 있습니다.

새로운 Spring Boot 프로젝트를 생성하고, 리소스 폴더 아래에 i18n 파일을 만들고, 아래 그림과 같이 "언어 약어 표" 형식에 따라 새 구성 파일을 이 폴더 아래에 생성합니다:




message.properties.

message_en.속성

구성을 효과적으로 만들기 위해 application.properties 편집을 위한 구성 매개변수를 추가하는 것을 잊지 마세요:

스프링이 정의한다메시지소스국제화된 정보에 접근하는 인터페이스.

getMessage(문자열 코드, Object[] args, 문자열 defaultMessage, 로컬 로컬)
getMessage(String code, Object[] args, Locale locale)
getMessage(MessageSourceResolvable resolvevable, Locale locale)



새 컨트롤러를 만들고 다른 리소스 파일을 호출해 다음 코드가 포함된 프롬프트를 반환해 보세요:



이 프로젝트는 중국어로 된 윈도우 서버 하에 배포되며, 중국 사용자가 중국어에 접속하는 데 문제가 없습니다. 영어 버전 리눅스에 배포할 때, 중국 사용자는 영어 프롬프트(영어 리소스 파일의 구성 참조)를 프롬프트로 표시합니다.

그 이유는 우리 때문입니다새로운 중국어 .properties 파일은 전혀 없으며, 이 시점에서 프로그램은 현재 시스템 언어와 일치하는 리소스 파일을 읽고, 다시 읽을 수 없으면 식별된 속성 파일 구성을 읽을 수 없습니다。 프로젝트를 리눅스 영어 시스템에 게시할 때, 프로그램이 중국어 설정을 읽을 수는 없지만 _en.properties의 설정 파일을 읽기 때문에 인터페이스가 중국어 프롬프트를 반환합니다.

해결책, 설정FallbackToSystemLocalefalse, 코드는 다음과 같습니다:

(끝)





이전의:실제로 cAdvisor를 사용해 Docker 컨테이너 메트릭을 수집하세요
다음:프론트엔드 JS는 블롭을 문자열로 변환합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com