图一, 资源文件结构
根据上面的资源文件结构,在程序中调用资源选项应该是:control.Text = Resources.MultiString.SR.XXX。
XXX返回的是哪种语言将根据你定义的地区语言环境相关。
图二, 设置该项的编译选项为”stringresourcetool”
图三, 手工运行string resource tool
理论上只要按照图二设置了之后,编译工程时将自动编译这些资源文件。
以下是资源文件的选项说明
# 本文件用于产生 SR.cs 和 SR.resx 文件.
#
# 注意:如果你使用非ASCII字符,文件应该用UTF8编码格式保存. This can be achieved by right clicking
# over the file in the solution explorer, select Open With -> Text Editor (with Encoding )
# Select Unicode (UTF-8 with Signature), and save.
#
# "#!" 表示处理文件的选项
# ";" 或 "#"表示注释
# 定义SR类为public类型,而不是internal(缺省),请使用如下选项:
##! accessor_class_accessibility = public
# To specify a static property that will be used to select the appropriate
# culture for the resources, e.g. Thread.CurrentUICulture, or CultureInfo.Neutral
# to always pick the neutral culture, or a custom class.
##! culture_info = Resources.CultureInfo
# 针对此项资源文件不产生类(如第二个,第三个。。资源文件),则添加如下选项:
##! generate_class = false
# If this file has a Custom Tool Namespace set, then the tool cannot obtain
# the correct namespace that the resources will be compiled into. In this case
# it is necessary to specify the resrouce namespace. This can be worked out
# by compiling the assembly, then opening in Reflector, and looking at the resources.
#
# For VB.NET the resource namespace will always be the Root Namespace of the project.
#
# For C# the resource namespace will be (For a .strings file nested in two folders):
# <DefaultNamespace>.<FirstFolder>.<SecondFolder>
# e.g. ProjectDir\Resources\Custom\SR.strings
# => <DefaultNamespace>.Resources.Custom
#
##! resource_namespace = RootNamespace
# 在每个资源文件中必须声明此资源文件代表的语言
# [strings{.locale}]
#
# e.g.
# [strings]
# [strings.de]
# [strings.de-DE]
# [strings.de-CK]
#
#示例:缺省资源项,对应的资源文件将用于产生类,因此此资源文件必须包含所有的资源项。
[strings]
Raw = Raw string
WithArgs(a,b) = First argument {0}, Second argument {1}
WithTypedArgs(int a, string b) = Integer arg {0}, string arg {2}
MultiLine(c,d) = First Line {0}
= Second Line {1}
# 中文资源文件
[strings.zh-CN]
Raw = 中文
源代码下载:http://files.cnblogs.com/margiex/SRResourceGenerator_v2.rar
打开SRResourceGenerator\SRGenerator.CustomTool\SRResourceGenerator.sln 工程,格式是vs2005的,网上其它地方的格式是.net 1.1的。
在vs2005中编译后有install选项,如果在vs2005中不能”run custom tool”,请打开srgencode.reg文件,根据你的安装路径重新设置后合并此文件的内容到注册表。
引用
工程地址
http://projectdistributor.readify.net/Projects/Project.aspx?projectId=2
示例地址
http://projectdistributor.readify.net/Releases/Release.aspx?releaseId=10