ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

资源文件就是包含了能够被转化成不同语言的字符串的 XML 文件。你可以分别为每种需要被转化到一个 Web 页面中的每种语言都创建单独的资源文件。

全局资源文件能够被网站中的任何页面或者组件所使用。而局部资源文件则被关联到一个单独的 Web 页面并且只包含相关页面中的已转化的文字。关于更多信息,请参考:[ASP.NET Web 页面资源概览]。

Visual Studio 2005 中包括了一个能够简化资源文件创建过程的资源管理编辑器。关于更多信息,请参考:[实践:创建 ASP.NET 网站的资源文件(Visual Studio)]。

创建一个 ASP.NET 网站的资源文件

  1. 创建一个扩展名是 .txt 的新文本文件。
  2. 在这个文本文件中,按照 key=value 的格式来创建 key/value 数据对。并且关键字对于字母大小写不敏感。

    下列代码范例中就说明了两个这样的 key/value 数据对:

    Button1Text=Submit
    Label1Text=Welcome!
  3. 保存文件。
  4. 在 Microsoft Windows 中,打开命令行提示窗口,然后转到包含了 .NET Framework 2.0 命令行工具的目录。这个路径如下所示:
    %windows%\Microsoft.NET\Framework\version\sdk\bin

    上例中的 version 部分需要被替换成你当前所使用的 .NET Framework 版本号。

  5. 使用下列语法来运行 Resgen 工具:
    resgen textfile.txt resourcefile.resx

    例如,如果你在第 1 步中所创建的文件被命名为 SiteResources.txt,那么命令行就有可能是这样:

    resgen c:\WebSite\SiteResources.txt c:\WebSite\SiteResources.resx

    你也可以包括一个完整的路径,在指定文本文件名称和资源文件名称的时候。

    在命令运行的时候,它会创建一个包括了正确 XML 定义和元素的 .resx 文件。

  6. 把这个资源文件复制到网站中的适当位置:
    • 如果要把这个资源文件作为全局资源来使用,就可以把它复制到 App_GlobalResources 目录中。
    • 如果要把这个资源文件作为局部资源来使用,就可以把它复制到 App_LocalResources 目录中。
  7. 为你需要在你的应用程序中被支持的每种语言或者语言文化(CultrueInfo 名称)而创建额外的资源文件。另外,你还可以做下列任何事情:
    • 复制第一个资源文件并且重新命名成一个包括了语言或者语言文化信息的新文件,然后把值元素的内容转化成其他的语言。
    • 使用相同的 key/value 数据对来重复第 1 步到第 5 步的操作,但是需要使用已被转化成其他语言的值。另外,第 5 步中的文件名称中还包括了语言或者语言文化名称。

    例如,SiteResources.resx 文件的西班牙语版本将会是 SiteResources.es.resx。

posted on 2007-02-26 22:00  Laeb  阅读(398)  评论(0编辑  收藏  举报