c# - 使用 C# Windows 窗体进行本地化,无法访问我的 .resx 文件
问题描述
您好我创建了这个 WinForm 程序。它有几种形式。
我在 StackoverFlow 上寻找了一个教程或一些帮助并找到了这个。 如何在 C# 中使用本地化
这真的很有帮助,但是.. 我创建了一个 ResourceString.de-DE.resx 文件并将其添加到属性文件夹中。添加了一些字符串,所以我可以测试它。并将访问修饰符更改为公共。
然后我想访问属性文件夹以使用 ResourceString.de-De.resx 文件。
但它没有得到建议。
代码最终必须看起来像这样:
private void setLanguage()
{
btnSwitchLanguage.Text = Properties.ResourceString.de-DE.btnSwitchLanguage;
}
我错过了什么吗?
任何帮助表示赞赏。:) 谢谢
解决方案
您不需要添加Strings.resx
文件,您的项目已经有资源文件Resources.resx
。Resources.de.resx
因此,如果需要对"de-DE"进行本地化,您应该添加一个带有名称的新资源文件 。因此,您不仅可以将字符串放入此资源文件,还可以放入图像、图标等。
除非您不打算从另一个程序集访问此资源,否则无需更改为Access Modifier
。Public
注意:当您在 Visual Studio 中工作时,Visual Assist 建议对于所有语言都是相同的,从
Properties.Resources
.
推荐阅读
- android - 从 Activity 中的重叠布局中单击上一个布局
- r - 如何让 ggplot facet-wrap 仅在 hh:mm 中使用 x 轴刻度(无日期)
- matplotlib - 如何在没有@PLT 的情况下在汇编中正常调用 printf 但只需在 gcc 中使用标准库中的 -l 选项调用 printf ,
- rancher - 通过集群 API 构建的 Rancher Kube API 健康检查失败
- symfony - 如何在 (base.html.twig) 中设置“Google Analytics”
- java - 如何在 gzip 标头后正确设置 spark java 中的内容长度
- powershell - 尝试使用 ParseExact 将字符串转换为日期时间
- machine-learning - 如何在机器学习中管理具有许多不同值(500)的分类变量?
- excel - Excel VBA遍历过滤条件并将数据保存为新工作簿
- asp.net - 如何在asp.net web api中使用带有swagger的自定义操作名称?