149 lines
4.0 KiB
C#
149 lines
4.0 KiB
C#
using Microsoft.VisualBasic.CompilerServices;
|
|
using System;
|
|
using System.ComponentModel;
|
|
using System.Diagnostics;
|
|
using System.Globalization;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
|
|
namespace HPG_68D
|
|
{
|
|
public class LanguageHelper
|
|
{
|
|
[DebuggerNonUserCode]
|
|
public LanguageHelper()
|
|
{
|
|
}
|
|
|
|
public static bool SetLanguage(string languageName, Form frm)
|
|
{
|
|
bool flag;
|
|
try
|
|
{
|
|
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(languageName);
|
|
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(languageName);
|
|
var res = new ComponentResourceManager(frm.GetType());
|
|
res.ApplyResources(frm, "$this");
|
|
ApplyResouce(frm, res);
|
|
flag = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ProjectData.SetProjectError(ex);
|
|
flag = false;
|
|
ProjectData.ClearProjectError();
|
|
}
|
|
return flag;
|
|
}
|
|
|
|
private static void ApplyResouce(Control control, ComponentResourceManager res)
|
|
{
|
|
try
|
|
{
|
|
foreach (Control control1 in control.Controls)
|
|
{
|
|
res.ApplyResources(control1, control1.Name);
|
|
if (control1 is TabControl)
|
|
ApplyResouce((TabControl) control1, res);
|
|
if (control1 is DataGridView)
|
|
ApplyResouce((DataGridView) control1, res);
|
|
if (control1.GetType().IsSubclassOf(typeof (ToolStrip)))
|
|
ApplyResouce((ToolStrip) control1, res);
|
|
if (control1 is ComboBox)
|
|
ApplyResouce((ComboBox) control1, res);
|
|
ApplyResouce(control1, res);
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
}
|
|
}
|
|
|
|
private static void ApplyResouce(ToolStrip toolstrip, ComponentResourceManager resources)
|
|
{
|
|
if (toolstrip.Items.Count <= 0)
|
|
return;
|
|
try
|
|
{
|
|
foreach (ToolStripItem toolStripItem in toolstrip.Items)
|
|
ApplyResouce(toolStripItem, resources);
|
|
}
|
|
finally
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
private static void ApplyResouce(ToolStripItem item, ComponentResourceManager resources)
|
|
{
|
|
resources.ApplyResources(item, item.Name);
|
|
if (!item.GetType().IsSubclassOf(typeof (ToolStripDropDownItem)))
|
|
return;
|
|
var stripDropDownItem = (ToolStripDropDownItem) item;
|
|
if (stripDropDownItem.DropDownItems.Count > 0)
|
|
{
|
|
try
|
|
{
|
|
foreach (ToolStripItem dropDownItem in stripDropDownItem.DropDownItems)
|
|
ApplyResouce(dropDownItem, resources);
|
|
}
|
|
finally
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void ApplyResouce(DataGridView datagridview, ComponentResourceManager resources)
|
|
{
|
|
if (datagridview.Columns.Count <= 0)
|
|
return;
|
|
try
|
|
{
|
|
foreach (DataGridViewColumn column in datagridview.Columns)
|
|
ApplyResouce(column, resources);
|
|
}
|
|
finally
|
|
{
|
|
}
|
|
}
|
|
|
|
private static void ApplyResouce(DataGridViewColumn item, ComponentResourceManager resources)
|
|
{
|
|
resources.ApplyResources(item, item.Name);
|
|
}
|
|
|
|
private static void ApplyResouce(ComboBox combobox, ComponentResourceManager resources)
|
|
{
|
|
if (combobox.Items.Count <= 0)
|
|
return;
|
|
var num = checked (combobox.Items.Count - 1);
|
|
var index = 0;
|
|
while (index <= num)
|
|
{
|
|
combobox.Items[index] = index == 0 ? resources.GetString(combobox.Name + ".Items") : (object) resources.GetString(combobox.Name + ".Items" + Conversions.ToString(index));
|
|
checked { ++index; }
|
|
}
|
|
}
|
|
|
|
private static void ApplyResouce(TabControl tabcontrol, ComponentResourceManager resources)
|
|
{
|
|
if (tabcontrol.TabCount <= 0)
|
|
return;
|
|
resources.ApplyResources(tabcontrol, tabcontrol.Name);
|
|
try
|
|
{
|
|
foreach (TabPage tabPage in tabcontrol.TabPages)
|
|
ApplyResouce(tabPage, resources);
|
|
}
|
|
finally
|
|
{
|
|
}
|
|
}
|
|
|
|
private static void ApplyResouce(TabPage item, ComponentResourceManager resources)
|
|
{
|
|
resources.ApplyResources(item, item.Name);
|
|
}
|
|
}
|
|
}
|