All pages
Powered by GitBook
1 of 1

Loading...

Localization

Wisej.NET fully supports localization using .NET and Visual Studio standard localization features.

{% file src="../.gitbook/assets/wisej.localization.zip" caption="Download Wisej.Localization.zip" %}

Localizing the UI

All top-level controls in Wisej.NET support UI localization.

To enable localization features for a Form, Page, UserControl, or Desktop component:

  1. In design mode, set the Localizable property to true

  2. Once enabled, you can switch languages in the designer

Use the Language dropdown property to select the language for localization:

UI localization allows changing multiple properties per language switch, commonly:

  • Size

  • Location

  • Text

  • Colors

Localizing the System

Wisej.NET supports full localization of system resources including:

  • MessageBox buttons

  • Calendar control labels (month/day names)

  • Standard numeric, percentage and currency formatting/parsing

Built-in Formats

  • Numeric, Percentage, Date, and Currency

    Handled automatically for all supported languages worldwide.

  • Date Labels: Months and Day Names

    Handled automatically for all supported languages worldwide.

  • System Resources

    Wisej.NET system resources are localized in:

Localizing Resources

Beyond system localization, you'll likely need to localize application resources (strings, images, etc.).

Create .resx files as needed using the approach above. See .

Use the class to retrieve localized values. Wisej.NET handles thread culture switching for client requests.

Detecting/Switching Browser Language

Wisej.NET automatically detects browser language and switches application/system resources accordingly.

You can force a specific language for the application (user session) by:

  1. Setting the culture property in Default.json (default is "auto"). See .

  2. Using one of these methods:

    • Assign Application.CurrentCulture property

When current culture changes from the session's initial culture, Wisej.NET raises the Application.CultureChanged event.

Designer-localized controls update only at creation. No built-in mechanism exists to change already-created controls. To update existing controls either:

  • Re-create the container and call InitializeControl

Images
  • English

  • German

  • French

  • Italian

  • Turkish

  • Spanish

  • Portuguese

  • For other languages, create a Resources-[LANG].resx file in either:

    • Root project folder

    • /Resources folder

    Add localization labels as needed. See How to: Create a Localized Resource File.

    Label
    Description
    Default Value

    $Ok

    OK Button in MessageBox/system dialogs

    OK

    $Cancel

    Cancel Button in MessageBox/system dialogs

    Cancel

    $Yes

    Yes Button in MessageBox/system dialogs

    Yes

    $No

    No Button in MessageBox/system dialogs

    Add lang URL parameter (e.g., http://localhost/myapp?lang=de for German)

    Write custom code to reapply resources
    How to: Create a Localized Resource File
    ResourceManager
    Configuration
    Language selection dropdown
    var RS = new ResourceManager("Localization.Resources", this.GetType().Assembly);
    var title = RS.GetString("Title");
    Dim RS as ResourceManager = new ResourceManager("Localization.Resources", Me.GetType().Assembly)
    Dim title as String = RS.GetString("Title")

    No

    $Retry

    Retry Button in MessageBox/system dialogs

    Retry

    $Ignore

    Ignore Button in MessageBox/system dialogs

    Ignore

    $Abort

    Abort Button in MessageBox/system dialogs

    Abort

    $Next year

    Next-year navigation tooltip in calendar controls

    Next Year

    $Next month

    Next-month navigation tooltip in calendar controls

    Next Month

    $Last year

    Last-year navigation tooltip in calendar controls

    Last Year

    $Last month

    Last-month navigation tooltip in calendar controls

    Last Month

    $Offline

    Offline connectivity loss notification

    Offline