コード例 #1
0
ファイル: LangService.cs プロジェクト: louis-ludong/second
        /// <summary>
        /// 初始化语言列表
        /// </summary>
        private void InitList()
        {
            String path = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), LangueDir);

            String[]        flies = System.IO.Directory.GetFiles(path, "*.lng");
            List <LangInfo> list  = new List <LangInfo>();

            foreach (var file in flies)
            {
                using (var sr = new StreamReader(file, System.Text.Encoding.UTF8))
                {
                    int flagCount = 0;
                    var info      = new LangInfo();
                    info.FileFullName = file;
                    info.LCID         = -1;
                    do
                    {
                        string line = sr.ReadLine();
                        if (string.IsNullOrEmpty(line) ||
                            line.StartsWith("//"))
                        {
                            continue;
                        }
                        var temp = line.Split('=');
                        switch (temp[0])
                        {
                        case "FileVersion":
                            if (temp[1] == Ver)
                            {
                                flagCount++;
                            }
                            break;

                        case "Language":
                            info.DisplayName = temp[1];
                            flagCount++;
                            break;

                        case "LanguageID":
                            info.LCID = int.Parse(temp[1]);
                            flagCount++;
                            break;

                        case "Font":
                            info.Font = temp[1];
                            flagCount++;
                            break;

                        default:
                            break;
                        }
                    } while (flagCount < 4 && !sr.EndOfStream);
                    if (flagCount == 4)
                    {
                        list.Add(info);
                    }
                }
            }
            LangList = list;
        }
コード例 #2
0
ファイル: LangService.cs プロジェクト: louis-ludong/second
        /// <summary>
        /// 设置当前语言
        /// </summary>
        /// <param name="lang">要使用的语言的信息</param>
        public void SetCurrentWords(LangInfo lang)
        {
            CurrentWords = new Dictionary <string, string>();
            CurrentLang  = lang;
            using (var sr = new StreamReader(CurrentLang.FileFullName, System.Text.Encoding.UTF8))
            {
                while (!sr.EndOfStream)
                {
                    string line = sr.ReadLine();
                    if (string.IsNullOrEmpty(line) ||
                        line.StartsWith("//"))
                    {
                        continue;
                    }
                    var temp = line.Split('=');
                    switch (temp[0])
                    {
                    case "FileVersion":
                    case "Language":
                    case "LanguageID":
                    case "Font":
                        break;

                    default:
                        currentWord.Add(temp[0], temp[1]);
                        break;
                    }
                }
            }
        }