Created
October 29, 2010 11:06
-
-
Save haileys/653343 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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