Skip to main content

Localize a Splash Form (WinForms)

  • 3 minutes to read

Use one of the approaches below to localize splash forms that have customizable text: a Splash Screen or a Wait Form.

Tip

Do not use the standard XAF localization approach to localize splash forms. This approach requires the Application Model. The Application Model is not available on startup, when some splash forms are shown.

Use the SetDisplayText Method to Localize ISplash Descendants

Use this approach for splash forms that support the ISplash interface.

Open the Program.cs (Program.vb) file in the WinForms Application project. Call the ISplash.SetDisplayText method before methods that start the application. Specify the text you require. A Splash Screen or a Wait Form that is currently open displays this text.

static class Program {
    // ...
    static void Main() {
        // ...
        MySolutionWindowsFormsApplication winApplication = 
            new MySolutionWindowsFormsApplication();
        // ...
        try {
            winApplication.SplashScreen.SetDisplayText("Custom Text");
            winApplication.Setup();
            winApplication.Start();
            // ...
        }
    }
}

You can also customize text as described in the Customize the Default Splash Screen section.

Use the UpdateStatus Method to Localize ISupportUpdateSplash Descendants

To localize splash forms that support the ISupportUpdateSplash interface, use one of the following approaches:

Localize Status Messages Manually

Access the WinApplication.cs (WinApplication.vb) file in the WinForms Application project. Override the WinApplication.UpdateStatus method. To determine the current context, compare the context parameter with one of the ApplicationStatusMessageId enumeration values.

using DevExpress.ExpressApp.Localization;
// ...
namespace MySolution.Win {
    public partial class MySolutionWindowsFormsApplication : WinApplication {
        // ...
        public override void UpdateStatus(
            string context, string title, string message, params object[] additionalParams) {
            if(context == ApplicationStatusMesssageId.ApplicationSetupStarted.ToString()) {
                title = "My localized title";
                message = "My localized message";
            }
            base.UpdateStatus(context, title, message, additionalParams);
        }
    }
}

Use Satellite Assemblies to Localize Status Messages

XAF can retrieve localized messages from the DevExpress.ExpressApp.v24.1.resources.dll satellite assembly and assign them to the ApplicationStatusMessageId enum values.

Satellite assemblies for German (de), Spanish (es), and Japanese (ja) languages are installed in %PROGRAMFILES%\DevExpress 24.1\Components\Bin folder and GAC. You can download satellite assemblies for other languages from the DevExpress Localization Service. Refer to the How to: Install an assembly into the global assembly cache article for more information on how to register satellite assemblies in the GAC.