diff --git a/samples/LocalizationSample/Startup.cs b/samples/LocalizationSample/Startup.cs index ea9fb7c6..b67fa550 100644 --- a/samples/LocalizationSample/Startup.cs +++ b/samples/LocalizationSample/Startup.cs @@ -36,9 +36,9 @@ public void Configure(IApplicationBuilder app, IStringLocalizer SR) //} }; - // Optionally create an app-specific strategy with just a delegate, e.g. look up user preference from DB. - // Inserting it as position 0 ensures it has priority over any of the default strategies. - //options.RequestCultureStrategies.Insert(0, new CustomRequestCultureStrategy(async context => + // Optionally create an app-specific provider with just a delegate, e.g. look up user preference from DB. + // Inserting it as position 0 ensures it has priority over any of the default providers. + //options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context => //{ //})); @@ -74,13 +74,13 @@ await context.Response.WriteAsync( function useCookie() {{ var culture = document.getElementById('culture'); var uiCulture = document.getElementById('uiCulture'); - var cookieValue = '{CookieRequestCultureStrategy.DefaultCookieName}=c='+culture.options[culture.selectedIndex].value+'|uic='+uiCulture.options[uiCulture.selectedIndex].value; + var cookieValue = '{CookieRequestCultureProvider.DefaultCookieName}=c='+culture.options[culture.selectedIndex].value+'|uic='+uiCulture.options[uiCulture.selectedIndex].value; document.cookie = cookieValue; window.location = window.location.href.split('?')[0]; }} function clearCookie() {{ - document.cookie='{CookieRequestCultureStrategy.DefaultCookieName}=""""'; + document.cookie='{CookieRequestCultureProvider.DefaultCookieName}=""""'; }} @@ -101,7 +101,7 @@ function clearCookie() {{ await context.Response.WriteAsync(""); await context.Response.WriteAsync("
"); await context.Response.WriteAsync(""); - await context.Response.WriteAsync($""); + await context.Response.WriteAsync($""); await context.Response.WriteAsync($""); await context.Response.WriteAsync($""); await context.Response.WriteAsync($""); diff --git a/src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureStrategy.cs b/src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureProvider.cs similarity index 97% rename from src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureStrategy.cs rename to src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureProvider.cs index eef5cf79..46fbed8c 100644 --- a/src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureStrategy.cs +++ b/src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureProvider.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Localization /// /// Determines the culture information for a request via the value of the Accept-Language header. /// - public class AcceptLanguageHeaderRequestCultureStrategy : RequestCultureStrategy + public class AcceptLanguageHeaderRequestCultureProvider : RequestCultureProvider { /// /// The maximum number of values in the Accept-Language header to attempt to create a diff --git a/src/Microsoft.AspNet.Localization/CookieRequestCultureStrategy.cs b/src/Microsoft.AspNet.Localization/CookieRequestCultureProvider.cs similarity index 98% rename from src/Microsoft.AspNet.Localization/CookieRequestCultureStrategy.cs rename to src/Microsoft.AspNet.Localization/CookieRequestCultureProvider.cs index e1422656..a9a20b03 100644 --- a/src/Microsoft.AspNet.Localization/CookieRequestCultureStrategy.cs +++ b/src/Microsoft.AspNet.Localization/CookieRequestCultureProvider.cs @@ -12,7 +12,7 @@ namespace Microsoft.AspNet.Localization /// /// Determines the culture information for a request via the value of a cookie. /// - public class CookieRequestCultureStrategy : RequestCultureStrategy + public class CookieRequestCultureProvider : RequestCultureProvider { private static readonly char[] _cookieSeparator = new[] { '|' }; private static readonly string _culturePrefix = "c="; diff --git a/src/Microsoft.AspNet.Localization/CustomRequestCultureStrategy.cs b/src/Microsoft.AspNet.Localization/CustomRequestCultureProvider.cs similarity index 63% rename from src/Microsoft.AspNet.Localization/CustomRequestCultureStrategy.cs rename to src/Microsoft.AspNet.Localization/CustomRequestCultureProvider.cs index 65546bed..0bbb94f4 100644 --- a/src/Microsoft.AspNet.Localization/CustomRequestCultureStrategy.cs +++ b/src/Microsoft.AspNet.Localization/CustomRequestCultureProvider.cs @@ -11,23 +11,23 @@ namespace Microsoft.AspNet.Localization /// /// Determines the culture information for a request via the configured delegate. /// - public class CustomRequestCultureStrategy : RequestCultureStrategy + public class CustomRequestCultureProvider : RequestCultureProvider { - private readonly Func> _strategy; + private readonly Func> _provider; /// - /// Creates a new using the specified delegate. + /// Creates a new using the specified delegate. /// - /// The strategy delegate. - public CustomRequestCultureStrategy([NotNull] Func> strategy) + /// The provider delegate. + public CustomRequestCultureProvider([NotNull] Func> provider) { - _strategy = strategy; + _provider = provider; } /// public override Task DetermineRequestCulture([NotNull] HttpContext httpContext) { - return _strategy(httpContext); + return _provider(httpContext); } } } diff --git a/src/Microsoft.AspNet.Localization/IRequestCultureFeature.cs b/src/Microsoft.AspNet.Localization/IRequestCultureFeature.cs index 44cc487a..4ea6aed4 100644 --- a/src/Microsoft.AspNet.Localization/IRequestCultureFeature.cs +++ b/src/Microsoft.AspNet.Localization/IRequestCultureFeature.cs @@ -14,10 +14,10 @@ public interface IRequestCultureFeature RequestCulture RequestCulture { get; } /// - /// The that determined the request's culture information. - /// If the value is null then no strategy was used and the request's culture was set to the value of + /// The that determined the request's culture information. + /// If the value is null then no provider was used and the request's culture was set to the value of /// . /// - IRequestCultureStrategy Strategy { get; } + IRequestCultureProvider Provider { get; } } } \ No newline at end of file diff --git a/src/Microsoft.AspNet.Localization/IRequestCultureStrategy.cs b/src/Microsoft.AspNet.Localization/IRequestCultureProvider.cs similarity index 75% rename from src/Microsoft.AspNet.Localization/IRequestCultureStrategy.cs rename to src/Microsoft.AspNet.Localization/IRequestCultureProvider.cs index 91001e57..4af4908b 100644 --- a/src/Microsoft.AspNet.Localization/IRequestCultureStrategy.cs +++ b/src/Microsoft.AspNet.Localization/IRequestCultureProvider.cs @@ -7,17 +7,17 @@ namespace Microsoft.AspNet.Localization { /// - /// Represents a strategy for determining the culture information of an . + /// Represents a provider for determining the culture information of an . /// - public interface IRequestCultureStrategy + public interface IRequestCultureProvider { /// - /// Implements the strategy to determine the culture of the given request. + /// Implements the provider to determine the culture of the given request. /// /// The for the request. /// /// The determined . - /// Returns null if the strategy couldn't determine a . + /// Returns null if the provider couldn't determine a . /// Task DetermineRequestCulture(HttpContext httpContext); } diff --git a/src/Microsoft.AspNet.Localization/QueryStringRequestCultureStrategy.cs b/src/Microsoft.AspNet.Localization/QueryStringRequestCultureProvider.cs similarity index 97% rename from src/Microsoft.AspNet.Localization/QueryStringRequestCultureStrategy.cs rename to src/Microsoft.AspNet.Localization/QueryStringRequestCultureProvider.cs index 5c6ebab1..0b5f0aef 100644 --- a/src/Microsoft.AspNet.Localization/QueryStringRequestCultureStrategy.cs +++ b/src/Microsoft.AspNet.Localization/QueryStringRequestCultureProvider.cs @@ -11,7 +11,7 @@ namespace Microsoft.AspNet.Localization /// /// Determines the culture information for a request via values in the query string. /// - public class QueryStringRequestCultureStrategy : RequestCultureStrategy + public class QueryStringRequestCultureProvider : RequestCultureProvider { /// /// The key that contains the culture name. diff --git a/src/Microsoft.AspNet.Localization/RequestCultureFeature.cs b/src/Microsoft.AspNet.Localization/RequestCultureFeature.cs index 76505b47..f512cba2 100644 --- a/src/Microsoft.AspNet.Localization/RequestCultureFeature.cs +++ b/src/Microsoft.AspNet.Localization/RequestCultureFeature.cs @@ -14,16 +14,16 @@ public class RequestCultureFeature : IRequestCultureFeature /// Creates a new with the specified . /// /// The . - public RequestCultureFeature([NotNull] RequestCulture requestCulture, IRequestCultureStrategy strategy) + public RequestCultureFeature([NotNull] RequestCulture requestCulture, IRequestCultureProvider provider) { RequestCulture = requestCulture; - Strategy = strategy; + Provider = provider; } /// public RequestCulture RequestCulture { get; } /// - public IRequestCultureStrategy Strategy { get; } + public IRequestCultureProvider Provider { get; } } } diff --git a/src/Microsoft.AspNet.Localization/RequestCultureStrategy.cs b/src/Microsoft.AspNet.Localization/RequestCultureProvider.cs similarity index 93% rename from src/Microsoft.AspNet.Localization/RequestCultureStrategy.cs rename to src/Microsoft.AspNet.Localization/RequestCultureProvider.cs index 6d308051..234d46dc 100644 --- a/src/Microsoft.AspNet.Localization/RequestCultureStrategy.cs +++ b/src/Microsoft.AspNet.Localization/RequestCultureProvider.cs @@ -3,14 +3,13 @@ using System.Threading.Tasks; using Microsoft.AspNet.Http; -using Microsoft.Framework.Internal; namespace Microsoft.AspNet.Localization { /// - /// An abstract base class strategy for determining the culture information of an . + /// An abstract base class provider for determining the culture information of an . /// - public abstract class RequestCultureStrategy : IRequestCultureStrategy + public abstract class RequestCultureProvider : IRequestCultureProvider { /// /// The current options for the . diff --git a/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs b/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs index 54600e17..4dc60d7a 100644 --- a/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs +++ b/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs @@ -40,23 +40,23 @@ public async Task Invoke([NotNull] HttpContext context) var requestCulture = _options.DefaultRequestCulture ?? new RequestCulture(CultureInfo.CurrentCulture, CultureInfo.CurrentUICulture); - IRequestCultureStrategy winningStrategy = null; + IRequestCultureProvider winningProvider = null; - if (_options.RequestCultureStrategies != null) + if (_options.RequestCultureProviders != null) { - foreach (var strategy in _options.RequestCultureStrategies) + foreach (var provider in _options.RequestCultureProviders) { - var result = await strategy.DetermineRequestCulture(context); + var result = await provider.DetermineRequestCulture(context); if (result != null) { requestCulture = result; - winningStrategy = strategy; + winningProvider = provider; break; } } } - context.SetFeature(new RequestCultureFeature(requestCulture, winningStrategy)); + context.SetFeature(new RequestCultureFeature(requestCulture, winningProvider)); SetCurrentThreadCulture(requestCulture); diff --git a/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs b/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs index 74eb3359..a6e4bcc9 100644 --- a/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs +++ b/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs @@ -19,17 +19,17 @@ public RequestLocalizationOptions() { DefaultRequestCulture = new RequestCulture(CultureInfo.CurrentCulture, CultureInfo.CurrentUICulture); - RequestCultureStrategies = new List + RequestCultureProviders = new List { - new QueryStringRequestCultureStrategy { Options = this }, - new CookieRequestCultureStrategy { Options = this }, - new AcceptLanguageHeaderRequestCultureStrategy { Options = this } + new QueryStringRequestCultureProvider { Options = this }, + new CookieRequestCultureProvider { Options = this }, + new AcceptLanguageHeaderRequestCultureProvider { Options = this } }; } /// /// The default to use. This value will be used if none of the configured - /// options result in a non-null result. + /// options result in a non-null result. /// Defaults to set to /// and set to . /// @@ -54,16 +54,16 @@ public RequestLocalizationOptions() public IList SupportedUICultures { get; set; } /// - /// An ordered list of strategies used to determine a request's culture information. The first strategy that + /// An ordered list of providers used to determine a request's culture information. The first provider that /// returns a non-null result for a given request will be used. /// Defaults to the following: /// - /// - /// - /// + /// + /// + /// /// /// [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Improves usability")] - public IList RequestCultureStrategies { get; set; } + public IList RequestCultureProviders { get; set; } } }
Winning strategy:{requestCultureFeature.Strategy.GetType().Name}
Winning provider:{requestCultureFeature.Provider.GetType().Name}
{SR["Current request culture:"]}{requestCulture.Culture.DisplayName} ({requestCulture.Culture})
{SR["Current request UI culture:"]}{requestCulture.UICulture.DisplayName} ({requestCulture.UICulture})
{SR["Current thread culture:"]}{CultureInfo.CurrentCulture.DisplayName} ({CultureInfo.CurrentCulture})