60 lines
2.3 KiB
C#
60 lines
2.3 KiB
C#
|
#region Copyright information
|
|||
|
// <copyright file="ILocalizationProvider.cs">
|
|||
|
// Licensed under Microsoft Public License (Ms-PL)
|
|||
|
// https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension/blob/master/LICENSE
|
|||
|
// </copyright>
|
|||
|
// <author>Uwe Mayer</author>
|
|||
|
#endregion
|
|||
|
|
|||
|
namespace WPFLocalizeExtension.Providers
|
|||
|
{
|
|||
|
#region Usings
|
|||
|
using System.Collections.ObjectModel;
|
|||
|
using System.Globalization;
|
|||
|
using System.Windows;
|
|||
|
#endregion
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// An interface describing classes that provide localized values based on a source/dictionary/key combination.
|
|||
|
/// </summary>
|
|||
|
public interface ILocalizationProvider
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Uses the key and target to build a fully qualified resource key (Assembly, Dictionary, Key)
|
|||
|
/// </summary>
|
|||
|
/// <param name="key">Key used as a base to find the full key</param>
|
|||
|
/// <param name="target">Target used to help determine key information</param>
|
|||
|
/// <returns>Returns an object with all possible pieces of the given key (Assembly, Dictionary, Key)</returns>
|
|||
|
FullyQualifiedResourceKeyBase GetFullyQualifiedResourceKey(string key, DependencyObject target);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Get the localized object.
|
|||
|
/// </summary>
|
|||
|
/// <param name="key">The key to the value.</param>
|
|||
|
/// <param name="target">The target <see cref="DependencyObject"/>.</param>
|
|||
|
/// <param name="culture">The culture to use.</param>
|
|||
|
/// <returns>The value corresponding to the source/dictionary/key path for the given culture (otherwise NULL).</returns>
|
|||
|
object GetLocalizedObject(string key, DependencyObject target, CultureInfo culture);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// An observable list of available cultures.
|
|||
|
/// </summary>
|
|||
|
ObservableCollection<CultureInfo> AvailableCultures { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// An event that is fired when the provider changed.
|
|||
|
/// </summary>
|
|||
|
event ProviderChangedEventHandler ProviderChanged;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// An event that is fired when an error occurred.
|
|||
|
/// </summary>
|
|||
|
event ProviderErrorEventHandler ProviderError;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// An event that is fired when a value changed.
|
|||
|
/// </summary>
|
|||
|
event ValueChangedEventHandler ValueChanged;
|
|||
|
}
|
|||
|
}
|