Class LocalizationSystem
- Namespace
- Framework.Systems.Localization
- Assembly
- Assembly-CSharp.dll
ILocalizationSystem 구현체. Unity Localization Package 접근 계층 래핑.
public sealed class LocalizationSystem : ILocalizationSystem
- Inheritance
-
objectLocalizationSystem
- Implements
Remarks
[초기화] InitializeAsync 는 LocalizationStartup(IAsyncStartable) 이 자동 호출. 사용자 코드에서 직접 호출 금지. [독립성] 프레임워크 내부에서 프로젝트 테이블명/키 참조 금지. 테이블명/키 상수는 각 프로젝트에서 정의한다. [캐시] LoadAssetAsync 결과는 locale+table+key 복합키로 캐싱. ChangeLanguageAsync 호출 시 캐시 전체 무효화.
Properties
CurrentLocaleCode
현재 활성 Locale 코드. ex) "ko"
public string CurrentLocaleCode { get; }
Property Value
- string
Methods
ChangeLanguageAsync(string, CancellationToken)
언어 변경. 완료 후 OnLanguageChanged 발행. 존재하지 않는 Locale 코드 → Result.Fail.
public UniTask<Result> ChangeLanguageAsync(string localeCode, CancellationToken ct = default)
Parameters
localeCodestringctCancellationToken
Returns
- UniTask<Result>
GetAvailableLocales()
사용 가능한 Locale 코드 목록. 언어 선택 UI Dropdown 등에 활용.
public IReadOnlyList<string> GetAvailableLocales()
Returns
- IReadOnlyList<string>
GetLocales()
사용 가능한 Locale 상세 정보 목록. NativeName / EnglishName 포함.
public IReadOnlyList<LocaleInfo> GetLocales()
Returns
- IReadOnlyList<LocaleInfo>
GetString(string, string)
String Table 에서 문자열 조회. 키 없으면 key 원문 반환. Development Build 에서 Warning 출력.
public string GetString(string table, string key)
Parameters
tablestringkeystring
Returns
- string
GetString(string, string, params object[])
Smart String 동적 인자 포함 문자열 조회.
public string GetString(string table, string key, params object[] arguments)
Parameters
tablestringkeystringargumentsobject[]
Returns
- string
GetStringOrEmpty(string, string)
String Table 에서 문자열 조회. 키 없으면 string.Empty 반환. 선택적 텍스트 / 툴팁 등 없어도 무방한 경우 사용.
public string GetStringOrEmpty(string table, string key)
Parameters
tablestringkeystring
Returns
- string
IsCurrentLocale(string)
현재 Locale이 지정 코드와 같은지 확인. 불필요한 ChangeLanguageAsync 호출 방지용.
public bool IsCurrentLocale(string localeCode)
Parameters
localeCodestring
Returns
- bool
LoadAssetAsync<T>(string, string, CancellationToken)
Asset Table 에서 에셋 비동기 로드. 동일 locale + table + key 조합은 내부 캐시에서 즉시 반환. 언어 변경 시 캐시 자동 무효화.
public UniTask<Result<T>> LoadAssetAsync<T>(string table, string key, CancellationToken ct = default) where T : Object
Parameters
tablestringkeystringctCancellationToken
Returns
- UniTask<Result<T>>
Type Parameters
T
Events
OnLanguageChanged
언어 변경 이벤트. (이전 코드, 새 코드) 순으로 전달.
public event Action<string, string> OnLanguageChanged
Event Type
- Action<string, string>