[PHP] DeepL 의 API로 html 태그를 유지한 채로 번역해보기
DeepL 라는 번역 서비스에서는 API도 제공하고 있고, 제한은 있지만 무료枠(枠)도 제공되고 있어 편리하고 고마운 서비스여서 유용하게 사용하고 있습니다.
이 웹사이트에서도 DeepL 의 API를 이용하여 본문 등을 번역하고 있습니다.
DeepL API의 장점은 무료로 번역할 수 있고, API 지정으로 html 태그를 깨뜨리지 않고 번역할 수 있다는 점입니다.
아래는 샘플 코드입니다.
param = array( 'auth_key' => 'API 키', 'text' => '<p>雨</p>', 'target_lang' => 'EN', 'tag_handling' => 'xml', 'source_lang' => 'JA' );; curl = curl_init("https://api-free.deepl.com/v2/translate"); $curl = curl_init("https://api-free.deepl.com/v2/translate"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($param)); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($param)); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); res = curl_exec($curl); curl_close($curl); re = json_decode($res, true); $re = json_decode($res, true); echo $re["translations"][0]["text"];
먼저 DeepL 의 API 사이트에 등록하여 API 키를 발급받는다.
auth_key에 해당 API 키를 복사하여 붙여 넣는다.
text에는 번역하고 싶은 단어를 입력합니다.
target_lang은 번역하고자 하는 언어이다. 위 코드에서는 영어로 번역하도록 설정했다.
‘tag_handling’ => ‘xml’은 html을 처리하기 위한 설정이다.
source_lang에는 번역할 언어를 설정하고 있지만, 없어도 문제없을 것 같았습니다.
target_lang의 중국어에 빠져들었는데, 중국어 간체는 ZH, 대만 등에서 사용하는 번체어는 ZH-HANT를 설정하는 것 같습니다.
그럼, 이번 포스팅은 여기까지!