多语言调试

This commit is contained in:
wuwenbo 2025-05-28 21:15:02 +08:00
parent 3e652f3e66
commit db04cd939b

View File

@ -111,6 +111,10 @@ namespace Logic.Editor
{
ExcelExportToAsset();
}
if (InspectorUtils.InspectorButtonWithTextWidth("去重"))
{
DuplicateRemoval();
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
@ -155,18 +159,41 @@ namespace Logic.Editor
{
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
InspectorUtils.InspectorTextWidthRich($"<b>{item.ID} : </b>");
InspectorUtils.InspectorTextWidthRich($" <b>中文:{item.ZH} </b>");
InspectorUtils.InspectorTextWidthRich($" <b>中文:</b> {item.ZH}");
if (!string.IsNullOrEmpty(item.EN))
InspectorUtils.InspectorTextWidthRich($" <b>英语:{item.EN} </b>");
InspectorUtils.InspectorTextWidthRich($" <b>英语:</b> {item.EN}");
if (!string.IsNullOrEmpty(item.JP))
InspectorUtils.InspectorTextWidthRich($" <b>日语:{item.JP} </b>");
InspectorUtils.InspectorTextWidthRich($" <b>日语:</b> {item.JP}");
if (!string.IsNullOrEmpty(item.KR))
InspectorUtils.InspectorTextWidthRich($" <b>韩语:{item.KR} </b>");
InspectorUtils.InspectorTextWidthRich($" <b>韩语:</b> {item.KR}");
var unicode = "";
foreach (var c in item.ZH) unicode+= $"{(int)c:X4} ";
InspectorUtils.InspectorTextWidthRich($" <b>Unicode</b> {unicode}");
EditorGUILayout.EndVertical();
EditorGUILayout.Space();
}
// 新增辅助方法:移除 CSV 字段两端的引号并处理内部转义
private void DuplicateRemoval()
{
// 排序 asset.items 保证id从小到大
_asset.Items = _asset.Items.OrderBy(i => i.ID).ToList();
_zhStrDict.Clear();
var deleteItem = new HashSet<MultilingualItem>();
foreach (var item in _asset.Items)
{
if (_zhStrDict.ContainsKey(item.ZH))
{
deleteItem.Add(item);
continue;
}
_zhStrDict[item.ZH] = item.ID;
}
foreach (var item in deleteItem) _asset.Items.Remove(item);
_asset.RefreshDict();
}
private string RemoveCsvQuotes(string field)
{
if (string.IsNullOrEmpty(field)) return field;
@ -283,7 +310,7 @@ namespace Logic.Editor
StringBuilder sb = new StringBuilder();
foreach (var item in _asset.Items)
{
sb.Append($"{item.ID}%$#@!{item.ZH}%$#@!{item.EN}%$#@!{item.JP}%$#@!{item.KR}!@#$%\n");
sb.Append($"{item.ID}%$#@!{item.ZH}%$#@!{item.EN}%$#@!{item.JP}%$#@!{item.KR}!@#$%");
}
sw.Write(sb.ToString());
}