260 lines
12 KiB
C#
260 lines
12 KiB
C#
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
|
|
|
|
|
|
}
|
|
}
|
|
|