在我们的应用程序中,我们有一个数据项集合,每个数据项都有一个
DisplayedName
财产。此属性应本地化,即应以用户选择的语言显示。因此,另一个财产,
DisplayedNameResourceKey
,指定应由
显示名称
财产。
在简化代码中,这意味着:
public string DisplayedName
{
get
{
return MyResources.ResourceManager.GetObject(this.DisplayedNameResourceKey);
}
}
public string DisplayedNameResourceKey
{
get;
set;
}
现在,问题是:用户应该能够编辑这些项,包括
显示名称
,或者更准确地说
显示的名称资源密钥
. 不仅如此,用户还应该能够以某种方式定义新的资源,然后他可以引用这些资源。也就是说,他可以从一组预定义的资源(一些常用的名称)中进行选择,也可以定义一个自定义资源,然后用户也需要对其进行本地化。
但是,用户不能将自定义资源添加到
MyResources
在运行时不编译。因此,需要另一种方法。它不必是一种非常友好的方式(例如不需要用户界面),因为这通常由我们的服务工程师来完成。
我正在考虑使用一个包含资源密钥对和相应翻译的txt或csv文件。在预定义的位置,每种语言都有一个单独的文件。但我对这个想法并不满意,因为它涉及到解决资源问题的大量工作。
有人知道解决这种情况的好办法吗?