วิธีเปลี่ยนข้อความ validation ให้เป็นภาษาไทยใน Laravel 5.x

Laravel มีเครื่องมืออำนวยความสะดวกการ validation ฟอร์มต่างๆให้เบื้องต้น เราไม่ต้องมานั่งเขียนตรวจสอบเองให้วุ่นวายเหมือนแต่ก่อน แต่ข้อความที่แสดงเริ่มต้นจะเป็นภาษาอังกฤษ ซึ่งหากเป็นเว็บไซต์ไทยก็อาจจะไม่เหมาะสมนัก ดังนั้นเรามาดูวิธีเปลี่ยนข้อความที่แสดงเมื่อกรอกฟอร์มไม่ตรงกับเงื่อนไขให้เป็นภาษาไทยกันครับ

เริ่มต้นเลยให้เข้าไปที่ไฟล์ /config/app.php แล้วให้เปลี่ยนค่าเป็น

'locale' => 'th',

หลังจากนั้นให้เข้าไปที่โฟลเดอร์ resources/lang/ จะสังเกตได้ว่ามีโฟลเดอร์ en อยู่ในนั้น ให้เราสร้างโฟลเดอร์ th เพิ่มเข้าไป  ทีนี้เราก็จะมีโฟลเดอร์ en และ th

ให้เรา copy ไฟล์ validation.php ในโฟลเดอร์ en แล้วนำไปวางไว้โฟลเดอร์ th ครับ ซึ้งเมื่อเราเปิดไฟล์ validation.php ขึ้นมาก็จะเป็นรายการข้อความ Validation Language โดยจะเป็น Array ซึ่งเราสามารถการแปลเป็นภาษาไทยที่นี่ได้เลยครับ เช่น

'required'             => 'The :attribute field is required.',

แก้เป็น

'required'             => 'โปรดระบุ:attribute',

ตัวที่เป็น :attribute จะเอาชื่อฟิลด์ input มาแสดง เช่น

<input type="text"  name="email">

ก็จะแสดงเป็น

โปรดระบุemail

แล้วถ้าเราจะให้คำว่า “email” แสดงเป็น “อีเมล์” ทำอย่างไร ? สามารถทำโดยเพิ่มค่าดังนี้ครับ

    'attributes' => [
        'email'               => 'อีเมล์',
        'password'            => 'รหัสผ่าน',
    ],

ตัวอย่างด้านบนเพิ่ม password ไปอีกตัว หากมีหลายฟิดล์ก็จะเป็นลักษณะตามที่ได้กล่าวมา เวลาแสดงข้อความแบบเต็มจะเป็นดังนี้

โปรดระบุอีเมล์

ก็หวังว่าบทความนี้คงมีประโยชน์กับผู้ที่เริ่มใช้ laravel กันนะครับ

Author: ศิริชัย ธีรภัทรสกุล เป็นนักพัฒนาเว็บไซต์ และผู้ก่อตั้ง "เมมโมเอท" เริ่มทำงานมาตั้งแต่ปี พ.ศ. 2547 ประสบการณ์ความรู้ความสามารถที่สั่งสมมา มีทั้งการเขียนโปรแกรม, งานออกแบบ UX/UI และวิเคราะห์ระบบ จึงทำให้มีความเข้าใจคนทำธุรกิจ เพื่อที่จะทำระบบออกมาให้ใช้งานได้จริงตรงตามจุดประสงค์

Leave a Comment