コード例 #1
0
        /// <summary>
        /// Adds the specified localization instance to the list of manages localization instances.
        /// </summary>
        /// <param name="localization">The localization instance.</param>
        internal static void AddLocalization(LocalizeExtension localization)
        {
            if (localization == null)
            {
                throw new ArgumentNullException("localization");
            }

            if (_localizationPurgeCount > 50)
            {
                // It's really faster to fill a new list instead of removing elements
                // from the existing list when there are a lot of elements to remove.

                var localizatons = new List <LocalizeExtension>(_localizations.Count);

                foreach (var item in _localizations)
                {
                    if (item.IsAlive)
                    {
                        localizatons.Add(item);
                    }
                }

                _localizations          = localizatons;
                _localizationPurgeCount = 0;
            }

            _localizations.Add(localization);
            _localizationPurgeCount++;
        }
コード例 #2
0
ファイル: Extensions.cs プロジェクト: MacSergey/NodeMarkup
 public static string Description(this StyleModifier modifier)
 {
     if (modifier.GetAttr <DescriptionAttribute, StyleModifier>() is DescriptionAttribute description)
     {
         return(Localize.ResourceManager.GetString(description.Description, Localize.Culture));
     }
     else if (modifier.GetAttr <InputKeyAttribute, StyleModifier>() is InputKeyAttribute inputKey)
     {
         return(LocalizeExtension.GetModifiers(inputKey.Control, inputKey.Alt, inputKey.Shift));
     }
     else
     {
         return(modifier.ToString());
     }
 }
コード例 #3
0
 public static string Localize(this string source, string key, string category)
 {
     return(LocalizeExtension.Localize(source, key, category));
 }