配置对 Windows 应用程序的多语言客户端支持
您的 Windows 项目可通过全局方式(在系统级别上)或本地方式(在 Windows 可执行文件文件夹内)访问语言资源。
自定义语言资源可以放置在全局位置,也可以放置在本地位置。默认语言资源始终为全局可用。
若要在全局范围内提供自定义资源,则需把自定义资源放置在文件目录中可以被多个 Windows 应用程序共享的中央位置。然后,若要访问特定 Windows 应用程序中的全局资源,则需把对全局资源文件目录路径的引用放置在一个 XML 配置文件中,该配置文件存储在与 Windows 可执行文件相同的目录中。为使全局资源被正确加载,包含那些资源文件的文件夹的名称必须与语言区域设置相匹配。
若要在本地提供自定义资源,需把自定义资源放置在与可执行文件相同级别的 Windows 应用程序中。为使本地资源被正确加载,资源文件的区域性和包含这些资源文件的文件夹的名称必须与语言区域设置相匹配。
对于部署而言,默认语言资源需要包括在部署内。这些资源将以全局方式访问。对于自定义资源,只要将它们配置为安装在与 Windows 可执行文件相同的文件夹中,就可以更简单地以本地方式访问这些资源。
访问本地自定义资源
将“区域选项”设置更改为“罗马尼亚语”。
注意
有关如何在 Windows XP 或 Windows 2000 中正确配置环境区域设置的详细说明,请参见本教程最后一节:“参考:配置环境区域设置”。
将 ro 语言子目录从 C:\CrystalReportViewer_resource_files\ 文件夹复制到包含 Windows 可执行文件的文件夹。
在开发期间,这可能是 \\bin\\debug\\ 文件夹。
编译并运行 Windows 应用程序。
让鼠标指针在工具栏按钮上移过。
工具提示字符串将以罗马尼亚语显示(更确切地说,由于我们用西班牙语的测试字符串编译了自定义罗马尼亚语资源,因此工具提示实际上显示西班牙语。)
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>如果您已经添加了一个全局配置文件,而且该文件中包含一个 globalResourcePath 键,本地资源就会被忽略。这是因为在访问层次结构中全局资源优先于本地资源。</p></td>
</tr>
</tbody>
</table>
访问全局自定义资源(Windows 应用程序不太常用的方法)
在本节中,将学习如何访问全局资源。
- 将“区域选项”设置更改为“罗马尼亚语”。
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>有关如何在 Windows XP 或 Windows 2000 中正确配置环境区域设置的详细说明,请参见本教程最后一节:<a href="ms227625(v=vs.80).md">“参考:配置环境区域设置”</a>。</p></td>
</tr>
</tbody>
</table>
在“Windows 资源管理器中”,找到您的 Windows 项目中包含可执行文件的子目录。
\[PROJECT_PATH]\bin\debug\
在此子目录中,新建一个包含以下信息的 XML 配置文件:
<?xml version="1.0"?> <configuration> <appSettings> <add key="globalResourcePath" value="c:\CrystalReportViewer_resource_files\"/> </appSettings> </configuration>
使用与可执行文件相同的名称保存此文件,但要添加 .config 作为扩展名。
例如:
可执行文件名称:CS\_Win\_Multilingual.exe
配置文件名:CS\_Win\_Multilingual.exe.config
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>在 Visual Basic Windows 应用程序中,可能已经自动生成了此文件。如果是这样,请在自动生成的配置文件中现有的 <configuration> 节点内追加 <app settings> 节点。</p></td>
</tr>
</tbody>
</table>
编译并运行 Windows 应用程序。
让鼠标指针在工具栏按钮上移过。
工具提示字符串将以罗马尼亚语显示(更确切地说,由于我们用西班牙语的测试字符串编译了自定义罗马尼亚语资源,因此工具提示实际上显示西班牙语。)