[英]Handling multiple languages across multiple applications and shared libraries (.net)
我们正在开发将以以下方式使用的产品:
我已经知道诸如RCWinTrans之类的产品,并且可以在VC ++ / MFC应用程序中处理多种语言。 但是,我们在这里面临的要求更加广泛,因此要求我们做出一些长期的决定,这些决定可能很难长期改变,因此理想情况下,我们希望现在做出最佳选择。
根据我自己的知识,我有几个问题,尽管我可能会缺少一些将很高兴获得的.net技巧。 这是我的问题:
提前致谢,
罗杰
您是否考虑过使用Inversion of Control容器(例如StructureMap或Unity) ? 这可能使您可以将默认资源与项目(IMHO最有意义)保持在一起,同时仍允许客户根据需要在本地覆盖资源。
例如,假设您具有以下界面:
public interface IResourceSupplier
{
// Returns the localized text for a given identifier.
string Localized(string identifier);
// Returns the invariant (English) text for a given identifier.
string Invariant(string identifier);
}
使用IOC,您可以为解决方案创建集中式资源供应商,该供应商将检查用户提供的替代。 如果没有提供用户替代,则可以查询每个特定于项目的资源供应商(在应用程序启动时检测到),直到找到一个返回所需资源的供应商为止。
显然,根据您的需求,您可能需要调整性能,例如,通过缓存常用资源。 使用IOC的确具有以下优点:只要接口不变,插入替代实现可能是相对琐碎的任务。
这有帮助吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.