Làm cách nào để đặt bản địa hóa trong Laravel?

Amir Yousefi

Làm theo

30 Tháng sáu, 2019

·

3 phút đọc

·

Chỉ dành cho thành viên

Tận dụng các tính năng của Laravel và các gói tốt nhất để bản địa hóa

Bản địa hóa Laravel và chức năng đa ngôn ngữ trong web

Hướng dẫn từng bước để triển khai chức năng đa ngôn ngữ trong các dự án web của bạn

Laravel giúp việc triển khai một trang web đa ngôn ngữ trở nên thật dễ dàng. Bạn có thể thực hiện nó với…

Bản địa hóa trong Laravel theo thuật ngữ đơn giản nhất có nghĩa là thay đổi ngôn ngữ mặc định của ứng dụng thành ngôn ngữ được người dùng ưa thích

Trong bài viết này, chúng tôi sẽ hướng dẫn quy trình triển khai Bản địa hóa một cách rất đơn giản. Chúng tôi sẽ triển khai một ứng dụng hỗ trợ bốn ngôn ngữ là tiếng Đức, tiếng Trung, tiếng Pháp và tiếng Anh với tiếng Anh là ngôn ngữ mặc định

Yêu cầu

  • Kiến thức về Laravel

Dự án mẫu được sử dụng trong bài viết này là trên Github. Sao chép dự án và thiết lập nó, hãy bắt đầu

Bắt đầu

Có hai cách khác nhau để chúng ta có thể đạt được bản địa hóa trong Laravel

  1. Sử dụng Phím tắt
  2. Sử dụng chuỗi dịch làm khóa

Để hiểu ý nghĩa chung của từng loại ở trên, hãy xem tài liệu chính thức của Laravel tại đây. Với mục đích của bài viết này, trọng tâm của chúng tôi sẽ là Sử dụng chuỗi dịch làm khóa và cách triển khai cài đặt ngôn ngữ động

Bước 1

Bước đầu tiên là tạo chuỗi dịch. Trong thư mục resources/lang, tạo các tệp sau

  • zh.json// cho ngôn ngữ Trung Quốc
  • fr.json//cho tiếng Pháp
  • ge.json // cho tiếng Đức

Giả sử rằng văn bản bên dưới là văn bản trên trang web chúng tôi muốn dịch

Chào bạn

Tôi hy vọng điều này gặp bạn tốt

Hãy nói về Bản địa hóa trong Laravel, tin tôi đi, đó là một chủ đề tuyệt vời. Tuy nhiên, không nhiều người đã nhận ra điều tuyệt vời này

Bản địa hóa theo từ điển, có nghĩa là điều chỉnh một cái gì đó đến một vị trí hoặc địa điểm cố định. Do đó, đủ để nói rằng bản địa hóa Laravel liên quan đến việc điều chỉnh ngôn ngữ được sử dụng trong ứng dụng theo vị trí nhất định của người dùng

Điều này có thể không có nhiều ý nghĩa với bạn nhưng bạn không có lý do gì để lo lắng. Không có gì nói ở đây nên tranh cãi vì ý tưởng chỉ là bịa ra từ ngữ nhằm mục đích thử nghiệm hướng dẫn này

Cách văn bản xuất hiện trên trang web

Đối với mỗi tệp JSON ngôn ngữ ở trên, hãy sao chép văn bản bạn muốn dịch và dán vào Google dịch để có được văn bản tương đương với ngôn ngữ mong muốn. Ví dụ, các. json, từ. json và zh. json cho văn bản trên sẽ giống như bên dưới

Ghi chú

Toàn bộ văn bản sẽ được đặt trong chỉ thị lưỡi dao @lang[] hoặc __[] để dịch phải được dịch cùng nhau. Ví dụ, nếu có hai câu trong đoạn văn, hai câu phải được dịch cùng nhau

Trong view, dịch được thực hiện như hình bên dưới

Như bạn có thể thấy, bạn có thể chọn sử dụng @lang[] hoặc __[], tùy theo cách nào bạn thấy dễ sử dụng hơn sẽ hoạt động tốt

Bước 2

Tiếp theo, chúng ta sẽ tạo một LocalizationController và một phần mềm trung gian để tự động thay đổi ngôn ngữ

$ php artisan make:controller LocalizationController

resources/lang0

Bây giờ hãy chỉnh sửa LocalizationController. php như sau

Tiếp theo, hãy tạo tuyến đường, thêm tuyến đường bên dưới vào web. php

Route::get['lang/{locale}', 'LocalizationController@index'];

Lộ trình trông như thế nào là do bạn lựa chọn. Đối với bài viết này, trình đơn thả xuống chuyển đổi ngôn ngữ sẽ trông như hình bên dưới và nằm ở resources/lang1

Bước 3

Hãy chỉnh sửa phần mềm trung gian Bản địa hóa. Phần mềm trung gian Bản địa hóa buộc ngôn ngữ đã chọn cho mọi yêu cầu. Tôi đã nói 'buộc' vì việc đặt ngôn ngữ trong phương thức chỉ mục của LocalizationController là không đủ để thực hiện thủ thuật

Chỉnh sửa phần mềm trung gian Bản địa hóa như sau

Đối với mọi yêu cầu đến, phần mềm trung gian sẽ kiểm tra ngôn ngữ hiện tại trong phiên và đặt ngôn ngữ đó cho phù hợp

Tiếp theo, thêm phần mềm trung gian vào Kernel. php. Nó sẽ được thêm vào mảng resources/lang2 như hình bên dưới

đó là nó. Nếu bạn làm theo các bước một cách chính xác, thì bây giờ nó sẽ hoạt động hoàn hảo

Phần kết luận

Chúng tôi đã xem xét cẩn thận các quy trình liên quan đến việc triển khai bản địa hóa đa ngôn ngữ trong Laravel. Hãy chia sẻ ý kiến ​​​​của bạn về chủ đề này. Nếu bạn cần làm rõ thêm bất kỳ điều gì, vui lòng liên hệ tại đây hoặc qua Twitter

Làm cách nào để thêm bản địa hóa trong laravel?

Create a new translation project and set English as the base language. Open project settings and copy the project ID. Next, to upload your Laravel translation files to Lokalise, run: lokalise2 file upload --token --project-id --lang_iso en --file PATH/TO/PROJECT/resources/lang/en.

Làm cách nào để thay đổi nội địa hóa trong laravel?

Laravel cung cấp cho bạn tùy chọn thay đổi ngôn ngữ cho một Yêu cầu http duy nhất bằng cách thực thi phương thức setLocale trên Ứng dụng Mặt tiền ứng dụng. setLocale[$locale]; , Nhưng điều gì sẽ xảy ra nếu một khi ngôn ngữ được thay đổi, bạn không muốn lo lắng về việc đặt Ngôn ngữ và điều này sẽ được xử lý bằng logic mã tự động.

Làm cách nào để sử dụng nhiều ngôn ngữ trong laravel?

Cách dễ dàng thiết lập nhiều ngôn ngữ cho ứng dụng web của bạn [Bản địa hóa Laravel] .
Bước 1. hãy tạo một ngôn ngữ xem. lưỡi. php
Bước 2. hãy tạo một bộ điều khiển cho chế độ xem này. .
Bước 3. Hãy thiết lập tuyến đường, Ngoài ra để thiết lập tuyến đường, hãy truy cập tuyến đường/web. php
Tuyến đường. get['locale/{lang}', 'Locale@index'];

Làm cách nào để thay đổi ngôn ngữ mặc định trong laravel?

Bạn có thể sửa đổi ngôn ngữ mặc định cho một yêu cầu HTTP trong thời gian chạy bằng cách sử dụng phương thức setLocale do Mặt tiền ứng dụng cung cấp. .
sử dụng Chiếu sáng\Hỗ trợ\Mặt tiền\Ứng dụng;
Tuyến đường. get['/greeting/{locale}', function [$locale] {
nếu [. in_array[$locale, ['en', 'es', 'fr']]] {
hủy bỏ [400];
Ứng dụng. setLocale[$locale];

Chủ Đề