-
[Unity + Google SpreadSheet] 구글 스프레드 시트 자동 번역 기능 제작 & Unity 연결(Google Sheet Service) (2)Unity 2025. 3. 7. 13:36
개요
해당 포스팅은 하단의 포스팅의 연장선으로 작성되었다. Google SpreadSheet 자동 번역 기능을 완성하지 않았다면 다음 포스팅을 참고하면 된다.
[Unity + Google SpreadSheet] 구글 스프레드 시트 자동 번역 기능 제작 & Unity 연결(Google Sheet Service) (1)
개요해당 포스팅은 하단의 포스팅의 연장선으로 작성되었다. Localization을 아직 연동시키지 않았다면 다음 포스팅을 참고하기 바란다. [Unity] Localization을 활용하여 국가별 맞는 언어 적용하기
cgmoon.tistory.com
우리는 이전 포스팅에서 구글 스프레드 시트 자동 번역 기능을 만들었다.
이제 우리는 Unity에 해당 테이블이 연동 되도록 작업을 진행해 줄 예정이다.
1. Unity에서 제공하는 Google Sheet Service 연결하기
Unity에서는 쉬운 Localization 연동을 위해, Google Sheet Service를 제공한다.
이는 스프레드시트 내의 데이터를 불러와서, 유니티 내의 table에 적용시켜주는 서비스이다.
Sheets Service Provider | Localization | 1.5.4
Sheets Service Provider To connect your project to the Google Sheets service, you need to use a Sheets Service Provider asset. This asset includes properties for authentication and for creating a new sheet from inside the Editor. You can create the Sheets
docs.unity3d.com
공식문서에서도 가이드를 제공하지만, 좀 더 필요한 설정들이 있다.
먼저 이전에 생성했던 구글 클라우드 프로젝트로 들어간다.
API 및 서비스 - 사용 설정된 API 및 서비스로 들어가서 + API 및 서비스 사용설정을 클릭한다.
검색창에 google sheet api를 입력하고, 해당 api를 클릭하여 들어간다.
사용 버튼을 눌러 설정해주면, 클라우드 기본 세팅은 완료된다.
이제 Unity로 들어가자.
프로젝트 폴더에서 파일을 생성해주고 싶은 위치에서 우클릭 후, Create - Localization - Google Sheets Service를 눌러주면
파일이 하나 생성되며, 옵션을 선택할 수 있다.
- OAuth: 애플리케이션이 사용자 계정에 접근할 수 있도록 허용
- API Key: 고유한 문자열을 사용해 특정 애플리케이션이 API를 호출할 수 있도록 허용
우리는 OAuth를 통해 인증하기 위해 위 작업을 진행해주었다.
OAuth를 선택하면, 다음과 같은 입력란을 확인할 수 있다.
이제, Client ID, Client Secret을 입력해야 한다.
안드로이드 개발을 진행하고 구글 플레이에 런칭해본 분들은 아시겠지만,
아까 생성했던 OAuth 웹 클라이언트 ID에서 정보를 가져와야 한다.
아까 생성했던 웹 클라이언트에서 오른쪽에 클라이언트 ID, 클라이언트 보안 비밀번호를 각각 ID , Secret에 입력해준다.
이제 Unity에서 Authorize 버튼을 눌러주면 되는데.....
왜 또 이럴까? 하지만 다행이 오류 세부정보를 제공한다.
확인해보니, 리디렉션 URI가 제대로 등록 되지 않아 인증이 안된다는 것으로 보인다.
유니티에서 로컬 포트 / authorize로 인증을 요청하기 때문에, 우리는 이 uri를 승인된 리디렉션 uri에 등록해주어야 한다.
http://localhost/authorize/
다음 링크를 복사하여 승인된 리디렉션 uri 섹션에 추가해주자.
저장을 누르고, Authorize를 진행해주면 계정 선택 화면을 확인할 수 있게 된다!
아까와 동일하게 계속을 눌러 진행해주면, Google Sheets Service의 Authorize 버튼이 Authorize...로 뜨며 인증 완료된것을 확인할 수 있다.
이제, 이 구글 스프레드 시트를 테이블에 연동시켜보자.
2. Google Spreadsheet -> Localization String Table
이전 포스팅에서 테이블을 제대로 생성했다면,
String Table Collection을 확인할 수 있다.
이제 우리는 Extensions의 + 를 눌러 Google Sheets Extension을 선택해준다.
여기서 방금 생성한 Sheets Service Provider를 넣어주고, 이제 폴더 ID를 입력해주어야 한다.
폴더 ID는 구글 스프레드시트에서 가져올 수 있다.
//폴더 ID가 위치한 부분에 오는 문자열이 ID이므로, 해당 문자열을 복사 https://docs.google.com/spreadsheets/d/[폴더 ID]/edit?gid=0#gid=0
이제 이걸 SpreadSheet id에 넣어준다.
그러면
밑에 현재 테이블에 위치한 시트들을 확인할 수 있다.
테이블에서 콜럼을 가져와보자.
Extract Columns form Sheet을 눌러주면, 테이블 내에 데이터를 인식하여 콜럼을 가져와준다.
그러면 이렇게 자동으로 콜럼이 받아와지고, 하단에 버튼들이 활성화 된것을 확인할 수 있다.
- Push: 현재 유니티 String Table에 있는 내용을 스프레드 시트에 덮어씌움
- Pull: 현재 스프레드 시트에 있는 내용을 String Table에 덮어씌움
우리는 지금 데이터가 스프레드시트에 있으므로, Pull 버튼을 눌러준다.
이후 테이블을 열어보면,
정상적으로 들어와있는 것을 확인할 수 있다!
마무리하며....
이제 우리는 구글 스프레드 시트에 데이터를 입력하고 자동 번역을 진행하여, 손쉽게 번역을 진행하고
이를 Unity에 연동시켜 버튼 몇번 클릭하여 가져올 수 있도록 설정하였다.
테이블이 여러개라면, 서비스를 여러개 생성하거나, 동일 서비스로 시트 이름을 설정하여 사용하는 것도 가능할 것이다.
++
이전 포스팅에서도 언급된 부분이지만, 번역이 매끄럽지는 않다. 기본적으로 제공하는 기계번역 기능을 사용하는 것이기 때문에,
게임에 바로 사용할 수 있을 정도로 번역을 하려면 AI의 도움이 있어야 될것이다.다음 포스팅에서는 Gemini API(무료)를 활용해서 검수작업을 진행하는 과정을 작성해보겠다.
이 포스팅 글이 게으른 개발자들에게 도움이 되길 바라며(본인 포함)
😘즐코(즐거운 코딩 되시길)!
'Unity' 카테고리의 다른 글
[Google Spreadsheet & Apps Script] Gemini API로 번역 및 검수하기 (0) 2025.03.07 [Unity + Google SpreadSheet] 구글 스프레드 시트 자동 번역 기능 제작 & Unity 연결(Google Sheet Service) (1) (1) 2025.03.07 [Unity] Localization을 활용하여 국가별 맞는 언어 적용하기 (0) 2025.03.06 [Unity & iOS] 유니티에서 iOS용 앱 빌드하기 (Feat. 처음 iOS개발할때 발생하는 문제들) (0) 2025.02.14 [Firebase] 유니티에 파이어베이스 연동하기 (4) 2025.02.01