Created CultureDictionaryFactoryResolver for use in the new MVC views which returns a ICultureDictionary.

This allows us in the future to use any type of data source for the dictionary. Have obsoleted the old
ICultureDictionary in the macro engines project (where it doesn't belong anyways). The new one doesn't expose
the 'Language' property to the front-end because this is a business logic class which means designers can just delete
a whole language from the db by calling 'Delete' on the object !
This commit is contained in:
Shannon Deminick
2012-08-15 23:20:37 +06:00
parent 91e9392992
commit 4e9f9b77f4
15 changed files with 216 additions and 65 deletions

View File

@@ -0,0 +1,32 @@
using Umbraco.Core.ObjectResolution;
namespace Umbraco.Core.Dictionary
{
/// <summary>
/// Resolves the current CultureDictionaryFactory
/// </summary>
internal class CultureDictionaryFactoryResolver : SingleObjectResolverBase<CultureDictionaryFactoryResolver, ICultureDictionaryFactory>
{
internal CultureDictionaryFactoryResolver(ICultureDictionaryFactory factory)
: base(factory)
{
}
/// <summary>
/// Can be used by developers at runtime to set their ICultureDictionaryFactory at app startup
/// </summary>
/// <param name="factory"></param>
public void SetContentStore(ICultureDictionaryFactory factory)
{
Value = factory;
}
/// <summary>
/// Returns the ICultureDictionaryFactory
/// </summary>
public ICultureDictionaryFactory Factory
{
get { return Value; }
}
}
}

View File

@@ -0,0 +1,23 @@
using System;
using System.Globalization;
namespace Umbraco.Core.Dictionary
{
/// <summary>
/// Represents a dictionary based on a specific culture
/// </summary>
internal interface ICultureDictionary
{
/// <summary>
/// Returns the dictionary value based on the key supplied
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
string this[string key] { get; }
/// <summary>
/// Returns the current culture
/// </summary>
CultureInfo Culture { get; }
}
}

View File

@@ -0,0 +1,7 @@
namespace Umbraco.Core.Dictionary
{
internal interface ICultureDictionaryFactory
{
ICultureDictionary CreateDictionary();
}
}