I2 Localization / 로컬라이징 번역

 

#. 유니티 에셋스토어 링크

assetstore.unity.com/packages/tools/localization/i2-localization-14884?aid=1101l7zGS

 

I2 Localization | 다국어 지원 | Unity Asset Store

Get the I2 Localization package from Inter Illusion and speed up your game development process. Find this & other 다국어 지원 options on the Unity Asset Store.

assetstore.unity.com

 

#. 어떤 에셋인가요?

로컬라이징(번역작업)을 간편하게 만들어주는 템플릿이다.

- 번역과 관련된 가장 오래되고, 가장 지원이 길게한 에셋이다. (중간에 E3때문에 업뎃을 못한적이 있긴하다)

 

- Google 스프레드 시트와 연결해서 빌드 후에도 번역 시트 업데이트 가능

- Google 스프레드 시트 업데이트 주기 설정가능 (열때마다, 하루, 일주일 등)

- 구글시트와 연결해두면 유니티 에디터에서 바로 번역하기 가능

- 언어별 미리보기 가능 (개인적으로 이 기능이 제일 좋았다.)

 

#. 개인 평가

아무리 에셋 매니아라도 번역같은거 그냥 csv에 넣어놓고 현재언어만 리턴해서 받아오면 되는거아닌가 싶어서

굳이 번역쪽에는 에셋을 사용하지않았었는데, 주변에서 I2 Localization을 많이 써서 잠깐 사용해보니 마음에 들어서

프로젝트 전체를 I2 Localization 기반으로 바꾸었다.

기존에 직접 만들어뒀던거는 어댑터로 만들어서 I2Localizaiton 코드를 호출하는 것으로 완료.

 

#. 주의할 점?

가끔 에디터 버그가 있는데, I2Localizaion의 ScriptableObject 설정값을 조작하다가 드롭다운 메뉴가 아무것도 보이않게된다. 인스펙터탭을 Service등으로 탭 전환했다가 다시 돌아오면 해결된다.

 

현재 버전에서는 Resource폴더의 ScriptableObject에서 모든 설정을 하지만, 구 버전에서는 Prefab에서 설정했다고함. 문서에서 혼용되어 설명하는 경우가 있다.

 

#. 사용법

문서화가 잘 되어있으니 문서를 참고할 것.

inter-illusion.com/assets/I2LocalizationManual/I2LocalizationManual.html

 

구글 연동에 관한 튜토리얼은 아래의 문서를 보는것이 좋다. (움짤로 설명함)

inter-illusion.com/tools/i2-localization/how-to-link-with-google

 

 

- 임포트 시 Assets / Resources 폴더에 I2Languages.asset 의 스크립트오브젝트가 생성된다.

  해당 오브젝트는 프로젝트에서 연결되어, 씬에서 컴포넌트를 추가/수정하거나 해당 에셋을 수정하면

  값이 같이 바뀌는 양방향 업데이트가 된다.

 

- 기본적으로 텍스트 / 스프라이트 등에 AddComponent로 I2 Localize 컴포넌트를 붙이고 설정하면 된다.

 

# 언어(Languages) 추가

- I2Languages.asset의 Languages 탭에서 원하는 언어를 추가한다.

- 하당 검색창에 언어 이름을 쓰면 검색되니 찾아서 추가하면되고, 직접입력해서 별도의 커스텀 언어를 만들 수도 있다.

- 맨 위에있는게 기본 언어가 되니, 맨 위의 언어는 영어로 두면 된다. 

 

# 용어(Terms) 추가

- I2Languages.asset의 Terms 탭에서 매칭되는 Key 값을 생성할 수 있다.

- 여기서 직접 추가해도되고, 텍스트의 AddComponent를 하면서 거기서 추가할수도있다. 

- 키는 영어를 그대로쓰지말자. 겹칠경우가 많다.

  (영어로 Title 이라고 키도 Title로 쓰지 말라는 소리)

- 사용되는 위치에 대한 정보를 키로 사용하면 어디서 사용되는지 찾기 쉽다.

  (나는 Main_Inventory_Title 과 같이 씬-팝업-오브젝트 명으로 사용하고있다)

 

# 컴포넌트로 번역 추가

 - Terms를 추가한 다음, I2 Component가 달려있는 상태에서 해당 라벨의 텍스트를 Terms의 Key로 입력하면 자동으로 검색해서 세팅된다.

 

# 폰트 현지화

 - 컴포넌트를 추가할때 Main에는 텍스트를 입력해주고, Secondary에는 Font(혹은 TMPRO Asset)를 설정하면 언어가 바뀔때 폰트또한 바꿀 수 있다.

 - Secondary를 스프라이트에 붙일때는 아틀라스 등을 지역화할때 사용된다고한다.

 - 언어는 안바꾸고 폰트만 바꾸고싶다면 Main을 None으로 하고 Secondary만 설정하자.

   (Main쪽이 None이라면 Secondary도 안바뀜)

 

# 게임 언어 변경

 - 다음의 코드를 실행하여 언어를 변경할 수 있다.

if (LocalizationManager.HasLanguage(LanguageName))
{
	LocalizationManager.CurrentLanguage = LanguageName ;
}

 - LanguageName은 'Korean' 같이 풀 네임의 string으로 입력하면 되던데, 따로 const string 으로 선언된것이 없어서 좀 당황스러움.. 

 

# Modifier

 - 같은 단어라도 첫 글자만 대문자가 필요한 경우 같이 표기가 다른 경우가 있다.

 - 이를 위해 I2 Localize 컴포넌트의 Modifier 옵션을 설정하면 라벨의 표기를 변경가능. (tower -> Tower / TOWER 등)

 

 

댓글

Designed by JB FACTORY