资源文件是应用程序一部分但未编译的文件,例如图标文件或音频文件。 由于这些文件不是编译过程的一部分,因此无需重新编译二进制文件即可对其进行更改。 如果计划本地化应用程序,则应将资源文件用于本地化应用程序时需要更改的所有字符串和其他资源。
谨慎
可以使用 .resx
序列化 BinaryFormatter
文件中的资源,不安全。 仅在你信任的生成过程中包含这些 .resx
文件。
有关 .NET 应用中的资源的详细信息,请参阅 .NET 应用中的资源。
与资源协作
在托管代码项目中,打开项目属性窗口。 可以通过以下任一方式打开属性窗口:
- 在 解决方案资源管理器 中右键单击项目节点并选择 “属性”
- 在 Ctrl+Q 搜索框中键入项目属性
- 在解决方案资源管理器中按 Alt+Enter
选择“ 资源 ”选项卡。如果项目不包含 .resx 文件,可以添加和删除不同类型的资源,并修改现有资源。
Visual Studio 2022 及更高版本中的资源资源管理器改进
从 Visual Studio 2022 版本 17.11 开始,资源资源管理器已显著改进。 请参阅 改进后的 Visual Studio 资源资源管理器简介。
若要使用新的资源资源管理器,需要有一个包含一个或多个资源文件的 .NET 项目(.resx
)。 若要打开资源资源管理器,请右键单击解决方案资源管理器中的任何资源文件,然后选择“ 使用>资源资源管理器打开”。 或者,可以使用键盘快捷方式 Ctrl+Alt+R。
打开新的资源管理器时,左侧会显示所有已存储资源的概览以及每个文件的区域设置。 可以配置 datagrid 中可见的区域设置。 此接口允许你并行比较翻译并就地编辑翻译。
搜索资源字符串
在网格左上角,您可以使用搜索框来搜索所有资源文件。 若要搜索资源,请在工具栏上键入搜索框,然后按 Enter。 数据网格将仅显示与名称、值或注释相匹配的资源。 可以使用通配符 (*
) 执行部分匹配,使用引号 ("
) 执行完全匹配。
向某资源的特定翻译添加注释
注释是为资源提供更多信息或上下文的有用方法,例如字符串的含义、用法或语气。 在资源资源管理器中,可以向资源的每个翻译添加注释,并在数据网格中一次性查看它们。
若要向资源添加批注,请选择与要批注的翻译对应的单元格,然后单击工具栏上的 “编辑批注 ”按钮,或按 Shift+Enter。 批注框显示在单元格下方,可在其中键入批注。 按 Enter 保存批注,或 按 Esc 将其丢弃。
可以通过单击批注框或使用同一键盘快捷方式来编辑或删除现有批注。 若要查看资源的所有注释,请在具有批注的每个单元格的角落中查找小三角形图标。 将鼠标悬停在图标上可以查看评论提示,或点击图标打开评论框。
注释可供资源文件的多个用户使用。 翻译人员、开发人员或资源管理器可以在翻译旁边留下笔记、问题、解释或警告。 每个单元格角落的一个小图标表示有批注存在。
筛选资源
若要筛选资源,请单击工具栏上的筛选器图标,然后选择要应用的条件。 可以按名称、值、注释、类型或文件筛选资源。
过滤器 | DESCRIPTION |
---|---|
名称 | 仅显示具有特定名称或前缀的资源。 |
价值 | 仅显示具有特定值或包含特定字符串的资源。 |
注释 | 仅显示具有注释或在其注释中包含特定字符串的资源。 |
类型 | 仅显示具有特定类型的资源,例如字符串、图像或图标。 |
文件 | 仅显示属于特定文件或文化的资源。 |
可以合并多个筛选器以缩小结果范围,并通过单击“清除筛选器”按钮将其清除。
验证和警告
占位符是运行时由动态值替换的特殊标记,例如 {0}
, {1}
或 {name}
。 如果在资源中使用占位符,则需要确保所有语言本地化都一致,否则可能会导致应用出错或出现意外行为。
新的资源管理器会自动检查每个资源的占位符,并在默认语言环境和其他任何本地化之间不匹配时显示警告图标。 例如,如果资源的默认值为“Hello, {name}!”,并且西班牙语值为“Hola, {nombre}!”,则会看到一个警告图标,显示占位符名称不同。 可以将鼠标悬停在图标上以查看包含不匹配详细信息的工具提示,然后单击它进行修复。
缺少翻译是影响应用用户体验的另一个常见问题。 如果未为特定区域性中的资源提供翻译,应用将回退到默认区域性,对于某些用户来说可能不正确或理想。 如果某个区域性中的资源没有值,资源管理器会通过显示警告图标来帮助你避免此问题。 例如,如果> 某个资源具有默认设定 File
且没有法语文化的值,则会看到一个警告图标,显示翻译缺失。 可以将鼠标悬停在图标上,查看带有 “无值 ”消息的工具提示,然后选择它来添加值。
自定义选项
Visual Studio 2022 及更高版本中的资源资源管理器与屏幕阅读器和辅助技术兼容,使具有视觉障碍或残疾的开发人员更易于访问。 可以使用键盘快捷方式在数据网格中导航、编辑值和注释,以及执行常见操作。 您还可以使用旁白读取每个单元格的内容,以及工具提示和警告。
若要调整缩放级别,请使用工具栏上的缩放滑块或键盘快捷方式 Ctrl+= 和 Ctrl+- 放大或缩小。使用 Ctrl+0 将缩放级别重置为默认值。
资源资源管理器的主题与 Visual Studio 环境的其余部分保持一致。 可以在浅色、深色或蓝色主题之间进行选择,资源资源管理器将相应地进行调整。 还可以使用 “工具>选项>环境>字体和颜色”对话框更改数据网格的字体和颜色。
其他项目类型中的资源
资源在 .NET 项目中的管理方式与其他项目类型不同。 有关资源的更多信息,请参阅:
- 通用 Windows 平台 (UWP) 应用,请参阅 应用资源和资源管理系统
- 托管的 C++/CLI 项目,请参阅 桌面应用中的资源
- C++项目,请参阅“使用资源文件”和“如何:创建资源”
- 使用 “资源视图” 窗口(查看>其他 Windows>资源视图)显示项目中包含的资源文件。
支持选项
如果在管理应用程序资源时遇到问题,请参阅 资源编辑器中的“排查错误”。