한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
국제화 - Action의 현지화
2018년 12월 18일 화요일
개발자가 사용자에게 멋진 사용 환경을 제공하는
Action
을 빌드했습니다. 이제 유일한 문제는 Action을 작성한 언어를 구사하는 사람만 사용할 수 있다는 점입니다. 그대로 방치한다면 개발자가 애써 빌드한 소중한 결과물을 전적으로 즐기고 애용할 수 있는 다른 수많은 사용자를 놓치는 셈입니다. 그렇다면 자신이 개발한 Action을 모든 이가 편리하게 이용할 수 있도록 하려면 어떻게 해야 할까요? 현지화하면 됩니다!
현지화란 무엇일까요?
현지화는 다양한 언어에 대한 사용 환경과 Action의 언어를 맞춤설정하는 것입니다. 다음은 GDG San Francisco Action에 대해 다양한 언어로 된 인사말 문구를 몇 가지 예로 든 것입니다.
“GDG San Francisco에 오신 것을 환영합니다. 소개해드릴 내용이 있는데요…”“Benvenuto a GDG San Francisco. Posso darti informazioni…”“Bienvenidos a GDG San Francisco. Puedo contarte sobre…”“Willkommen bei der GDG San Francisco. Ich kann dir mehr über unsere…”
현재 Action on Google에서 지원하는 언어와 로캘
을 확인해 보세요.
현지화하는 이유
개발한 Action을 더 많은 사용자가 사용할 수 있도록 하기 위해
사용 언어를 기준으로 사용자 환경을 완전히 맞춤설정하고 변경하기 위해
Google 어시스턴트 개발자 커뮤니티 프로그램
을 통해
Taking your Action Global
마일스톤을 받을 수도 있습니다. 이 마일스톤은 개발한 Action을 적어도 2가지 언어(그중 하나는 영어 이외의 언어여야 함)로 제공하고 두 언어에서 모두 최소 참가 사용자 수를 달성한 경우 얻을 수 있습니다.
Action을 현지화하는 방법
docs
에서 Action을 현지화하는 방법에 관한 정보를 찾을 수 있지만, 필자는 이 글이 Dialogflow와 웹훅을 사용하는 Action을 위한 안내서가 되도록 하기 위해 아래에 그 내용을 정리해두었습니다(필자가 참조하는 프로젝트의 유형에 관해서는 이
샘플 코드
를 확인해 볼 것).
1. 올바로 작동하고 안정적이어서 현지화할 준비가 된 Action으로 시작해야 합니다.
그런 Action이 이미 배포 완료된 상태여서
검토 과정
을 확실히 통과할 수 있다면 이상적입니다.
2. Action의 모든 텍스트를 현지화할 다른 언어로 번역합니다.
Action의 응답
각 인텐트에 대한 훈련 문구
맞춤 엔터티
Action의 디렉토리 정보
설명(간략한 설명과 자세한 설명) 섹션
샘플 호출
개인정보 보호정책
서비스 약관(선택 사항)
이 과정이 시간이 가장 많이 소요되는 부분이지만, 가장 중요한 부분이기도 합니다. 원어민에게 텍스트 번역을 맡기고 원어민이 Action의
가상 사용자
역할을 맡아 Action을 테스트하여 현지인에게 자연스러운 느낌이 드는지 확인하는 것이 이상적입니다.
3. 여러 언어를 지원하도록 실행 코드를 업데이트합니다.
i18n
(국제화)을 지원하는 클라이언트 라이브러리를 사용합니다. 다양한 프레임워크에 대해 이를 지원하는 여러 가지 다른 라이브러리가 있으므로, 자신에게 알맞은 것을 고르세요.
Actions on Google에 Node.js 클라이언트 라이브러리
를 사용 중이라면 Actions on Google에서
권장 라이브러리
를 확인해 보세요. (
Number Genie
샘플 코드를 통해 구현 방법을 확인해 보세요.)
4. Dialogflow 콘솔을 통해
Dialogflow 에이전트
에 새 언어를 추가합니다.
에이전트에 언어 추가
— 이 방법을 사용하면 각각의 새 언어에 인텐트가 복사됨
새 언어마다 번역한 훈련 문구, 응답, 엔터티 항목 추가
5.
Action on Google 콘솔
에 Language를 추가합니다.
Overview 섹션 옆에 있는 기어 모양 아이콘을 통해
Project Setting
페이지로 이동하여 Action에 Language를 추가합니다. 거기서
Languages
를 클릭하여 모든 언어를 추가할 수 있습니다.
6.
Action 콘솔에서 Action 테스트
Action 시뮬레이터
에서 각 언어의 모든 대화 흐름을 테스트하여 예상한 결과가 나오는지 확인합니다. 이 시뮬레이터를 사용하여 시뮬레이션 대상 언어뿐 아니라 위치도 변경할 수 있습니다.
여기
에서 관련 문서를 확인해 보세요.
프로젝트에 테스트를 추가할 것을 권장합니다(
Actions on Google Testing Library
,
샘플 예제
)!
다양한 언어로 다양한 대화 흐름을 테스트하면서 Action이 해당 언어로 더욱 자연스럽게 들리도록
SSML을 미세 조정
합니다.
7. 각 언어에 대해 번역된
디렉토리 정보
를 추가하여
Action on Google 콘솔에서 Action을 업데이트
합니다.
설명(간략한 설명과 자세한 설명)
샘플 호출
개인정보 보호정책
서비스 약관(선택 사항)
8. 출시를 위해 제출합니다!
프로덕션 릴리스에 대한 검토 과정과 똑같은 검토 과정을 거치므로
베타 릴리스
를 사용하는 것이 좋습니다. 프로젝트가 일단 승인된 후에는 준비가 되는 대로 바로 프로덕션 단계로 넘어가 출시할 수 있습니다.
많은 작업을 해야 하는 것처럼 보일 수도 있겠지만, 일단 Action을 다른 언어로 번역하고 나면 그 다음부터는 정말 쉽습니다! 애써 개발한 Action, 충분히 시간을 들여 여러 가지 언어로 확장하면 더 많은 사용자가 Action을 사용할 수 있습니다!
더 자세한 정보를 원하세요? Actions on Google 커뮤니티로 가서 다른 개발자들과 Action에 관해 열띤 토론을 벌여보세요. Actions on Google 개발자 커뮤니티 프로그램에 참가한 후 첫 번째 앱을 게시하면 어시스턴트 티셔츠와 매달 $200의 Google Cloud 크레딧을 받으실 수도 있습니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed