// 取得語系檔 internal static XDocument GetLangXDoc(e_Language lang) { #region 註解 /* * 需要變更語系的變數或屬性列表 * 1. 右上方缺陷點DataGridView Columns * 2. 左上方Lables * 3. 左下方缺陷點分類DataGridView Columns * 4. */ #endregion //Debug DebugTool.WriteLog("SystemVariable.cs", "GetLangXDoc()"); string selectedFile = ""; switch (lang) { case e_Language.Chinese: selectedFile = "zh.xml"; break; case e_Language.English: selectedFile = "en.xml"; break; case e_Language.German: selectedFile = "de.xml"; break; case e_Language.Korean: selectedFile = "ko.xml"; break; default: selectedFile = "en.xml"; break; } string file = Path.GetDirectoryName( Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + "/../Parameter Files/CPxP/i18n/"; string filename = file + selectedFile; XDocument xd = XDocument.Load(filename); return xd; }
// (2) public void OnLanguageChanged(e_Language language) { // WriteHelper.Log("OnLanguageChanged()"); }
// (4)(7)(17) public void GetName(e_Language lang, out string name) { // WriteHelper.Log("GetName()"); switch (lang) { case e_Language.Chinese: name = "片狀檢查"; break; default: name = "PxP"; break; } }
public void GetName(e_Language language, out string Name) { Name = "New Map"; }
/// <summary> /// 主畫面透過GetName根據語系取得Tab名稱,在Plugin內部則是透過out 設定傳入變數 /// </summary> /// <param name="lang"></param> /// <param name="name"></param> public void GetName(e_Language lang, out string name) { //Debug DebugTool.WriteLog("PxPTab.cs", "IWRPlugIn-GetName().", MapWindowVariable.FlawPieces.Count.ToString(), MapWindowVariable.CurrentPiece.ToString()); switch (lang) { case e_Language.Chinese: name = "片狀檢查"; break; default: name = "PxP"; break; } if (MapWindowVariable.FlawPieces.Count > 0) { MapWindowThreadStatus.IsChangePiece = true; PxPTab.MapThreadEvent.Set(); } //Debug DebugTool.WriteLog("PxPTab.cs", "IWRPlugIn-GetName() after get name do DrawTablePictures().", MapWindowVariable.FlawPieces.Count.ToString(), MapWindowVariable.CurrentPiece.ToString()); }
public void OnLanguageChanged(e_Language language) { //MessageBox.Show("OnLanguageChanged"); //DebugTool.WriteLog("PxPTab.cs", "OnLanguageChanged"); SystemVariable.Language = language; #region 註解 /* * 需要變更語系的變數或屬性列表 * 1. 右上方缺陷點DataGridView Columns * 2. 左上方Lables, Buttons * 3. 左下方缺陷點分類DataGridView Columns * 4. */ #endregion //載入語系並設定需變更的值 try { ///////////////////////////////////////////////////////////////////////////////// XDocument XDocLang = SystemVariable.GetLangXDoc(SystemVariable.Language); IEnumerable<XElement> PxPDoffGridLangItem = XDocLang.Element("Language").Element("PxPTab").Element("DoffGrid").Elements("Column"); foreach (var column in PxPVariable.DoffGridSetup) { foreach (var i in PxPDoffGridLangItem) { if (column.ColumnName == i.Attribute("Name").Value) { column.HeaderText = i.Value; } } } ///////////////////////////////////////////////////////////////////////////////// IEnumerable<XElement> MapFlawClassGridColumns = XDocLang.Element("Language").Element("MapWindow").Element("DoffSettingGrid").Elements("Column"); //foreach (DataGridViewColumn column in MapWindowVariable.MapWindowController.gvFlawClass.Columns) //{ // foreach (var i in MapFlawClassGridColumns) // { // if (column.Name == i.Attribute("Name").Value) // { // column.HeaderText = i.Value.ToString(); // } // } //} foreach (var column in MapWindowVariable.DoffTypeGridSetup) { foreach (var i in MapFlawClassGridColumns) { if (column.ColumnName == i.Attribute("Name").Value) { column.HeaderText = i.Value.ToString(); } } } ///////////////////////////////////////////////////////////////////////////////// IEnumerable<XElement> MapWindowButtons = XDocLang.Element("Language").Element("MapWindow").Element("Object").Elements("Button"); var btns = GetAll(MapWindowVariable.MapWindowController, typeof(Button)); foreach (var btn in btns) { foreach (var i in MapWindowButtons) { if (btn.Name == i.Attribute("Name").Value) { btn.Text = i.Value.ToString(); } } } ///////////////////////////////////////////////////////////////////////////////// IEnumerable<XElement> MapWindowRadioButtons = XDocLang.Element("Language").Element("MapWindow").Element("Object").Elements("RadioButton"); var rbtns = GetAll(MapWindowVariable.MapWindowController, typeof(RadioButton)); foreach (var btn in rbtns) { foreach (var i in MapWindowRadioButtons) { if (btn.Name == i.Attribute("Name").Value) { btn.Text = i.Value.ToString(); } } } ///////////////////////////////////////////////////////////////////////////////// //刷新所有須改變語系的物件 PageRefresh(); MapWindowVariable.MapWindowController.InitGvFlawClass(); } catch (Exception ex) { MessageBox.Show("Language loading error"); } // PxPThreadEvent.Set(); }
// 主畫面透過 GetName 根據語系取得分頁名稱, 在 Plugin 內部則是透過 out 設定傳入變數 public void GetName(e_Language lang, out string name) { switch (lang) { case e_Language.Chinese: name = "片狀檢查"; break; default: name = "PxP"; break; } if (MapWindowVariable.FlawPieces.Count > 0) DrawTablePictures(MapWindowVariable.FlawPieces, MapWindowVariable.CurrentPiece, 1); }