뉴스 칼럼
Python에서 DeepL 번역 사용하기
파트 1: 태그가 지정된 문자열 번역

이 글에서는 1부와 2부에서 DeepL 번역 API 사용법과 문자열 번역 및 파일 번역을 소개하겠습니다.
*파이썬과 리눅스에 대한 기본 지식이 전제입니다.
원조 가족의 매뉴얼도 참고해 주세요.
https://www.deepl.com/en/docs-api
파이썬은 3.9를 사용하고 있습니다.
API 사양은 2022년 7월 기준으로 최신 상태입니다. 참고하세요.
API를 사용하려면 사용자를 등록하고 접근 키(auth_key)를 입력하세요
필요한 것입니다.
이 글에서[authKey]본인 접근 키로 교체해 주세요.
문서 ID와 나중에 나타나는 문서 키 문자열[문서ID] [문서 중요]기록되어 있습니다.
태그된 문자열 번역하기
첫 번째는 줄의 이동입니다. XML 태그(HTML 태그)가 포함된 일본어를 영어(미국)로 번역하세요.
매뉴얼의 코드 예시는 HTTP 요청 형식과 리눅스에서 사용하는 방법을 보여줍니다
이 도구는 두 가지 형태의 컬을 설명하며, 이는 표준 명령 도구입니다.
쉽게 시도해볼 수 있는 컬을 살펴보겠습니다.
일본어 문자열 "예시: <br /><span style="font-size:1.2em"> 안녕하세요, 세계 </span>"
영어(미국)로 번역하고 싶다면 이렇게 보일 것입니다:
$src='예시:<br/><span style="font-size:1.2em">안녕, world</span>'
$ auth_key=[authKey]
$ 컬 https://api.deepl.com/v2/translate \
$ -d auth_key=${auth_key} \
$ -d 텍스트=${src} \
$ -d target_lang=en-us \
$ -d tag_handling=XML
이 URL은 유료 버전용입니다. 무료 버전의 URL은 다음과 같습니다수동참고해 주세요.
XML 태그를 사용하므로 요청은tag_handling또한 명시되어 있습니다.
원래 언어는 명시하지 않았지만, 이 경우 자동 감지될 것입니다.
이 글에서는 실행 결과를 생략할 것이다. 실제로 확인하면서 계속 읽어보시길 바란다.
파이썬으로 작성하면 다음과 같이 작성할 수 있습니다 requests.post():
(요청이 없으시면 설치해 주세요)
import requests
import json
디비스 get_key():
return open('key.txt').read().rstrip()
디비전 translate_xml(주부):
”’
XML 태그 문자열 번역
파이썬에서 curl 명령어 작성하기
”’
URL = 'https://api.deepl.com/v2/translate'
헤더 = dict()
헤더['Content-Type'] = 'application/x-www-form-urlencoded'
data = dict()
data['auth_key'] = get_key()
data['text'] = src
데이터['target_lang'] = '엔-어스'
data['tag_handling'] = 'xml'
res = requests.post(URL, 헤더=헤더, 데이터=데이터)
res_text = res.text
res_data = json.loads(res_text)
tgt = res_data['번역'][0]['텍스트']
TGT 반환
src = '예시:<br /><span style="font-size:1.2em">안녕하세요, world</span>'
tgt = translate_xml(src)
인쇄(TGT)
액세스 키 문자열은 소스 코드에 쓰는 것을 피해야 합니다.
텍스트 파일 key.txt 에 저장된 내용을 읽고 활용합니다.
res_text DeepL 서버에서 받은 json 형식의 문자열 결과입니다.
json.loads() 파일을 명령하고 변환 결과를 가져오는 것입니다.
이 글의 목적 중 하나는 매뉴얼에 컬 명령을 추가하는 것입니다.
파이썬으로 표현할 예시를 보여주기 위한 것입니다.
두 가지를 비교해 보면 느낌을 받을 수 있을 거예요.
이 글에서는 이상입니다:
- DeepL의 API를 사용해 문자열을 번역했습니다.
다음에는 DeepL의 API를 사용해 문자열 파일을 번역할 예정입니다. 기대해 주세요!
읽어주셔서 감사합니다.