2025-05-23 16:24:00 +08:00
|
|
|
using System;
|
|
|
|
using HK;
|
|
|
|
using OpenCC.Unity;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
public class LanguageManager : MonoManager<LanguageManager>
|
|
|
|
{
|
|
|
|
public enum LanguageType
|
|
|
|
{
|
2025-06-17 09:31:12 +08:00
|
|
|
English = 0,
|
2025-05-23 16:24:00 +08:00
|
|
|
Chinese,
|
|
|
|
}
|
|
|
|
|
|
|
|
public delegate void ChangeLanguage(LanguageType type);
|
2025-06-17 09:31:12 +08:00
|
|
|
|
2025-05-23 16:24:00 +08:00
|
|
|
OpenChineseConverter converter;
|
|
|
|
[SerializeField] private bool isSimplified;
|
|
|
|
public bool IsSimplified => isSimplified;
|
|
|
|
|
|
|
|
public ChangeLanguage LanguageChange;
|
2025-06-17 09:31:12 +08:00
|
|
|
public OpenChineseConverter Converter => converter;
|
|
|
|
public LanguageType type;
|
|
|
|
|
2025-05-23 16:24:00 +08:00
|
|
|
public override void Initialize()
|
|
|
|
{
|
|
|
|
base.Initialize();
|
|
|
|
converter = new OpenChineseConverter();
|
2025-08-20 11:14:21 +08:00
|
|
|
type = LanguageType.English;
|
2025-05-23 16:24:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
public string T2S(string content)
|
|
|
|
{
|
|
|
|
return converter.T2S(content);
|
|
|
|
}
|
|
|
|
|
|
|
|
public string S2T(string content)
|
|
|
|
{
|
|
|
|
return converter.S2T(content);
|
|
|
|
}
|
2025-06-17 09:31:12 +08:00
|
|
|
|
|
|
|
public void ChangeLanguageType(LanguageType type)
|
|
|
|
{
|
|
|
|
this.type = type;
|
|
|
|
LanguageChange?.Invoke(type);
|
|
|
|
}
|
2025-08-20 11:14:21 +08:00
|
|
|
|
|
|
|
public void ChangeLanguageType()
|
|
|
|
{
|
|
|
|
this.type = type == LanguageType.English ? LanguageType.Chinese : LanguageType.English;
|
|
|
|
LanguageChange?.Invoke(type);
|
|
|
|
}
|
2025-05-23 16:24:00 +08:00
|
|
|
}
|