본문으로 건너뛰기

현지화

Warudo에는 다국어 플러그인을 만들 수 있는 내장된 현지화 시스템이 있어요.

현재 Warudo는 다음 언어들을 공식적으로 지원해요:

LanguageCode
Englishen
Simplified Chinesezh_CN
Japaneseja

문자열 현지화

모든 내장된 로컬라이즈 문자열은 Warudo 데이터 폴더의 Localizations 디렉터리에 저장돼 있어요. 해당 JSON 파일을 열면, 문자열 ID와 현지화된 문자열을 키-값 쌍으로 볼 수 있어요.

현지화된 문자열을 가져오려면 문자열 ID에 Localized() 확장 메서드를 호출하면 돼요:

using Warudo.Core.Localization; // Import the namespace that contains the extension method

// Assume the user language is set to English
"FACE_TRACKING".Localized() // "Face Tracking"
"ALIVE_TIME_DESCRIPTION".Localized() // "The prop will be destroyed after this time."

만약 현재 언어로 아직 현지화되지 않은 문자열이면 해당 문자열은 영어로 대체되고, 영어에서도 찾을 수 없으면 문자열 ID가 반환돼요.

Unity의 HumanBodyBones 열거형도 Localized() 확장 메서드를 사용해 현지화할 수 있어요. 예를 들어, HumanBodyBones.Head.Localized()는 영어로 "Head", 중국어 간체로는 "头"를 반환해요.

현지화 추가하기

플러그인 모드를 만들고 있다면, 현지화를 추가하는 가장 권장되는 방법은 Localizations라는 디렉터리를 모드 폴더에 만드는 것이에요. 이 디렉터리 안에 지원하고 싶은 각 언어에 대한 JSON 파일을 만들어야 해요. JSON 파일은 다음 형식으로 로컬라이즈된 문자열을 포함해야 해요:

{
"en": {
"MY_STRING": "My String"
},
"zh_CN": {
"MY_STRING": "我的字符串"
},
"ja": {
"MY_STRING": "私の文字列"
}
}
정보

언어마다 하나의 JSON 파일을 만들 수도 있어요.

플러그인이 로드될 때, Warudo는 자동으로 JSON 파일에서 현지화된 문자열을 불러와요.

만약 플러그인 모드를 만들고 있지 않다면 Context.LocalizationManager를 사용해 직접 현지화된 문자열을 추가할 수도 있어요.

:

var localizationManager = Context.LocalizationManager;
localizationManager.SetLocalizedString("MY_STRING", "en", "My String");
localizationManager.SetLocalizedString("MY_STRING", "zh_CN", "我的字符串");
localizationManager.SetLocalizedString("MY_STRING", "ja", "私の文字列");

Contributions

Edit on Github

Authors

Translators

Last updated on 2024.09.24