안녕? 다시 왔어.
https://gall.dcinside.com/game_dev/177544
어제 올린 아랍어 번역 글에 누가 번역 적용하는 법을 물어보시더라고?
사실 번역 적용이야 방법이 정해져 있는 것도 아니고, 어떻게든 동작만 하면 된다고 생각하는데
그래도 아직 안해본 사람이라면 궁금할수도 있겠다 싶더라.
어쩌면 나도 이번 기회를 통해 더 좋은 방법에 대한 조언을 받을 수도 있고 말이지.
그럼 시작해보자.
기본적으로 난 번역을 포함한 모든 데이터는 구글 스프레드 시트를 사용하고 있어.
엑셀이랑 사용법은 비슷한데 라이선스도 없고, 웹 베이스라 어떤 컴에서도 할 수 있고 외부 번역가랑 협업하기도 편하거든. 지극히 개인 취향이야.
보면 세로 축이 ID고, 가로는 각 나라 언어별 텍스트가 위치해 있어.
그리고 이렇게 작성한 시트를 에셋을 통해 유니티로 가지고 와.
내가 사용중인 에셋은 BGDatabase야.
유료긴 한데 나처럼 외부에서 데이터 핸들링하는 사람들에겐 돈 값 하는 에셋이라고 봐.
애초에 엄청 유명한 에셋임 ㅇㅇ. 아마 나도 여기서 추천 받았을걸?
text라는 필드를 지원하는데, 엑셀이나 구글 시트에서 입력한 줄 바꿈도 그대로 적용 가능해서 엄청 편했어.
이따 댓글에 링크 남겨둘게.
그 다음엔 뭐... 구현하는건데
나는 TextManager라는 싱글톤을 하나 만들어서 언어 대응은 전부 거기서 처리하고 있어.
기능은 되게 심플해.
1. 처음 앱 실행 시 핸드폰 언어와 매칭되는 언어 있으면 그걸로 세팅, 없으면 영어로 고정
혹시 세이브 데이터가 있으면 그 언어 설정 유지.
2. 시트에 있던 ID를 입력하면 현재 언어로 출력해주기
마지막으로 게임 내에 언어 입력하는 부분이 있으면 TextManager에 ID 넣어서 호출하면 끝이야.
스샷의 IsArabic()은 아랍어는 글자 좌우가 반대라서 별도로 처리하느라 그럼 ㅇㅇ
...음. 요청이 있어서 작성하긴 했는데 생각보다 더 별게 없네 ㅋㅋㅋ
혹시나 로컬라이징 앞두고 있는 사람들에게 작게나마 도움이 될 만한 부분이 있을까 싶어서 작성해봤어.
더 좋은 방법 아는 친구들은 댓글로 공유해주라.
그럼 담에 봐!
https://assetstore.unity.com/packages/tools/integration/bg-database-data-editor-with-google-sheets-and-excel-syncing-112262?srsltid=AfmBOop8aZgcJAZhu487m7WRbXFoBlzieKjAssCge8ALVV2f4pgfO8lx
이건
BGDatabase 링크 ㅇㅇ
감사합니다 선생님
게임개발 북마크폴더에 저장했습니다. 감사합니다
어제 질문한 사람입니다! 역시 설명도 깔끔하시고 잘 이해가 됐습니다 머지않아 기능이 들어가야할거 같아서 질문드렸는데 너무 감사합니다!
옹 언어에 따라서 글자 크기가 변경되어서 밖으로 삐져나오거나 하는 이슈가 있을 것 같은데 이런건 어떻게 해결하셨나요?
autosize하면 되지 않을까요??
UI마다 글자 크기 다른걸 별로 안좋아해서 보통 autosize를 안썼는데, 그것밖에 방법이 없을라나요
딱히 정답이 없는 문제인데... 가장 좋은 방법은 UI 디자인할 때 로컬라이징 감안해서 확장성을 마련해두는거구요. 몇 자 오버 되는거 정도는 윗분 언급처럼 AutoSize로 해결해요. 글자 크기 기준 10% 내외 조정은 그다지 티가 나지 않거든요. AutoSize로 해결이 안될 정도로 길다면 줄바꿈도 검토해보구요, 도저히 안되겠다 싶음 번역가분께 줄여달라고 요청합니다 ㅎㅎ 애초에 글자 크기가 중요한 부분의 텍스트들은 번역 의뢰 드릴 때부터 글자 수 제한 가이드를 드리는 편이에요. 그래야 핑퐁이 적거든요.
나는 언어별로 따로 txt 만들어서 노가다하고있었는데 이런 방법이 있었구나 ㄱㅅㄱㅅ
유니티 내장 로컬라이징보다 좋은가?
지식이 늘었다
정말 감사해요
많이 배워갑니다 좋은정보 감사합니다 ㅎ