首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django中拥有多语言“日志消息”的最佳方法是什么?

在Django中拥有多语言“日志消息”的最佳方法是什么?
EN

Stack Overflow用户
提问于 2011-07-26 08:38:37
回答 1查看 190关注 0票数 1

在我的Django应用程序中,用户通过一系列web表单进行交互,并生成一个日志。例如,日志可能如下所示:

  1. 战斗开始了!
  2. 攻击者(Elver)使用旋风。太有效了!
  3. 守护者(天使眼)建造了一条护城河。防御+5。
  4. 暴风雨爆发了。攻击者(精灵)错过了一个回合。

问题是,这个日志也应该以其他语言显示。如果添加了一种新语言,以前的日志消息也必须在新语言中自动显示。

如您所见,有多种类型的消息(不带params的事件、带params的事件、攻击事件、构造事件等)。

什么是最好的数据结构来存储这些,这样它们就可以很容易地基于简单的模板进行翻译?

我最初的想法是为每个事件建立一个单独的模型。例如,包含攻击者、拼写、结果字段的类AttackEvent(models.Model)。但是,这些都必须追溯到某些战斗中,这样就可以很容易地查询所有这些问题,并对它们进行排序。他们都能提到使用同一个ForeignKey的related_name的战斗吗?可能不会。

另一种选择是拥有一个庞大的GenericLogEvent类,其中包含大量的params,其中大多数是blank=True,null=True。然后基于eventType进行切换。

这里最好的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2011-07-26 12:33:29

我会将消息和参数(请看一下姜戈-泡菜田)存储在日志消息模型中,并使用翻译材料中构建的Django将消息转换成其他语言。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6827354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档