using System.Collections.Generic; using UnityEngine; namespace HIKKY.VketCloudSDK.AddOn { [CreateAssetMenu(menuName = "VketCloudSDK/LocalizationManager", fileName = "LocalizationManager")] public class LocalizationManager : ScriptableObject { [System.Serializable] public class LocalizedString { public string Key; public string English; public string Japanese; } [SerializeField] private List localizedStrings = new List(); private Dictionary _currentLanguageDictionary = new Dictionary(); public void LoadLanguage(LanguageSetting.Language language) { _currentLanguageDictionary.Clear(); foreach (var localizedString in localizedStrings) { switch (language) { case LanguageSetting.Language.English: _currentLanguageDictionary[localizedString.Key] = localizedString.English; break; case LanguageSetting.Language.Japanese: _currentLanguageDictionary[localizedString.Key] = localizedString.Japanese; break; } } } public string GetString(string key) { if (_currentLanguageDictionary.TryGetValue(key, out string localizedString)) { return localizedString; } return key; // return the key itself as a fallback } } }