Table of Contents

Class LocalizationSystem

Namespace
Framework.Systems.Localization
Assembly
Assembly-CSharp.dll

ILocalizationSystem 구현체. Unity Localization Package 접근 계층 래핑.

public sealed class LocalizationSystem : ILocalizationSystem
Inheritance
object
LocalizationSystem
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

localeCode string
ct CancellationToken

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

table string
key string

Returns

string

GetString(string, string, params object[])

Smart String 동적 인자 포함 문자열 조회.

public string GetString(string table, string key, params object[] arguments)

Parameters

table string
key string
arguments object[]

Returns

string

GetStringOrEmpty(string, string)

String Table 에서 문자열 조회. 키 없으면 string.Empty 반환. 선택적 텍스트 / 툴팁 등 없어도 무방한 경우 사용.

public string GetStringOrEmpty(string table, string key)

Parameters

table string
key string

Returns

string

IsCurrentLocale(string)

현재 Locale이 지정 코드와 같은지 확인. 불필요한 ChangeLanguageAsync 호출 방지용.

public bool IsCurrentLocale(string localeCode)

Parameters

localeCode string

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

table string
key string
ct CancellationToken

Returns

UniTask<Result<T>>

Type Parameters

T

Events

OnLanguageChanged

언어 변경 이벤트. (이전 코드, 새 코드) 순으로 전달.

public event Action<string, string> OnLanguageChanged

Event Type

Action<string, string>