// Encode returns the encoded-word form of s. If s is ASCII without special // characters, it is returned unchanged. The provided charset is the IANA // charset name of s. It is case insensitive. public static @string Encode(this WordEncoder e, @string charset, @string s) { if (!needsEncoding(s)) { return(s); } return(e.encodeWord(charset, s)); }
// encodeWord encodes a string into an encoded-word. public static @string encodeWord(this WordEncoder e, @string charset, @string s) { ref strings.Builder buf = ref heap(out ptr <strings.Builder> _addr_buf);
public void Init() { if (LANGUAGE == "ru") { LanguageID = SolarixGrammarEngineNET.GrammarEngineAPI.RUSSIAN_LANGUAGE; } else if (LANGUAGE == "en") { LanguageID = SolarixGrammarEngineNET.GrammarEngineAPI.ENGLISH_LANGUAGE; } encoder = new WordEncoder(); encoder.load(@"e:\MVoice\lem\demo\ai\solarix\argon\WordShingles\bin\Debug"); tags = new TagBook("featureset"); if (LANGUAGE == "ru") { #region ru string str_tags = @" СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:МН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:МН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ЗВАТ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:МН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ПАРТ ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ПАРТ ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ПАРТ ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:МУЖ ОДУШ:ОДУШ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:МН ОДУШ:ОДУШ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:МН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:МН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:МН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:МЕСТ ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:МЕСТ ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:МЕСТ ЧИСЛО:ЕД РОД:СР СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:СЧЕТН ЧИСЛО:ЕД РОД:ЖЕН СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:СЧЕТН ЧИСЛО:ЕД РОД:МУЖ СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:СЧЕТН ЧИСЛО:ЕД РОД:СР ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД РОД:ЖЕН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД РОД:МУЖ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД РОД:СР ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:МН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:ЖЕН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:МУЖ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:СР ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛО:МН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:ЕД РОД:ЖЕН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:ЕД РОД:МУЖ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:ЕД РОД:СР ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛО:МН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:ЖЕН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:МУЖ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:МУЖ ОДУШ:ОДУШ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:СР ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:МН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:МН ОДУШ:ОДУШ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:ЖЕН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:МУЖ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:СР ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛО:МН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД РОД:ЖЕН ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД РОД:МУЖ ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД РОД:СР ПРИЛАГАТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:МН ПРИЛАГАТЕЛЬНОЕ КРАТКИЙ РОД:ЖЕН ЧИСЛО:ЕД ПРИЛАГАТЕЛЬНОЕ КРАТКИЙ РОД:МУЖ ЧИСЛО:ЕД ПРИЛАГАТЕЛЬНОЕ КРАТКИЙ РОД:СР ЧИСЛО:ЕД ПРИЛАГАТЕЛЬНОЕ КРАТКИЙ ЧИСЛО:МН ПРИЛАГАТЕЛЬНОЕ СТЕПЕНЬ:СРАВН МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД ЛИЦО:1 МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:МН ЛИЦО:1 МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД ЛИЦО:2 МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:МН ЛИЦО:2 МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД ЛИЦО:3 РОД:МУЖ МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД ЛИЦО:3 РОД:ЖЕН МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:ЕД ЛИЦО:3 РОД:СР МЕСТОИМЕНИЕ ПАДЕЖ:ИМ ЧИСЛО:МН ЛИЦО:3 МЕСТОИМЕНИЕ ПАДЕЖ:РОД ЧИСЛО:ЕД МЕСТОИМЕНИЕ ПАДЕЖ:РОД ЧИСЛО:МН МЕСТОИМЕНИЕ ПАДЕЖ:ТВОР ЧИСЛО:ЕД МЕСТОИМЕНИЕ ПАДЕЖ:ТВОР ЧИСЛО:МН МЕСТОИМЕНИЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД МЕСТОИМЕНИЕ ПАДЕЖ:ВИН ЧИСЛО:МН МЕСТОИМЕНИЕ ПАДЕЖ:ДАТ ЧИСЛО:ЕД МЕСТОИМЕНИЕ ПАДЕЖ:ДАТ ЧИСЛО:МН МЕСТОИМЕНИЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД МЕСТОИМЕНИЕ ПАДЕЖ:ПРЕДЛ ЧИСЛО:МН МЕСТОИМ_СУЩ ПАДЕЖ:ИМ МЕСТОИМ_СУЩ ПАДЕЖ:РОД МЕСТОИМ_СУЩ ПАДЕЖ:ТВОР МЕСТОИМ_СУЩ ПАДЕЖ:ВИН МЕСТОИМ_СУЩ ПАДЕЖ:ДАТ МЕСТОИМ_СУЩ ПАДЕЖ:ПРЕДЛ ЧИСЛИТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛИТЕЛЬНОЕ ПАДЕЖ:РОД ЧИСЛИТЕЛЬНОЕ ПАДЕЖ:ТВОР ЧИСЛИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛИТЕЛЬНОЕ ПАДЕЖ:ДАТ ЧИСЛИТЕЛЬНОЕ ПАДЕЖ:ПРЕДЛ ЧИСЛИТЕЛЬНОЕ ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ВРЕМЯ:ПРОШЕДШЕЕ РОД:МУЖ ЧИСЛО:ЕД ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ВРЕМЯ:ПРОШЕДШЕЕ РОД:ЖЕН ЧИСЛО:ЕД ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ВРЕМЯ:ПРОШЕДШЕЕ РОД:СР ЧИСЛО:ЕД ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ВРЕМЯ:ПРОШЕДШЕЕ ЧИСЛО:МН ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ЛИЦО:1 ЧИСЛО:ЕД ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ЛИЦО:1 ЧИСЛО:МН ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ЛИЦО:2 ЧИСЛО:ЕД ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ЛИЦО:2 ЧИСЛО:МН ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ЛИЦО:3 ЧИСЛО:ЕД ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ЛИЦО:3 ЧИСЛО:МН ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ГЛАГОЛ НАКЛОНЕНИЕ:ПОБУД ГЛАГОЛ ВВОДНОЕ БЕЗЛИЧ_ГЛАГОЛ NUM_WORD ИНФИНИТИВ ДЕЕПРИЧАСТИЕ ПРЕДЛОГ ПОСЛЕЛОГ СОЮЗ ЧАСТИЦА ПУНКТУАТОР НАРЕЧИЕ BETH:BEGIN{} BETH:END{} UNKNOWNENTRIES ПРИТЯЖ_ЧАСТИЦА ЕДИНИЦА_ИЗМЕРЕНИЯ ВОСКЛ_ГЛАГОЛ ПРЕФИКС_СОСТАВ_ПРИЛ ПРЕФИКС_СОСТАВ_СУЩ "; #endregion ru tags.Load(str_tags, gren); } else if (LANGUAGE == "en") { #region en string str_tags = @" ENG_VERB ENG_ARTICLE ENG_NOUN ENG_ADVERB ENG_ADJECTIVE ENG_PREP ENG_CONJ ENG_PRONOUN ENG_POSTPOS ENG_NUMERAL ENG_INTERJECTION ENG_POSSESSION ENG_COMPOUND_PRENOUN ENG_COMPOUND_PREADJ ENG_COMPOUND_PREVERB ENG_COMPOUND_PREADV ENG_PARTICLE NUM_WORD ПУНКТУАТОР BETH:BEGIN{} BETH:END{} UNKNOWNENTRIES "; #endregion en tags.Load(str_tags, gren); } else { throw new NotImplementedException(); } return; }
public void encode_big_assume_result_is_gIb() { var wordEncoder = new WordEncoder(); Assert.Equal("gIb", wordEncoder.Encode("big")); }
public void encode_ab_assume_result_equals_bA() { var wordEncoder = new WordEncoder(); Assert.Equal("bA", wordEncoder.Encode("ab")); }
public void encode_jumped_assume_result_equals_dEpMuJ() { var wordEncoder = new WordEncoder(); Assert.Equal("dEpMuJ", wordEncoder.Encode("jumped")); }
public void encode_empty_string_assume_result_is_empty() { var wordEncoder = new WordEncoder(); Assert.Equal(string.Empty, wordEncoder.Encode(" ")); }
public void encode_number_assume_result_is_rEbMuN() { var wordEncoder = new WordEncoder(); Assert.Equal("rEbMuN", wordEncoder.Encode("number")); }