我有一个包含所有按钮、标签的表单,我计划通过使用 INI 文件来支持多语言。我创建了 Lang Class 来保存价值,如果用户更改语言,即时更新而不需要重新启动程序。
我当前的代码:
private void LangGet(string LangID)
{
IConfigSource Lng = new IniConfigSource(Globals.Path.FolderLang + "\\" + LangID + ".ini");
// Set
var g = Lng.Configs["general"];
Lang.Id.General.OK = g.GetString("OK");
Lang.Id.General.Cancel = g.GetString("Cancel");
Lang.Id.General.Error = g.GetString("Error");
...
Lang.Id.General.lblStart = g.GetString("lblStart");
...
我想要代码更高效,但我不知道如何......
IConfigSource Lng = new IniConfigSource(Globals.Path.FolderLang + "\\" + LangID + ".ini");
var g = Lng.Config["general"];
forloop ( ... )
{
item = g.GetString(item);
}
如果更强大
IConfigSource Lng = new IniConfigSource(Globals.Path.FolderLang + "\\" + LangID + ".ini");
forloop ( ... )
{
forloop ( ... )
{
TheName = Lng.Config[TheClass].GetString(TheName);
}
}
加载INI加载到变量后,控制文本获取变量值的时间
forloop ( control )
{
forloop ( class )
{
if ( control name contain btn )
{
item.Text = Lng.Configs[TheClass].GetString(item.name?);
}
if ( control name contain lbl )
{
item.Text = Lng.Configs[TheClass].GetString(item.name?);
}
// So On...