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, Frenchvà German. 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.