Esempio n. 1
0
        static void SimplifyPinYinWords(HashSet <PinYinWords> pyws, List <PinYinWords> list, int length)
        {
            foreach (var item in pyws)
            {
                var w = item.Words;
                if (w.Length != length)
                {
                    continue;
                }
                foreach (var pyw in pyws)
                {
                    if (pyw.Words.Length >= length)
                    {
                        continue;
                    }
                    w = w.Replace(pyw.Words, pyw.PinYins);
                }
                var py  = WordsHelper.GetPinYinFast(w).ToLower().Replace("'", "");
                var py1 = item.PinYins.Replace("'", "");

                if (py != py1)
                {
                    list.Add(item);
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Generate a Number of Paragraphs
        /// </summary>
        /// <param name="Kind"></param>
        /// <param name="ParagraphsNumber"></param>
        /// <param name="Language"></param>
        /// <returns></returns>
        public static string GenerateParagraphs(Kinds Kind, int ParagraphsNumber, Languages Language = Languages.English)
        {
            //Se il numero di paragrafi è minore di 1 torno vuoto
            if (ParagraphsNumber < 1)
            {
                return("");
            }

            int minWordsInParagraph = 70;
            int maxWordsInParagraph = 110;

            string resp = String.Empty;

            for (int i = 0; i < ParagraphsNumber; i++)
            {
                if (resp != String.Empty)
                {
                    resp = resp + Environment.NewLine + Environment.NewLine + WordsHelper.FirstCharToUpper(GenerateText(Kind,
                                                                                                                        random.Next(minWordsInParagraph, maxWordsInParagraph), Language));
                }
                else
                {
                    //primo passaggio, non metto il separatore
                    resp = resp + WordsHelper.FirstCharToUpper(GenerateText(Kind, random.Next(minWordsInParagraph, maxWordsInParagraph), Language)) + ".";
                }
            }
            return(resp);
        }
Esempio n. 3
0
        public string Translate(string content)
        {
            if (_settings.ShouldUsePinyin)
            {
                if (!_pinyinCache.ContainsKey(content))
                {
                    if (WordsHelper.HasChinese(content))
                    {
                        var resultList = WordsHelper.GetPinyinList(content);

                        StringBuilder resultBuilder = new StringBuilder();

                        for (int i = 0; i < resultList.Length; i++)
                        {
                            if (content[i] >= 0x3400 && content[i] <= 0x9FD5)
                            {
                                resultBuilder.Append(resultList[i].First());
                            }
                        }

                        resultBuilder.Append(' ');

                        bool pre = false;

                        for (int i = 0; i < resultList.Length; i++)
                        {
                            if (content[i] >= 0x3400 && content[i] <= 0x9FD5)
                            {
                                resultBuilder.Append(' ');
                                resultBuilder.Append(resultList[i]);
                                pre = true;
                            }
                            else
                            {
                                if (pre)
                                {
                                    pre = false;
                                    resultBuilder.Append(' ');
                                }
                                resultBuilder.Append(resultList[i]);
                            }
                        }

                        return(_pinyinCache[content] = resultBuilder.ToString());
                    }
                    else
                    {
                        return(content);
                    }
                }
                else
                {
                    return(_pinyinCache[content]);
                }
            }
            else
            {
                return(content);
            }
        }
Esempio n. 4
0
        public string Translate(string content)
        {
            if (_settings.ShouldUsePinyin)
            {
                var result = _cache[content] as string;
                if (result == null)
                {
                    if (WordsHelper.HasChinese(content))
                    {
                        result = WordsHelper.GetFirstPinyin(content);
                    }
                    else
                    {
                        result = content;
                    }
                    var policy = new CacheItemPolicy();
                    policy.SlidingExpiration = new TimeSpan(12, 0, 0);
                    _cache.Set(content, result, policy);
                }

                return(result);
            }

            return(content);
        }
Esempio n. 5
0
        static void SimplifyPinYin(List <Tuple <string, string> > list, HashSet <PinYinWords> pyws, int length)
        {
            foreach (var item in list)
            {
                if (item.Item1.Length != length)
                {
                    continue;
                }
                var w = item.Item1;
                foreach (var pyw in pyws)
                {
                    if (pyw.Words.Length >= length)
                    {
                        continue;
                    }

                    w = w.Replace(pyw.Words, pyw.PinYins);
                }
                var py  = WordsHelper.GetPinYinFast(w).ToLower().Replace("'", "");
                var py1 = item.Item2.Replace("'", "");

                if (py != py1)
                {
                    PinYinWords p = new PinYinWords()
                    {
                        Words   = item.Item1,
                        PinYins = item.Item2
                    };
                    pyws.Add(p);
                }
            }
        }
Esempio n. 6
0
    /// <summary>
    /// 根据汉字首字母,获取相应的颗粒大类名称
    /// </summary>
    public void ChineseChar()
    {
        foreach (var granuleType in AllGranuleTypeGroup)
        {
            if (WordsHelper.GetFirstPinYin(granuleType).Contains(ResultStr))
            {
                ResultList.Add(granuleType);
            }
        }

        // 搜索结果只有一个
        if (ResultList.Count == 1)
        {
            ShowGranuleType = ResultList[0];
        }

        // 搜索结果大于1的在 SetGranuleName() 函数里判断

        // 没搜到
        if (ResultList.Count == 0)
        {
            WindowTips("未找到结果,请重新搜索");
            ResultStr = string.Empty;
        }
    }
Esempio n. 7
0
        public void GetPinyin()
        {
            var t = WordsHelper.GetAllPinyin('芃');

            Assert.AreEqual("Peng", t[0]);


            var b = WordsHelper.GetPinyin("摩擦棒");

            Assert.AreEqual("MoCaBang", b);

            b = WordsHelper.GetPinyin("秘鲁");
            Assert.AreEqual("BiLu", b);

            b = WordsHelper.GetPinyin("天行");
            Assert.AreEqual("TianXing", b);

            var py = WordsHelper.GetPinyin("快乐,乐清");

            Assert.AreEqual("KuaiLe,YueQing", py);

            py = WordsHelper.GetPinyin("快乐清理");
            Assert.AreEqual("KuaiLeQingLi", py);


            py = WordsHelper.GetPinyin("我爱中国");
            Assert.AreEqual("WoAiZhongGuo", py);

            py = WordsHelper.GetPinyin("我爱中国", ",");
            Assert.AreEqual("Wo,Ai,Zhong,Guo", py);

            py = WordsHelper.GetPinyin("我爱中国", true);
            Assert.AreEqual("WǒÀiZhōngGuó", py);

            py = WordsHelper.GetFirstPinyin("我爱中国");
            Assert.AreEqual("WAZG", py);

            var pys = WordsHelper.GetAllPinyin('传');

            Assert.AreEqual("Chuan", pys[0]);
            Assert.AreEqual("Zhuan", pys[1]);

            py = WordsHelper.GetPinyinForName("单一一");
            Assert.AreEqual("ShanYiYi", py);

            py = WordsHelper.GetPinyinForName("单一一", ",");
            Assert.AreEqual("Shan,Yi,Yi", py);

            py = WordsHelper.GetPinyinForName("单一一", true);
            Assert.AreEqual("ShànYīYī", py);

            py = WordsHelper.GetPinyinForName("张丽莎", false);
            Assert.AreEqual("ZhangLiSha", py);

            py = WordsHelper.GetPinyinForName("孟露", false);
            Assert.AreEqual("MengLu", py);


            WordsHelper.ClearCache();
        }
Esempio n. 8
0
 public string Translate(string content)
 {
     if (_settings.ShouldUsePinyin)
     {
         if (!_pinyinCache.ContainsKey(content))
         {
             if (WordsHelper.HasChinese(content))
             {
                 var result = WordsHelper.GetPinyin(content, ";");
                 result = GetFirstPinyinChar(result) + result.Replace(";", "");
                 _pinyinCache[content] = result;
                 return(result);
             }
             else
             {
                 return(content);
             }
         }
         else
         {
             return(_pinyinCache[content]);
         }
     }
     else
     {
         return(content);
     }
 }
 private string ValidateWord(string str)
 {
     if (!WordsHelper.IsValidWord(str))
     {
         return("Please enter a word");
     }
     return(string.Empty);
 }
Esempio n. 10
0
        public void ToSBC_ToDBC()
        {
            var s = WordsHelper.ToSBC("abcABC123");
            var t = WordsHelper.ToDBC(s);

            Assert.AreEqual("abcABC123", s);
            Assert.AreEqual("abcABC123", t);
        }
Esempio n. 11
0
        private static string GetAllPinyinInternal(string source, string separator, bool tone)
        {
            if (string.IsNullOrEmpty(source))
            {
                return("");
            }

            return(string.Join(separator, WordsHelper.GetAllPinyin(source[0], tone)));
        }
Esempio n. 12
0
        public async void AddSynonymsAsync()
        {
            ShowProgress = true;
            var synonyms = WordsHelper.GetWords(SynonymsValidation.Value);
            await Task.Run(() => _thesaurus.AddSynonyms(synonyms));

            ShowProgress             = false;
            SynonymsValidation.Value = string.Empty;
        }
Esempio n. 13
0
        public void GetPinYin()
        {
            var list = WordsHelper.GetAllPinYin('㘄');

            list = WordsHelper.GetAllPinYin('䉄');
            list = WordsHelper.GetAllPinYin('䬋');
            list = WordsHelper.GetAllPinYin('䮚');
            list = WordsHelper.GetAllPinYin('䚏');
            list = WordsHelper.GetAllPinYin('㭁');
            list = WordsHelper.GetAllPinYin('䖆');
        }
Esempio n. 14
0
 /// <summary>
 /// 获取拼音
 /// </summary>
 /// <param name="source"></param>
 /// <param name="separator"></param>
 /// <param name="tone"></param>
 /// <param name="forName"></param>
 /// <returns></returns>
 private static string GetPinyinInternal(string source, string separator, bool tone, bool forName)
 {
     if (forName)
     {
         return(WordsHelper.GetPinyinForName(source, separator, tone));
     }
     else
     {
         return(WordsHelper.GetPinyin(source, separator, tone));
     }
 }
Esempio n. 15
0
        static void Main(string[] args)
        {
            var stopwatch = System.Diagnostics.Stopwatch.StartNew();
            var r         = WordsHelper.GetPinyin("我爱中国");

            stopwatch.Stop();
            var s = stopwatch.ElapsedMilliseconds;

            Console.WriteLine("拼音第一次加载用时(ms):" + s);

            PetaTest.Runner.RunMain(args);
        }
Esempio n. 16
0
        public void GetPinYin()
        {
            var t = WordsHelper.GetAllPinYin('芃');

            Assert.AreEqual("Peng", t[0]);

            var a = WordsHelper.GetPinYinFast("阿");

            Assert.AreEqual("A", a);


            var b = WordsHelper.GetPinYin("摩擦棒");

            Assert.AreEqual("MoCaBang", b);

            b = WordsHelper.GetPinYin("秘鲁");
            Assert.AreEqual("BiLu", b);



            var py = WordsHelper.GetPinYinFast("我爱中国");

            Assert.AreEqual("WoAiZhongGuo", py);



            py = WordsHelper.GetPinYin("快乐,乐清");
            Assert.AreEqual("KuaiLe,YueQing", py);

            py = WordsHelper.GetPinYin("快乐清理");
            Assert.AreEqual("KuaiLeQingLi", py);


            py = WordsHelper.GetPinYin("我爱中国");
            Assert.AreEqual("WoAiZhongGuo", py);

            py = WordsHelper.GetPinYin("我爱中国", true);
            Assert.AreEqual("WǒÀiZhōngGuó", py);

            py = WordsHelper.GetFirstPinYin("我爱中国");
            Assert.AreEqual("WAZG", py);

            var pys = WordsHelper.GetAllPinYin('传');

            Assert.AreEqual("Chuan", pys[0]);
            Assert.AreEqual("Zhuan", pys[1]);

            py = WordsHelper.GetPinYinForName("单一一");
            Assert.AreEqual("ShanYiYi", py);

            py = WordsHelper.GetPinYinForName("单一一", true);
            Assert.AreEqual("ShànYīYī", py);
        }
Esempio n. 17
0
        /// <summary>
        /// 初始化数据源并绑定
        /// </summary>
        private void initData()
        {
            try
            {
                isMatch = false;
                //初始化设置五笔字典的文件路径
                WBTranslationHelper.Init();

                #region 初始化数据源
                cmbDefaultBindSource = new List <object>();
                DataTable dt = new DataTable();
                dt.Columns.Add("Code", typeof(string));
                dt.Columns.Add("Name", typeof(string));
                dt.Columns.Add("PinYin", typeof(string));      //处理中文转拼音,用于过滤使用
                dt.Columns.Add("FirstPinYin", typeof(string)); //处理中文转拼音(首字符),用于过滤使用
                dt.Columns.Add("Wb", typeof(string));          //处理中文转五笔编码,用于过滤使用
                dt.Columns.Add("FirstWb", typeof(string));     //处理中文转五笔编码(首字符),用于过滤使用
                var countryArr = countrys.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                for (int i = 0; i < countryArr.Length; i++)
                {
                    var name = countryArr[i];
                    // 获取拼音全拼
                    var name_PinYin = WordsHelper.GetPinYin(name);
                    // 获取首字母
                    var name_First_PinYin = WordsHelper.GetFirstPinYin(name);
                    // 获取五笔全拼
                    var name_Wb = WBTranslationHelper.GetWbAll(name);
                    // 获取五笔编码首字母
                    var name_First_Wb = WBTranslationHelper.GetWbFirst(name);
                    dt.Rows.Add((i + 1).ToString(), name, name_PinYin, name_First_PinYin, name_Wb, name_First_Wb);
                    cmbDefaultBindSource.Add(name);
                }
                dt.AcceptChanges();
                dtSource = dt;
                #endregion

                //绑定数据源
                this.cmbox.Properties.Items.AddRange(cmbDefaultBindSource);

                //绑定过滤模式
                this.cmbFilterMode.Properties.Items.Add("中文");
                this.cmbFilterMode.Properties.Items.Add("拼音首字母");
                this.cmbFilterMode.Properties.Items.Add("拼音全拼");
                this.cmbFilterMode.Properties.Items.Add("五笔首字母");
                this.cmbFilterMode.Properties.Items.Add("五笔全拼");
                this.cmbFilterMode.SelectedIndex = 0;
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 public void SetKeys(List <string> keys)
 {
     if (keys != null && keys.Any())
     {
         var allKeys = new List <string>();
         foreach (var k in keys)
         {
             allKeys.Add(k);                                   // 增加词汇
             allKeys.Add(WordsHelper.ToTraditionalChinese(k)); // 增加繁体
             allKeys.Add(WordsHelper.GetPinyin(k));            // 增加拼音
         }
         IllegalWordsSearch.SetKeywords(allKeys);
     }
 }
Esempio n. 19
0
        public void HasChinese()
        {
            var b = WordsHelper.HasChinese("xhdsf");

            Assert.AreEqual(false, b);

            var c = WordsHelper.HasChinese("我爱中国");

            Assert.AreEqual(true, c);

            var d = WordsHelper.HasChinese("I爱中国");

            Assert.AreEqual(true, d);
        }
Esempio n. 20
0
        private string ValidateSynonyms(string str)
        {
            if (!WordsHelper.IsEmpty(str))
            {
                return("Please enter words");
            }

            if (!WordsHelper.ContainsWords(str))
            {
                return($"You should have at least two words separated by {WordsHelper.WordsSeparator}");
            }

            return(string.Empty);
        }
Esempio n. 21
0
 /// <summary>
 /// 结果管道
 /// </summary>
 /// <param name="result"></param>
 /// <returns></returns>
 public string ResultPipe(string result)
 {
     if (result.IsNullOrWhiteSpace())
     {
         return(result);
     }
     if (Reverse == "all")
     {
         result = ReverseStr(result);
     }
     else if (Reverse == "row")
     {
         result = ReverseStr(result, true);
     }
     if (WordsHelper.HasChinese(result))
     {
         if (ToTraditionalChinese)
         {
             result = WordsHelper.ToTraditionalChinese(result);
         }
         else if (ToSimplifiedChinese)
         {
             result = WordsHelper.ToSimplifiedChinese(result);
         }
         else if (ToPinyin != null)
         {
             result =
                 WordsHelper.GetPinyin(result, ToPinyin.Equals("tone", StringComparison.OrdinalIgnoreCase));
         }
         else if (ToFirstPinyin)
         {
             result = WordsHelper.GetFirstPinyin(result)?.ToLower();
         }
     }
     if (Lower)
     {
         result = result?.ToLower();
     }
     else if (Upper)
     {
         result = result?.ToUpper();
     }
     if (SpeakWithWhiteSpace)
     {
         result = ToSpeakWithWhiteSpace(result);
     }
     return(result);
 }
Esempio n. 22
0
        public void GetPinyin()
        {
            var list = WordsHelper.GetAllPinyin('㘄');

            list = WordsHelper.GetAllPinyin('䉄');
            list = WordsHelper.GetAllPinyin('䬋');
            list = WordsHelper.GetAllPinyin('䮚');
            list = WordsHelper.GetAllPinyin('䚏');
            list = WordsHelper.GetAllPinyin('㭁');
            list = WordsHelper.GetAllPinyin('䖆');

            var list2 = WordsHelper.GetPinyin("𠀀");
            var list3 = WordsHelper.GetPinyin("𫠝");
            //var start = "𠀀";// '\ud840' '\udc00' - '\udfff'
            //var end = "𫠝";// '\ud86e' '\udc1d'
        }
Esempio n. 23
0
        /// <summary>
        /// 获取字符串首个字 的 首个字符
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public static char GetFirstChar(string source, bool isGroupBy = false)
        {
            if (string.IsNullOrEmpty(source))
            {
                return isGroupBy ? GROUPBY_CHAR : SORT_CHAR;
            }

            var t = source.Substring(0, 1);
            if (WordsHelper.HasChinese(t))
            {
                return char.Parse((WordsHelper.GetFirstPinYin(t).Substring(0, 1)));
            }
            else if (WordsHelper.HasEnglish(t))
                return Char.Parse(t.ToUpper());
            else
                return isGroupBy ? GROUPBY_CHAR : SORT_CHAR;
        }
Esempio n. 24
0
        static void Main(string[] args)
        {
            Console.WriteLine("ToolGood.Words.Core Test!");

            Console.WriteLine("1.文本转换");
            //繁体转简体
            Console.WriteLine($"繁体转简体:壹佰贰拾叁億肆仟伍佰陆拾柒萬捌仟玖佰零壹元壹角贰分->{WordsHelper.ToSimplifiedChinese("壹佰贰拾叁億肆仟伍佰陆拾柒萬捌仟玖佰零壹元壹角贰分")}");

            //简体转繁体
            Console.WriteLine($"简体转繁体:壹佰贰拾叁亿肆仟伍佰陆拾柒万捌仟玖佰零壹元壹角贰分->{WordsHelper.ToTraditionalChinese("壹佰贰拾叁亿肆仟伍佰陆拾柒万捌仟玖佰零壹元壹角贰分")}");

            //半角转全角
            Console.WriteLine($"半角转全角:abc123->{WordsHelper.ToSBC("abcABC123")}");

            //全角转半角
            Console.WriteLine($"全角转半角:abcABC123->{WordsHelper.ToDBC("abcABC123")}");

            // 数字转成中文大写
            Console.WriteLine($"数字转成中文大写:12345678901.12->{WordsHelper.ToChineseRMB(12345678901.12)}");

            //汉字转拼音
            Console.WriteLine($"汉字转拼音:我爱中国->{WordsHelper.GetPinYin("我爱中国")}");

            //获取汉字拼音首字母
            Console.WriteLine($"获取汉字拼音首字母:我爱中国->{WordsHelper.GetFirstPinYin("我爱中国")}");

            //获取多音字全部拼音
            Console.WriteLine($"获取多音字全部拼音:强->{string.Join(",", WordsHelper.GetAllPinYin('强').ToArray())}");

            Console.WriteLine("------------------------------------------------");

            Console.WriteLine("2.拼音模糊搜索");

            Console.WriteLine("原文本:阿根廷,澳大利亚,比利时,玻利维亚,巴西,白俄罗斯,加拿大,智利,中国,哥伦比亚,哥斯达黎加,古巴,捷克斯洛伐克,丹麦,多米尼加共和国,厄瓜多尔,埃及,萨尔瓦多,埃塞俄比亚,法国,希腊,危地马拉,海地,洪都拉斯,印度,伊朗,伊拉克,黎巴嫩,利比里亚,卢森堡,墨西哥,荷兰,新西兰,尼加拉瓜,挪威,巴拿马,巴拉圭,秘鲁,菲律宾,波兰,俄罗斯联邦,沙特阿拉伯,南非,阿拉伯叙利亚共和国,土耳其,乌克兰,大不列颠及北爱尔兰联合王国,美利坚合众国,乌拉圭,委内瑞拉,南斯拉夫,阿富汗,冰岛,瑞典,泰国,巴基斯坦,也门,缅甸,以色列,印度尼西亚,阿尔巴尼亚,澳地利,保加利亚,柬埔寨,芬兰,匈牙利,爱尔兰,意大利,约旦,老挝人民民主共和国,罗马利亚,西班牙,斯里兰卡,阿拉伯利比亚民众国,尼泊尔,葡萄牙,日本,摩洛哥,苏丹,突尼斯,加纳,马来西亚,几内亚,贝宁,布基纳法索,喀麦隆,中非共和国,乍得,刚果,科特迪瓦,塞浦路斯,加蓬,马达加斯加,马里,尼日尔,尼日利亚,塞内加尔,索马里,多哥,刚果民主共和国,毛里塔尼亚,蒙古,塞拉利昂,坦桑尼亚联合共和国,阿尔及利亚,布隆迪,牙买加,卢旺达,特立尼达和多巴哥,乌干达,肯尼亚,科威特,马拉维,马耳他,赞比亚,冈比亚,马尔代夫,新加坡,巴巴多斯,博茨瓦纳,圭亚那,莱索托,民主也门,赤道几内亚,毛里求斯,斯威士兰,斐济,巴林,不丹,阿曼,卡塔尔,阿拉伯联合酋长国,巴哈马,德意志联邦共和国,德意志民主共和国,孟加拉国,格林纳达,几内亚比绍,佛得角,科摩罗,莫桑比克,巴布亚新几内亚,圣多美和普林西比多米尼加,所罗门群岛,苏里南,安哥拉,萨摩亚,塞舌尔,吉布提,越南,圣卢西亚,圣文森特和格林纳丁斯,津巴布韦,安提瓜和巴布达,伯利兹,瓦努阿图,圣基茨和尼维斯,文莱达鲁萨兰国,列支敦士登,纳米比亚,朝鲜民主主义人民共和国,爱沙尼亚,密克罗尼西亚联邦,拉脱维亚,立陶宛,马绍尔群岛,大韩民国,亚美尼亚,阿塞拜疆,波斯尼亚和黑塞哥维那,克罗地亚,格鲁吉亚,哈萨克斯坦,吉尔吉斯,摩尔多瓦,圣马力诺,斯洛文尼亚,塔吉克斯坦,土库曼斯坦,乌兹别克斯坦,安道尔,捷克共和国,厄立特里亚,摩纳哥,斯洛伐克共和国,前南斯拉夫的马其顿共和国,帕劳,基里巴斯共和国,瑙鲁,汤加,图瓦卢,南斯拉夫,瑞士,东帝汶");
            var          text   = "阿根廷,澳大利亚,比利时,玻利维亚,巴西,白俄罗斯,加拿大,智利,中国,哥伦比亚,哥斯达黎加,古巴,捷克斯洛伐克,丹麦,多米尼加共和国,厄瓜多尔,埃及,萨尔瓦多,埃塞俄比亚,法国,希腊,危地马拉,海地,洪都拉斯,印度,伊朗,伊拉克,黎巴嫩,利比里亚,卢森堡,墨西哥,荷兰,新西兰,尼加拉瓜,挪威,巴拿马,巴拉圭,秘鲁,菲律宾,波兰,俄罗斯联邦,沙特阿拉伯,南非,阿拉伯叙利亚共和国,土耳其,乌克兰,大不列颠及北爱尔兰联合王国,美利坚合众国,乌拉圭,委内瑞拉,南斯拉夫,阿富汗,冰岛,瑞典,泰国,巴基斯坦,也门,缅甸,以色列,印度尼西亚,阿尔巴尼亚,澳地利,保加利亚,柬埔寨,芬兰,匈牙利,爱尔兰,意大利,约旦,老挝人民民主共和国,罗马利亚,西班牙,斯里兰卡,阿拉伯利比亚民众国,尼泊尔,葡萄牙,日本,摩洛哥,苏丹,突尼斯,加纳,马来西亚,几内亚,贝宁,布基纳法索,喀麦隆,中非共和国,乍得,刚果,科特迪瓦,塞浦路斯,加蓬,马达加斯加,马里,尼日尔,尼日利亚,塞内加尔,索马里,多哥,刚果民主共和国,毛里塔尼亚,蒙古,塞拉利昂,坦桑尼亚联合共和国,阿尔及利亚,布隆迪,牙买加,卢旺达,特立尼达和多巴哥,乌干达,肯尼亚,科威特,马拉维,马耳他,赞比亚,冈比亚,马尔代夫,新加坡,巴巴多斯,博茨瓦纳,圭亚那,莱索托,民主也门,赤道几内亚,毛里求斯,斯威士兰,斐济,巴林,不丹,阿曼,卡塔尔,阿拉伯联合酋长国,巴哈马,德意志联邦共和国,德意志民主共和国,孟加拉国,格林纳达,几内亚比绍,佛得角,科摩罗,莫桑比克,巴布亚新几内亚,圣多美和普林西比多米尼加,所罗门群岛,苏里南,安哥拉,萨摩亚,塞舌尔,吉布提,越南,圣卢西亚,圣文森特和格林纳丁斯,津巴布韦,安提瓜和巴布达,伯利兹,瓦努阿图,圣基茨和尼维斯,文莱达鲁萨兰国,列支敦士登,纳米比亚,朝鲜民主主义人民共和国,爱沙尼亚,密克罗尼西亚联邦,拉脱维亚,立陶宛,马绍尔群岛,大韩民国,亚美尼亚,阿塞拜疆,波斯尼亚和黑塞哥维那,克罗地亚,格鲁吉亚,哈萨克斯坦,吉尔吉斯,摩尔多瓦,圣马力诺,斯洛文尼亚,塔吉克斯坦,土库曼斯坦,乌兹别克斯坦,安道尔,捷克共和国,厄立特里亚,摩纳哥,斯洛伐克共和国,前南斯拉夫的马其顿共和国,帕劳,基里巴斯共和国,瑙鲁,汤加,图瓦卢,南斯拉夫,瑞士,东帝汶";
            PinYinSearch search = new PinYinSearch();

            search.SetKeywords(text.Split(',').ToList());
            Console.WriteLine("");
            Console.WriteLine($"搜索 ad:{string.Join(",", search.SearchTexts("ad", true).ToArray())}");            //安道尔,澳大利亚,澳地利
            Console.WriteLine($"搜索 白e:{string.Join(",", search.SearchTexts("白e", true).ToArray())}");            //白俄罗斯
            Console.WriteLine($"搜索 baie:{string.Join(",", search.SearchTexts("baie", true).ToArray())}");        //白俄罗斯
            Console.WriteLine($"搜索 bai俄:{string.Join(",", search.SearchTexts("bai俄", true).ToArray())}");        //白俄罗斯

            Console.ReadKey();
        }
Esempio n. 25
0
        public async Task Add(UserAddInput input)
        {
            var user = input.Adapt <SysUser>();

            user.FirstNameInitial = WordsHelper.GetFirstPinyin(user.Name.Substring(0, 1));
            user.PasswordLevel    = (PasswordLevel)H_Util.CheckPasswordLevel(user.Password);
            user.Password         = H_EncryptProvider.HMACSHA256(user.Password, _appSettings.Key.Sha256Key);
            user.Enabled          = true;

            var role = await _roleDomainService.Get(input.RoleId.Value);

            user.RoleId      = role.Id;
            user.RoleName    = role.Name;
            user.AuthNumbers = role.AuthNumbers;
            user.RoleLevel   = role.Level;

            await _userDomainService.Add(user);
        }
Esempio n. 26
0
        public void GetPinyin()
        {
            var list = WordsHelper.GetAllPinyin('㘄');

            list = WordsHelper.GetAllPinyin('䉄');
            list = WordsHelper.GetAllPinyin('䬋');
            list = WordsHelper.GetAllPinyin('䮚');
            list = WordsHelper.GetAllPinyin('䚏');
            list = WordsHelper.GetAllPinyin('㭁');
            list = WordsHelper.GetAllPinyin('䖆');

            var list2 = WordsHelper.GetPinyin("𠀀");
            var list3 = WordsHelper.GetPinyin("𫠝");
            //var start = "𠀀";// '\ud840' '\udc00' - '\udfff'
            //var end = "𫠝";// '\ud86e' '\udc1d'

            var t   = "三个金念鑫,三个水念淼,三个火念焱, 三个土念垚,三个牛念犇,三个手念掱,三个目念瞐,三个田念畾,三个马念骉,三个羊念羴,三个犬念猋,三个鹿念麤,三个鱼念鱻,三个贝念赑,三个力念劦,三个毛念毳,三个耳念聶,三个车念轟,三个直念矗,三个龙念龘,三个原念厵,三个雷念靐,三个飞念飝,三个刀念刕,三个又念叒,三个士念壵,三个小念尛,三个子念孨,三个止念歮,三个风念飍,三个隼念雥,三个吉念嚞,三个言念譶,三个舌念舙,三个香念馫,三个泉念灥,三个心念惢,三个白念皛";
            var pys = ToolGood.Words.WordsHelper.GetPinyin(t);
        }
Esempio n. 27
0
        public void ToTraditionalChinese()
        {
            var tw = WordsHelper.ToTraditionalChinese("壹佰贰拾叁亿肆仟伍佰陆拾柒万捌仟玖佰零壹元壹角贰分");

            Assert.AreEqual("壹佰貳拾叄億肆仟伍佰陸拾柒萬捌仟玖佰零壹元壹角貳分", tw);

            var tw2 = WordsHelper.ToTraditionalChinese("原代码11", 2);

            Assert.AreEqual("原始碼11", tw2);

            var tw3 = WordsHelper.ToTraditionalChinese("反反复复", 2);

            Assert.AreEqual("反反覆覆", tw3);

            var tw4 = WordsHelper.ToTraditionalChinese("这人考虑事情总是反反复复的", 2);

            Assert.AreEqual("這人考慮事情總是反反覆覆的", tw4);

            var tw5 = WordsHelper.ToTraditionalChinese("计算发现", 2);
        }
Esempio n. 28
0
 public ValidationResult IsValid(object value, ValidationContext validationContext)
 {
     if (value is string v)
     {
         if (!String.IsNullOrEmpty(v))
         {
             if (MinGanProvider.Instance.IllegalWordsSearch.ContainsAny(v))
             {
                 return(new ValidationResult("存在敏感词", new[] { validationContext.MemberName }));
             }
             // 检查拼音
             if (MinGanProvider.Instance.IllegalWordsSearch.ContainsAny(WordsHelper.GetPinyin(v)))
             {
                 return(new ValidationResult("存在敏感词", new [] { validationContext.MemberName }));
             }
             // todo:其他变种
         }
     }
     return(ValidationResult.Success);
 }
Esempio n. 29
0
        static void GetPinYinWords(string file, HashSet <PinYinWords> pyws)
        {
            SougouPinyinScel scel = new SougouPinyinScel();
            var t = scel.Import(file);
            List <Tuple <string, string> > list = new List <Tuple <string, string> >();

            foreach (var item in t)
            {
                var w   = item.Word;
                var py  = WordsHelper.GetPinYinFast(w).ToLower();
                var py1 = item.PinYinString.Replace("'", "");
                if (py != py1)
                {
                    list.Add(Tuple.Create(w, item.PinYinString));
                }
            }
            for (int i = 2; i < 5; i++)
            {
                SimplifyPinYin(list, pyws, i);
            }
        }
Esempio n. 30
0
        public void GetPinYin()
        {
            var t = WordsHelper.GetAllPinYin('芃');

            Assert.AreEqual("Peng", t[0]);

            var a = WordsHelper.GetPinYinFast("阿");

            Assert.AreEqual("A", a);


            var b = WordsHelper.GetPinYin("摩擦棒");

            Assert.AreEqual("MoCaBang", b);

            b = WordsHelper.GetPinYin("秘鲁");
            Assert.AreEqual("BiLu", b);



            var py = WordsHelper.GetPinYinFast("我爱中国");

            Assert.AreEqual("WoAiZhongGuo", py);



            py = WordsHelper.GetPinYin("快乐,乐清");
            Assert.AreEqual("KuaiLe,YueQing", py);

            py = WordsHelper.GetPinYin("我爱中国");
            Assert.AreEqual("WoAiZhongGuo", py);

            py = WordsHelper.GetFirstPinYin("我爱中国");
            Assert.AreEqual("WAZG", py);

            var pys = WordsHelper.GetAllPinYin('传');

            Assert.AreEqual("Chuan", pys[0]);
            Assert.AreEqual("Zhuan", pys[1]);
        }