여러분, 안녕하세요,
지난 몇 달 동안 우리는이 projekt에 많은 관심을 기울이지 않았습니다. 반면 Deepl은 Python, .NET 및 Node.js 용 클라이언트 라이브러리를 개발했습니다 (API-DOC 참조).
작품 GitHub에 PHP-Library가 있고 도서관을 유지 관리하는 실적이 좋지 않은 것만 큼 좋지 않았기 때문에이 도서관을 포기하고 내부적으로 공식적으로 전환하기로 결정했습니다.
이 저장소에서 계속 작동하지 않을 것이라는 점을 분명히하기 위해 보관할 것입니다. 커뮤니티의 누군가가 우리의 일을 계속하고 싶다면 Readme에 줄을 서서 새로운 유지 보수 저장소를 가리킬 수 있습니다.
그렇지 않으면 Deepl에서 나오는 새 라이브러리를 확인하는 것이 좋습니다.
수년에 걸쳐이 프로젝트에 기여한 모든 분들께 감사드립니다.
DEEPL API를위한 간단한 PHP 라이브러리. 요청 당 하나 또는 다중 텍스트 문자열 (최대 50)을 번역 할 수 있습니다.
????????????????
공식 Deepl API
changelog
프로젝트 에서이 라이브러리를 사용하려면 작곡가를 사용하십시오.
composer require babymarkt/deepl-php-lib인증 키로 인스턴스를 만듭니다.
use BabyMarkt DeepL DeepL ;
$ authKey = ' <AUTH KEY> ' ;
$ deepl = new DeepL ( $ authKey );Deepl API Pro를 사용하십시오.
use BabyMarkt DeepL DeepL ;
$ authKey = ' <AUTH KEY> ' ;
$ deepl = new DeepL ( $ authKey , 2 , ' api-free.deepl.com ' );하나의 텍스트 번역 :
$ translatedText = $ deepl -> translate ( ' Hallo Welt ' , ' de ' , ' en ' );
echo $ translatedText [ 0 ][ ' text ' ]. PHP_EOL ;여러 텍스트 번역 :
$ text = array (
' Hallo Welt ' ,
' Wie geht es dir ' ,
' Macht doch einfach mal '
);
$ translations = $ deepl -> translate ( $ text , ' de ' , ' en ' );
foreach ( $ translations as $ translation ) {
echo $ translation [ ' text ' ]. PHP_EOL ;
}| 파라 | 설명 |
|---|---|
| $ 텍스트 | 번역 할 텍스트. UTF8에 인코딩 된 일반 텍스트 만 지원됩니다. 매개 변수는 배열로 지정 될 수 있으며 번역은 요청 된 것과 동일한 순서로 반환됩니다. 각 배열 값에는 여러 문장이 포함될 수 있습니다. 한 번의 요청으로 번역을 위해 최대 50 개의 텍스트를 전송할 수 있습니다. |
| $ sourcelang | 번역 할 텍스트의 언어. 기본값 : ""(Deepl은 자동 감지) |
| $ targetLang | 텍스트를 번역 해야하는 언어. 기본값 : en |
| $ 태그 핸들링 | 어떤 종류의 태그를 처리 해야하는지 세트. 현재 사용 가능한 옵션 : "XML" |
| $ excoreTags | 텍스트가 번역되지 않음을 나타내는 XML 태그 배열. 기본값 : NULL |
| $ 형식 | 번역 된 텍스트가 공식적인 언어 또는 비공식 언어에 기대어야하는지 여부를 설정합니다. 이 기능은 현재 "en"(English), "EN-GB"(영국 영어), "EN-US"(미국 영어), "ES"(스페인어), "JA"(일본어) 및 "ZH"(중국어)를 제외한 모든 대상 언어에 대해 작동합니다. 가능한 옵션은 다음과 같습니다. "기본값"(기본값) "More" -보다 공식적인 언어 "Less" -보다 비공식적 인 언어 |
| $ splitsences | 항상 분할을 유발하는 XML 태그 배열 기본값 : NULL |
| $ preserveformatting | 일반적으로 일부 측면을 수정하더라도 번역 엔진이 원래 형식을 존중 해야하는지 여부를 설정합니다. 가능한 값은 다음과 같습니다. "0"(기본값) "1" 이 설정에 영향을받는 서식 측면은 다음과 같습니다. 문장의 시작과 끝에 문장 부호 문장의 시작 부분에서 상류/소문자 |
| $ nonsplittingtags | 문장을 나누지 않는 XML 태그의 쉼표로 구분 된 목록. 기본값 : NULL |
| $ ortormineTection | 참조 : https://www.deepl.com/docs-api/handling-xml/outline-detection/ 기본값 : 1 |
| $ splittingtags | 항상 분할을 유발하는 XML 태그 배열. 기본값 : NULL |
버전 2에서는 지원되는 언어의 내부 목록을 제거했습니다. 대신 지원되는 언어가 직접 Deepl을 형성하는 배열을 얻을 수 있습니다.
$ languagesArray = $ deepl -> languages ();
foreach ( $ languagesArray as $ language ) {
echo ' Name: ' . $ language [ ' name ' ]. ' Api-Shorthand: ' . $ language [ ' language ' ]. PHP_EOL ;
}지원되는 소스 언어를 확인할 수 있습니다.
$ sourceLanguagesArray = $ deepl -> languages ( ' source ' );
foreach ( $ sourceLanguagesArray as $ sourceLanguage ) {
echo ' Name: ' . $ sourceLanguage [ ' name ' ]. ' Api-shorthand: ' . $ sourceLanguage [ ' language ' ]. PHP_EOL ;
}지원되는 대상 언어를 확인하십시오.
$ targetLanguagesArray = $ deepl -> languages ( ' target ' );
foreach ( $ targetLanguagesArray as $ targetLanguage ) {
echo ' Name: ' . $ targetLanguage [ ' name ' ]. ' Api-Shorthand: ' . $ targetLanguage [ ' language ' ]. PHP_EOL ;
}이제 한도뿐만 아니라 한도를 확인할 수 있습니다.
$ usageArray = $ deepl -> usage ();
echo ' You have used ' . $ usageArray [ ' character_count ' ]. ' of ' . $ usageArray [ ' character_limit ' ]. ' in the current billing period. ' . PHP_EOL ;용어집을 만듭니다
$ glossary = $ deepl -> createGlossary ( ' MyGlossary ' , [ ' Hallo ' => ' Hello ' ], ' de ' , ' en ' );| 파라 | 설명 |
|---|---|
| $ 이름 | 용어집 이름 |
| $ 항목 | 항목 배열 |
| $ sourcelanguage | 용어집 규칙이 적용되는 소스 언어 |
| $ targetLanguage | 용어집 규칙이 적용되는 대상 언어 |
용어집을 삭제하십시오
$ glossary = $ deepl -> deleteGlossary ( $ glossaryId );| 파라 | 설명 |
|---|---|
| $ GlossaryId | 용어집 UUID (용어집이 생성 될 때 Deepl에 의해 설정 됨) |
용어집을 나열하십시오
use BabyMarkt DeepL Glossary ;
$ glossaries = $ deepl -> listGlossaries ();
foreach ( $ glossaries as $ glossary ) {
var_dump ( $ glossary );
}용어집 메타 정보 얻기 : 생성 날짜, 용어집을 사용할 준비가되었습니다 ...
use BabyMarkt DeepL Glossary ;
$ glossaryInformation = $ deepl -> glossaryInformation ( $ glossaryId );
var_dump ( $ glossaryInformation );| 파라 | 설명 |
|---|---|
| $ GlossaryId | 용어집 UUID (용어집이 생성 될 때 Deepl에 의해 설정 됨) |
용어집 항목을 얻으십시오
$ entries = $ deepl -> glossaryEntries ( $ glossaryId );
foreach ( $ entries as $ sourceLangText => $ targetLangText ) {
echo $ sourceLangText . ' > ' . $ targetLangText ;
}| 파라 | 설명 |
|---|---|
| $ GlossaryId | 용어집 UUID (용어집이 생성 될 때 Deepl에 의해 설정 됨) |
프록시를 사용해야하는 경우 기본 컬 클라이언트를 사용하도록 구성 할 수 있습니다. Deepl이 도달 할 수없는 경우 몇 분 동안 기다리지 않도록 시간 초과를 지정할 수도 있습니다.
$ deepl -> setTimeout ( 10 ); //give up after 10 seconds
$ deepl -> setProxy ( ' http://corporate-proxy.com:3128 ' );
$ deepl -> setProxyCredentials ( ' username:password ' );php_codesniffer 테스트 실행 :
composer csPHPMD 테스트 실행 :
composer mdphpunit 테스트 실행 :
composer test모든 테스트 실행 :
composer test:allMIT 라이센스 (MIT). 자세한 내용은 라이센스 파일을 참조하십시오.