Laravel에서 권한 기반 다국어 지원을 구현하는 방법

PHPz
풀어 주다: 2023-11-02 08:22:02
원래의
1022명이 탐색했습니다.

Laravel에서 권한 기반 다국어 지원을 구현하는 방법

Laravel에서 권한 기반 다국어 지원을 구현하는 방법

소개:
최신 웹사이트와 애플리케이션에서 다국어 지원은 매우 일반적인 요구 사항입니다. 일부 복잡한 시스템의 경우 사용자의 권한에 따라 다양한 언어 번역을 동적으로 표시해야 할 수도 있습니다. Laravel은 개발 프로세스를 단순화하는 많은 강력한 기능을 제공하는 매우 인기 있는 PHP 프레임워크입니다. 이 글에서는 Laravel에서 권한 기반 다국어 지원을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1단계: 다국어 지원 구성

먼저 Laravel에서 다국어 지원을 구성해야 합니다. config/app.php 파일을 열고 'locale' 필드를 찾아 기본 언어로 설정하세요. 이 언어는 우리 애플리케이션의 기본 언어가 될 것입니다.

다음으로 config/app.php 파일에서 'locales' 필드를 찾아 지원되는 언어 목록으로 설정하세요. 예를 들어, 영어와 프랑스어로 설정할 수 있습니다:

'locales' => [

'en',
'fr'
로그인 후 복사

],

그런 다음 resources/lang 디렉토리에 해당 언어 파일을 생성해야 합니다. Laravel은 현재 로캘에 따라 해당 언어 파일을 자동으로 로드합니다.

2단계: 권한 제어 테이블 생성

권한 기반 언어 표시를 구현하려면 권한 제어 테이블을 생성해야 합니다. 다양한 권한에 해당하는 언어 식별자를 저장하기 위해 데이터베이스에 권한이라는 테이블을 만들 수 있습니다.

먼저 Laravel의 마이그레이션 도구를 사용하여 마이그레이션 파일을 생성하고 다음 명령을 실행합니다:

php artisan make:migration create_permissions_table --create=permissions

그런 다음 생성된 마이그레이션 파일을 열고 코드를 다음 내용으로 수정합니다.

IlluminateDatabaseMigrationsMigration을 사용하세요.

3단계: 권한 언어 구성 번역

us 권한 관련 번역 내용을 언어 파일에 추가해야 합니다. resources/lang 디렉토리에서 해당 언어 파일을 열고Permissions.php라는 파일을 생성하십시오.

그런 다음Permission.php 파일에 다음 코드를 추가합니다.

return [

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::create('permissions', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('key');
        $table->timestamps();
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('permissions');
}
로그인 후 복사

];

여기서 '관리자', '사용자' 및 '게스트'는 서로 다른 권한에 해당합니다. 실제 필요에 따라 언어 식별을 조정할 수 있습니다.

4단계: 쓰기 ​​권한 언어 번역 기능

다음으로, 사용자 권한에 따라 해당 언어 번역을 얻기 위해 애플리케이션에 함수를 작성해야 합니다.

app/Helpers 디렉터리를 엽니다. 디렉터리가 없으면 직접 만들 수 있습니다.

Helpers 디렉터리에 LanguageHelper.php라는 파일을 만들고 다음 코드를 추가합니다:

namespace AppHelpers;

use IlluminateSupportFacadesAuth;

class LanguageHelper

{

'admin' => 'Admin',
'user' => 'User',
'guest' => 'Guest',
로그인 후 복사

}

여기 getPermissionTranslation 함수는 사용자의 역할에 따라 해당 권한의 언어 번역을 얻는 데 사용됩니다.

5단계: 뷰에서 권한 언어 번역 사용

마지막으로 뷰에서 권한 언어 번역을 사용할 수 있습니다. 보기 파일을 열고 다음 코드를 추가합니다:

{{ AppHelpersLanguageHelper::getPermissionTranslation(Auth::user()->role->key) }}


Auth:: 여기서 user()->role->key는 현재 사용자 역할을 획득하고 LanguageHelper를 통해 해당 권한 변환을 획득하는 키입니다.

결론:

위의 단계를 통해 권한 기반 다국어 지원을 성공적으로 구현했습니다. 사용자의 권한이 변경되면 페이지의 언어 번역이 그에 따라 새로 고쳐집니다. Laravel은 다양한 요구 사항을 보다 쉽게 ​​충족할 수 있도록 많은 강력한 기능과 도구를 제공합니다. 이 글이 Laravel에서 권한 기반 다국어 지원을 구현하는 데 도움이 되기를 바라며, 더 나은 애플리케이션을 작성하실 수 있기를 바랍니다.

위 내용은 Laravel에서 권한 기반 다국어 지원을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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