สวัสดีทุกคน,
ในช่วงสองสามเดือนที่ผ่านมาเราไม่ได้ให้ความสนใจกับ projekt นี้มากนัก ในทางกลับกัน Deepl ได้พัฒนาไลบรารีลูกค้าสำหรับ Python, .NET และ Node.js (ดู: API-DOC)
เนื่องจากมีห้องสมุด php ในงาน GitHub และบันทึกการติดตามของเราด้วยการบำรุงรักษาห้องสมุดของเราจึงไม่ดีเท่าที่ควรเราจึงตัดสินใจที่จะละทิ้งห้องสมุดนี้และสลับไปยังอย่างเป็นทางการ
เพื่อให้ชัดเจนว่าเราจะไม่ทำงานในที่เก็บนี้ต่อไปเราจะเก็บถาวร หากใครจากชุมชนต้องการทำงานต่อไปเราสามารถวางสายใน readme เพื่อชี้ไปที่ที่เก็บข้อมูลใหม่
มิฉะนั้นเราขอแนะนำให้คุณตรวจสอบห้องสมุดใหม่ที่มาจาก Deepl
ขอบคุณทุกคนที่มีส่วนร่วมในโครงการนี้ในช่วงหลายปีที่ผ่านมา
ไลบรารี PHP แบบง่ายสำหรับ Deepl API คุณสามารถแปลสตริงข้อความหนึ่งหรือหลายสาย (สูงสุด 50) ต่อคำขอ
-
Deepl API อย่างเป็นทางการ
การเปลี่ยนแปลง
ใช้นักแต่งเพลงหากคุณต้องการใช้ไลบรารีนี้ในโครงการของคุณ
composer require babymarkt/deepl-php-libสร้างอินสแตนซ์ด้วยคีย์ Auth ของคุณ:
use BabyMarkt DeepL DeepL ;
$ authKey = ' <AUTH KEY> ' ;
$ deepl = new DeepL ( $ authKey );ใช้ Deepl API Pro:
use BabyMarkt DeepL DeepL ;
$ authKey = ' <AUTH KEY> ' ;
$ deepl = new DeepL ( $ authKey , 2 , ' api-free.deepl.com ' );แปลหนึ่งข้อความ:
$ translatedText = $ deepl -> translate ( ' Hallo Welt ' , ' de ' , ' en ' );
echo $ translatedText [ 0 ][ ' text ' ]. PHP_EOL ;แปลหลายข้อความ:
$ text = array (
' Hallo Welt ' ,
' Wie geht es dir ' ,
' Macht doch einfach mal '
);
$ translations = $ deepl -> translate ( $ text , ' de ' , ' en ' );
foreach ( $ translations as $ translation ) {
echo $ translation [ ' text ' ]. PHP_EOL ;
}| พารามิเตอร์ | คำอธิบาย |
|---|---|
| $ text | ข้อความที่จะแปล รองรับข้อความธรรมดาที่เข้ารหัส UTF8 เท่านั้น พารามิเตอร์อาจถูกระบุเป็นอาร์เรย์และการแปลจะถูกส่งคืนในลำดับเดียวกับที่ขอ แต่ละค่าอาร์เรย์อาจมีหลายประโยค สามารถส่งข้อความได้สูงสุด 50 ข้อความสำหรับการแปลในคำขอเดียว |
| $ sourcelang | ภาษาของข้อความที่จะแปล ค่าเริ่มต้น: "" (Deepl จะตรวจจับอัตโนมัติ) |
| $ targetlang | ภาษาที่ควรแปลข้อความ ค่าเริ่มต้น: en |
| $ taghandling | ชุดควรจัดการแท็กชนิดใด ตัวเลือกที่มีอยู่ในปัจจุบัน: "XML" |
| $ mugglingetags | อาร์เรย์ของแท็ก XML ที่ระบุข้อความที่ไม่ควรแปล ค่าเริ่มต้น: null |
| $ formality | ตั้งค่าไม่ว่าข้อความที่แปลจะพึ่งพาภาษาที่เป็นทางการหรือไม่เป็นทางการ ฟีเจอร์นี้ใช้งานได้กับภาษาเป้าหมายทั้งหมดยกเว้น "en" (ภาษาอังกฤษ), "en-gb" (อังกฤษอังกฤษ), "en-us" (ภาษาอังกฤษอเมริกัน), "es" (สเปน), "JA" (ญี่ปุ่น) และ "zh" (จีน) ตัวเลือกที่เป็นไปได้คือ: "ค่าเริ่มต้น" (ค่าเริ่มต้น) "เพิ่มเติม" - สำหรับภาษาที่เป็นทางการมากขึ้น "น้อย" - สำหรับภาษาที่ไม่เป็นทางการมากขึ้น |
| $ splitsentences | อาร์เรย์ของแท็ก XML ซึ่งทำให้เกิดการแยกเสมอ ค่าเริ่มต้น: null |
| $ PreserveFormatting | ตั้งค่าว่าเอ็นจิ้นการแปลควรเคารพการจัดรูปแบบดั้งเดิมแม้ว่าโดยปกติแล้วจะแก้ไขบางแง่มุม ค่าที่เป็นไปได้คือ: "0" (ค่าเริ่มต้น) "1" ด้านการจัดรูปแบบที่ได้รับผลกระทบจากการตั้งค่านี้รวมถึง: เครื่องหมายวรรคตอนที่จุดเริ่มต้นและจุดสิ้นสุดของประโยค ตัวพิมพ์ใหญ่/ล่างที่จุดเริ่มต้นของประโยค |
| $ nonsplittingTags | รายการแท็ก XML ที่คั่นด้วยเครื่องหมายจุลภาคซึ่งไม่เคยแยกประโยค ค่าเริ่มต้น: null |
| $ outtinEntEction | ดู: https://www.deepl.com/docs-api/handling-xml/outline-detection/ ค่าเริ่มต้น: 1 |
| $ splittingtags | อาร์เรย์ของแท็ก XML ซึ่งทำให้เกิดการแยกเสมอ ค่าเริ่มต้น: null |
ในเวอร์ชัน 2 เราลบรายการภายในของภาษาที่รองรับ ตอนนี้คุณสามารถรับอาร์เรย์ด้วยภาษาที่รองรับได้โดยตรงจาก Deepl:
$ languagesArray = $ deepl -> languages ();
foreach ( $ languagesArray as $ language ) {
echo ' Name: ' . $ language [ ' name ' ]. ' Api-Shorthand: ' . $ language [ ' language ' ]. PHP_EOL ;
}คุณสามารถตรวจสอบภาษาแหล่งข้อมูลที่รองรับได้:
$ sourceLanguagesArray = $ deepl -> languages ( ' source ' );
foreach ( $ sourceLanguagesArray as $ sourceLanguage ) {
echo ' Name: ' . $ sourceLanguage [ ' name ' ]. ' Api-shorthand: ' . $ sourceLanguage [ ' language ' ]. PHP_EOL ;
}ตรวจสอบภาษาเป้าหมายที่รองรับ:
$ targetLanguagesArray = $ deepl -> languages ( ' target ' );
foreach ( $ targetLanguagesArray as $ targetLanguage ) {
echo ' Name: ' . $ targetLanguage [ ' name ' ]. ' Api-Shorthand: ' . $ targetLanguage [ ' language ' ]. PHP_EOL ;
}ตอนนี้คุณสามารถตรวจสอบว่าคุณแปลเท่าไหร่รวมถึงขีด จำกัด :
$ usageArray = $ deepl -> usage ();
echo ' You have used ' . $ usageArray [ ' character_count ' ]. ' of ' . $ usageArray [ ' character_limit ' ]. ' in the current billing period. ' . PHP_EOL ;สร้างอภิธานศัพท์
$ glossary = $ deepl -> createGlossary ( ' MyGlossary ' , [ ' Hallo ' => ' Hello ' ], ' de ' , ' en ' );| พารามิเตอร์ | คำอธิบาย |
|---|---|
| $ ชื่อ | ชื่ออภิธานศัพท์ |
| $ รายการ | อาร์เรย์ของรายการ |
| $ sourcelanguage | ภาษาต้นทางที่ใช้กฎคำศัพท์ |
| $ TargetLanguage | ภาษาเป้าหมายที่ใช้กฎคำศัพท์ |
ลบอภิธานศัพท์
$ glossary = $ deepl -> deleteGlossary ( $ glossaryId );| พารามิเตอร์ | คำอธิบาย |
|---|---|
| $ GLOSSARYID | อภิธานศัพท์ uuid (ตั้งค่าโดย deepl เมื่ออภิธานศัพท์ถูกสร้างขึ้น) |
รายการคำศัพท์
use BabyMarkt DeepL Glossary ;
$ glossaries = $ deepl -> listGlossaries ();
foreach ( $ glossaries as $ glossary ) {
var_dump ( $ glossary );
}รับข้อมูลอภิปรัชญาอภิธานศัพท์: วันที่สร้างมีอภิธานศัพท์พร้อมใช้งาน ...
use BabyMarkt DeepL Glossary ;
$ glossaryInformation = $ deepl -> glossaryInformation ( $ glossaryId );
var_dump ( $ glossaryInformation );| พารามิเตอร์ | คำอธิบาย |
|---|---|
| $ GLOSSARYID | อภิธานศัพท์ uuid (ตั้งค่าโดย deepl เมื่ออภิธานศัพท์ถูกสร้างขึ้น) |
รับรายการคำศัพท์
$ entries = $ deepl -> glossaryEntries ( $ glossaryId );
foreach ( $ entries as $ sourceLangText => $ targetLangText ) {
echo $ sourceLangText . ' > ' . $ targetLangText ;
}| พารามิเตอร์ | คำอธิบาย |
|---|---|
| $ GLOSSARYID | อภิธานศัพท์ uuid (ตั้งค่าโดย deepl เมื่ออภิธานศัพท์ถูกสร้างขึ้น) |
หากคุณต้องการใช้พร็อกซีคุณสามารถกำหนดค่าไคลเอนต์ Curl พื้นฐานให้ใช้ นอกจากนี้คุณยังสามารถระบุการหมดเวลาเพื่อหลีกเลี่ยงการรอหลายนาทีหาก Deepl ไม่สามารถเข้าถึงได้
$ deepl -> setTimeout ( 10 ); //give up after 10 seconds
$ deepl -> setProxy ( ' http://corporate-proxy.com:3128 ' );
$ deepl -> setProxyCredentials ( ' username:password ' );เรียกใช้การทดสอบ php_codesniffer:
composer csเรียกใช้การทดสอบ PHPMD:
composer mdเรียกใช้การทดสอบ phpunit:
composer testเรียกใช้การทดสอบทั้งหมด:
composer test:allใบอนุญาต MIT (MIT) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม