Exemplo n.º 1
0
        public static string GetDescription(Enum value, MultilingualDictionaryType dictType)
        {
            if (value == null)
            {
                return(string.Empty);
            }

            if (dictType == MultilingualDictionaryType.Japanese)
            {
                string description = value.ToString();
                var    fieldInfo   = value.GetType().GetField(description);
                var    attributes  =
                    (EnumDescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(EnumDescriptionAttribute), false);
                if (attributes != null && attributes.Length > 0)
                {
                    description = attributes[0].Description;
                }
                return(description);
            }
            else
            {
                string dictTypeHeader = dictType.ToString();
                string dictTypeKey    = string.Format("{0}_{1}.{2}", dictTypeHeader, value.GetType().ToString(), value.ToString());
                return(DictionaryInfo.GetDictValueForDictKeyForEnum(dictTypeKey));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// ini設定ファイルを読込
        /// </summary>
        public static void GetStationFromFile(string file)
        {
            //iniフォルダ
            iniFileDir = Path.GetDirectoryName(file);

            //CanOutputLog
            canOutputLog = Utility.ToInt(GetIniFileString("MAINTE", "CanOutputLog", file)) == 0 ? false : true;

            //ShowExample
            showExample = Utility.ToInt(GetIniFileString("MAINTE", "ShowExample", file)) == 0 ? false : true;

            //moveMessage
            moveMessage = Utility.ToInt(GetIniFileString("MAINTE", "MoveMessage", file)) == 0 ? false : true;


            //mediaDevice
            string mediaDeviceValue = GetIniFileString("MAINTE", "MediaDevice", file);

            foreach (MediaDeivceType type in Enum.GetValues(typeof(MediaDeivceType)))
            {
                if (mediaDeviceValue == type.ToString() || mediaDeviceValue == EnumHelper.GetDescription(type))
                {
                    mediaDevice = type;
                    break;
                }
            }

            //MediaReadaheadTime
            mediaReadaheadTime = Utility.ToInt(GetIniFileString("MAINTE", "MediaReadaheadTime", file));
            if (mediaReadaheadTime <= 10)
            {
                mediaReadaheadTime = 10;
            }

            //MultilingualDictionaryType
            string multiDictTypeValue = GetIniFileString("MAINTE", "MultilingualDictionaryType", file);

            foreach (MultilingualDictionaryType type in Enum.GetValues(typeof(MultilingualDictionaryType)))
            {
                if (multiDictTypeValue == EnumHelper.GetDescription(type))
                {
                    multiDictType = type;
                    break;
                }
            }

            DictionaryInfo.InitMultilingualDictionaryForMessage();


            //WebApiAddress
            webApiAddress = GetIniFileString("MAINTE", "WebApiAddress", file);

            playerID = GetIniFileString("MAINTE", "PlayerID", file);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 言語辞書ロード
        /// </summary>
        /// <param name="multilingualDictionaryList">言語辞書</param>
        /// <param name="dictList">言語辞書List</param>
        /// <param name="dictType">言語辞書種別</param>
        public static void InitMultilingualDictionary(Dictionary <string, MultilingualDictionary> multilingualDictionaryList, List <List <string> > dictList, MultilingualDictionaryType dictType)
        {
            try
            {
                multilingualDictionaryList.Clear();

                string dictTypeHeader = dictType.ToString();


                foreach (List <string> dictionaryNode in dictList)
                {
                    string dictKey   = dictionaryNode[0];
                    string dictValue = dictionaryNode[1];

                    string multiDictKey = string.Format("{0}_{1}", dictTypeHeader, dictKey);
                    if (multilingualDictionaryList.ContainsKey(multiDictKey) == false)
                    {
                        multilingualDictionaryList.Add(multiDictKey, new MultilingualDictionary(multiDictKey, dictValue));
                    }
                    else
                    {
                        ////後は準
                        //multilingualDictionaryList.Remove(multiDictKey);
                        //multilingualDictionaryList.Add(multiDictKey, new MultilingualDictionary(multiDictKey, dictValue));
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 言語辞書ロード
        /// </summary>
        /// <param name="multilingualDictionaryList">言語辞書</param>
        /// <param name="dictFile">言語辞書ファイル</param>
        /// <param name="dictType">言語辞書種別</param>
        public static void InitMultilingualDictionary(Dictionary <string, MultilingualDictionary> multilingualDictionaryList, string dictFile, MultilingualDictionaryType dictType)
        {
            try
            {
                if (File.Exists(dictFile) == false)
                {
                    return;
                }
                multilingualDictionaryList.Clear();

                string dictTypeHeader = dictType.ToString();

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(dictFile);
                XmlElement root = xmlDoc.DocumentElement;

                XmlNodeList dictionaryNodeList = root.SelectNodes("Dictionary");

                foreach (XmlNode dictionaryNode in dictionaryNodeList)
                {
                    string dictKey   = dictionaryNode.Attributes["Key"].Value;
                    string dictValue = dictionaryNode.InnerText.Trim().Replace("\\r", "\r").Replace("\\n", "\n");

                    string multiDictKey = string.Format("{0}_{1}", dictTypeHeader, dictKey);
                    if (multilingualDictionaryList.ContainsKey(multiDictKey) == false)
                    {
                        multilingualDictionaryList.Add(multiDictKey, new MultilingualDictionary(multiDictKey, dictValue));
                    }
                    else
                    {
                        ////後は準
                        //multilingualDictionaryList.Remove(multiDictKey);
                        //multilingualDictionaryList.Add(multiDictKey, new MultilingualDictionary(multiDictKey, dictValue));
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// 言語辞書取得
 /// </summary>
 /// <param name="multilingualDictionaryList">言語辞書</param>
 /// <param name="dictKey">言語辞書key</param>
 /// <param name="dictType">言語辞書種別</param>
 /// <returns></returns>
 public static string GetDictValueForDictKey(Dictionary <string, MultilingualDictionary> multilingualDictionaryList, string dictKey, MultilingualDictionaryType dictType)
 {
     try
     {
         string reDictionary   = string.Empty;
         string dictTypeHeader = dictType.ToString();
         string multiDictKey   = string.Format("{0}_{1}", dictTypeHeader, dictKey);
         if (multilingualDictionaryList.ContainsKey(multiDictKey))
         {
             reDictionary = (multilingualDictionaryList[multiDictKey] as MultilingualDictionary).DictValue;
         }
         return(reDictionary);
     }
     catch
     {
         return(string.Empty);
     }
 }