private ShowcaseLanguage GetUserResourceFile(string acceptLanguage) { string i18nRelativePath = "~/Scripts/app/i18n/"; string i18nDir = Server.MapPath(i18nRelativePath); // Default to English if nothing else hints for a different language); ShowcaseLanguage result = new ShowcaseLanguage() { Language = "en", ResourceFile = i18nDir + "en" + ".js" }; if (!string.IsNullOrWhiteSpace(acceptLanguage)) { // Get all languages the user accepts string[] languages = acceptLanguage.Split(';')[0].Split(','); foreach (var lang in languages) { // Check if a specific JS resource file exists if (System.IO.File.Exists(i18nDir + lang + ".js")) { result.Language = lang; break; } else { // Check if a general JS resource file exists string baseLang = lang.Split('-')[0]; if (System.IO.File.Exists(i18nDir + baseLang + ".js")) { result.Language = baseLang; break; } } } } result.ResourceFile = Url.Content(string.Format("{0}{1}.js", i18nRelativePath, result.Language)); return(result); }
private ShowcaseLanguage GetUserResourceFile(string acceptLanguage) { string i18nRelativePath = "~/Scripts/app/i18n/"; string i18nDir = Server.MapPath(i18nRelativePath); // Default to English if nothing else hints for a different language); ShowcaseLanguage result = new ShowcaseLanguage() { Language = "en", ResourceFile = i18nDir + "en" + ".js" }; if (!string.IsNullOrWhiteSpace(acceptLanguage)) { // Get all languages the user accepts string[] languages = acceptLanguage.Split(';')[0].Split(','); foreach (var lang in languages) { // Check if a specific JS resource file exists if (System.IO.File.Exists(i18nDir + lang + ".js")) { result.Language = lang; break; } else { // Check if a general JS resource file exists string baseLang = lang.Split('-')[0]; if (System.IO.File.Exists(i18nDir + baseLang + ".js")) { result.Language = baseLang; break; } } } } result.ResourceFile = Url.Content(string.Format("{0}{1}.js", i18nRelativePath, result.Language)); return result; }