الجمع بين واتجاه واجهات برمجة التطبيقات المختلفة لترجمة اللغة ، بحث القاموس ، تصحيح الإملاء وتوليف الكلام (TTS) بطريقة سهلة الاستخدام وتمديدها.
composer require gino-pane/phpolyglot
قم بإنشاء نسخة من ملف .env.example ، وتسمية .env ووضع بيانات اعتماد 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 التي ترجع مجموعة من الترجمات.
قد تختلف اللغات المدعومة اعتمادًا على واجهة برمجة تطبيقات الطرف الثالث.
يرجى التحقق من قائمة اللغات المدعومة. Yandex Translate API مجاني للاستخدام مع قيود (1000 000 حرف في اليوم ، ما يصل إلى 10000 000 شهريًا). إذا كنت تريد أن تحصل على خطة مدفوعة الأجر بالطبع. لن تسمح لك واجهة برمجة التطبيقات بالدخول إلى الخطة المدفوعة تلقائيًا ، فسيقوم ببساطة بإرجاع خطأ عند الوصول إلى الحد. من أجل استخدام API ، تحتاج إلى الحصول على مفتاح API الصحيح.
هناك نقطة نهاية واحدة ، والتي يمكن استخدامها في شكلين مختلفين.
لإجراء بحث داخل نفس اللغة (احصل على أشكال الكلمات):
function lookup( string $ text , string $ languageFrom ): DictionaryResponseوللترجمة مع الإطلالة (احصل على ترجمات متعددة ومعلومات إضافية بما في ذلك نماذج الكلمات والأمثلة والمعاني والمرادفات والنسخ وما إلى ذلك):
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 مجاني للاستخدام مع القيود (ما يصل إلى 10000 مرجع يوميًا). من أجل استخدام 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"
}
}
}
*/قد تختلف اللغات المدعومة اعتمادًا على واجهة برمجة تطبيقات الطرف الثالث.
يرجى التحقق من قائمة اللغات المدعومة (أساسًا ، يتم دعم اللغة الإنجليزية والروسية والروسية فقط في الوقت الحالي). 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 .
قد يتم حذف المعلمات الاختيارية $audioFormat و $additionalData . يسمح تنسيق الصوت بتحديد تنسيق الصوت المطلوب بشكل صريح للصوت الذي تم إرجاعه. تسمح البيانات الإضافية بتعيين معلمات محددة 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 مجاني للاستخدام مع القيود (ما يصل إلى 10000 حرف شهريًا).
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.
يرجى أيضًا الرجوع إلى المساهمة.
يرجى الرجوع إلى الترخيص.
لا يملك phpolyglot أي من النتائج التي قد تعودها واجهات برمجة التطبيقات. أيضًا ، قد يكون لـ APIs قواعدها الخاصة حول استخدام البيانات ، لذا احذر منها عند استخدامها.
مدعوم من قِبل الحزم الملحن و PHP REST.