예제 #1
0
            public static UnsafeConst GetInstanceByLanguage(LanguageTypeEnum languageType)
            {
                switch (languageType)
                {
                case LanguageTypeEnum.En:
                    if (_Inst_En == null)
                    {
                        lock (typeof(UnsafeConst))
                        {
                            if (_Inst_En == null)
                            {
                                _Inst_En = new UnsafeConst(languageType);
                            }
                        }
                    }
                    return(_Inst_En);

                default:     //case LanguageTypeEnum.Ru:
                    if (_Inst_Ru == null)
                    {
                        lock (typeof(UnsafeConst))
                        {
                            if (_Inst_Ru == null)
                            {
                                _Inst_Ru = new UnsafeConst(languageType);
                            }
                        }
                    }
                    return(_Inst_Ru);
                }
            }
예제 #2
0
 /// <summary>
 /// 初始化
 /// </summary>
 public static void Init(LanguageTypeEnum lang, Dictionary <string, string> data)
 {
     _lang = lang;
     if (data == null)
     {
         return;
     }
     _langDict = data;
 }
예제 #3
0
        public PosTaggerModelBuilder(string templateFilename, LanguageTypeEnum languageType, UrlDetectorConfig urlDetectorConfig)
        {
            templateFilename.ThrowIfNullOrWhiteSpace("templateFilename");
            urlDetectorConfig.ThrowIfNull("urlDetectorConfig");

            _PosTaggerScriber            = PosTaggerScriber.Create4ModelBuilder(templateFilename);
            _PosTaggerInputTypeProcessor = CreatePosTaggerInputTypeProcessor(languageType);
            _UrlDetector = new UrlDetector(urlDetectorConfig);
            _Words       = new List <word_t>();
        }
예제 #4
0
 public NerModelBuilderConfig(string tokenizerResourcesXmlFilename,
                              LanguageTypeEnum languageType,
                              UrlDetectorConfig urlDetectorConfig)
 {
     TokenizerConfig4NerModelBuilder = new TokenizerConfig4NerModelBuilder(tokenizerResourcesXmlFilename)
     {
         UrlDetectorConfig            = urlDetectorConfig,
         NerInputTypeProcessorFactory = new NerInputTypeProcessorFactory(languageType),
         LanguageType = languageType,
     };
 }
예제 #5
0
        public static ICodeGenerator GetCodeGenerator(LanguageTypeEnum languageType)
        {
            ICodeGenerator generator = default(ICodeGenerator);

            switch (languageType)
            {
            case LanguageTypeEnum.cs:
                generator = new CsCodeGenerator();
                break;
            }
            return(generator);
        }
예제 #6
0
        /// <summary>
        /// Gets the type of the language.
        /// </summary>
        /// <param name="languageTypeEnum">The language type enum.</param>
        /// <param name="wordName">Name of the word.</param>
        /// <returns></returns>
        /// <exception cref="NotFoundException"></exception>
        private LanguageType GetLanguageType(LanguageTypeEnum languageTypeEnum, string wordName = "original word")
        {
            var languageType = _flashcardDbContext.LanguageTypes.FirstOrDefault(l =>
                                                                                l.Tag.ToLower() == languageTypeEnum.ToString().ToLower());

            if (languageType == null)
            {
                throw new NotFoundException($"Language type for {wordName} not found");
            }

            return(languageType);
        }
예제 #7
0
 public NerProcessorConfig(string tokenizerResourcesXmlFilename,
                           LanguageTypeEnum languageType,
                           SentSplitterConfig sentSplitterConfig)
 {
     TokenizerConfig = new TokenizerConfig(tokenizerResourcesXmlFilename)
     {
         TokenizeMode                 = TokenizeMode.Ner,
         SentSplitterConfig           = sentSplitterConfig,
         NerInputTypeProcessorFactory = new NerInputTypeProcessorFactory(languageType),
         LanguageType                 = languageType,
     };
 }
예제 #8
0
 public PosTaggerProcessorConfig(string tokenizerResourcesXmlFilename,
                                 string posTaggerResourcesXmlFilename,
                                 LanguageTypeEnum languageType,
                                 SentSplitterConfig sentSplitterConfig)
 {
     Model           = new PosTaggerResourcesModel(posTaggerResourcesXmlFilename);
     TokenizerConfig = new TokenizerConfig(tokenizerResourcesXmlFilename)
     {
         TokenizeMode       = TokenizeMode.PosTagger,
         LanguageType       = languageType,
         SentSplitterConfig = sentSplitterConfig,
         PosTaggerInputTypeProcessorFactory = new PosTaggerInputTypeProcessorFactory(Model, languageType),
     };
 }
예제 #9
0
            private UnsafeConst(LanguageTypeEnum languageType)
            {
                var CRF_CHARTYPE_MAP = new byte[char.MaxValue + 1];

                fixed(byte *cctm = CRF_CHARTYPE_MAP)
                {
                    for (var c = char.MinValue; ; c++)
                    {
                        if (char.IsPunctuation(c))
                        {
                            *(cctm + c) = (byte)CRFCharType.InterpreteAsWhitespace;
                        }

                        if (c == char.MaxValue)
                        {
                            break;
                        }
                    }

                    foreach (var c in INCLUDE_INTERPRETE_AS_WHITESPACE)
                    {
                        *(cctm + c) = (byte)CRFCharType.InterpreteAsWhitespace;
                    }

                    foreach (var c in TOKENIZE_DIFFERENT_SEPARATELY)
                    {
                        *(cctm + c) = (byte)CRFCharType.TokenizeDifferentSeparately;
                    }

                    var between_letter_or_digit = (languageType == LanguageTypeEnum.En)
                        ? BETWEEN_LETTER_OR_DIGIT_EN
                        : BETWEEN_LETTER_OR_DIGIT;

                    foreach (var c in between_letter_or_digit)
                    {
                        *(cctm + c) |= (byte)CRFCharType.BetweenLetterOrDigit;
                    }

                    foreach (var c in BETWEEN_DIGIT)
                    {
                        *(cctm + c) |= (byte)CRFCharType.BetweenDigit;
                    }

                    *(cctm + DOT) = (byte)CRFCharType.DotChar;
                }

                var CRF_CHARTYPE_MAP_GCHandle = GCHandle.Alloc(CRF_CHARTYPE_MAP, GCHandleType.Pinned);

                _CRF_CHARTYPE_MAP = (CRFCharType *)CRF_CHARTYPE_MAP_GCHandle.AddrOfPinnedObject().ToPointer();
            }
예제 #10
0
        /// <summary>
        /// Converts a LanguageTypeEnum value to a corresponding string value
        /// </summary>
        /// <param name="enumValue">The LanguageTypeEnum value to convert</param>
        /// <returns>The representative string value</returns>
        public static string ToValue(LanguageTypeEnum enumValue)
        {
            switch (enumValue)
            {
            //only valid enum elements can be used
            //this is necessary to avoid errors
            case LanguageTypeEnum.EN:
            case LanguageTypeEnum.TR:
                return(stringValues[(int)enumValue]);

            //an invalid enum value was requested
            default:
                return(null);
            }
        }
        internal PosTaggerInputTypeProcessorFactory(PosTaggerResourcesModel model, LanguageTypeEnum languageType)
        {
            switch (languageType)
            {
            case LanguageTypeEnum.Ru:
                _PosTaggerInputTypeProcessor = new PosTaggerInputTypeProcessor_Ru(model.Numbers, model.Abbreviations);
                break;

            case LanguageTypeEnum.En:
                _PosTaggerInputTypeProcessor = new PosTaggerInputTypeProcessor_En(model.Numbers, model.Abbreviations);
                break;

            default:
                throw (new ArgumentException(languageType.ToString()));
            }
        }
예제 #12
0
        public NerInputTypeProcessorFactory(LanguageTypeEnum languageType)
        {
            switch (languageType)
            {
            case LanguageTypeEnum.En:
                _NerInputTypeProcessor = new NerInputTypeProcessor_En();
                break;

            case LanguageTypeEnum.Ru:
                _NerInputTypeProcessor = new NerInputTypeProcessor_Ru();
                break;

            default:
                throw (new ArgumentException(languageType.ToString()));
            }
        }
예제 #13
0
        /// <summary>
        /// Used for CREATE
        /// </summary>
        /// <param name="addons"></param>
        /// <param name="languages"></param>
        /// <param name="selectedLanguageId"></param>
        public AddonModel(IEnumerable<Addon> addons, IEnumerable<Language> languages, LanguageTypeEnum selectedLanguageId, string currency)
        {
            Name = LocalizedValueModel.Create(languages).ToList();
            Description = LocalizedValueModel.Create(languages).ToList();
            Currency = currency;

            SelectedCalculationRule = 0;
            SelectedPostingRhythm = 0;

            SelectedLanguageId = selectedLanguageId;
            AvailableLanguages = languages.Select(x => new LocalizedValueModel(x.Id, x.Name, x.Name)).ToList();

            MenuItems = addons.Select(x => new MenuItemModel(x.Id, x.Name.GetText(selectedLanguageId), false))
                .OrderBy(x => x.Name)
                .ToList();

            InitDropDownLists();
        }
예제 #14
0
        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            if (requestContext.HttpContext.Session["Culture"] == null)
            {
                requestContext.HttpContext.Session["Culture"] = "pt-BR";
            }
            //
            string browser = ((HttpBrowserCapabilitiesWrapper)(((HttpContextWrapper)requestContext.HttpContext).Request.Browser)).Browser;

            if (((HttpContextWrapper)requestContext.HttpContext).Response != null)
            {
                if (requestContext.HttpContext.Session["Data_Login"] != null)
                {
                    ((HttpContextWrapper)requestContext.HttpContext).Response.AppendHeader("sessao_data_login", requestContext.HttpContext.Session["Data_Login"].ToString());
                }
                //
                if (requestContext.HttpContext.Session["usuario"] != null)
                {
                    ((HttpContextWrapper)requestContext.HttpContext).Response.AppendHeader("sessao_usuario", requestContext.HttpContext.Session["usuario"].ToString());
                }
            }
            //
            switch (requestContext.HttpContext.Session["Culture"].ToString().ToUpper())
            {
            case "EN-US":
                currentLanguage = LanguageTypeEnum.english;
                break;

            case "ES-ES":
                currentLanguage = LanguageTypeEnum.espanol;
                break;

            case "PT-BR":
                currentLanguage = LanguageTypeEnum.portugues;
                break;

            default:     // se for qualquer outro valor assume Português
                currentLanguage = LanguageTypeEnum.portugues;
                break;
            }
            //
            language = (int)currentLanguage;
            base.Initialize(requestContext);
        }
예제 #15
0
        /// <summary>
        /// Used for Edit
        /// </summary>
        /// <param name="selectedId"></param>
        /// <param name="addons"></param>
        /// <param name="languages"></param>
        /// <param name="selectedLanguageId"></param>
        /// <param name="currency"></param>
        public AddonModel(int selectedId, IEnumerable<Addon> addons, IEnumerable<Language> languages, LanguageTypeEnum selectedLanguageId, string currency)
        {
            var selectedAddon = addons.First(x => x.Id == selectedId);

            Id = selectedAddon.Id;
            Name = LocalizedValueModel.Create(languages, selectedAddon.Name).ToList();
            Description = LocalizedValueModel.Create(languages, selectedAddon.Description).ToList();
            Price = selectedAddon.Price;
            Currency = currency;

            SelectedCalculationRule = selectedAddon.CalculationRule;
            SelectedPostingRhythm = selectedAddon.PostingRhythm;

            SelectedLanguageId = selectedLanguageId;
            AvailableLanguages = languages.Select(x => new LocalizedValueModel(x.Id, x.Name, x.Name)).ToList();

            MenuItems = addons.Select(x => new MenuItemModel(x.Id, x.Name.GetText(selectedLanguageId), x.Id == selectedId))
                .OrderBy(x => x.Name)
                .ToList();

            InitDropDownLists();
        }
예제 #16
0
 public MultiLevelAttributeViewModel SetLanguageRequired(LanguageTypeEnum language)
 {
     LanguageRequired |= language;
     return(this);
 }
예제 #17
0
        /// <summary>
        /// Used for CREATE
        /// </summary>
        /// <param name="roomTypes"></param>
        /// <param name="languages"></param>
        /// <param name="selectedLanguageId"></param>
        public RoomTypeModel(int hotelId, IEnumerable<RoomType> roomTypes, IEnumerable<Language> languages, LanguageTypeEnum selectedLanguageId, string currencySymbol, IEnumerable<Asset> assets)
        {
            HotelId = hotelId;

            SelectedLanguageId = selectedLanguageId;
            AvailableLanguages = languages.Select(x => new LocalizedValueModel(x.Id, x.Name, x.Name)).ToList();

            Name = LocalizedValueModel.Create(languages).ToList();
            Description = LocalizedValueModel.Create(languages).ToList();
            CurrencySymbol = currencySymbol;

            Assets = new List<RoomTypeSelectedAsset>();
            MediaAssets = assets.Select(x => new MediaSelectorAsset(x.Id, x.Name)).ToList();

            MenuItems = roomTypes.Select(x => new MenuItemModel(x.Id, x.Name.GetText(selectedLanguageId), false))
                .OrderBy(x => x.Name)
                .ToList();
        }
예제 #18
0
        /// <summary>
        /// Used for EDIT
        /// </summary>
        /// <param name="selectedId"></param>
        /// <param name="roomTypes"></param>
        /// <param name="languages"></param>
        /// <param name="selectedLanguageId"></param>
        public RoomTypeModel(int hotelId, int selectedId, IEnumerable<RoomType> roomTypes, IEnumerable<Language> languages, LanguageTypeEnum selectedLanguageId, string currencySymbol, IEnumerable<Asset> assets)
        {
            var selectedRoomType = roomTypes.First(x => x.Id == selectedId);

            HotelId = selectedId;

            SelectedLanguageId = selectedLanguageId;
            AvailableLanguages = languages.Select(x => new LocalizedValueModel(x.Id, x.Name, x.Name)).ToList();

            Name = LocalizedValueModel.Create(languages, selectedRoomType.Name).ToList();
            Description = LocalizedValueModel.Create(languages, selectedRoomType.Description).ToList();

            Capacity = selectedRoomType.Capacity;
            Size = selectedRoomType.Size;
            PhysicalRooms = selectedRoomType.PhysicalRooms;
            Smoking = selectedRoomType.IsSmoking;
            RackRate = selectedRoomType.RackRate;
            CurrencySymbol = currencySymbol;

            Assets = selectedRoomType.Assets.Select(x => new RoomTypeSelectedAsset(x)).ToList();
            MediaAssets = assets.Select(x => new MediaSelectorAsset(x.Id, x.Name)).ToList();

            MenuItems = roomTypes.Select(x => new MenuItemModel(x.Id, x.Name.GetText(selectedLanguageId), x.Id == selectedId))
                .OrderBy(x => x.Name)
                .ToList();
        }
예제 #19
0
            private UnsafeConst(LanguageTypeEnum languageType)
            {
                //-1-//
                var CRF_CHARTYPE_MAP = new byte /*CRFCharType*/[char.MaxValue + 1];

                fixed(/*CRFCharType*/ byte *cctm = CRF_CHARTYPE_MAP)
                {
                    for (var c = char.MinValue; /*c <= char.MaxValue*/; c++)
                    {
                        if (/*char.IsWhiteSpace( c ) ||*/ char.IsPunctuation(c))
                        {
                            *(cctm + c) = (byte)CRFCharType.InterpreteAsWhitespace;
                        }

                        if (c == char.MaxValue)
                        {
                            break;
                        }
                    }

                    foreach (var c in INCLUDE_INTERPRETE_AS_WHITESPACE)
                    {
                        *(cctm + c) = (byte)CRFCharType.InterpreteAsWhitespace;
                    }

                    foreach (var c in TOKENIZE_DIFFERENT_SEPARATELY)
                    {
                        *(cctm + c) = (byte)CRFCharType.TokenizeDifferentSeparately;
                    }

                    var between_letter_or_digit = (languageType == LanguageTypeEnum.En)
                                                  ? BETWEEN_LETTER_OR_DIGIT_EN
                                                  : BETWEEN_LETTER_OR_DIGIT;

                    foreach (var c in between_letter_or_digit)
                    {
                        *(cctm + c) |= (byte)CRFCharType.BetweenLetterOrDigit;
                    }

                    foreach (var c in BETWEEN_DIGIT)
                    {
                        *(cctm + c) |= (byte)CRFCharType.BetweenDigit;
                    }

                    #region commented

                    /*
                     * foreach ( var c in EXCLUDE_INTERPRETE_AS_WHITESPACE )
                     * {
                     *  var cct = *(cctm + c);
                     *  if ( (cct & CRFCharType.BetweenNonWhitespace) == CRFCharType.BetweenNonWhitespace )
                     *(cctm + c) ^= CRFCharType.BetweenNonWhitespace;
                     *  else
                     *  if ( (cct & CRFCharType.InterpreteAsWhitespace) == CRFCharType.InterpreteAsWhitespace )
                     *(cctm + c) ^= CRFCharType.InterpreteAsWhitespace;
                     * }
                     */
                    #endregion

                    //-ERROR-!!!-*(cctm + DOT) |= (byte) CRFCharType.DotChar;
                    //-ONLY-SO--!!!-
                    *(cctm + DOT) = (byte)CRFCharType.DotChar;
                }

                var CRF_CHARTYPE_MAP_GCHandle = GCHandle.Alloc(CRF_CHARTYPE_MAP, GCHandleType.Pinned);
                _CRF_CHARTYPE_MAP = (CRFCharType *)CRF_CHARTYPE_MAP_GCHandle.AddrOfPinnedObject().ToPointer();
            }
예제 #20
0
        private static IPosTaggerInputTypeProcessor CreatePosTaggerInputTypeProcessor(LanguageTypeEnum languageType)
        {
            switch (languageType)
            {
            case LanguageTypeEnum.En:
                return(new PosTaggerInputTypeProcessorEn(new HashSet <string>(), new HashSet <string>()));

            case LanguageTypeEnum.Ru:
                return(new PosTaggerInputTypeProcessorRu(new HashSet <string>(), new HashSet <string>()));

            default:
                throw new ArgumentException(languageType.ToString());
            }
        }