如何解决从自定义位置加载本地化资源
在一个 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 举报,一经查实,本站将立刻删除。