You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
52 lines
1.4 KiB
using System; |
|
using System.Collections.Generic; |
|
using ICSharpCode.Core; |
|
using ICSharpCode.SharpDevelop.Project; |
|
|
|
namespace MSHelpSystem.Helper |
|
{ |
|
internal sealed class ProjectLanguages |
|
{ |
|
ProjectLanguages() |
|
{ |
|
} |
|
|
|
#region Supported project languages |
|
|
|
static Dictionary<string, string> languages = InitializeLanguages(); |
|
|
|
static Dictionary<string, string> InitializeLanguages() |
|
{ |
|
Dictionary<string, string> result = new Dictionary<string, string>(); |
|
result.Add("C++", "C%2B%2B"); |
|
result.Add("C#", "CSharp"); |
|
result.Add("VBNet", "VB"); |
|
return result; |
|
} |
|
|
|
#endregion |
|
|
|
public static string GetCurrentLanguage() |
|
{ |
|
string output = string.Empty; |
|
if (ProjectService.CurrentProject != null) { |
|
string devLang = ProjectService.CurrentProject.Language; |
|
if (string.IsNullOrEmpty(devLang)) { throw new ArgumentNullException("devLang"); } |
|
output = devLang; |
|
|
|
if (!languages.ContainsKey(devLang) || !languages.TryGetValue(devLang, out output)) { |
|
output = devLang; |
|
} |
|
LoggingService.Debug(string.Format("Help 3.0: Project language \"{0}\" formatted to \"{1}\"", devLang, output)); |
|
} |
|
return output.ToLower(); |
|
} |
|
|
|
public static string GetCurrentLanguageAsHttpParam() |
|
{ |
|
string devLang = GetCurrentLanguage(); |
|
if (string.IsNullOrEmpty(devLang)) return string.Empty; |
|
else return string.Format("&category=DevLang%3a{0}", devLang); |
|
} |
|
} |
|
}
|
|
|