Interface ILocalizationSystem
- Namespace
- Framework.Systems.Localization
- Assembly
- Assembly-CSharp.dll
현지화 조회 / 언어 변경 / 에셋 로드 단일 진입점.
public interface ILocalizationSystem
Examples
var title = _localization.GetString(
LocalizationTables.UI,
LocalizationKeys.UI.StartButton);
var result = await _localization.ChangeLanguageAsync(LocaleCodes.Korean, ct);
var logo = await _localization.LoadAssetAsync<Sprite>(
LocalizationTables.UIAsset,
LocalizationKeys.UI.Logo,
ct);
Remarks
[규칙] InitializeAsync 는 RootScope 에서 자동 호출. 사용자 직접 호출 금지. [규칙] 키 하드코딩 금지. LocalizationKeys / LocalizationTables 상수 경유. [규칙] 언어 코드 하드코딩 금지. LocaleCodes 상수 경유.
Properties
CurrentLocaleCode
현재 활성 Locale 코드. ex) "ko"
string CurrentLocaleCode { get; }
Property Value
- string
Methods
ChangeLanguageAsync(string, CancellationToken)
언어 변경. 완료 후 OnLanguageChanged 발행. 존재하지 않는 Locale 코드 → Result.Fail.
UniTask<Result> ChangeLanguageAsync(string localeCode, CancellationToken ct = default)
Parameters
localeCodestringctCancellationToken
Returns
- UniTask<Result>
GetAvailableLocales()
사용 가능한 Locale 코드 목록. 언어 선택 UI Dropdown 등에 활용.
IReadOnlyList<string> GetAvailableLocales()
Returns
- IReadOnlyList<string>
GetLocales()
사용 가능한 Locale 상세 정보 목록. NativeName / EnglishName 포함.
IReadOnlyList<LocaleInfo> GetLocales()
Returns
- IReadOnlyList<LocaleInfo>
GetString(string, string)
String Table 에서 문자열 조회. 키 없으면 key 원문 반환. Development Build 에서 Warning 출력.
string GetString(string table, string key)
Parameters
tablestringkeystring
Returns
- string
GetString(string, string, params object[])
Smart String 동적 인자 포함 문자열 조회.
string GetString(string table, string key, params object[] arguments)
Parameters
tablestringkeystringargumentsobject[]
Returns
- string
GetStringOrEmpty(string, string)
String Table 에서 문자열 조회. 키 없으면 string.Empty 반환. 선택적 텍스트 / 툴팁 등 없어도 무방한 경우 사용.
string GetStringOrEmpty(string table, string key)
Parameters
tablestringkeystring
Returns
- string
IsCurrentLocale(string)
현재 Locale이 지정 코드와 같은지 확인. 불필요한 ChangeLanguageAsync 호출 방지용.
bool IsCurrentLocale(string localeCode)
Parameters
localeCodestring
Returns
- bool
LoadAssetAsync<T>(string, string, CancellationToken)
Asset Table 에서 에셋 비동기 로드. 동일 locale + table + key 조합은 내부 캐시에서 즉시 반환. 언어 변경 시 캐시 자동 무효화.
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
언어 변경 이벤트. (이전 코드, 새 코드) 순으로 전달.
event Action<string, string> OnLanguageChanged
Event Type
- Action<string, string>