This documentation is for the legacy Izenda 6 product. Documentation for the new Izenda 7 product can be found at https://www.izenda.com/docs/
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
//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; } }
'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
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.
Last edited by Joseph Adams, 2014-06-20 11:03:47