DDD中的本地化

伊万编码器

我有一个物理参数列表(如压力、电压等),所有租户(多租户应用程序)的所有用户都可以访问这些参数。现在,我需要一种向不同用户显示适当语言的方法。

参数是聚合根:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章