News & Events
[Laravel Series] 15. Localization trong Android
- 28/09/2016
- Posted by: Bùi Đạt
- Category: Laravel Framework Video Bài giảng
Chức năng Localization của Laravel hỗ trợ các ngôn ngữ khác nhau được dùng trong ứng dụng. Bạn cần phải lưu tất cả các chuỗi của các ngôn ngữ khác nhau trong một file và những file này được lưu tại thư mục resources/views. Bạn nên tạo một thư mục riêng biệt cho mỗi ngôn ngữ được hỗ trợ. Tất cả các file ngôn ngữ nên trả lại một mảng của các chuỗi đã được khóa như dưới đây:
1 2 3 4 | <span class="pun"><?</span><span class="pln">php </span><span class="kwd">return</span> <span class="pun">[</span> <span class="str">'welcome'</span> <span class="pun">=></span> <span class="str">'Welcome to the application'</span> <span class="pun">];</span> |
>>> Xem full Series về Laravel Framework <<<
Ví dụ
Bước 1 – Tạo 3 file ngôn ngữ là English, French và German. Lưu file English tại resources/lang/en/lang.php
1 2 3 4 5 | <span class="pun"><?</span><span class="pln">php </span><span class="kwd">return</span> <span class="pun">[</span> <span class="str">'msg'</span> <span class="pun">=></span> <span class="str">'Laravel Internationalization example.'</span> <span class="pun">];</span> <span class="pun">?></span> |
Bước 2 – Lưu file French tại resources/lang/fr/lang.php.
1 2 3 4 5 | <span class="pun"><?</span><span class="pln">php </span><span class="kwd">return</span> <span class="pun">[</span> <span class="str">'msg'</span> <span class="pun">=></span> <span class="str">'Exemple Laravel internationalisation.'</span> <span class="pun">];</span> <span class="pun">?></span> |
Bước 3 – Lưu file German tại resources/lang/de/lang.php.
1 2 3 4 5 | <span class="pun"><?</span><span class="pln">php </span><span class="kwd">return</span> <span class="pun">[</span> <span class="str">'msg'</span> <span class="pun">=></span> <span class="str">'Laravel Internationalisierung Beispiel.'</span> <span class="pun">];</span> <span class="pun">?></span> |
Bước 4 – Tạo một controller gọi là LocalizationController bằng cách chạy lệnh:
1 | php artisan make:controller LocalizationController --plain |
Tips: Nắm chắc ngôn ngữ lập trình PHP là bí quyết thành công với Laravel
Bước 5 – Sau khi chạy xong bạn sẽ thấy
Bước 6 – Sao chép code sau vào file app/Http/Controllers/LocalizationController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <span class="pun"><?</span><span class="pln">php </span><span class="kwd">namespace</span> <span class="typ">App</span><span class="pln">\Http\Controllers</span><span class="pun">;</span> <span class="kwd">use</span> <span class="typ">Illuminate</span><span class="pln">\Http\Request</span><span class="pun">;</span> <span class="kwd">use</span> <span class="typ">App</span><span class="pln">\Http\Requests</span><span class="pun">;</span> <span class="kwd">use</span> <span class="typ">App</span><span class="pln">\Http\Controllers\Controller</span><span class="pun">;</span> <span class="kwd">class</span> <span class="typ">LocalizationController</span> <span class="kwd">extends</span> <span class="typ">Controller</span> <span class="pun">{</span> <span class="kwd">public</span> <span class="kwd">function</span><span class="pln"> index</span><span class="pun">(</span><span class="typ">Request</span><span class="pln"> $request</span><span class="pun">,</span><span class="pln">$locale</span><span class="pun">){</span> <span class="com">//set’s application’s locale</span><span class="pln"> app</span><span class="pun">()-></span><span class="pln">setLocale</span><span class="pun">(</span><span class="pln">$locale</span><span class="pun">);</span> <span class="com">//Gets the translated message and displays it</span><span class="pln"> echo trans</span><span class="pun">(</span><span class="str">'lang.msg'</span><span class="pun">);</span> <span class="pun">}</span> <span class="pun">}</span> |
Bước 7 – Thêm một route cho LocalizationController trong file app/Http/routes.php. Chú ý rằng ta đang truyền đối số {locale} sau localization/ cái mà ta sẽ dùng để nhận biết đầu ra của các ngôn ngữ khác nhau.
1 | Route::get('localization/{locale}','LocalizationController@index'); |
Bước 8 – Giờ chúng ta hãy cùng vào các URL kahcs nhau để xem các ngôn ngữ khác nhau. ví dụ với ngôn ngữ tiếng Anh:
http://localhost:8000/localization/en
Bước 9 – Kết quả:
Tương tự với ngôn ngữ Pháp và Đức sẽ cho ra 2 kết quả theo hai tiếng Pháp và Đức. Bạn hãy thử với 2 URL sau nhé
http://localhost:8000/localization/fr
http://localhost:8000/localization/de
>> Tham khảo thêm: Tìm hiểu về Form
Trả lời Hủy
Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.