我有一个物理参数列表(如压力、电压等),所有租户(多租户应用程序)的所有用户都可以访问这些参数。现在,我需要一种向不同用户显示适当语言的方法。
参数是聚合根:
class Parameter
{
public string Name { get; }
public string Description { get; }
}
我需要一种方法来本地化名称和描述。我的第一种方法是这样的:
class Parameter
{
public IDictionary<Locale, NameAndDescription> Info { get; }
}
但不知何故,我觉得这是不正确的。
此外,管理员还希望在 UI 中编写不同的翻译。但用户只希望看到选定的翻译(如果需要,可切换)。
我应该如何解决这个问题?我应该从域中完全删除它吗?我的应用层能否有方法来编写适当的翻译(方便管理员)?我应该从上下文解析当前语言环境,还是应该期望在到达端点时将其传递给 URI/DTO?任何有关 DDD 本地化的其他信息将不胜感激。
本地化应该在另一个bounded context
,可能使用 CRUD 架构实现,因为没有需要保护的业务规则/不变量。然后,在 中UI
,使用访问它的翻译方法,根据用户的区域设置和/或管理设置向用户显示 的bounded context
名称parameters
。
换句话说,本地化在您的核心域中似乎没有任何作用,它们不参与保护域不变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句