Example #1
0
    public List <LocalizedText> textsOnScene = new List <LocalizedText>();               //언어 변경 가능시 유지, 자동 설정시 필요 없음

    private void Awake()
    {
        if (isInstanceNull())
        { //싱글톤
            instance = this;
        }
        else
        {
            Destroy(gameObject);
        }
        DontDestroyOnLoad(gameObject);

        GetLanguagePacks(); //현지화 데이터 로드
                            //언어 변경 기능 삽입시 이 부분을 Application.systemLanguage가 아닌 세이브한 데이터에서 불러오면 됩니다.
        currentLanguagePack = SetLanguage(Application.systemLanguage);

        ApplyLanguage();
    }
Example #2
0
    /// <summary>
    /// SystemLanguage가 아닌 string형으로 비교해도 무방. 존재하는 모든 언어코드를 넣는 게 아니라면 default 설정은 빼먹지 맙시다.
    /// </summary>
    private StringBundle SetLanguage(SystemLanguage language)
    {
        StringBundle result = new StringBundle();
        string       languageString;

        switch (language)
        {
        case SystemLanguage.English:
            languageString = "English";     //xml파일의 Languages노드 내의 언어명들과 같게 입력해주세요.
            break;

        case SystemLanguage.Portuguese:
            languageString = "Portuguese";
            break;

        case SystemLanguage.ChineseSimplified:
            languageString = "ChineseS";
            break;

        case SystemLanguage.ChineseTraditional:
            languageString = "ChineseT";
            break;

        case SystemLanguage.Japanese:
            languageString = "Japanese";
            break;

        case SystemLanguage.Korean:
            languageString = "Korean";
            break;

        default:
            languageString = "English";
            break;
        }
        result.localizingString = GetString("localizedString", languageString);
        StringBundle의 각 멤버마다 하나씩 추가해주면 됩니다.

        return(result);
    }