Files
Groupware/Project/Language/Lang.cs
2018-07-23 17:35:21 +09:00

173 lines
6.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Project
{
public static class Lang
{
////main
public static string Question_Exit { get; set; }
public static string Ok { get; set; }
public static string Error { get; set; }
public static string No { get; set; }
public static string Yes { get; set; }
public static string Exit { get; set; }
public static string Result { get; set; }
public static string Log { get; set; }
public static string History { get; set; }
public static string Setting { get; set; }
public static string ModelEdit { get; set; }
public static string NotRegistUser { get; set; }
public static string NoData { get; set; }
public static void CreateFile()
{
iniHelper.CreateFile(); //System.IO.File.WriteAllText(FileName, "//INI FILE", System.Text.Encoding.Unicode);
int i = 1;
SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Question_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.Exit);
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.Setting);
SetINIValue(string.Format("MSG{0:0000}", i++), Lang.ModelEdit);
SetINIValue(string.Format("MSG{0:0000}", i++), Lang.NotRegistUser);
SetINIValue(string.Format("MSG{0:0000}", i++), Lang.NoData);
iniHelper.Flush();
}
public static bool Loading(string langName)
{
Lang.SelectedLang = langName;
if (iniHelper == null) iniHelper = new arUtil.INIHelper(FileName);
else iniHelper.SetFileName(FileName);
int i = 1;
Lang.Question_Exit = GetINIValue(string.Format("MSG{0:0000}", i++), "종료하시겠습니까?");
Lang.Ok = GetINIValue(string.Format("MSG{0:0000}", i++), "Ok");
Lang.Error = GetINIValue(string.Format("MSG{0:0000}", i++), "Error");
Lang.No = GetINIValue(string.Format("MSG{0:0000}", i++), "No");
Lang.Yes = GetINIValue(string.Format("MSG{0:0000}", i++), "Yes");
Lang.Exit = GetINIValue(string.Format("MSG{0:0000}", i++), "Exit");
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.Setting = GetINIValue(string.Format("MSG{0:0000}", i++), "Setting");
Lang.ModelEdit = GetINIValue(string.Format("MSG{0:0000}", i++), "Model");
Lang.NotRegistUser = GetINIValue(string.Format("MSG{0:0000}", i++), "Not a registered user.");
Lang.NoData = GetINIValue(string.Format("MSG{0:0000}", i++), "No Data");
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.GetData("lang", key, def);
return retval;
}
private static void SetINIValue(string key, string value)
{
iniHelper.SetData("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
}
}