/// <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++; }
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()); } }
public static string Localize(this string source, string key, string category) { return(LocalizeExtension.Localize(source, key, category)); }