Skip to content

Instantly share code, notes, and snippets.

@haileys
Created October 29, 2010 11:06
Show Gist options
  • Save haileys/653342 to your computer and use it in GitHub Desktop.
Save haileys/653342 to your computer and use it in GitHub Desktop.
public static class L
{
public static Dictionary<string, Language> languages = null;
public static string Trans(this HttpContext ctx, Localizable localizable)
{
string lang;
if(ctx.Request.Headers["Host"].ToLower().Contains(".anyhub.net"))
lang = ctx.Request.Headers["Host"].ToLower().Split('.').First();
else
lang = "en";
return Trans(lang,localizable);
}
public static string Trans(string lang, Localizable localizable)
{
return languages[languages.ContainsKey(lang) ? lang : "en"].Localize(localizable);
}
public static void Init()
{
languages = new Dictionary<string,Language>();
var tps = Assembly.GetExecutingAssembly().GetExportedTypes().Where(x => x.BaseType == typeof(Language));
foreach(Type langtype in tps)
{
Language lang = (Language)langtype.GetConstructor(new Type[0]).Invoke(null);
languages.Add(lang.Abbreviation, lang);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment