Đa ngôn ngữ đơn giản trong Laravel

Đa ngôn ngữ đơn giản trong Laravel


Nếu bạn muốn làm một dự án với nhiều ngôn ngữ khác nhau, thì bài viết sau sẽ giúp các bạn việc đó dể dàng hơn.

Trong laravel đã hộ trợ sẵn các bạn các Retrieving Translation Strings . Ví dụ trong blade có thể viết 3 cách để viết

//Cách 1
{{ __('Ngôn ngữ') }}

//Cách 2
{{ trans('Ngôn ngữ') }}

//Cách 3
@lang('Ngôn ngữ')

Để xác định ngôn ngữ cho dự án của bạn thì bạn có thể sửa tại config/app.php và thay đổi các cài đặt sau

/**  
*Bạn sửa 'en' thành 'vn' để thay đổi ngôn ngữ sang Tiếng Việt hoặc khác, tùy bạn 
* 'en' hay 'vn' hay ký tự khác tùy vào thư mục mà bạn sẽ tạo phía sau  
*/

//Đây là ngôn ngữ thay đổi cho dự án
'locale' => 'en',  

//Ngôn ngữ dự phòng, phòng khi ngôn ngữ đang sử dụng bị lỗi
'fallback_locale' => 'en',

Trong Laravel có cách khác để thay đổi ngôn ngữ là sử dụng

App::setLocale($locale);

Với cách này bạn có thể lấy từ DB rồi đẩy vào $locale để các thành viên tự đổi ngôn ngữ theo ý riêng. Nhưng trong phạm vi bài này, mình sẽ hướng dẫn cách để viết đa ngôn ngữ như thế nào, còn việc thay đổi Options sẽ có một bài khác.

Ok, giờ vào phần chính, bạn vào /resources/lang bạn sẽ thấy một folder có sãn là ‘en’ đây là thư mục chưa file ngôn ngữ “Tiếng Anh” của dự án bạn trong đấy có file “validation.php” chứa các nội dung tiếng anh khi các bạn Validation trong dự án bạn nên Dịch hết theo cách bạn muốn.

Ngoài ra trong đó có các chuổi tên kiểu có hai chấm trước từ đó như :

:attribute
:date
:min
:max
:other
:digits
:value

thì các bạn nhớ chừa ra đừng có dịch. vì nó sẽ thay thế giá trị vào đó nha!

ok! Khoan hãy việt hóa nha, các bác phải tạo một folder khác ngang hàng với ‘en’ đã tạo tên trùng với tên các bạn đã config trong file app.php mình tạo folder tên là ‘vn’. Ok giờ các bạn copy hết các file trong thư mục ‘en’ vào thư mục ‘vn’ rồi việt hóa nó đi.

Xong! các bác đã việt hóa các thứ có thể việt hóa. Bây giờ đến phần các bạn tự tạo ra các text riêng để dịch đây.

Các bạn sẽ tạo một file có tên là ‘content.php’ hoặc khác tùy bạn nội dung như sau:

<?php

return [

//Nội dung các chuổi text được dịch ở đây

];

Nội dung thật ra là tương tự như 4 file đã có.

Tiếp theo, mình sẽ sử dụng các template auth có sẵn khi các bạn tạo đăng nhập sẵn mà laravel có để đỡ mất công tạo template khác. :D. Ví dụ template Login.balde.php

Mình sẽ lấy chữ E-Mail Address làm ví dụ.

bạn sửa {{ __(‘E-Mail Address’) }} lại thành{{ __(‘content.E-Mail Address’) }} chỗ content thêm vào chính là file content.php mà bạn đã tạo, bạn đặt tên file như nào thì thêm vào như vậy. Rồi trong file content.php

Bạn viết như trên. Ta sẽ có thành quả như sau:

Tương tự các bạn có thể làm với các từ khác các kiểu nhé. Hoặc chia file ra.

 

Ngoài cách có sãn bạn cũng có thể dùng 2 cách còn lại mà mình đã ghi ở phần đâu nha.

Đánh giá bài viết

Đa ngôn ngữ đơn giản trong Laravel
5/5 1 votes

Comments

Để lại bình luận:
Vui lòng đăng nhập hoặc đăng ký mới tài khoản bạn nhé:
Login Register

Nội dung

    Tags
    Laravel (29) Laravel 5.5 (9) Võ Lâm (6) Bug (5) Scripts Auto Võ Lâm (5) Võ Lâm Truyền Kỳ (4) Auto Lọc Đồ Võ Lâm (4) Laravel 5.7 (4) Blade (3) Laravel Blade (3) Php (3) Laravel Router (3) 10K Brse (2) Kokusho (2) Kanji (2) Android (2) Tự Động Từ (2) Tha Động Từ (2) Trợ Từ (2) Authentication (2) Business Email (2) Laravel 5.4 (2) View (2) Sublime Text (2) Mysql (2) ゆうちょ銀行 (2) Laravel Mail (2) Xampp (2) Laravel Mix (2) Laravel Localization (2) Tiêu Chuẩn Php (2) Hớt Tóc (1) Meros (1) Luyện Nghe Tiếng Nhật (1) Luyện Nói Tiếng Nhật (1) Shadowing (1) Shadowing Japanese (1) Katakana (1) Giáo Trình (1) Party (1) Yotsuya (1) Okonomiyaki (1) Yakisoba (1) Lol (1) Nhật Ký (1) Kanji Study (1) Đồ Dùng (1) Dưa Leo Đẹp Trai (1) Vlog (1) Động Đất (1) Sóng Thần (1) Trần Hoàng Trung Tín (1) Tokyo (1) Wakarimasen (1) Shirimasen (1) Suối Nước Nóng (1) Onsen (1) Đặc Sản Nhật Bản (1) Debugbar (1) Laravel 5.2 (1) Từ Điển (1) Tính Từ (1) Danh Từ (1) Minna No Nihongo (1) Minna No Nihongo 1 (1) Minna No Nihongo 2 (1) Tài Liệu (1) Ngọc Bổ Trợ (1) Liên Minh Huyền Thoại (1) Truyện Ngắn (1) 12 Con Giáp (1) Lễ Hội (1) Itabashi (1) Đường Lưỡi Bò (1) Weibo (1) Cách Sử Dụng Kara (1) Curriculum Vitae (1) Phân Biệt (1) Cách Sử Dụng Youni (1) Cách Sử Dụng Tameni (1) Note (1) Cách Sử Dụng Node (1) Cách Sử Dụng Te (1) Từ Láy (1) Hostinger (1) Kết Nối Mysql Từ Xa (1) Seven Eleven (1) Lawson (1) In Tiết Kiệm (1) Laravel 5.3 (1) Socialite (1) Thuật Toán Sort (1) Kính Ngữ (1) Khiêm Nhường Ngữ (1) Tag (1) Social Authentication (1) Demo (1) Html (1) Form (1) Helper Function (1) Editor (1) Tool (1) Thiết Kế Web (1) Notify (1) Notification (1) Hosting (1) Database (1) Localstorage (1) Client (1) Response (1) Google Cse (1) Blade If (1) Whoops (1) Exception (1) Router (1) Package (1) Update (1) Nhật Bản (1) Chuyển Tiền (1) Dcom (1) Request (1) Validate (1) Atm (1) Eloquent (1) Tips And Tricks (1) Office Professional 2016 (1) Vps Config (1) Laravel 5.6 (1) Laravel Sitemap (1) Postman (1) Lấy Cao Răng Ở Nhật (1) Cryptocurrency (1) Php 7.2 (1) Composer (1) Xampp Virtual Domain (1) Xampp Virtual Host (1) Cách Nạp Tiền Vào Thẻ Dcom (1) Chuyển Tiền Từ Nhật Về Việt Nam (1) Dcom Chuyển Tiền Nhật Việt (1) Gửi Tiền Từ Nhật Về Việt Nam (1) Chuyen Tien Dcom (1) Cài Đặt Laravel (1) Laravel Installation (1) Cấu Hình Laravel (1) Laravel Configuration (1) Cấu Trúc Thư Mục Của Laravel (1) Laravel Folder Structure (1) Laravel Directory Structure (1) Laravel Routing (1) Photoshop Cs6 (1) Recaptcha (1) Excel (1) Editorconfig (1) Error Message (1) Laravel Relationship (1) Many-To-Many (1) Email Verification (1) Ffmpeg (1) Code Standard (1) Code Chuẩn Laravel (1) Đa Ngôn Ngữ (1) Laravel Pagination (1) Laravel Phân Trang (1) Laravel Error (1) Yahoo Mail (1) Chuyển Tiền Việt Nhật (1) Chuyển Tiền Nhật Việt (1) Phím Tắt Sublime Text (1) Laravel 5.5 (1) Wifi Ở Nhật Bản (1) Wifi Tại Nhật Bản (1) Mạng Wifi Ở Nhật Bản (1) Sử Dụng Wifi Ở Nhật Bản (1) Đăng Kí Wifi Ở Nhật Bản (1) Lắp Wifi Ở Nhật Bản (1) Laravel Model (1) Toastr (1) Utf-8 Bom (1) Utf-8 Without Bom (1) Psr-1 (1) Laravel Avatar (1) Psr-2 (1) Thuật Ngữ Laravel (1) Faststone Capture (1) Quay Phim Màn Hình (1) Chụp Ảnh Màn Hình (1) Phần Mềm Chụp Ảnh Màn Hình (1) Best Screen Capture (1) Screen Recorder (1) Nâng Cấp Laravel (1) Upgrade Laravel Version (1) Update Laravel To 5.7 (1) Laravel Validation (1) Laravel Formrequest (1) Laravel Modify Input (1) Chung.luac (1) Cộng Đồng Võ Lâm (1) Võ Lâm Server Test Vĩnh Viễn (1) Mail (0)