사용하기 쉬운 방법으로 언어 번역, 사전 조회, 철자 수정 및 음성 합성 (TTS)을위한 다양한 API를 결합하고 특징으로합니다.
composer require gino-pane/phpolyglot
.env.example 파일의 사본을 만들고 이름 .env 말하고 자신의 API 자격 증명을 넣습니다. 파일에는 필요한 자격 증명과 관련된 페이지에 대한 링크가 포함되어 있습니다.
예제 디렉토리에서 예제를 실행하려면 자신의 유효한 API 자격 증명을 지정해야합니다.
이 패키지에는 예제 디렉토리에 많은 즉시 사용 가능한 예제가 포함되어 있습니다. 모든 엔드 포인트는 유효한 응답을 반환하거나 관련 예외를 던졌습니다. 모든 API는 기본 API 클래스 매핑을 포함하는 config.php 파일을 통해 구성됩니다. 동적 구성 지원은 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 번역 API는 한계 (하루에 1000 000 문자, 한 달에 최대 1000,000 000)와 함께 무료로 사용할 수 있습니다. 원한다면 물론 유료 계획을받을 수 있습니다. API를 사용하면 자동으로 유료 계획을 세울 수 없으며 한도에 도달하면 오류를 반환합니다. 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 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 문자)과 함께 무료로 사용할 수 있습니다. 키가 필요하지 않습니다.
주요 엔드 포인트는 PHPolyglot 의 speak 방법입니다.
public function speak(
string $ text ,
string $ languageFrom ,
string $ audioFormat = TtsAudioFormat:: AUDIO_MP3 ,
array $ additionalData = []
): TtsResponse 합성 $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는 한계 (한 달에 최대 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를 참조하십시오.
또한 Contributing.md를 참조하십시오.
라이센스를 참조하십시오.
phpolyglot은 API가 돌아올 수있는 결과를 소유하지 않습니다. 또한 API는 데이터 사용에 대한 자체 규칙을 가질 수 있으므로 사용할 때 조심하십시오.
Composer-Package-Template 및 PHP Nano Rest로 구동됩니다.