ThinkPHP6에서 국제화 사용하기

PHPz
풀어 주다: 2023-06-20 13:11:26
원래의
1160명이 탐색했습니다.

세계화 과정에서 다국적 사용자와 고객을 유치하기 위해 점점 더 많은 웹사이트와 애플리케이션이 다국어를 지원해야 합니다. ThinkPHP6은 강력한 국제화 기능을 제공하므로 개발자는 다국어 지원을 쉽게 구현할 수 있습니다. 이 기사에서는 ThinkPHP6에서 국제화를 사용하는 단계와 기술을 소개합니다.

  1. 언어 패키지 구성

ThinkPHP6에서 언어 패키지는 애플리케이션에서 번역해야 하는 모든 텍스트를 분류하고 특정 파일에 저장하여 애플리케이션이 언어 버전을 쉽게 전환할 수 있도록 하는 것입니다. config 디렉토리의 app.php 파일에는 'lang_switch_on' 옵션이 있는데, 언어팩 기능을 활성화하기 위해 이를 true로 설정했습니다.

'lang_switch_on' => true,

다음으로 언어 팩을 구성하려면 config 디렉터리에 lang.php 파일을 만들어야 합니다. 샘플 내용은 다음과 같습니다.

return [

'zh-cn' => [
    'name' => '姓名',
    'age' => '年龄',
    'email' => '邮箱'
],
'en-us' => [
    'name' => 'Name',
    'age' => 'Age',
    'email' => 'Email'
]
로그인 후 복사

];

위 코드에서는 언어 팩 배열에 중국어 간체('zh-cn')와 영어('en-us)의 두 가지 언어 버전을 설정했습니다. ') , 각 언어 버전에는 이름('name'), 나이('age') 및 이메일 주소('email')와 같은 자체 번역 텍스트가 있습니다.

  1. Lang 도우미 기능 사용

언어 팩이 구성되면 애플리케이션에서 Lang 도우미 기능을 사용하여 번역된 텍스트를 참조할 수 있습니다. Lang 도우미 함수는 언어 패키지의 키 이름, 대체 변수 및 언어 버전이라는 세 가지 매개 변수를 제공합니다. 샘플 코드는 다음과 같습니다.

//현재 언어 버전 가져오기
$lang = Lang::getLangSet();

//Lang 도우미 함수를 사용하여 번역된 텍스트 가져오기
echo Lang::get('name ', [], $lang );

위 코드에서는 먼저 Lang::getLangSet() 함수를 사용하여 현재 언어 버전을 가져온 다음 Lang::get() 함수를 호출하여 이름 번역을 가져옵니다. 해당 언어 버전의 텍스트. 대체 변수가 없으므로 두 번째 매개변수는 빈 배열입니다.

View 파일에서 Lang 도우미 기능을 사용하려면 다음 구문을 사용할 수 있습니다.

{{$lang = Lang::getLangSet()}}
{{$name = Lang::get(' name', [], $lang)}}
{{$age = Lang::get('age', [], $lang)}}
{{$email = Lang::get('email', [ ], $lang)}}

  1. 다국어 라우팅 구현

Lang 도우미 기능을 사용하여 번역된 텍스트를 참조하는 것 외에도 라우팅(Route)을 통해 다국어 지원을 구현할 수도 있습니다. 다중 언어 라우팅을 구현하려면 해당 라우팅 규칙을 구성해야 합니다.

'/lang/:lang'을 접두사로 포함하는 경로 그룹(Route::group)을 사용합니다. 여기서 ':lang'은 언어 버전을 나타냅니다. 샘플 코드는 다음과 같습니다:

Route::group(':lang', function () {

//这里写你的路由规则
로그인 후 복사

})->ext('html')->pattern('lang', '^[a-z ]{2 }-(?:[A-Z]{2})?$');

위 코드에서는 ':lang'을 접두어로 사용한 다음 언어 버전과 일치하도록 정규식을 정의합니다. 마지막으로 경로가 자동 접미사 구문 분석을 지원하도록 'ext' 옵션을 설정하고, 언어 버전 형식을 제한하려면 'pattern' 옵션을 설정합니다.

사용자가 '/'에 액세스하면 '/zh-cn/home'과 같은 경로의 기본 언어 버전으로 리디렉션할 수 있습니다. 더 나은 다국어 지원을 위해 라우팅 규칙에 매개변수를 설정할 수도 있습니다. 샘플 코드는 다음과 같습니다.

Route::get(':lang/home', 'home/index');

위 코드에서는 ':lang/home'에 대한 라우팅 규칙을 설정하고 매핑합니다. 'home/index' 컨트롤러와 액션에. 이러한 방식으로 사용자가 'zh-cn/home' 및 'en-us/home'에 액세스하면 자동으로 해당 컨트롤러 작업으로 라우팅됩니다.

결론

ThinkPHP6의 국제화를 사용하면 다국어 지원을 쉽게 얻을 수 있습니다. 언어 팩을 구성하고 Lang 도우미 기능을 사용하고 다국어 라우팅을 구현함으로써 다양한 국가와 지역에서 더 많은 사용자를 끌어들이는 진정한 글로벌 애플리케이션을 만들 수 있습니다.

위 내용은 ThinkPHP6에서 국제화 사용하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿