在我的Django应用程序中,用户通过一系列web表单进行交互,并生成一个日志。例如,日志可能如下所示:
问题是,这个日志也应该以其他语言显示。如果添加了一种新语言,以前的日志消息也必须在新语言中自动显示。
如您所见,有多种类型的消息(不带params的事件、带params的事件、攻击事件、构造事件等)。
什么是最好的数据结构来存储这些,这样它们就可以很容易地基于简单的模板进行翻译?
我最初的想法是为每个事件建立一个单独的模型。例如,包含攻击者、拼写、结果字段的类AttackEvent(models.Model)。但是,这些都必须追溯到某些战斗中,这样就可以很容易地查询所有这些问题,并对它们进行排序。他们都能提到使用同一个ForeignKey的related_name的战斗吗?可能不会。
另一种选择是拥有一个庞大的GenericLogEvent类,其中包含大量的params,其中大多数是blank=True,null=True。然后基于eventType进行切换。
这里最好的方法是什么?
发布于 2011-07-26 12:33:29
我会将消息和参数(请看一下姜戈-泡菜田)存储在日志消息模型中,并使用翻译材料中构建的Django将消息转换成其他语言。
https://stackoverflow.com/questions/6827354
复制相似问题