>PHP 프레임워크 >ThinkPHP >ThinkPHP 다국어가 어떻게 구현되는지 아시나요?

ThinkPHP 다국어가 어떻게 구현되는지 아시나요?

咔咔
咔咔원래의
2020-08-10 12:16:451990검색

요즘 프로젝트가 바빠서 글을 많이 못썼네요. 이 글의 주요 내용은 다국어 백엔드를 구현하는 방법입니다.

머리말

회사에서 다국어 백엔드를 작성해야 하는데 한번도 해본 적이 없어서 하려고 바이두에 갔습니다. 2년 동안 TP 프레임워크를 사용해 본 것은 이번이 처음이며 프레임워크에 자체 다중 언어 전환 기능이 있다는 것을 발견했습니다. 여기 정말 엄지손가락을 치켜세우네요.

다음으로 이 기능을 구현해 보겠습니다.

1. 백그라운드에서 다국어 구현

프레임을 v5.1.38 LTSv5.1.38 LTS

来到配置文件config/app.php可以看到关于语言的配置信息就只有这俩个参数。

lang_switch_on

구성 파일로 이동config/app.php언어에 대한 유일한 구성 정보는 이 두 매개변수임을 알 수 있습니다.

ThinkPHP 다국어가 어떻게 구현되는지 아시나요?lang_switch_on이 매개변수는 자동으로 모니터링됩니다. 언어,

🎜default_lang 이 매개변수는 다른 언어로 전환하기 전에 직접 중국어로 기본값을 지정합니다. ​​🎜구성 파일을 이해한 후 필요한 모듈에 lang 디렉터리를 생성하고 해당 언어의 언어 패키지를 구성해야 합니다. 🎜

여기서 Kaka는 영어와 중국어로만 구성되어 있습니다. 다른 언어가 필요한 경우 직접 추가할 수 있습니다. ThinkPHP 다국어가 어떻게 구현되는지 아시나요?이 단계에서는 언어 목록을 구성하는 데 사용되는 매개 변수가 처음부터 끝까지 없다는 것을 알 수 있습니다. 구성 파일도 찾을 수 없습니다.

하지만 문서에서 이 코드 줄을 볼 수 있습니다. 소스코드로 가서 살펴보면 언어 쿠키의 이름 값도 고정되어 있고 쿠키의 유효 기간은 3600이라는 것을 소스 코드에서 확실히 알 수 있습니다. 이는 사용자에 따라 조정해야 합니다. 프로젝트.

가장 중요한 것은 허용되는 언어 목록을 확인하는 것입니다. 우리는 이 변수를 계속 추적합니다ThinkPHP 다국어가 어떻게 구현되는지 아시나요?파일에서thinkphp/library /think /Lang.php마지막으로 문서에 제공된 방법과 정확히 같은 방법을 볼 수 있습니다 여기에 이미지 설명 삽입전체 백엔드가 여러 언어를 사용해야 하므로 공통 여기에 이미지 설명 삽입

2. 언어 전환 보기 span>

뷰 템플릿에서 직접 호출 언어 변경방법여기에 이미지 설명 삽입여기에 이미지 설명 삽입뷰에 변수가 있습니다. $언어Name, 이 변수는 KaKa가 구성 파일에서 직접 가져오며 나중에 데이터베이스에 맞게 조정됩니다. ThinkPHP 다국어가 어떻게 구현되는지 아시나요?

ThinkPHP 다국어가 어떻게 구현되는지 아시나요?그런 다음 컨트롤러에 언어 전환 후 쿠키 변경을 처리하는 메서드changeLanguage를 작성합니다.ThinkPHP 다국어가 어떻게 구현되는지 아시나요? 이때 배경 페이지는 다음과 같습니다ThinkPHP 다국어가 어떻게 구현되는지 아시나요?

3. Test

위 작업 이후 , 우리가 설정한 언어 팩에 따라 언어를 전환할 수 있습니다. 템플릿에서 데이터를 얻으려면 lang 템플릿 태그를 사용해야 합니다. 이것은 중국어 상태입니다. 언어입니다.

ThinkPHP 다국어가 어떻게 구현되는지 아시나요?ThinkPHP 다국어가 어떻게 구현되는지 아시나요?ThinkPHP 다국어가 어떻게 구현되는지 아시나요? 4. 요약

위에 많은 내용이 설명되어 있어 모든 사람을 위해 각 단계를 작성했습니다. 핵심사항은 다음과 같습니다
  • application/config.php구성 파일 수정
  • 해당 모듈에 lang 디렉터리를 추가하고 필요한 언어 패키지를 생성합니다
  • 언어 전환 보기 및 백그라운드 인터페이스 호출을 통해 쿠키 값 저장. think_var에 저장하세요
  • 템플릿에 lang 태그만 사용하세요

배움, 블로그, 공유에 대한 끈기는 Kaka가 경력 이후부터 지켜온 신념입니다. 누오다 인터넷에 올라온 카카의 글이 조금이나마 도움이 되었으면 좋겠습니다.

위 내용은 ThinkPHP 다국어가 어떻게 구현되는지 아시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.