是否可以推翻I18N翻译?

时间:2009-09-28 12:18:12

标签: java internationalization translation

我需要导出信息并且必须翻译导出的文本。在数据库中,数据是非翻译形式。我的应用程序要求说用户必须也能够将导出的CSV文件导入数据库,所以我需要将翻译后的文本反转为I18N格式,这是数据库中的数据格式。我怎么能这样做或有任何理智的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

我同意你的看法。 在一般情况下,似乎无法使用!类似的东西:!!!

  • 将所有已翻译的字符串作为模式逐个使用(使用一些优先级)
  • 当模式匹配时,将其替换为该模式的未翻译值
  • 循环直到完成!!!

可以设想很多问题......


这与自然语言处理研究领域有关。 所以很好......研究!在日常编程中不是很容易使用!

但是如果你感兴趣,谷歌搜索应该找到一些算法。 我相信它们建立在一个复杂的模型上(与正则表达式相比!)。


我希望你有其他一些指导你的信息 ...... 有了更多的上下文,它可能是一个更容易的问题......

答案 1 :(得分:0)

您需要维护已翻译邮件的字典表。你可能已经有了某种形式。

Master message list
| Message key | English text     |
| 1           | Payment rejected |

Translations
|Translation       | Message key |
|Paiement rejeté   | 1           |
|Talu Gwrthodwyd   | 1           |
|Maksu hylätty     | 1           |

您可以使用联接从数据导入中搜索已翻译的文本,并将其映射回未翻译的文本(或只存储消息密钥)。

通过“减少”翻译文本可能值得使其更加健壮 - 删除不需要的空格,替换重音字符等。在存储翻译之前和搜索之前执行此操作。数据库索引应该能够快速搜索。