Menggabungkan dan menampilkan API yang berbeda untuk terjemahan bahasa, pencarian kamus, koreksi ejaan dan sintesis ucapan (TTS) dengan cara yang mudah digunakan dan diperpanjang.
composer require gino-pane/phpolyglot
Buat salinan file .env.example , beri nama .env dan letakkan kredensial API Anda sendiri di dalamnya. File berisi tautan ke halaman yang mungkin terkait dengan kredensial yang diperlukan.
Untuk menjalankan contoh dari Direktori Contoh, Anda harus menentukan kredensial API Anda sendiri yang valid.
Paket ini berisi banyak contoh siap pakai di Direktori Contoh. Semua titik akhir mengembalikan respons yang valid atau melempar pengecualian yang relevan. Semua API dikonfigurasi melalui file config.php yang berisi pemetaan kelas API default. Dukungan konfigurasi dinamis ditambahkan dalam pembaruan 1.1.0:
$ phpolyglot = new PHPolyglot ( $ config , $ env );Ini memungkinkan Anda untuk melewati nilai konfigurasi Anda sendiri jika Anda tidak ingin mengandalkan yang disimpan dalam file konfigurasi.
Ada dua titik akhir. Untuk satu string:
function translate( string $ text , string $ languageTo , string $ languageFrom = '' ): TranslateResponsedan untuk beberapa string:
function translateBulk( array $ text , string $ languageTo , string $ languageFrom = '' ): TranslateResponseSebagai contoh minimum, Anda dapat melewati teks dan bahasa untuk diterjemahkan ke dalam (bahasa sumber akan terdeteksi oleh API):
$ response = ( new PHPolyglot ())-> translate ( ' Hello world ' , ' it ' )-> getTranslations (); // [ 0 => Ciao mondo ] TranslateResponse memiliki metode getTranslations yang mengembalikan serangkaian terjemahan.
Bahasa yang didukung dapat bervariasi tergantung pada API pihak ketiga.
Silakan periksa daftar bahasa yang didukung. Yandex Translate API bebas digunakan dengan batasan (1000.000 karakter per hari, hingga 10.000 000 per bulan). Jika Anda mau, Anda bisa mendapatkan paket yang dibayar tentu saja. API tidak akan membiarkan Anda masuk ke paket berbayar secara otomatis, itu hanya akan mengembalikan kesalahan saat batas tercapai. Untuk menggunakan API, Anda perlu mendapatkan kunci API yang valid.
Ada satu titik akhir, yang dapat digunakan dalam dua bentuk yang berbeda.
Untuk pencarian dalam bahasa yang sama (dapatkan formulir kata):
function lookup( string $ text , string $ languageFrom ): DictionaryResponsedan untuk terjemahan-dengan-terlihat (dapatkan beberapa terjemahan dan informasi tambahan termasuk formulir kata, contoh, makna, sinonim, transkripsi, dll.):
function lookup( string $ text , string $ languageFrom , string $ languageTo ): DictionaryResponseSebagai contoh minimum Anda dapat lulus teks dan bahasa sumbernya:
$ 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
*/Bahasa yang didukung dapat bervariasi tergantung pada API pihak ketiga.
Silakan periksa daftar bahasa yang didukung. API Kamus Yandex bebas digunakan dengan batasan (hingga 10.000 referensi per hari). Untuk menggunakan API, Anda perlu mendapatkan kunci API yang valid.
Ada dua titik akhir. Untuk satu string:
function spellCheck( string $ text , string $ languageFrom = '' ): SpellCheckResponsedan untuk beberapa string:
function spellCheckBulk( array $ texts , string $ languageFrom = '' ): SpellCheckResponseSebagai contoh minimum, Anda hanya dapat melewati teks untuk memeriksa:
$ 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"
}
}
}
*/Bahasa yang didukung dapat bervariasi tergantung pada API pihak ketiga.
Silakan periksa daftar bahasa yang didukung (pada dasarnya, hanya bahasa Inggris, Rusia, dan Ukraina yang didukung saat ini). Yandex Speller API bebas digunakan dengan batasan (hingga 10.000 panggilan/10.000 000 karakter per hari). Tidak ada kunci yang dibutuhkan.
Titik akhir utama adalah metode speak PHPolyglot :
public function speak(
string $ text ,
string $ languageFrom ,
string $ audioFormat = TtsAudioFormat:: AUDIO_MP3 ,
array $ additionalData = []
): TtsResponse Hanya dua parameter yang diperlukan - teks untuk sintesis $text dan bahasa sumbernya $languageFrom .
Parameter Opsional $audioFormat dan $additionalData dapat dihilangkan. Format audio memungkinkan untuk secara eksplisit menentukan format audio yang diperlukan dari audio yang dikembalikan. Data tambahan memungkinkan untuk mengatur parameter spesifik API untuk hasil yang lebih tepat (suara, pitch, kecepatan, dll.).
Daftar format audio yang saat ini diakui:
Harap dicatat bahwa tidak semuanya dapat didukung oleh API pilihan Anda.
Metode TTS mengembalikan TtsResponse yang memiliki metode storeFile untuk menyimpan file yang dihasilkan dengan nama dan ekstensi yang diperlukan ke direktori yang ditentukan (atau dengan menggunakan nilai default):
function storeFile( string $ fileName = '' , string $ extension = '' , string $ directory = '' ): string Secara default, nama file adalah hash md5 sederhana dari $text yang digunakan untuk TTS, $extension sedang diisi berdasarkan header content-type (setidaknya, untuk IBM Watson API), $directory didasarkan pada pengaturan konfigurasi.
( new PHPolyglot ())-> speak ( ' Hello world ' , ' en ' )-> storeFile (); // stores 3e25960a79dbc69b674cd4ec67a72c62.mp3Silakan periksa daftar bahasa dan suara yang didukung. IBM Watson TTS membutuhkan kredensial API untuk otorisasi. Buat proyek TTS Anda di sana dan dapatkan kredensial spesifik API Anda. API bebas digunakan dengan batasan (hingga 10.000 karakter per bulan).
php vendor/bin/phpunit
atau
composer test
php vendor/bin/phpcs --standard=PSR2 src/
atau
composer psr2check
php vendor/bin/phpcbf --standard=PSR2 src/
atau
composer psr2autofix
php vendor/bin/phpdoc -d "src" -t "docs"
atau
composer docs
Untuk melacak, silakan merujuk ke Changelog.md.
Juga silakan merujuk ke Contributing.md.
Silakan merujuk ke lisensi.
Phpolyglot tidak memiliki hasil yang dapat dikembalikan oleh API. Juga, API mungkin memiliki aturan mereka sendiri tentang penggunaan data, jadi waspadalah saat Anda menggunakannya.
Didukung oleh komposer-package-template dan PHP nano istirahat.