텍스트가 다국어로 지원되는 환경과 일치하도록 텍스트 객체의 텍스트 전환

페이지 업데이트 :
페이지 생성 날짜 :

검증 환경

윈도우
  • 윈도우 11
Unity 에디터
  • 2021.3.12f1
입력 시스템(Unity Technologies)
  • 1.4.3
현지화(Unity Technologies)
  • 1.3.2

이 팁의 전제 조건

이 팁에 대한 설명의 전제로 다음 설정이 미리 이루어졌습니다.

현지화 정보

대부분의 경우 게임은 개발 환경의 언어 또는 영어로 만들어집니다. 그러나 더 많은 사람들이 게임을 하기 위해서는 그 나라의 문화와 언어에 따라 게임을 만들어야 합니다. 이를 일반적으로 "지역화"라고 합니다.

이 팁에서는 현지화 중 하나 인 "다국어 지원"을하고 싶습니다. Unity에서 다국어 지원을 수행하는 방법은 여러 가지가 있지만, 이 경우에는 Unity의 공식 확장 패키지인 Localization을 사용하여 여러 언어를 지원하고자 합니다.

지역화 패키지 설치

지역화를 지원하려면 먼저 "지역화" 패키지를 설치해야 합니다.

메뉴에서 Window - > Package Manager를 선택합니다.

표시되는 패키지 관리자의 왼쪽 상단에서 Unity Registry를 선택합니다.

왼쪽의 메뉴에 「현지화」가 표시되므로, 선택하고 설치 버튼을 클릭해 주세요. 설치하는 데 시간이 걸립니다. 설치가 완료되면 대화 상자를 닫습니다.

지역화 만들기

패키지를 설치한 후 각 언어에 대한 텍스트를 만듭니다. 메뉴에서 편집 - > 프로젝트 설정을 선택합니다.

왼쪽 메뉴에서 현지화를 선택하고 만들기 버튼을 클릭합니다.

파일이 생성되므로 아무 폴더나 지정합니다. 여러 파일이 생성되므로 전용 폴더에 만드는 것이 좋습니다. 여기에서는 "Scenes" 폴더에 "Localization" 폴더를 만들고 그 안에 만듭니다.

생성되면 화면은 다음과 같습니다.

지정된 폴더에도 파일이 만들어집니다. 이 시점에서 여전히 하나가 있습니다.

로캘 만들기

언어에 해당하는 텍스트를 만듭니다. 프로젝트 세팅 현지화를 열고 로케일 생성기 버튼을 클릭합니다.

해당 로캘을 선택합니다. 필요한 것만 선택하십시오. 더 많이 확인할수록 게임을 더 넓게 전개할 수 있지만 그에 비례하여 작업량이 증가합니다.

이번에는 "일본어(ja)", "영어(en)" 및 "스페인어(es)"가 선택됩니다.

설정 후 오른쪽 하단의 "로캘 생성" 버튼을 클릭하여 생성합니다.

파일을 만들 폴더를 지정합니다. 다른 장소일지도 모르지만 정리하면 관리가 쉽기 때문에 이전에 만든 "현지화"폴더를 지정하십시오.

사용 가능한 로캘이 선택한 로캘 수에 추가됩니다.

또한 선택한 수의 로캘에 대해 지정된 폴더에 파일이 만들어집니다.

그런 다음 로캘 선택기를 구성합니다. 게임이 시작될 때 로캘을 결정하는 정보에 대한 설정입니다. 특별한 결정 조건이 없으면 그대로 둘 수 있습니다. 나는 로케일이 시도에 의해 결정되지 않을 때 기본 로케일을 일본어로 만들고 싶다. 세 번째 특정 Localse 선택기에서 오른쪽에 있는 원 버튼을 클릭합니다.

일본어(ja)를 선택합니다.

마찬가지로 프로젝트 로캘 식별자는 "일본어(ja)"여야 합니다.

텍스트 만들기

각 로캘에 대한 텍스트를 만듭니다. 여러 가지 방법으로 만들 수 있지만 여기서는 게임 오브젝트로 텍스트를 처음부터 설정하여 만듭니다.

메뉴에서 Window > Asset Management - > Localization Tables를 선택합니다.

새 테이블 컬렉션을 클릭합니다.

만든 모든 로캘이 선택되어 있는지 확인합니다.

이번에는 텍스트를 현지화하고 있으므로 "Type"에 대해 "String Table Collection"을 선택합니다. 각 로케일의 텍스트가 테이블 목록으로 유지되므로 테이블 이름을 지정합니다. TextTable 이 예에서는 사용됩니다.

입력 후 "만들기" 버튼을 클릭합니다.

목적지를 선택합니다. 각 테이블마다 여러 개의 파일이 생성되므로 전용 폴더를 만드는 것이 좋습니다. 여기서는 "Localization" 폴더에 "TextTable" 폴더를 만들고 지정합니다.

테이블이 생성되면 테이블이 나타납니다. 아직 아무것도 만들지 않았기 때문에 0 줄입니다.

또한 많은 로캘만큼 폴더에 대한 파일이 만들어집니다. 기본적으로, 나는 이것을 직접 만지지 않는다.

하나를 만들어 봅시다. 표에 "새 항목 추가" 버튼이 있으므로 클릭하십시오.

이렇게 하면 한 줄이 추가되고 각 로케일에 대한 입력 필드가 표시됩니다. "hello"라는 단어를 각 언어로 번역하고 각각 "Hello", "Hello" 및 "Hola"를 입력해 보십시오. 핵심은 Hello 입니다. 덧붙여서 입력하면 자동으로 저장됩니다.

둘 이상을 관리할 수 있도록 라인을 하나 더 추가합니다. "고맙습니다"라는 단어를 기반으로 "고맙습니다", "고맙습니다", "gracias"라는 단어를 각각 입력하는 것이 핵심 ThankYou입니다.

입력 후 대화 상자를 닫으십시오. 어딘가에 도킹할 수 있습니다.

문자 객체에 대한 지역화 설정

이 경우 표시 텍스트가 게임에서 설정된 로케일에 따라 UI 텍스트 객체로 전환되도록 합시다.

먼저 텍스트 개체를 임의로 배치합니다. 이번에는 TextMeshPro 사용하지 않지만 처리 할 수 있습니다.

배치된 오브젝트를 선택한 후 텍스트 구성 요소의 3점 메뉴에서 현지화를 선택합니다.

이렇게 하면 새 Localize String Event 구성 요소가 추가됩니다.

문자열 참조가 선택되지 않았으므로 없음을 클릭합니다.

대화 상자가 표시되면 위의 입력 필드에 설정할 텍스트 키를 입력합니다. Hello 이 경우 아래 목록에서 입력하고 두 번 클릭합니다 Hello .

문자열 참조를 확장하여 다양한 값이 설정되었는지 확인할 수 있습니다. 그게 전부입니다.

실행 및 확인

완료되면 게임을 실행해 보세요. 게임을 실행할 때 텍스트가 변경되어야 합니다. 아래 그림에서는 일본어 환경에서 실행 중이므로 일본어로 표시됩니다.

편집기의 게임 화면 오른쪽 상단에서 게임 언어를 변경할 수 있습니다. 잠시 동안 스페인어를 선택해 보십시오.

그런 다음 텍스트의 내용이 자동으로 전환되는지 확인할 수 있습니다.

보시다시피 Unity의 공식 현지화 패키지를 사용하면 UI를 쉽게 적용하고 UI로 전환하여 작동 방식을 확인할 수 있습니다.

다른 텍스트를 설정하고 텍스트가 변경되는지 확인하십시오.

다른 언어 환경에서 실행해 보십시오.

프로그램을 빌드하고 출력하여 다른 언어 환경에서 실행할 때 해당 언어로 나타나는지 확인합니다.

다음 다이어그램은 Windows 11 일본어 OS에 영어를 추가로 설치하고 영어를 기본 언어로 사용하는 환경에서 실행한 결과를 보여줍니다. 환경에 따라 언어가 전환되는지 확인할 수 있다고 생각합니다.