Initial commit
This commit is contained in:
		
							
								
								
									
										259
									
								
								Handler/Project/Language/Lang.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										259
									
								
								Handler/Project/Language/Lang.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,259 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
|  | ||||
| namespace Project | ||||
| { | ||||
|     public static class Lang | ||||
|     { | ||||
|         ////main | ||||
|         public static string OK { get; set; } | ||||
|         public static string Q_EXIT { get; set; } | ||||
|         public static string ERROR { get; set; } | ||||
|         public static string NO { get; set; } | ||||
|         public static string YES { get; set; } | ||||
|  | ||||
|         public static string MENU_RESET { get; set; } | ||||
|         public static string MENU_LOGIN { get; set; } | ||||
|         public static string MENU_LOGOUT { get; set; } | ||||
|         public static string MENU_RESULT { get; set; } | ||||
|         public static string MENU_MODELEDIT { get; set; } | ||||
|         public static string MENU_SETUP { get; set; } | ||||
|  | ||||
|         public static string RESULT { get; set; } | ||||
|         public static string LOG { get; set; } | ||||
|         public static string HISTORY { get; set; } | ||||
|  | ||||
|         public static string NOT_READY { get; set; } | ||||
|         public static string CAN_NOT_RUN_AUTOMODE { get; set; } | ||||
|  | ||||
|         public static string m_오류_AIROFF { get; set; } | ||||
|         public static string m_오류_AIRDETECT { get; set; } | ||||
|         public static string m_오류_SAFTYAREA { get; set; } | ||||
|         public static string m_오류_REQUIRELOTLIST { get; set; } | ||||
|         public static string m_진행중 { get; set; } | ||||
|         public static string m_준비완료 { get; set; } | ||||
|  | ||||
|         public static string m_트레이로드 { get; set; } | ||||
|         public static string m_시작조건검사 { get; set; } | ||||
|         public static string m_시작조건프로그램 { get; set; } | ||||
|         public static string m_시작조건장치 { get; set; } | ||||
|         public static string m_카메라촬영 { get; set; } | ||||
|         public static string m_이미지수집 { get; set; } | ||||
|         public static string m_비젼검사_원점 { get; set; } | ||||
|         public static string m_비젼검사_DOT { get; set; } | ||||
|         public static string m_LASERMARKING { get; set; } | ||||
|         public static string m_AIRBLOW { get; set; } | ||||
|         public static string m_트레이언로드 { get; set; } | ||||
|          | ||||
|         public static void CreateFile() | ||||
|         { | ||||
|             //utf8파일로 파일을 생성한다. | ||||
|             //if (System.IO.File.Exists(FileName)) System.IO.File.Delete(FileName); | ||||
|             iniHelper.CreateFile(); //System.IO.File.WriteAllText(FileName, "//INI FILE", System.Text.Encoding.Unicode); | ||||
|  | ||||
|             int i = 1; | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Q_EXIT); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.OK); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.ERROR); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.NO); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.YES); | ||||
|              | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.MENU_RESULT); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.MENU_LOGOUT); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.MENU_LOGIN); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.MENU_MODELEDIT); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.MENU_SETUP); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.MENU_RESET); | ||||
|  | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.RESULT); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.LOG); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.HISTORY); | ||||
|  | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.NOT_READY); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.CAN_NOT_RUN_AUTOMODE); | ||||
|  | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_오류_AIROFF); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_오류_AIRDETECT); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_오류_SAFTYAREA); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_오류_REQUIRELOTLIST); | ||||
|  | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_진행중); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_준비완료); | ||||
|  | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_트레이로드); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_시작조건검사); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_시작조건프로그램); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_시작조건장치); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_카메라촬영); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_이미지수집); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_비젼검사_원점 ); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_비젼검사_DOT ); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_LASERMARKING ); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_AIRBLOW); | ||||
|             SetINIValue(string.Format("MSG{0:0000}", i++), Lang.m_트레이언로드); | ||||
|  | ||||
|             iniHelper.Flush(); | ||||
|         } | ||||
|  | ||||
|         public static bool Loading(string langName) | ||||
|         { | ||||
|             Lang.SelectedLang = langName; | ||||
|              iniHelper = new arUtil.INIHelper(FileName); | ||||
|  | ||||
|             int i = 1; | ||||
|  | ||||
|             Lang.Q_EXIT = GetINIValue(string.Format("MSG{0:0000}", i++), "종료하시겠습니까?"); | ||||
|             Lang.OK = GetINIValue(string.Format("MSG{0:0000}", i++), "확인"); | ||||
|             Lang.ERROR = GetINIValue(string.Format("MSG{0:0000}", i++), "오류"); | ||||
|             Lang.NO = GetINIValue(string.Format("MSG{0:0000}", i++), "아니오"); | ||||
|             Lang.YES = GetINIValue(string.Format("MSG{0:0000}", i++), "예"); | ||||
|  | ||||
|             Lang.MENU_RESULT = GetINIValue(string.Format("MSG{0:0000}", i++), "History"); | ||||
|             Lang.MENU_LOGOUT = GetINIValue(string.Format("MSG{0:0000}", i++), "Logout"); | ||||
|             Lang.MENU_LOGIN = GetINIValue(string.Format("MSG{0:0000}", i++), "Login"); | ||||
|             Lang.MENU_MODELEDIT = GetINIValue(string.Format("MSG{0:0000}", i++), "Model Editor"); | ||||
|             Lang.MENU_SETUP = GetINIValue(string.Format("MSG{0:0000}", i++), "Setting"); | ||||
|             Lang.MENU_RESET = GetINIValue(string.Format("MSG{0:0000}", i++), "Clear"); | ||||
|  | ||||
|             Lang.RESULT = GetINIValue(string.Format("MSG{0:0000}", i++), "Result"); | ||||
|             Lang.LOG = GetINIValue(string.Format("MSG{0:0000}", i++), "Log"); | ||||
|             Lang.HISTORY = GetINIValue(string.Format("MSG{0:0000}", i++), "History"); | ||||
|             Lang.NOT_READY = GetINIValue(string.Format("MSG{0:0000}", i++), "Input sensor condition not completed."); | ||||
|  | ||||
|             Lang.CAN_NOT_RUN_AUTOMODE = "AUTO-RUN MODE{n}[자동실행] 중에는 사용할 수 없습니다{n}중지 후 다시 시도하세요"; | ||||
|             Lang.m_오류_AIROFF = GetINIValue(string.Format("MSG{0:0000}", i++), "AIR OFF{n}AIR 공급상태가 [OFF] 입니다{n}전면의 [AIR S/W]를 누르세요{n}출력포트 : Y004"); | ||||
|             Lang.m_오류_AIRDETECT = GetINIValue(string.Format("MSG{0:0000}", i++), "AIR NOT DETECTED{n}장비 전면커버를 열고 AIR 감지 센서의 출력을 확인합니다{n}감지센서 : X005"); | ||||
|             Lang.m_오류_SAFTYAREA = GetINIValue(string.Format("MSG{0:0000}", i++), "SAFTY AREA SENSOR ERROR{n}매거진 투입구 안전 센서가 감지되었습니다{n}감지센서 : X00A"); | ||||
|             Lang.m_오류_REQUIRELOTLIST = GetINIValue(string.Format("MSG{0:0000}", i++), "REQUIRE LOT-LIST{n}LOT 목록이 조회 되어야 합니다{n}바코드를 이용하여 A/L TAG를 입력하세요"); | ||||
|             Lang.m_진행중 = GetINIValue(string.Format("MSG{0:0000}", i++), "진행 중"); | ||||
|             Lang.m_준비완료 = GetINIValue(string.Format("MSG{0:0000}", i++), "준비 완료"); | ||||
|  | ||||
|             Lang.m_트레이로드 = GetINIValue(string.Format("MSG{0:0000}", i++), "TRAY LOAD"); | ||||
|             Lang.m_시작조건검사 = GetINIValue(string.Format("MSG{0:0000}", i++), "CHECK INIT"); | ||||
|             Lang.m_시작조건프로그램 = GetINIValue(string.Format("MSG{0:0000}", i++), "CHECK S/W"); | ||||
|             Lang.m_시작조건장치 = GetINIValue(string.Format("MSG{0:0000}", i++), "CHECK H/W"); | ||||
|             Lang.m_카메라촬영 = GetINIValue(string.Format("MSG{0:0000}", i++), "CAMERA ON"); | ||||
|             Lang.m_이미지수집 = GetINIValue(string.Format("MSG{0:0000}", i++), "GRAB IMAGE"); | ||||
|             Lang.m_비젼검사_원점 = GetINIValue(string.Format("MSG{0:0000}", i++), "IMAGE(ORIGNE)"); | ||||
|             Lang.m_비젼검사_DOT = GetINIValue(string.Format("MSG{0:0000}", i++), "IMAGE(DOT)"); | ||||
|             Lang.m_LASERMARKING = GetINIValue(string.Format("MSG{0:0000}", i++), "LASER MARKING"); | ||||
|             Lang.m_AIRBLOW = GetINIValue(string.Format("MSG{0:0000}", i++), "AIR BLOW"); | ||||
|             Lang.m_트레이언로드 = GetINIValue(string.Format("MSG{0:0000}", i++), "TRAY UNLOAD"); | ||||
|  | ||||
|             Type thClass = typeof(Lang); | ||||
|  | ||||
|             foreach (var method in thClass.GetMethods()) | ||||
|             { | ||||
|                 var parameters = method.GetParameters(); | ||||
|                 if (method.Name.StartsWith("get_m_")==false) continue; | ||||
|                 //set은 사용하지 않는다. | ||||
|  | ||||
|                 //key | ||||
|                 string keyname = method.Name.Substring(4); | ||||
|                 string methodName = method.Name; | ||||
|                 string valuetype = method.ReturnType.Name.ToLower(); | ||||
|                 var odata = thClass.GetMethod(methodName).Invoke(null, null).ToString(); | ||||
|                 if(odata.Contains("{n}")) | ||||
|                 { | ||||
|                     var ndata = odata.Replace("{n}", "\n"); | ||||
|                     thClass.GetMethod("set_" + keyname).Invoke(thClass, new object[] { ndata }); | ||||
|                 } | ||||
|             } | ||||
|             //171104 없다면 생성 | ||||
|             if (!isExist()) CreateFile(); | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         #region "Common " | ||||
|  | ||||
|         public static Boolean ReLoad() | ||||
|         { | ||||
|             return Loading(SelectedLang); | ||||
|         } | ||||
|         private static arUtil.INIHelper iniHelper; | ||||
|         private static string GetINIValue(string key, string def = "") | ||||
|         { | ||||
|             if (!System.IO.File.Exists(Lang.FileName)) | ||||
|                 return def; | ||||
|  | ||||
|             string retval = iniHelper.get_Data("lang", key, def); | ||||
|             return retval; | ||||
|         } | ||||
|         private static void SetINIValue(string key, string value) | ||||
|         { | ||||
|             iniHelper.set_Data("lang", key, value); | ||||
|         } | ||||
|         public static Boolean isExist() | ||||
|         { | ||||
|             return System.IO.File.Exists(FileName); | ||||
|         } | ||||
|  | ||||
|         ////local data | ||||
|         private static string _path = ""; | ||||
|         private static string _selectedLang = ""; | ||||
|         public static string SelectedLang | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 if ((string.IsNullOrWhiteSpace(_selectedLang))) | ||||
|                 { | ||||
|                     return "kor"; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     string fullname = Path + "\\" + _selectedLang + ".ini"; | ||||
|                     //if ((!System.IO.File.Exists(fullname))) | ||||
|                     //{ | ||||
|                     //    CreateFile(); | ||||
|                     //} | ||||
|                     return _selectedLang; | ||||
|                 } | ||||
|             } | ||||
|             set { _selectedLang = value; } | ||||
|         } | ||||
|         public static string Path | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 if (string.IsNullOrWhiteSpace(_path)) | ||||
|                 { | ||||
|                     _path = AppDomain.CurrentDomain.BaseDirectory + "\\Language"; | ||||
|                     if (!System.IO.Directory.Exists(_path)) System.IO.Directory.CreateDirectory(_path); | ||||
|                 } | ||||
|                 return _path; | ||||
|             } | ||||
|             set { _path = value; } | ||||
|         } | ||||
|         public static List<string> LangList | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 List<string> retval = new List<string>(); | ||||
|                 if ((System.IO.Directory.Exists(Path))) | ||||
|                 { | ||||
|                     string[] files = System.IO.Directory.GetFiles(Path, "*.ini"); | ||||
|                     foreach (string file in files) | ||||
|                     { | ||||
|                         retval.Add(file.Substring(file.LastIndexOf("\\") + 1)); | ||||
|                     } | ||||
|                 } | ||||
|                 return retval; | ||||
|             } | ||||
|         } | ||||
|         public static string FileName | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 string fn = Path + "\\" + SelectedLang; | ||||
|                 if(fn.ToLower().LastIndexOf(".ini") == -1) fn += ".ini"; | ||||
|                 return fn.Replace("\\\\", "\\"); | ||||
|             } | ||||
|         } | ||||
|         #endregion | ||||
|  | ||||
|  | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 ChiKyun Kim
					ChiKyun Kim