Ejemplo n.º 1
0
 private static void CreatePluralProvider(string forcedCultureName = null)
 {
     lock (_objLock)
     {
         if (_pluralProvider == null)
         {
             var cultureToUse = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
             if (!string.IsNullOrEmpty(forcedCultureName))
             {
                 try
                 {
                     var forcedCulture = new CultureInfo(forcedCultureName)?.TwoLetterISOLanguageName;
                     if (!string.IsNullOrEmpty(forcedCulture))
                     {
                         cultureToUse = forcedCulture;
                     }
                 }
                 catch
                 {
                 }
             }
             _pluralProvider = PluralHelper.GetPluralChooser(cultureToUse);
         }
     }
 }
        private static void Initialize()
        {
            var providers = Factory.GetProviders <ProviderBase, ProviderCollectionBase <ProviderBase> >("quantus", out var defaultProvider);

            if (!(defaultProvider is IPluralProvider defaultSearchResultFormatter))
            {
                throw new ConfigurationErrorsException("The default quantus provider must derive from IPluralProvider");
            }

            _all = providers;
            _defaultPluralProvider = defaultSearchResultFormatter;
        }
Ejemplo n.º 3
0
        public static string GetPlural(this ResourceManager resource, string key, decimal number)
#endif
        {
            if (_pluralProvider == null)
            {
                _pluralProvider = PluralHelper.GetPluralChooser(new CultureInfo(resource.GetString("ResourceLanguage")));
            }
            string selectedSentence = null;
            var    pluralType       = _pluralProvider.ComputePlural(number);

            try
            {
                switch (pluralType)
                {
                case PluralTypeEnum.ZERO:
                    selectedSentence = resource.GetString(key + "_Zero");
                    break;

                case PluralTypeEnum.ONE:
                    selectedSentence = resource.GetString(key + "_One");
                    break;

                case PluralTypeEnum.OTHER:
                    selectedSentence = resource.GetString(key + "_Other");
                    break;

                case PluralTypeEnum.TWO:
                    selectedSentence = resource.GetString(key + "_Two");
                    break;

                case PluralTypeEnum.FEW:
                    selectedSentence = resource.GetString(key + "_Few");
                    break;

                case PluralTypeEnum.MANY:
                    selectedSentence = resource.GetString(key + "_Many");
                    break;
                }
            }
            catch { }
            return(selectedSentence ?? "");
        }
Ejemplo n.º 4
0
        public static string GetPlural(this ResourceManager resource, string key, decimal number)
#endif
        {
            if (_pluralProvider == null)
            {
                lock (_objLock)
                {
                    if (_pluralProvider == null)
                    {
                        CultureInfo cultureToUse  = null;
                        var         forcedCulture = resource.GetString("ResourceLanguage");
                        if (!string.IsNullOrEmpty(forcedCulture))
                        {
                            try
                            {
                                cultureToUse = new CultureInfo(forcedCulture);
                            }
                            catch
                            {
                                cultureToUse = new CultureInfo(CultureInfo.CurrentUICulture.Name);
                            }
                        }
                        else
                        {
                            cultureToUse = new CultureInfo(CultureInfo.CurrentUICulture.Name);
                        }

                        _pluralProvider = PluralHelper.GetPluralChooser(cultureToUse);
                    }
                }
            }
            string selectedSentence = null;
            var    pluralType       = _pluralProvider.ComputePlural(number);

            try
            {
                switch (pluralType)
                {
                case PluralTypeEnum.ZERO:
                    selectedSentence = resource.GetString(key + "_Zero");
                    break;

                case PluralTypeEnum.ONE:
                    selectedSentence = resource.GetString(key + "_One");
                    break;

                case PluralTypeEnum.OTHER:
                    selectedSentence = resource.GetString(key + "_Other");
                    break;

                case PluralTypeEnum.TWO:
                    selectedSentence = resource.GetString(key + "_Two");
                    break;

                case PluralTypeEnum.FEW:
                    selectedSentence = resource.GetString(key + "_Few");
                    break;

                case PluralTypeEnum.MANY:
                    selectedSentence = resource.GetString(key + "_Many");
                    break;
                }
            }
            catch { }
            return(selectedSentence ?? "");
        }