[]
Custom localization in WPF lets developers use their own translations for C1 libraries without changing code or contacting C1 Support. It embeds user resource files into the application, allowing full control over text display and overriding default translations.
Full Control: Manage and maintain translations internally without relying on external updates from C1
Support for New Languages: Localize user app into languages that C1 does not officially support
Improved User Experience: Translate to fit user’s brand tone or region-specific terminology
No Code Required: Use correctly named .resx files as embedded resources instead of codes
Seamless Integration: The ResourceBase<R> class in C1.WPF.Core automatically prioritizes user’s resources at runtime, and falls back to default translations when needed. Most WPF resource classes now inherit from it, except:
C1Scheduler
C1GanttView
FlexChart
Barcode
Document
FlexReport
This section demonstrates how users can add languages not supported by C1 localization using FlexGrid as a example.
Create a FlexGrid following the step in this guide: Quick Start
Copy the following code into your application to include the sample data referenced throughout this guide.
flexGrid.ItemsSource = new[]
{
new { ID = 1, Name = "Anna", City = "Budapest" },
new { ID = 2, Name = "Béla", City = "Győr" },
new { ID = 3, Name = "Csilla", City = "Debrecen" }
};User can find the default resource files from NuGet or C1ControlPanel.
Example of the resource files:
Resources.resx (default English)
Resources.ja.resx (Japanese)
Resources.zh-Hans.resx (Simplified Chinese)Drag and drop the default English (.resx) file from C1 libraries to Resources and change the culture suffix to match the culture
Select each .resx file and set its Build Action to EmbeddedResource
Translate all strings into your target language (e.g. Dzongkha) as show in the image below.

Maintain the same folder structure as the default C1 resource files. Alternatively, if all files are kept in a single folder, rename the file to include the full namespace, e.g.:
C1.WPF.Grid.Resources.Resources.hu.resx
In App.xaml.cs, set the application’s culture to Dzongkha using the following code.
var culture = new CultureInfo("dz-DZ");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
InitializeComponent();The end result will use the new language added by user, in this case, Dzongkha.

This section demonstrates how users can edit translations of language supported by C1 localization using FlexGrid and Russian (ru) as a example.
Drag and drop the Russian (.resx) file from C1 libraries
Select the .resx file and set its Build Action to EmbeddedResource
In the .resx file, adjust any translations that requires improvement.

The end result will use the updated language adjusted by user.
