dnt/localization

Localization for laravel

v1.3 2023-10-08 15:15 UTC

This package is auto-updated.

Last update: 2024-05-08 16:30:42 UTC


README

Coded by Trung đức

Cài đặt

composer require dnt/localization

Xóa

composer remove dnt/localization

Cách dùng

Đặt các router của bạn vào trong scope Route::localization()

Ví dụ:

// routes/web.php
use Illuminate\Support\Facades\Route;

Route::localization(function(){
    Route::get('/',function(){
        return view('welcome');
    })
})

Phương thức này sẽ tự động chuyển ngôn ngữ cho dự án

Với kiểu route trên nó sẽ tạo ra các uri tương ứng với ngôn ngữ được hỗ trợ:

như ví dụ trên:

/
/en
/vi
  • Bạn có thể gọi route với các định danh là các locale bạn đã khai báo trong config
route('index');// ngôn ngữ hiện tại
route('vi.index');// ngôn ngữ tiếng việt
route('en.index');// ngôn ngữ tiếng anh
  • Package này hỗ trợ sẵn cho bạn 1 route chuyển đổi ngôn ngữ mặc định:
  • Đầu tiên hãy gán đoạn mã sau vào routes/web.php
Route::locale();
route('localization::changeLocale');
uri (GET): /change-locale/{locale}
// {locale} có thể thay thế bằng cách truyền param (ajax, axios)
vd:
$.ajax('{{ route('localization::changeLocale') }}',{
    data: {
        locale:'vi'
    }
}) 
hoặc
axios.get('{{ route('localization::changeLocale') }}',{
    params: {
      locale:'en'
    }
  });

example-route.png

Chiết xuất file config

php artisan vendor:publish --tag=localization