Laravel - การแปล
คุณสมบัติการแปลเป็นภาษาท้องถิ่นของ Laravel รองรับภาษาต่างๆที่จะใช้ในแอปพลิเคชัน คุณต้องจัดเก็บสตริงทั้งหมดของภาษาที่แตกต่างกันในไฟล์และไฟล์เหล่านี้จะถูกเก็บไว้ที่resources/viewsไดเรกทอรี คุณควรสร้างไดเร็กทอรีแยกต่างหากสำหรับแต่ละภาษาที่รองรับ ไฟล์ภาษาทั้งหมดควรส่งคืนอาร์เรย์ของสตริงที่คีย์ดังที่แสดงด้านล่าง
<?php
return [
'welcome' => 'Welcome to the application'
];
ตัวอย่าง
Step 1 - สร้าง 3 ไฟล์สำหรับภาษา - English, Frenchและ German. บันทึกไฟล์ภาษาอังกฤษที่resources/lang/en/lang.php
<?php
return [
'msg' => 'Laravel Internationalization example.'
];
?>
Step 2 - บันทึกไฟล์ภาษาฝรั่งเศสที่ resources/lang/fr/lang.php.
<?php
return [
'msg' => 'Exemple Laravel internationalisation.'
];
?>
Step 3 - บันทึกไฟล์ภาษาเยอรมันที่ resources/lang/de/lang.php.
<?php
return [
'msg' => 'Laravel Internationalisierung Beispiel.'
];
?>
Step 4 - สร้างตัวควบคุมที่เรียกว่า LocalizationController โดยดำเนินการคำสั่งต่อไปนี้
php artisan make:controller LocalizationController --plain
Step 5 - หลังจากดำเนินการสำเร็จคุณจะได้รับผลลัพธ์ต่อไปนี้ -
Step 6 - คัดลอกรหัสต่อไปนี้ไปยังไฟล์
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 - เพิ่มเส้นทางสำหรับ LocalizationController ใน app/Http/routes.phpไฟล์. สังเกตว่าเรากำลังส่งอาร์กิวเมนต์ {locale} หลังการแปล / ซึ่งเราจะใช้เพื่อดูผลลัพธ์ในภาษาอื่น
app/Http/routes.php
Route::get('localization/{locale}','LocalizationController@index');
Step 8- ตอนนี้ให้เราไปที่ URL ต่างๆเพื่อดูภาษาต่างๆทั้งหมด ดำเนินการตาม URL ด้านล่างเพื่อดูผลลัพธ์เป็นภาษาอังกฤษ
http://localhost:8000/localization/en
Step 9 - ผลลัพธ์จะปรากฏดังที่แสดงในภาพต่อไปนี้
Step 10 - ดำเนินการตาม URL ด้านล่างเพื่อดูผลลัพธ์ในภาษาฝรั่งเศส
http://localhost:8000/localization/fr
Step 11 - ผลลัพธ์จะปรากฏดังที่แสดงในภาพต่อไปนี้
Step 12 - ดำเนินการตาม URL ด้านล่างเพื่อดูผลลัพธ์ในภาษาเยอรมัน
http://localhost:8000/localization/de
Step 13 - ผลลัพธ์จะปรากฏดังที่แสดงในภาพต่อไปนี้