Winform 多语言化快速解析替换工具-1分钟一个界面

随着业务的扩展,有的软件有多语言化的需求。那么如果软件已经很多写死的文字内容如何快速进行语言化替换呢,一个一个去改工作量太大。

于是开发了个小工具用来替换现有内容并生成语音包,原理就是采用正则表达式进行匹配控件关键字以及中文进行多语言组装解析。

关键正则表达式

      string pattern = @"this\.(\w+)\.Text = ""([^""]*[\u4e00-\u9fa5]+[^""]*)""";

   string pattern = @"(?

语言包组装

try
            {
                // 根据行列进行 XML生成
                var lines = TxtLanguage.Lines.ToList();
                List xmlList = new List();
                xmlList.Add($@"!{TXTCH.Text}
           


            ");
                lines.ForEach(line =>
                {
                    var lineArr = line.Split("\t");
                    if (lineArr.Length > 2)
                    {
                        // 第一位是表单名称
                        // 第二位是控件名称
                        // 第三位是中文
                        // 第四位是英文
                        // 第五位是墨西哥 。。。
                        var controlName = lineArr[1];
                        var chinese = lineArr[2];
                        var eng = lineArr.Length > 3 ? lineArr[3] : "";
                        var es = lineArr.Length > 4 ? lineArr[4] : "";
                        string controlText = $@"
                            
                           
                        
";
                        xmlList.Add(controlText);
                    }
                });
                xmlList.Add("");

                TxtXml.Lines = xmlList.ToArray();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

Winform 多语言化快速解析替换工具-1分钟一个界面_第1张图片

!test
            
                                                                                                                                                                                                                                                                                                                                                                                                                                      

你可能感兴趣的:(前端,WINFORM,多语言)