言語翻訳、辞書の検索、スペルの補正、音声合成(TTS)のさまざまなAPIを使いやすい方法で組み合わせて紹介します。
composer require gino-pane/phpolyglot
.env.exampleファイルのコピーを作成し、 .envに名前を付けて、独自のAPI資格情報を入れます。ファイルには、必要な資格情報に関連する可能性のあるページへのリンクが含まれています。
例ディレクトリから例を実行するには、独自の有効なAPI資格情報を指定する必要があります。
このパッケージには、Examples Directoryにすぐに使用できる例がたくさん含まれています。すべてのエンドポイントは、有効な応答を返すか、関連する例外をスローします。すべてのAPIは、デフォルトのAPIクラスマッピングを含むconfig.phpファイルを介して構成されています。動的構成のサポートは、1.1.0アップデートに追加されました:
$ phpolyglot = new PHPolyglot ( $ config , $ env );これにより、構成ファイルに保存されているものに依存したくない場合は、独自の構成値を渡すことができます。
2つのエンドポイントがあります。単一の文字列の場合:
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日あたり1000 000文字、1か月あたり最大10,000 000)。必要に応じて、もちろん有料プランを取得できます。 APIは、自動的に有料プランに入ることができません。これは、制限に達したときにエラーを返すだけです。 APIを使用するには、有効なAPIキーを取得する必要があります。
単一のエンドポイントがあり、2つの異なる形式で使用できます。
同じ言語内のルックアップの場合(単語形式を取得):
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 Dictionary APIは、制限で無料で使用できます(1日あたり最大10,000参照)。 APIを使用するには、有効なAPIキーを取得する必要があります。
2つのエンドポイントがあります。単一の文字列の場合:
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は、制限(1日あたり最大10,000コール/10,000 000文字)で無料で使用できます。キーは必要ありません。
メインエンドポイントは、 PHPolyglotのspeakメソッドです。
public function speak(
string $ text ,
string $ languageFrom ,
string $ audioFormat = TtsAudioFormat:: AUDIO_MP3 ,
array $ additionalData = []
): TtsResponse必要なのは2つのパラメーターのみです。合成$textのテキストとそのソース言語$languageFrom 。
オプションのパラメーター$audioFormatおよび$additionalData省略できます。オーディオ形式では、返されたオーディオの必要なオーディオ形式を明示的に指定できます。追加のデータにより、より正確な結果(音声、ピッチ、速度など)のためにAPI固有のパラメーターを設定できます。
現在認識されているオーディオ形式のリスト:
それらのすべてが選択したAPIによってサポートされているわけではないことに注意してください。
TTSメソッドは、指定されたディレクトリに必要な名前と拡張機能を備えた(またはデフォルト値を使用して)生成されたファイルを保存するstoreFileメソッドを備えたTtsResponseを返します。
function storeFile( string $ fileName = '' , string $ extension = '' , string $ directory = '' ): stringデフォルトでは、ファイル名はTTSに使用された$textの単純なmd5ハッシュです。 $extension content-typeヘッダー(少なくともIBM Watson APIの場合)に基づいて入力されています。 $directory設定に基づいています。
( new PHPolyglot ())-> speak ( ' Hello world ' , ' en ' )-> storeFile (); // stores 3e25960a79dbc69b674cd4ec67a72c62.mp3サポートされている言語と声のリストを確認してください。 IBM Watson TTSには、承認のためにAPI資格情報が必要です。そこにTTSプロジェクトを作成し、API固有の資格情報を取得します。 APIは、制限で無料で使用できます(1か月あたり最大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を参照してください。
また、寄付を参照してください。md。
ライセンスを参照してください。
phpolyglotは、APIが返す可能性のある結果のいずれも所有していません。また、APIにはデータの使用に関する独自のルールがある場合があるため、使用する場合は注意してください。
Composer-Package-TemplateとPHP Nano Restを搭載しています。