Files
YooAssetScene/Assets/YooAsset/Editor/Localization/Localization.cs
T
hevinci 0c70f27560 update editor
1. 编辑器界面支持本地化配置。
2. 资源构建过程中的异常输出增加错误码提示。
3. 修复了资源构建界面乱码问题。
4. 修复了自动收集着色器对依赖资源无效的问题。
2023-10-13 12:06:20 +08:00

50 lines
1.1 KiB
C#

using System;
using UnityEditor;
using UnityEngine;
namespace YooAsset.Editor
{
[InitializeOnLoad]
internal static class Localization
{
private static ILocalization _localization;
static Localization()
{
var types = EditorTools.GetAssignableTypes(typeof(ILocalization));
_localization = (ILocalization)Activator.CreateInstance(types[0]);
CheckContent();
}
/// <summary>
/// 检测多语言是否配置完整
/// </summary>
private static void CheckContent()
{
foreach (ELanguageKey key in Enum.GetValues(typeof(ELanguageKey)))
{
_localization.GetLanguage(key);
}
}
/// <summary>
/// 字符串转换为枚举类型
/// </summary>
public static ELanguageKey Convert(string enumName)
{
return (ELanguageKey)Enum.Parse(typeof(ELanguageKey), enumName);
}
/// <summary>
/// 获取多语言内容
/// </summary>
public static string Language(ELanguageKey key, params object[] args)
{
string content = _localization.GetLanguage(key);
if (args.Length > 0)
return string.Format(content, args);
else
return content;
}
}
}