Laravel - Bản địa hóa

Tính năng bản địa hóa của Laravel hỗ trợ các ngôn ngữ khác nhau được sử dụng trong ứng dụng. Bạn cần lưu trữ tất cả các chuỗi ngôn ngữ khác nhau trong một tệp và các tệp này được lưu trữ tạiresources/viewsdanh mục. Bạn nên tạo một thư mục riêng cho từng ngôn ngữ được hỗ trợ. Tất cả các tệp ngôn ngữ sẽ trả về một mảng các chuỗi có khóa như được hiển thị bên dưới.

<?php
return [
   'welcome' => 'Welcome to the application'
];

Thí dụ

Step 1 - Tạo 3 tệp cho các ngôn ngữ - English, FrenchGerman. Lưu tệp tiếng Anh tạiresources/lang/en/lang.php

<?php
   return [
      'msg' => 'Laravel Internationalization example.'
   ];
?>

Step 2 - Lưu tệp tiếng Pháp tại resources/lang/fr/lang.php.

<?php
   return [
      'msg' => 'Exemple Laravel internationalisation.'
   ];
?>

Step 3 - Lưu tệp tiếng Đức tại resources/lang/de/lang.php.

<?php
   return [
      'msg' => 'Laravel Internationalisierung Beispiel.' 
   ];
?>

Step 4 - Tạo một bộ điều khiển được gọi là LocalizationController bằng cách thực hiện lệnh sau.

php artisan make:controller LocalizationController --plain

Step 5 - Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

Step 6 - Sao chép mã sau vào tệp

app/Http/Controllers/LocalizationController.php

app/Http/Controllers/LocalizationController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class LocalizationController extends Controller {
   public function index(Request $request,$locale) {
      //set’s application’s locale
      app()->setLocale($locale);
      
      //Gets the translated message and displays it
      echo trans('lang.msg');
   }
}

Step 7 - Thêm một tuyến đường cho LocalizationController trong app/Http/routes.phptập tin. Lưu ý rằng chúng tôi đang chuyển đối số {locale} sau khi bản địa hóa / mà chúng tôi sẽ sử dụng để xem đầu ra bằng ngôn ngữ khác.

app/Http/routes.php

Route::get('localization/{locale}','LocalizationController@index');

Step 8- Bây giờ, chúng ta hãy truy cập các URL khác nhau để xem tất cả các ngôn ngữ khác nhau. Thực thi URL bên dưới để xem đầu ra bằng ngôn ngữ tiếng Anh.

http://localhost:8000/localization/en

Step 9 - Đầu ra sẽ xuất hiện như trong hình sau.

Step 10 - Thực hiện URL bên dưới để xem đầu ra bằng ngôn ngữ Pháp.

http://localhost:8000/localization/fr

Step 11 - Đầu ra sẽ xuất hiện như trong hình sau.

Step 12 - Thực hiện URL bên dưới để xem đầu ra bằng tiếng Đức

http://localhost:8000/localization/de

Step 13 - Đầu ra sẽ xuất hiện như trong hình sau.