1

我有一个关于使用 DataTransformer 的问题。基本上,我正在为我的应用程序开发一个翻译工具,其目标是尽可能通用。为此,我选择遵循该模型:用于国际和多语言目的的数据库建模

因此,在我的应用程序的不同实体中,我有可翻译的属性,这些属性只是对 i18n 元素的引用。然后,在处理翻译字符串的翻译表条目中引用这个 i18n ID。

我成功处理了我的翻译界面,但现在我的表单有问题:确实,我希望通过表单创建/更新我的一些实体。问题是我不希望用户为可翻译字段设置一个 i18n ID,当然,而是一个文本,以便我的应用程序可以处理它来更新或创建数据库中的相关翻译。我当时认为创建一个 DataTransformer 可能是一个好主意,这样我就可以从我的实体条目中的 i18nID 获取相关的翻译字符串(这样,没问题)。但我的问题是相反的:

  • 如何在我的 reverseTransform() 方法中创建/更新 i18n 条目而不知道实体值上下文?
  • 有没有办法获取以前的实体值,以便我可以获得最初存储在我的实体中的 i18 ID?我知道数据转换器在理论上完全独立于我的表单和实体,但我完全不知道如何处理这种情况。

事实上,当我用翻译后的字符串保存实体时,我无法知道我的 reverseTransform() 方法中的实体上下文,这将允许我获取实体的 i18nID 并对其进行更新。我只有输入用户的字符串,但我对此无能为力,因为我不知道它是否是更新,因为我无权访问我的实体。

你有什么线索吗?尝试使用 DataTransformer 执行此操作是个坏主意吗?

谢谢 !

4

0 回答 0