วิธีแปลและแปลปลั๊กอิน WordPress – คู่มือเชิงลึกสำหรับนักพัฒนาปลั๊กอิน

เผยแพร่แล้ว: 2020-01-20

เมื่อพัฒนาปลั๊กอิน ควรเตรียมการแปลให้พร้อมเสมอ เนื่องจากจะสามารถเข้าถึงผู้ชมที่ไม่ได้ใช้ภาษาอังกฤษเป็นภาษาแรกได้ หากคุณสงสัยว่าตัวเลือกการแปลมีความสำคัญเพียงใด คุณสามารถตรวจสอบพื้นที่เก็บข้อมูลและดูว่าปลั๊กอินยอดนิยมทุกตัวมีให้สำหรับการแปลเป็นภาษาท้องถิ่น คุณจะพบว่าตัวเลือกนี้ใช้ได้กับ UpdraftPlus, MetaSlider, WP-Optimize, Contact Form 7 และ WooCommerce และอีกมากมาย เหล่านี้เป็นปลั๊กอินที่ได้รับความนิยมมากที่สุดบางส่วนและมีการเข้ารหัสในลักษณะที่ช่วยให้ทุกคนสามารถแปลเป็นภาษาแม่ของตนได้อย่างง่ายดาย

วัตถุประสงค์ของบล็อกนี้คือเพื่อแสดงให้ผู้อ่านของเราเห็นว่าพวกเขาสามารถเขียนโค้ดปลั๊กอินได้อย่างไร เพื่อให้มีการแปลเป็นภาษาท้องถิ่นและแปลเป็นภาษา WordPress ที่รองรับ ตัวอย่างเช่น หากเราต้องการแปลปลั๊กอินเป็นภาษาฝรั่งเศส ขั้นตอนต่อไปนี้จะอนุญาตให้แปลปลั๊กอินและทำให้พร้อมสำหรับภาษา WordPress ที่รองรับทั้งหมด

เริ่มต้น

เมื่อสร้างปลั๊กอิน เราควรตรวจสอบให้แน่ใจว่าเราโหลดโดเมนข้อความของปลั๊กอิน WordPress มีฟังก์ชันนี้:

load_plugin_textdomain()

รหัสนี้จะโหลดสตริงที่แปลของปลั๊กอิน อาจดูสับสนเล็กน้อย แต่โปรดอ่านต่อไปและเราจะอธิบายวิธีการทำงานในไม่ช้า

ขั้นแรก มาดูวิธีการเพิ่มฟังก์ชันนี้ในโค้ดปลั๊กอินของเรา ในโฟลเดอร์ปลั๊กอินของคุณ ให้สร้างไดเร็กทอรีที่เรียกว่า 'ภาษา' ถัดไป เพิ่มโค้ดด้านล่างลงในไฟล์หลักของปลั๊กอิน

 * Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );

ในโค้ดด้านบน เราเก็บพารามิเตอร์แรก (โดเมน) เป็น 'udp' เราควรเก็บชื่อโดเมนนี้ตามชื่อปลั๊กอินของเรา พารามิเตอร์ที่สองมีค่าเริ่มต้นเป็นเท็จ พารามิเตอร์ที่สามคือเส้นทางของไดเรกทอรี 'ภาษา' ของเรา รหัสนี้ช่วยให้ไฟล์การแปลของเราพร้อมสำหรับการเริ่มต้น WordPress

การใช้ __() และ _e() วิธีการ

เนื่องจากเราตั้งเป้าที่จะให้ปลั๊กอินของเราใช้งานได้ในทุกภาษา เราควรใส่ข้อความปลั๊กอินทั้งหมดไว้ภายใน:

__() หรือ _e() ฟังก์ชั่น

มันง่ายมากที่จะใช้วิธีการเหล่านี้ ทั้งสองวิธีทำงานเหมือนกันทุกประการ แต่มีกฎสำหรับการใช้ทั้งสองวิธี

ในโค้ดปลั๊กอินของเรา ปกติแล้วเราจะมีข้อความสองประเภท อันแรกห่อด้วย HTML โดยตรง และอันที่สองจะแสดงโดยใช้ฟังก์ชัน PHP echo ด้านล่างนี้เป็นตัวอย่างของทั้งสองประเภท:

ประเภท 1

 <h2>My Plugin Title</h2>

ประเภท 2

 <?php echo 'การตั้งค่าปลั๊กอินของฉัน'; ?>

กฎทั่วไปคือ หากคุณกำลังพิมพ์ข้อความโดยใช้ PHP echo คุณควรใส่ข้อความในโค้ดต่อไปนี้:

<code>__()</code>

หากเป็น HTML ให้ใช้รหัส: <code>_e()</code>.

รหัสข้างต้นควรเขียนในลักษณะต่อไปนี้:

 <h2><?php _e('ชื่อปลั๊กอินของฉัน', 'udp'); ?></h2>

และ

 <?php echo __('My Plugin Settings', 'udp'); ?>

ดังที่เห็นในตัวอย่างข้างต้น พารามิเตอร์ที่สองเขียนเป็น 'udp' ซึ่งเป็นโดเมนข้อความปลั๊กอินของเรา การใช้โดเมนนี้จะช่วยให้เราแปลข้อความเป็นภาษาใดก็ได้ในภายหลัง นี่คือวิธีที่ปลั๊กอินอื่น ๆ ทำให้การแปลปลั๊กอินพร้อม

หากคุณต้องการ คุณสามารถตรวจสอบปลั๊กอินของเรา:

UpdraftPlus

หากคุณค้นหาโดเมนข้อความ 'updraftplus' คุณจะเห็นว่าข้อความของปลั๊กอินถูกรวมไว้ในฟังก์ชัน __() และ _e() อย่างไร

สร้างตัวอย่างปลั๊กอิน

ขั้นต่อไปคือการสร้างปลั๊กอินตัวอย่างพร้อมข้อความบางส่วนเพื่อให้เราสามารถทดสอบการแปลของเราได้ ขั้นแรก สร้างโฟลเดอร์ 'udp' ในไดเร็กทอรีปลั๊กอินของคุณ ภายในโฟลเดอร์นี้สร้างไฟล์: udp.php และ languages ของโฟลเดอร์ ถัดไป เพิ่มโค้ดด้านล่างลงในไฟล์ปลั๊กอิน

udp.php

 <?php
/*
ชื่อปลั๊กอิน: UDP
คำอธิบาย: นี่คือตัวอย่างปลั๊กอินเพื่อทดสอบโดเมนข้อความปลั๊กอิน
ผู้เขียน: กองบรรณาธิการ
เวอร์ชัน: 1.0
ใบอนุญาต: GPLv3 หรือใหม่กว่า
โดเมนข้อความ: udp
เส้นทางโดเมน: /languages
*/

if (!defined('ABSPATH')) die('ไม่อนุญาตให้เข้าถึงโดยตรง');/**
* โหลดโดเมนข้อความปลั๊กอิน
*/
ฟังก์ชัน udp_load_textdomain () {
load_plugin_textdomain( 'udp', เท็จ, basename( dirname( __FILE__ ) ) . '/languages/' );
}
add_action( 'init', 'udp_load_textdomain' ); 

ฟังก์ชัน udp_menu_page() {
add_menu_page(
__( 'หน้าการตั้งค่า UDP', 'udp' ),
__( 'หน้าการตั้งค่า UDP', 'udp' ),
'manage_options',
'udp_setting_page',
'udp_setting_page',
'',
6
);
}
add_action('admin_menu', 'udp_menu_page');

ฟังก์ชัน udp_setting_page() {
?>
<h2><?php _e('ชื่อปลั๊กอินของฉัน', 'udp'); ?></h2>
<?php
}

สร้างไฟล์แปล

ในการสร้างไฟล์การแปล เราจะใช้ซอฟต์แวร์แก้ไขการแปลต่อไปนี้:

โพอิดิท

ไฟล์การแปล (.po และ .mo) มีสตริงที่จะแปลและสตริงที่แปลแล้ว ขณะสร้างไฟล์ .po เราจำเป็นต้องบันทึกในรูปแบบ '{domain}--language code' ในตัวอย่างนี้ ไฟล์จะเป็น udp-fr_FR.po

ถัดไป ติดตั้งซอฟต์แวร์ POEDIT ในระบบของคุณ ซอฟต์แวร์นี้ใช้ได้กับทุกแพลตฟอร์มและสามารถติดตั้งบน Windows, Linux หรือ Mac

เมื่อติดตั้งแล้ว ให้เปิด POEDIT แล้วไปที่ File->New ซึ่งเราจะป้อนรหัสภาษาของเราในหน้าต่างแจ้ง

คลิกที่ไอคอน 'บันทึก' หลังจากนั้นโปรแกรมสำรวจไฟล์จะเปิดขึ้น ตรงไปที่ไดเร็กทอรีภาษาของปลั๊กอินและบันทึกดังต่อไปนี้: udp-fr_FR.po

ตอนนี้เราสามารถเพิ่มการแปลภาษาฝรั่งเศสสำหรับข้อความปลั๊กอินของเราได้แล้ว โดยคลิกที่ส่วน 'แยกจากแหล่งที่มา'

ซึ่งจะเปิดป๊อปอัปคุณสมบัติแค็ตตาล็อก ตอนนี้เราต้องกำหนดค่าแท็บสามแท็บต่อไปนี้: คุณสมบัติการแปล เส้นทางแหล่งที่มา และคำหลักแหล่งที่มา ในแท็บ คุณสมบัติการแปล ให้เพิ่มโดเมน 'udp' ของเราเป็นชื่อโครงการ Source Paths จะเป็นโฟลเดอร์ปลั๊กอินของเรา และเราจะเพิ่ม '__ และ _e' ใน Source Keywords

หากคุณมีหลายโฟลเดอร์ในปลั๊กอิน เราจะต้องเลือกแต่ละไดเร็กทอรีแยกกัน

หลังจากเลือกโฟลเดอร์ปลั๊กอินแล้ว คุณจะเห็น '.' ในส่วนเส้นทาง ทำขั้นตอนเดียวกันนี้ซ้ำกับโฟลเดอร์อื่นๆ ภายในไดเร็กทอรีปลั๊กอินของคุณ หากจำเป็น

ใต้คำหลักที่มา ให้คลิกที่ไอคอน + และเพิ่ม '__' และ '_e' เป็นคำหลัก แล้วคลิกปุ่มตกลง

ในหน้าต่างถัดไป ภายใต้ ข้อความต้นฉบับ คุณจะมีสตริงทั้งหมดที่พร้อมให้แปลจากปลั๊กอินของคุณ เลือกสตริงทีละรายการและเพิ่มการแปลภาษาฝรั่งเศสของคุณลงในสตริง

เมื่อคุณเพิ่มคำแปลทั้งหมดแล้ว ให้คลิกที่ไอคอนบันทึก สิ่งนี้จะบันทึกการแปลสตริงทั้งหมดของคุณโดยอัตโนมัติในไฟล์ udp-ft_FR.po ของคุณ ไฟล์ .po ของคุณจะมีรหัสดังต่อไปนี้:

 #: udp.php:24 udp.php:25
msgstr "หน้าการตั้งค่า UDP"
msgstr "หน้าการกำหนดค่า UDP"

#: udp.php:37
msgstr "ชื่อปลั๊กอินของฉัน"
msgstr "ปลั๊กอิน Titre de mon"

ทดสอบการแปลปลั๊กอินของเรา

ขณะนี้เราได้ดำเนินการสร้างไฟล์ .po และ .mo สำหรับปลั๊กอินของเราเรียบร้อยแล้ว ถึงเวลาทดสอบปลั๊กอินของเราและตรวจสอบการแปลภาษาฝรั่งเศส

ขั้นแรก ดาวน์โหลดไฟล์ภาษาของเราจากที่อยู่ต่อไปนี้:

ที่เก็บภาษา WordPress

สำหรับภาษาฝรั่งเศส เส้นทางมีดังนี้:

ที่เก็บภาษาฝรั่งเศส WordPressfr_FR.mo และ fr_FR.po

ดาวน์โหลดไฟล์จากลิงค์นี้และเก็บไว้ในไดเร็กทอรี wp-content/languages สร้างโฟลเดอร์ 'ภาษา' หากยังไม่มี

ต่อไป เราต้องเปลี่ยนภาษาเริ่มต้นของการติดตั้ง WordPress ของเรา เปิด wp-config.php และเพิ่มภาษาดังนี้:

 กำหนด ('WPLANG', 'fr_FR');

ตอนนี้ ถ้าคุณไปที่แดชบอร์ด ปลั๊กอินของคุณควรจะแสดงเป็นภาษาฝรั่งเศส

สรุปแล้ว

การสร้างการแปลสำหรับปลั๊กอิน WordPress ของคุณอาจดูยุ่งยากและซับซ้อนเล็กน้อยในตอนแรก อย่างไรก็ตาม ประโยชน์ที่อาจเกิดขึ้นจากการนำเสนอปลั๊กอินในประเทศขนาดใหญ่ที่ไม่ใช่ภาษาอังกฤษ เช่น บราซิล ฝรั่งเศส และเยอรมนี ปลั๊กอินของคุณในภาษาของพวกเขาสามารถช่วยเปิดปลั๊กอินของคุณให้เข้าถึงกลุ่มผู้ชมใหม่ที่ชื่นชม แม้ว่ามันอาจจะดูเหมือนเป็นงานมาก แต่ผลตอบแทนก็อาจมีจำนวนมาก

โพสต์ วิธีโลคัลไลซ์และแปลปลั๊กอิน WordPress – คู่มือเชิงลึกสำหรับนักพัฒนาปลั๊กอินปรากฏตัวครั้งแรกใน UpdraftPlus UpdraftPlus – ปลั๊กอินสำรอง กู้คืน และย้ายข้อมูลสำหรับ WordPress