【发布时间】:2016-02-12 09:50:01
【问题描述】:
在我的办公室,我们正在讨论处理桌面应用程序本地化的最佳方式。
虽然使用资源文件似乎是一个显而易见的选择,但我们想到了可以使用数据库进行集中本地化管理。应用程序将在开始时连接到数据库以下载所有需要的翻译,或者它可以在呈现控件时按需下载翻译。
应用程序(使用 C# 创建)部署在高度受控的环境中,以供内部使用,并借助处理发布本身以及实时更新的工具。我们有一个文件分发存储库和一个数据库服务器来处理几个卫星站点。
数据库会是在桌面应用程序中处理用户界面翻译的可行解决方案吗?
【问题讨论】:
-
听起来不错,但这并不是每个人的最佳方式。它可能是您的方案中最好的(首先考虑一切)。问题是为什么资源对你不利?为什么是数据库?为了能够快速分享本地化更新?预计这种情况多久发生一次?优点值得缺点吗?只有您可以回答这些问题和其他问题。目前的问题要么过于宽泛(如果我们试图考虑所有事情),要么基于意见(每个人都可能考虑他的情况)。
-
@Sinatr 好吧,使用数据库存储翻译的发起者的想法是允许我们“集中管理本地化”以重用应用程序之间的翻译。这当然会导致资源文件不存在的问题 - 它依赖于网络并且速度明显较慢。我想知道是否有一种方法可以减轻数据库的缺陷,并且仍然能够从明显的优势中受益。
-
您可以构建自己的本地化。我正在使用在应用程序启动时加载并用于通过反射更新静态类属性的 txt 文件。那么您所需要的只是一个简单的机制来获取版本和下载完整的翻译(如果版本比客户已有的新)。数据库应该可以。
标签: c# database localization resources