- 组合式单位与数值基础重构:scripts/Models/UnitModel.cs, scripts/Models/UnitComponents.cs, scripts/Models/StudentModel.cs, scripts/Models/MentorModel.cs, scripts/Models/StaffModel.cs, scripts/Models/PropertyValue.cs, scripts/Models/StatusValue.cs - 任务与运行时状态骨架:scripts/Models/Task.cs, scripts/Models/TaskDefinitions.cs, scripts/Models/GameState.cs - 配置与规则定义骨架:scripts/Models/DefinitionSupport.cs, scripts/Models/DomainEnums.cs, scripts/Models/Modifiers.cs, scripts/Models/DisciplineDefinitions.cs, scripts/Models/SynergyDefinitions.cs, scripts/Models/ItemDefinitions.cs, scripts/Models/PaperDefinitions.cs, scripts/Models/RogueliteDefinitions.cs, scripts/Models/GameContentDatabase.cs, scripts/Models/CoreIds.cs - MVC/会话/系统/i18n/Mod 支撑:scripts/Core/GameSession.cs, scripts/Core/GameSystems.cs, scripts/Core/GameController.cs, scripts/Core/Mvc.cs, scripts/Core/LocalizationService.cs, scripts/Core/ContentRegistry.cs, scripts/Core/ModManifest.cs, scripts/Core/EventBus.cs - 主控流程衔接:scripts/GameManager.cs
47 lines
1.1 KiB
C#
47 lines
1.1 KiB
C#
using Godot;
|
|
using Models;
|
|
|
|
namespace Core;
|
|
|
|
/// <summary>
|
|
/// i18n 服务抽象
|
|
/// 设计说明:
|
|
/// 1) Model 只持有 LocalizedText(Key/Fallback),具体翻译交给服务层。
|
|
/// 2) 便于后续替换为自定义多语言系统或 Mod 词库。
|
|
/// 注意事项:
|
|
/// - TranslationServer 的翻译表应通过 Godot Editor 管理。
|
|
/// 未来扩展:
|
|
/// - 可加入“参数化翻译”和“运行时语言切换事件”。
|
|
/// </summary>
|
|
public interface ILocalizationService
|
|
{
|
|
string Translate(LocalizedText text);
|
|
string Translate(string key, string fallback = null);
|
|
}
|
|
|
|
public sealed class GodotLocalizationService : ILocalizationService
|
|
{
|
|
public string Translate(LocalizedText text)
|
|
{
|
|
if (text == null) return string.Empty;
|
|
return Translate(text.Key, text.Fallback);
|
|
}
|
|
|
|
public string Translate(string key, string fallback = null)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(key))
|
|
{
|
|
return fallback ?? string.Empty;
|
|
}
|
|
|
|
var translated = TranslationServer.Translate(key);
|
|
if (translated == key && !string.IsNullOrWhiteSpace(fallback))
|
|
{
|
|
return fallback;
|
|
}
|
|
|
|
return translated;
|
|
}
|
|
}
|
|
|