我正在开发一个关于使用多种语言的小项目。
我有三个资源文件
我定义
我定义
我想得到每个变量的值(btnCancel,btnLogin,lbPassword,lbUsername,...)
现在,我做
如果等于" ja-JP",我从MainForm.JS.designer.cs(MainForm_JP类)获得价值
如果等于" en-US",我从MainForm.US.designer.cs(MainForm_US类)获得价值
但是如果我的项目很大,我需要更多的时间来做这件事。
我该怎样做才能获得lbUsername,lbPassword,...的价值?
p / s:我在 Visual Studio Ultimate 2012
中使用 Windows窗体应用程序答案 0 :(得分:0)
您无需手动决定使用哪个资源文件(基于当前线程的UI文化)。资源子系统(ResourceManager
)也可以在Windows窗体中自动执行此操作。
了解附属程序集。这些是特别命名的程序集,它们只包含本地化资源,但没有代码,并且放在输出目录中特别命名的子目录(例如en-US\
)中。 .NET资源子系统将识别并自动选择最合适的这些子系统来覆盖默认(非本地化)资源。
一些起点:
答案 1 :(得分:0)
创建RESX文件时,您只需要激活根文件的自动代码生成(在您的情况下为MainForm.resx)。
Visual Studio将生成包含RescourceManager
。
卫星组件也将自动生成。
正如NightOwl888已经提到过的,你应该阅读有关使用Resx文件和.NET的globalization /本地化功能的文档