1. 개요
Google Cloud Translation API는 최첨단 인공신경망 기계 번역을 사용해 임의의 문자열을 지원되는 언어로 동적으로 번역할 수 있는 간단한 프로그래매틱 인터페이스를 제공합니다. 출발어를 알 수 없는 경우 언어를 감지하는 데 사용할 수도 있습니다.
이 Codelab에서는 C#과 함께 Translation API를 사용하는 방법을 중점적으로 알아봅니다. 사용 가능한 언어를 나열하고, 텍스트를 번역하고, 특정 텍스트의 언어를 감지하는 방법을 알아봅니다.
학습할 내용
- Cloud Shell 사용 방법
- Translation API를 사용 설정하는 방법
- API 요청 인증 방법
- C#용 Google Cloud 클라이언트 라이브러리를 설치하는 방법
- 사용 가능한 언어를 나열하는 방법
- 텍스트 번역 방법
- 언어를 감지하는 방법
필요한 항목
설문조사
이 튜토리얼을 어떻게 사용하실 계획인가요?
귀하의 C# 사용 경험을 평가해 주십시오.
귀하의 Google Cloud Platform 서비스 사용 경험을 평가해 주세요.
<ph type="x-smartling-placeholder">2. 설정 및 요구사항
자습형 환경 설정
- Google Cloud Console에 로그인하여 새 프로젝트를 만들거나 기존 프로젝트를 재사용합니다. 아직 Gmail이나 Google Workspace 계정이 없는 경우 계정을 만들어야 합니다.
- 프로젝트 이름은 이 프로젝트 참가자의 표시 이름입니다. 이는 Google API에서 사용하지 않는 문자열이며 언제든지 업데이트할 수 있습니다.
- 프로젝트 ID는 모든 Google Cloud 프로젝트에서 고유하며, 변경할 수 없습니다(설정된 후에는 변경할 수 없음). Cloud 콘솔은 고유한 문자열을 자동으로 생성합니다. 일반적으로는 신경 쓰지 않아도 됩니다. 대부분의 Codelab에서는 프로젝트 ID (일반적으로
PROJECT_ID
로 식별됨)를 참조해야 합니다. 생성된 ID가 마음에 들지 않으면 다른 임의 ID를 생성할 수 있습니다. 또는 직접 시도해 보고 사용 가능한지 확인할 수도 있습니다. 이 단계 이후에는 변경할 수 없으며 프로젝트 기간 동안 유지됩니다. - 참고로 세 번째 값은 일부 API에서 사용하는 프로젝트 번호입니다. 이 세 가지 값에 대한 자세한 내용은 문서를 참고하세요.
- 다음으로 Cloud 리소스/API를 사용하려면 Cloud 콘솔에서 결제를 사용 설정해야 합니다. 이 Codelab 실행에는 많은 비용이 들지 않습니다. 이 튜토리얼이 끝난 후에 요금이 청구되지 않도록 리소스를 종료하려면 만든 리소스 또는 프로젝트를 삭제하면 됩니다. Google Cloud 신규 사용자는 300달러(USD) 상당의 무료 체험판 프로그램에 참여할 수 있습니다.
Cloud Shell 시작
Google Cloud를 노트북에서 원격으로 실행할 수 있지만, 이 Codelab에서는 Cloud에서 실행되는 명령줄 환경인 Google Cloud Shell을 사용합니다.
Google Cloud Console의 오른쪽 상단 툴바에 있는 Cloud Shell 아이콘을 클릭합니다.
환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다. 완료되면 다음과 같이 표시됩니다.
가상 머신에는 필요한 개발 도구가 모두 들어있습니다. 영구적인 5GB 홈 디렉터리를 제공하고 Google Cloud에서 실행되므로 네트워크 성능과 인증이 크게 개선됩니다. 이 Codelab의 모든 작업은 브라우저 내에서 수행할 수 있습니다. 아무것도 설치할 필요가 없습니다.
3. Translation API 사용 설정
Translation API를 사용하려면 먼저 API를 사용 설정해야 합니다. Cloud Shell에서 다음 명령어를 사용하여 API를 사용 설정할 수 있습니다.
gcloud services enable translate.googleapis.com
4. C#용 Google Cloud Translation API 클라이언트 라이브러리 설치
먼저 Translation API 샘플을 실행하는 데 사용할 간단한 C# 콘솔 애플리케이션을 만듭니다.
dotnet new console -n TranslationApiDemo
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
다음으로 TranslationApiDemo
폴더로 이동하여 프로젝트에 Google.Cloud.Translation.V2
NuGet 패키지를 추가합니다.
cd TranslationApiDemo/
dotnet add package Google.Cloud.Translation.V2
info : Adding PackageReference for package 'Google.Cloud.Translation.V2' into project '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
log : Restoring packages for /home/atameldev/TranslationDemo/TranslationDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Translation.V2' version '1.0.0' added to file '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
이제 Translation API를 사용할 준비가 되었습니다.
5. 사용 가능한 언어 나열
이 섹션에서는 먼저 Translation API에서 사용 가능한 모든 언어를 나열합니다.
먼저 Cloud Shell의 오른쪽 상단에서 코드 편집기를 엽니다.
TranslationApiDemo
폴더 내의 Program.cs
파일로 이동하여 코드를 다음으로 바꿉니다.
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
foreach (var language in client.ListLanguages(LanguageCodes.English))
{
Console.WriteLine($"{language.Code}\t{language.Name}");
}
}
}
}
1~2분 정도 시간을 내어 코드를 살펴보세요*.* 언어 이름은 영어로 나열되지만 모든 언어로 나열될 수 있습니다.
Cloud Shell로 돌아가서 앱을 실행합니다. 다음과 같은 출력이 표시됩니다.
dotnet run
af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
...
yi Yiddish
yo Yoruba
zu Zulu
요약
이 단계에서는 Translation API에서 사용 가능한 모든 언어를 나열했습니다. 언어 지원 페이지에서 지원되는 언어의 전체 목록을 확인할 수 있습니다.
6. 텍스트 번역
Translate API를 사용하여 한 언어로 된 텍스트를 다른 언어로 번역할 수 있습니다. 텍스트는 인공신경망 기계 번역 (NMT) 모델을 사용하여 번역됩니다. 요청한 언어 번역 쌍에 NMT 모델이 지원되지 않는 경우 구문 기반 기계 번역 (PBMT) 모델이 사용됩니다.
텍스트를 번역하려면 TranslationApiDemo
폴더 내의 Program.cs
파일로 이동하여 코드를 다음으로 바꿉니다.
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Hello World!";
var response = client.TranslateText(text, LanguageCodes.Turkish, LanguageCodes.English);
Console.WriteLine(response.TranslatedText);
}
}
}
1~2분 정도 시간을 내어 코드를 살펴보세요. 'Hello World' 텍스트를 번역합니다. 영어에서 튀르키예어*로 번역합니다.*
Cloud Shell로 돌아가서 앱을 실행합니다. 다음과 같은 출력이 표시됩니다.
dotnet run
Selam Dünya!
요약
이 단계에서는 Translation API를 사용하여 텍스트를 영어에서 터키어로 번역했습니다. 텍스트 번역에 관해 자세히 알아보세요.
7. 언어 감지
Translate API를 사용하여 텍스트 문자열의 언어를 감지할 수도 있습니다.
언어를 감지하려면 TranslationApiDemo
폴더 내의 Program.cs
파일로 이동하여 코드를 다음으로 바꿉니다.
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Selam Dünya!";
var detection = client.DetectLanguage(text);
Console.WriteLine($"Language: {detection.Language}\tConfidence: {detection.Confidence}");
}
}
}
1~2분 정도 시간을 내어 코드를 살펴보세요. 이 함수는 "Selam Dünya!"라는 텍스트의 언어를 감지합니다. 이것은 공교롭게도 터키어 어구입니다*.*
Cloud Shell로 돌아가서 앱을 실행합니다. 다음과 같은 출력이 표시됩니다.
dotnet run
Language: tr Confidence: 1
요약
이 단계에서는 Translation API를 사용하여 텍스트 언어를 감지할 수 있었습니다. 언어 감지에 대해 자세히 알아보세요.
8. 축하합니다.
C#을 사용하여 Translation API를 사용하는 방법을 알아봤습니다.
삭제
이 빠른 시작에서 사용한 리소스 비용이 Google Cloud Platform 계정에 청구되지 않도록 하는 방법은 다음과 같습니다.
- Cloud Platform 콘솔로 이동합니다.
- 종료할 프로젝트를 선택한 후 '삭제'를 클릭하세요. 상단: 프로젝트 삭제가 예약됩니다.
자세히 알아보기
- Google Cloud Translation API: https://cloud.google.com/translate/docs
- Google Cloud Platform의 C#/.NET: https://cloud.google.com/dotnet/
- Google Cloud .NET 클라이언트: https://googlecloudplatform.github.io/google-cloud-dotnet/
라이선스
이 작업물은 Creative Commons Attribution 2.0 일반 라이선스에 따라 사용이 허가되었습니다.