Kombinieren und mit unterschiedlichen APIs für die Sprachübersetzung, die Suche nach Wörterbuch, die Rechtschreibkorrektur und die Sprachsynthese (TTS) in einer leicht zu verwendenden und erweiterten Weise.
composer require gino-pane/phpolyglot
Erstellen Sie eine Kopie von .env.example -Datei, nennen Sie sie .env und geben Sie Ihre eigenen API -Anmeldeinformationen hinein. Die Datei enthält Links zu Seiten, die möglicherweise mit den erforderlichen Anmeldeinformationen zusammenhängen.
Um Beispiele aus dem Beispielverzeichnis auszuführen, müssen Sie Ihre eigenen gültigen API -Anmeldeinformationen angeben.
Das Paket enthält viele nutzende Beispiele im Beispielverzeichnis. Alle Endpunkte geben entweder eine gültige Antwort zurück oder wirft eine relevante Ausnahme aus. Alle APIs werden über config.php -Datei konfiguriert, die die Standard -API -Klassenzuordnung enthält. Die Unterstützung dynamischer Konfigurationen wurde in 1.1.0 Update hinzugefügt:
$ phpolyglot = new PHPolyglot ( $ config , $ env );Auf diese Weise können Sie Ihre eigenen Konfigurationswerte übergeben, wenn Sie sich nicht auf diejenigen verlassen möchten, die in Konfigurationsdateien gespeichert sind.
Es gibt zwei Endpunkte. Für eine einzelne Zeichenfolge:
function translate( string $ text , string $ languageTo , string $ languageFrom = '' ): TranslateResponseund für mehrere Zeichenfolgen:
function translateBulk( array $ text , string $ languageTo , string $ languageFrom = '' ): TranslateResponseAls minimales Beispiel können Sie Text und Sprache übersetzen (Quellsprache wird von API erkannt):
$ response = ( new PHPolyglot ())-> translate ( ' Hello world ' , ' it ' )-> getTranslations (); // [ 0 => Ciao mondo ] TranslateResponse hat getTranslations -Methode, die eine Reihe von Übersetzungen zurückgibt.
Unterstützte Sprachen können je nach API von Drittanbietern variieren.
Bitte überprüfen Sie die Liste der unterstützten Sprachen. Yandex Translate API kann kostenlos mit Einschränkungen verwendet werden (1000 000 Zeichen pro Tag, bis zu 10 000 000 pro Monat). Wenn Sie möchten, können Sie natürlich einen kostenpflichtigen Plan erhalten. Die API lässt Sie nicht automatisch in den bezahlten Plan einsteigen. Sie wird einfach einen Fehler zurückgeben, wenn das Limit erreicht ist. Um die API zu verwenden, müssen Sie den gültigen API -Schlüssel erhalten.
Es gibt einen einzelnen Endpunkt, der in zwei verschiedenen Formen verwendet werden kann.
Für eine Suche in derselben Sprache (erhalten Sie Wortformen):
function lookup( string $ text , string $ languageFrom ): DictionaryResponseund für Übersetzungen mit Lookup (erhalten Sie mehrere Übersetzungen und zusätzliche Informationen, einschließlich Wortformen, Beispiele, Bedeutungen, Synonyme, Transkription usw.):
function lookup( string $ text , string $ languageFrom , string $ languageTo ): DictionaryResponseAls mindestens Beispiel können Sie Text und seine Quellsprache übergeben:
$ 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
*/Unterstützte Sprachen können je nach API von Drittanbietern variieren.
Bitte überprüfen Sie die Liste der unterstützten Sprachen. Die Yandex -Dictionary -API kann mit Einschränkungen (bis zu 10 000 Referenzen pro Tag) frei verwendet werden. Um die API zu verwenden, müssen Sie den gültigen API -Schlüssel erhalten.
Es gibt zwei Endpunkte. Für eine einzelne Zeichenfolge:
function spellCheck( string $ text , string $ languageFrom = '' ): SpellCheckResponseund für mehrere Zeichenfolgen:
function spellCheckBulk( array $ texts , string $ languageFrom = '' ): SpellCheckResponseAls minimales Beispiel können Sie nur einen Text überprüft, um zu überprüfen:
$ 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"
}
}
}
*/Unterstützte Sprachen können je nach API von Drittanbietern variieren.
Bitte überprüfen Sie die Liste der unterstützten Sprachen (im Grunde werden derzeit nur Englisch, Russisch und Ukrainisch unterstützt). Die Yandex -Speller -API kann mit Einschränkungen frei verwendet werden (bis zu 10 000 Anrufe/10 000 000 Zeichen pro Tag). Es sind keine Schlüssel erforderlich.
Der Hauptendpunkt ist PHPolyglot speak -Methode:
public function speak(
string $ text ,
string $ languageFrom ,
string $ audioFormat = TtsAudioFormat:: AUDIO_MP3 ,
array $ additionalData = []
): TtsResponse Es sind nur zwei Parameter erforderlich - Text für die Synthese $text und seine Quellsprache $languageFrom .
Optionale Parameter $audioFormat und $additionalData können weggelassen werden. Das Audio -Format ermöglicht es, das erforderliche Audio -Format von zurückgegebenem Audio explizit anzugeben. Zusätzliche Daten ermöglichen es, API -spezifische Parameter für genauere Ergebnisse festzulegen (Sprache, Tonhöhe, Geschwindigkeit usw.).
Die Liste der derzeit erkannten Audioformate:
Bitte beachten Sie, dass nicht alle von Ihrer API Ihrer Wahl unterstützt werden können.
Die TTS -Methode gibt TtsResponse zurück, die die storeFile -Methode zum Speichern der generierten Datei mit dem erforderlichen Namen und einer Erweiterung in das angegebene Verzeichnis (oder durch Verwendung von Standardwerten) enthält:
function storeFile( string $ fileName = '' , string $ extension = '' , string $ directory = '' ): string Standardmäßig $directory der Dateiname ein einfacher md5 content-type von $text , der für TTS verwendet wurde $extension
( new PHPolyglot ())-> speak ( ' Hello world ' , ' en ' )-> storeFile (); // stores 3e25960a79dbc69b674cd4ec67a72c62.mp3Bitte überprüfen Sie die Liste der unterstützten Sprachen und Stimmen. IBM Watson TTS benötigt API -Anmeldeinformationen zur Genehmigung. Erstellen Sie dort Ihr TTS-Projekt und erhalten Sie Ihre API-spezifischen Anmeldeinformationen. Die API kann mit Einschränkungen (bis zu 10 000 Zeichen pro Monat) kostenlos verwendet werden.
php vendor/bin/phpunit
oder
composer test
php vendor/bin/phpcs --standard=PSR2 src/
oder
composer psr2check
php vendor/bin/phpcbf --standard=PSR2 src/
oder
composer psr2autofix
php vendor/bin/phpdoc -d "src" -t "docs"
oder
composer docs
Um den Überblick zu behalten, beziehen Sie sich bitte unter ChangeLog.md.
Bitte beziehen Sie sich auch auf den Beitrag.md.
Bitte beachten Sie die Lizenz.
Der Phpolyglot besitzt keine Ergebnisse, die APIs zurückgeben können. Außerdem haben APIs möglicherweise ihre eigenen Regeln für die Datennutzung. Vorsicht, wenn Sie sie verwenden.
Angetrieben von Composer-Package-Template und PHP-Nano-Ruhe.