问题描述
在一个 c# 应用程序中,我有一个资源文件,其中包含英文字符串 (strings.resx
) 和它的几个本地化版本(strings.es.resx
、strings.fr.resx
等)。编译时,基本字符串包含在程序集中,每个额外的本地化资源文件都被编译成一个 .dll 文件,该文件放置在一个命名为语言代码(例如 es/<appname>.resource.dll
)的文件夹中。
到目前为止,我将所有本地化的 dll 文件与应用程序捆绑在一起。我猜大多数用户最多只需要一个额外的本地化资源文件,所以我想发布没有额外本地化文件的应用程序,并且只在需要时下载它们。假设用户将应用安装在 program files
或其他受保护的文件夹中,我想将本地化文件保存在 %localAppData%
中的文件夹中。
如果本地化的资源文件不在 app 文件夹中,我该如何加载它们?目前它们都在源文件夹 local/strings.resx
、local/strings.es.resx
等中,我可以使用
var rm = new ResourceManager("MyApplication.local.strings",typeof(Form1).Assembly);
具有当前 CultureInfo
的字符串。
我想告诉应用程序:加载字符串,但还要检查此特定文件夹(例如 %localAppData%/MyApplication/local
)以获取该资源文件的本地化版本。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)