#Language
##About
The Language setting will change the language used within Izenda reports. This can be used to localize the reporting section of your application to your users' cultural dialect. Currently, Izenda reports only supports a limited amount of languages as each additional resource file does take development work. Support for new languages is added based on demand. Setting a language will change interface buttons, labels, and links. This will not change dynamic data such as report names, categories, or information from the database.
Default Value: AdHocLanguage.English
##Global.asax (C♯)
//main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
public class CustomAdHocConfig : Izenda.AdHoc.DatabaseAdHocConfig
{
// Configure settings
// Add custom settings after setting the license key and connection string by overriding the ConfigureSettings() method
public static void InitializeReporting() {
//Check to see if we've already initialized.
if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null)
return;
AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE";
AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE";
Izenda.AdHoc.AdHocSettings.AdHocConfig = new CustomAdHocConfig();
AdHocSettings.Language = AdHocLanguage.French; //The relevant setting
HttpContext.Current.Session["ReportingInitialized"] = true;
}
}
##Global.asax (VB.NET)
'main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
Public Class CustomAdHocConfig
Inherits Izenda.AdHoc.DatabaseAdHocConfig
Shared Sub InitializeReporting()
'Check to see if we've already initialized
If HttpContext.Current.Session Is Nothing OrElse HttpContext.Current.Session("ReportingInitialized") IsNot Nothing Then
Return
'Initialize System
AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE"
AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE"
Izenda.AdHoc.AdHocSettings.AdHocConfig = New CustomAdHocConfig()
AdHocSettings.ExportLimit = 100000 'The relevant setting
HttpContext.Current.Session("ReportingInitialized") = True
End Sub
End Class
##Per Country By Tenant(Customer) ID
public static void InitializeReporting()
{
switch ( GetUserCountry()){
case "USA":
case "UK":
case "Ireland":
AdHocSettings.Language = AdHocLanguage.English;
break;
case "France":
AdHocSettings.Language = AdHocLanguage.French;
break;
case "Spain":
case "Mexico":
case "Venezuela":
case "Argentina":
case "Brazil":
AdHocSettings.Language = AdHocLanguage.Spanish;
break;
case "Germany":
case "Austria":
case "Poland":
case "Switzerland":
AdHocSettings.Language = AdHocLanguage.German;
break;
case "Russia":
AdHocSettings.Language = AdHocLanguage.Russian;
break;
case "Japan":
AdHocSettings.Language = AdHocLanguage.Japanese;
break;
case "China":
AdHocSettings.Language = AdHocLanguage.ChinesePeoplesRepublicofChina;
break;
case "Taiwan":
AdHocSettings.Language = AdHocLanguage.ChineseTaiwan;
break;
case "Italy":
AdHocSettings.Language = AdHocLanguage.Italian;
break;
case "South Korea":
case "North Korea":
case "Korea":
AdHocSettings.Language = AdHocLanguage.Korean;
break;
case "Belgium":
AdHocSettings.Language = AdHocLanguage.Dutch;
break;
default:
AdHocSettings.Language = AdHocLanguage.English;
break;
}
}
public static string GetUserCountry() {
String sql = string.Format(@"SELECT [dbo].[Customers].[Country] FROM [dbo].[Customers] WHERE [dbo].[Customers].[CustomerID] = '{0}'", AdHocSettings.CurrentUserTenantId);
SqlCommand cmd = new SqlCommand(sql);
DataSet ds = new DataSet();
using (SqlConnection connection = new SqlConnection(AdHocSettings.SqlServerConnectionString)) {
connection.Open();
cmd.Connection = connection;
IDbDataAdapter dataAdapter = new SqlDataAdapter(cmd);
dataAdapter.Fill(ds);
}
return ds.Tables[0].Rows.Count == 0 ? string.Empty : ds.Tables[0].Rows[0][0].ToString();
}
In the above example, CurrentUserTenantID will be set to a company ID (such as ALFKI) and the country will be obtained and the language set.
##Screenshots
####French

####Arabic

