การรวมและนำเสนอ APIs ที่แตกต่างกันสำหรับการแปลภาษาการค้นหาพจนานุกรมการแก้ไขการสะกดคำและการสังเคราะห์คำพูด (TTS) ในการใช้งานง่ายและขยาย
composer require gino-pane/phpolyglot
สร้างสำเนาไฟล์ .env.example ตั้งชื่อ .env และใส่ข้อมูลรับรอง API ของคุณเอง ไฟล์มีลิงก์ไปยังหน้าเว็บซึ่งอาจเกี่ยวข้องกับข้อมูลรับรองที่จำเป็น
ในการเรียกใช้ตัวอย่างจากไดเรกทอรีตัวอย่างคุณต้องระบุข้อมูลประจำตัว API ที่ถูกต้องของคุณเอง
แพ็คเกจมีตัวอย่างมากมายพร้อมใช้งานในไดเรกทอรีตัวอย่าง จุดสิ้นสุดทั้งหมดส่งคืนการตอบกลับที่ถูกต้องหรือโยนข้อยกเว้นที่เกี่ยวข้อง API ทั้งหมดได้รับการกำหนดค่าผ่านไฟล์ config.php ซึ่งมีการแมปคลาส API เริ่มต้น การสนับสนุนการกำหนดค่าแบบไดนามิกถูกเพิ่มในการอัปเดต 1.1.0:
$ phpolyglot = new PHPolyglot ( $ config , $ env );สิ่งนี้จะช่วยให้คุณผ่านค่าการกำหนดค่าของคุณเองหากคุณไม่ต้องการพึ่งพาค่าที่เก็บไว้ในไฟล์การกำหนดค่า
มีสองจุดสิ้นสุด สำหรับสตริงเดียว:
function translate( string $ text , string $ languageTo , string $ languageFrom = '' ): TranslateResponseและสำหรับหลายสาย:
function translateBulk( array $ text , string $ languageTo , string $ languageFrom = '' ): TranslateResponseเป็นตัวอย่างขั้นต่ำคุณสามารถส่งข้อความและภาษาเพื่อแปลเป็น (ภาษาต้นทางจะถูกตรวจพบโดย API):
$ response = ( new PHPolyglot ())-> translate ( ' Hello world ' , ' it ' )-> getTranslations (); // [ 0 => Ciao mondo ] TranslateResponse มีวิธี getTranslations ซึ่งส่งคืนอาร์เรย์ของการแปล
ภาษาที่รองรับอาจแตกต่างกันไปขึ้นอยู่กับ API ของบุคคลที่สาม
โปรดตรวจสอบรายการภาษาที่รองรับ Yandex Translate API ใช้ได้ฟรีกับข้อ จำกัด (1,000,000 อักขระต่อวันสูงสุด 10 000 000 ต่อเดือน) หากคุณต้องการคุณจะได้รับแผนการชำระเงินแน่นอน API จะไม่ให้คุณเข้าสู่แผนการชำระเงินโดยอัตโนมัติมันจะส่งคืนข้อผิดพลาดเมื่อถึงขีด จำกัด ในการใช้ API คุณต้องได้รับคีย์ API ที่ถูกต้อง
มีจุดสิ้นสุดเดียวซึ่งสามารถใช้ในสองรูปแบบที่แตกต่างกัน
สำหรับการค้นหาภายในภาษาเดียวกัน (รับแบบฟอร์มคำ):
function lookup( string $ text , string $ languageFrom ): DictionaryResponseและสำหรับการแปลกับ Lookup (รับการแปลหลายครั้งและข้อมูลเพิ่มเติมรวมถึงแบบฟอร์มคำตัวอย่างความหมายคำพ้องความหมายการถอดความ ฯลฯ ):
function lookup( string $ text , string $ languageFrom , string $ languageTo ): DictionaryResponseเป็นตัวอย่างขั้นต่ำคุณสามารถส่งข้อความและภาษาแหล่งที่มา:
$ response = ( new PHPolyglot )->lookup( ' Hello ' , 'en)->getEntries();
$synonyms = implode(", ", $response[0]->getSynonyms());
$output = <<<TEXT
Initial word: {$response[0]->getTextFrom()}
Part of speech: {$response[0]->getPosFrom()}
Transcription: {$response[0]->getTranscription()}
Main alternative: {$response[0]->getTextTo()}
Synonyms: {$synonyms}
TEXT
echo $output
/**
Initial word: hello
Part of speech: noun
Transcription: ˈheˈləʊ
Main alternative: hi
Synonyms: hallo, salut
*/ภาษาที่รองรับอาจแตกต่างกันไปขึ้นอยู่กับ API ของบุคคลที่สาม
โปรดตรวจสอบรายการภาษาที่รองรับ Yandex Dictionary API มีอิสระที่จะใช้กับข้อ จำกัด (มากถึง 10,000 อ้างอิงต่อวัน) ในการใช้ API คุณต้องได้รับคีย์ API ที่ถูกต้อง
มีสองจุดสิ้นสุด สำหรับสตริงเดียว:
function spellCheck( string $ text , string $ languageFrom = '' ): SpellCheckResponseและสำหรับหลายสาย:
function spellCheckBulk( array $ texts , string $ languageFrom = '' ): SpellCheckResponseเป็นตัวอย่างขั้นต่ำคุณสามารถผ่านข้อความเพื่อตรวจสอบได้เท่านั้น:
$ corrections = $ phpolyglot -> spellCheckText ( ' Helo werld ' , $ languageFrom )-> getCorrections ();
/**
array(1) {
[0] =>
array(2) {
'Helo' =>
array(1) {
[0] =>
string(5) "Hello"
}
'werld' =>
array(1) {
[0] =>
string(5) "world"
}
}
}
*/ภาษาที่รองรับอาจแตกต่างกันไปขึ้นอยู่กับ API ของบุคคลที่สาม
โปรดตรวจสอบรายการภาษาที่รองรับ (โดยทั่วไปมีการสนับสนุนภาษาอังกฤษรัสเซียและยูเครนเท่านั้นในขณะนี้) Yandex Speller API ใช้ได้ฟรีกับข้อ จำกัด (สูงสุด 10,000 สาย/10 000 000 อักขระต่อวัน) ไม่จำเป็นต้องใช้กุญแจ
จุดสิ้นสุดหลักคือวิธี speak ของ PHPolyglot :
public function speak(
string $ text ,
string $ languageFrom ,
string $ audioFormat = TtsAudioFormat:: AUDIO_MP3 ,
array $ additionalData = []
): TtsResponse จำเป็นต้องใช้พารามิเตอร์เพียงสองพารามิเตอร์ - ข้อความสำหรับการสังเคราะห์ $text และภาษาต้นฉบับของมัน $languageFrom from
พารามิเตอร์เสริม $audioFormat และ $additionalData อาจถูกละเว้น รูปแบบเสียงช่วยให้สามารถระบุรูปแบบเสียงที่ต้องการของเสียงที่ส่งคืนได้อย่างชัดเจน ข้อมูลเพิ่มเติมอนุญาตให้ตั้งค่าพารามิเตอร์เฉพาะ API สำหรับผลลัพธ์ที่แม่นยำยิ่งขึ้น (เสียง, พิทช์, ความเร็ว, ฯลฯ )
รายการรูปแบบเสียงที่ได้รับการยอมรับในปัจจุบัน:
โปรดทราบว่าไม่ได้รับการสนับสนุนทั้งหมดจาก API ที่คุณเลือก
เมธอด TTS ส่งคืน TtsResponse ซึ่งมีวิธี storeFile เก็บไฟล์ที่สร้างขึ้นด้วยชื่อและส่วนขยายที่ต้องการลงในไดเรกทอรีที่ระบุ (หรือโดยใช้ค่าเริ่มต้น):
function storeFile( string $ fileName = '' , string $ extension = '' , string $ directory = '' ): string โดยค่าเริ่มต้นชื่อไฟล์เป็นแฮช md5 อย่างง่ายของ $text ที่ใช้สำหรับ TTS $extension จะถูกเติมตามส่วนหัว content-type (อย่างน้อยสำหรับ IBM Watson API), $directory ขึ้นอยู่กับการตั้งค่าการกำหนดค่า
( new PHPolyglot ())-> speak ( ' Hello world ' , ' en ' )-> storeFile (); // stores 3e25960a79dbc69b674cd4ec67a72c62.mp3โปรดตรวจสอบรายการภาษาและเสียงที่รองรับ IBM Watson TTS ต้องการข้อมูลรับรอง API สำหรับการอนุญาต สร้างโครงการ TTS ของคุณที่นั่นและรับข้อมูลประจำตัวเฉพาะ API ของคุณ API ใช้ได้ฟรีกับข้อ จำกัด (สูงสุด 10,000 อักขระต่อเดือน)
php vendor/bin/phpunit
หรือ
composer test
php vendor/bin/phpcs --standard=PSR2 src/
หรือ
composer psr2check
php vendor/bin/phpcbf --standard=PSR2 src/
หรือ
composer psr2autofix
php vendor/bin/phpdoc -d "src" -t "docs"
หรือ
composer docs
เพื่อติดตามโปรดดูที่ changelog.md
นอกจากนี้โปรดดูที่ Interning.md
โปรดดูใบอนุญาต
phpolyglot ไม่ได้เป็นเจ้าของผลลัพธ์ใด ๆ ที่ API อาจกลับมา นอกจากนี้ APIs อาจมีกฎของตัวเองเกี่ยวกับการใช้ข้อมูลดังนั้นระวังพวกเขาเมื่อคุณใช้พวกเขา
ขับเคลื่อนโดยนักแต่งเพลงแพคเกจ-เทมเพลตและส่วนที่เหลือนาโน PHP