如何以多种语言发送从核心银行系统生成的警报?
Posted
技术标签:
【中文标题】如何以多种语言发送从核心银行系统生成的警报?【英文标题】:How to send alerts generated from core banking system in multiple languages? 【发布时间】:2011-11-15 04:34:42 【问题描述】:我必须实施一种解决方案,将从核心银行系统生成的短信警报翻译成诸如“印地语”和各种印度本土语言之类的语言。
如果我已经拥有目前正在以英语发送的所有类型的警报,应该采用什么方法。
提前致谢。
【问题讨论】:
你的问题有点笼统。所以您需要即时翻译? 如果您通过 .properties 文件检索消息文本,只需在相应的 .properties 文件中创建相应的条目(请注意,语言 iso 代码必须是文件名的一部分)。 您有具体问题吗?你在这里描述的是相当基本的。许多框架都支持这种类型的东西。 Spring 本地化的消息包和一些基本的 String.format() 逻辑应该能让你走得很远。您还可以使用诸如 freemarker 之类的高级模板。当然,您必须事先翻译英文文本。 @Gaurav,关于首选语言的信息是否已经存在(可能是用户注册的一部分)? @gaurav:您想如何截获从银行系统直接发送给用户的 SMS 消息?在我看来,唯一的解决方案是修改银行系统,使其能够理解印地语...... 【参考方案1】:使用资源文件并将警报文本移动到它们。即使它是动态生成的文本,您也应该能够使用条件逻辑或责任链类型架构提取正确的文本。
这是 .NET 中资源文件的一个很好的介绍:resx on MSDN
【讨论】:
【参考方案2】:我建议以下方法
为不同的语言创建不同的属性文件
针对警报类型的键存储各种消息
使用java.util.Properties
实例加载所有这些不同的文件,并将它们全部存储在地图中,并以语言为键(这一切都在启动时)。
在发送消息时,我假设您已经有了用户的语言偏好(在用户注册时收到)。
现在使用语言键从映射中检索 java.util.Properties 对象,并从消息键中检索消息。
我知道完整的 Web 应用程序的标准资源包类型方法。由于 SMS 驱动的应用程序无法访问用户的区域设置,因此我可以考虑这种方法。 如果有的话,请分享任何其他特殊的标准方法。
编辑:似乎我错过了这个问题。 Gaurav 想要的是即时使用语言翻译。 但我认为正在处理的银行系统不应该用简单的英语发送消息,而是某种类型的状态代码,以后可以使用这些状态代码以适当的语言发送消息。
【讨论】:
以上是关于如何以多种语言发送从核心银行系统生成的警报?的主要内容,如果未能解决你的问题,请参考以下文章
赵毅 张涛:恒丰银行分布式核心系统-API网关技术的原型落地实践|恒银论坛