반응형
구글의 번역 API 정식 명칭은 Cloud Translation이다. 가격에 따라 Basic과 Advanced로 나뉘며 Basic으로 해도 충분하다. 사용을 위해서는 Cloud CLI와 Translation 2가지를 설치하여야 한다.
1. Cloud Translation Basic과 Advanced의 기능 및 가격 비교
- 버젼별 기능 비교
- 가격비교
2. Google Cloud CLI 설치
- Windows: Google Cloud CLI 설치 프로그램을 다운로드합니다.
- Ubuntu
https://cloud.google.com/sdk/docs/install?hl=ko
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates gnupg curl sudo
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update && sudo apt-get install google-cloud-cli
gcloud init
3. Google Cloud Translation API 설치
- 프로젝트와 API 사용 설정: https://cloud.google.com/translate/docs/setup?hl=ko
- pip 설치
pip install google-cloud-translate==2.0.1
- Credential Json 설정 파일 생성
gcloud init
gcloud auth application-default login
만약에, 로컬 PC가 아닌 AWS와 같이 원격으로 작업하는데 GUI가 지원되지 않는 환경이라면 no-browser 옵션을 주어 실행하면 된다. 암호토큰이 정상적으로 표시가 되면 설치가 잘 된 것이다.
gcloud init --no-browser
gcloud auth application-default print-access-token
y..........................................0167
특히, "gcloud auth application-default login"을 해주어야 json 파일이 생성된다. 제일 중요한 파일이니 꼭 기어하기 바란다.
참고로, credentials 정보가 담겨있는 Json 파일은 자동으로 ~/.config 디렉토리에 저장이 되게 된다.
~/.config/gcloud/application_default_credentials.json
{
"client_id": ".............com",
"client_secret": "d-..........",
"quota_project_id": "your-project-name",
"refresh_token": "1//................",
"type": "authorized_user"
}
4. 구글 번역 파이썬 코드 샘플
import os
import six
from google.cloud import translate_v2 as translate
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] =
os.path.join(os.path.expanduser('~'), '.config/gcloud/application_default_credentials.json')
def google_translate(text, language):
translate_client = translate.Client()
if isinstance(text, six.binary_type):
text = text.decode('utf-8')
result = translate_client.translate(text, target_language=language)
return result['translatedText']
if __name__ == '__main__':
result = google_translate('I love you', 'ko')
print(result)
반응형
댓글