Localization
Wisej.NET fully supports localization using .NET and Visual Studio standard localization features.
{% file src="../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:
- In design mode, set the
Localizableproperty to true - Once enabled, you can switch languages in the designer
Use the Language dropdown property to select the language for localization:
-6de638d467df6b8055df2046200a6581.png)
UI localization allows changing multiple properties per language switch, commonly:
- Size
- Location
- Text
- Colors
- Images
Localizing the System
Wisej.NET supports full localization of system resources including:
MessageBoxbuttons- 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:
- English
- German
- French
- Italian
- Turkish
- Spanish
- Portuguese
For other languages, create a
Resources-[LANG].resxfile in either:- Root project folder
/Resourcesfolder
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 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
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 How to: Create a Localized Resource File.
Use the ResourceManager class to retrieve localized values. Wisej.NET handles thread culture switching for client requests.
- C#
- VB.NET
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")
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:
- Setting the
cultureproperty inDefault.json(default is "auto"). See Configuration. - Using one of these methods:
- Assign
Application.CurrentCultureproperty - Add
langURL parameter (e.g., http://localhost/myapp?lang=de for German)
- Assign
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 - Write custom code to reapply resources