Scheduler for WPF projects can be localized; the C1.WPF.Schedule assembly contains resources for English and Japanese cultures.
All C1Scheduler default templates honor the VisualInterval.Culture property and use the corresponding string resources, if any.
To add localized resources to your project:
1. Create a copy of the .resx files included with Scheduler for WPF. These resource files are installed in C:\Program Files\ComponentOne\WPF Edition\C1WPFNewSchedule\DefaultResources by default.
2. Rename the copied resource files using the following file naming convention:
base_filename[.optional RFC 1766 culture info string].resx
For example:
TimeStrings.de.resx
TimeStrings.fr-FR.resx
Note: Do not change the base_filename part of the file name or the controls will not be able to find your resources. |
3. Translate the string values within the resource files.
4. Add the localized resources to your project solution. After rebuilding the project, satellite assemblies for each culture will be created in subfolders of the output directory. Ship these assemblies (do NOT change directory tree) along with your application.
Note: The C1Scheduler control uses default English resources embedded into the C1.WPF.C1Schedule.dll as a resource fallback. If you are localizing the C1Scheduler control in a custom assembly within your application, you can change this behavior by setting your assembly to contain default resources. To do this, set the C1.WPF.Localization.C1Localizer.DefaultAssembly property|topic=DefaultAssembly property to the custom assembly name. Do not include the extension, version number, and so on. |
The following resource files are used in the C1.WPF.Schedule assembly:
Resource File |
Description |
Categories.resx |
Contains localized names for default appointment categories. |
EditAppointment.resx |
Contains localized strings for default EditAppointmentTemplate. |
EditRecurrence.resx |
Contains localized strings for default EditRecurrenceTemplate. |
Exceptions.resx |
Contains localized error messages which might be shown to end user. |
Labels.resx |
Contains localized names for default appointment labels. |
MiscStrings.resx |
Contains localized strings used for describing recurrence pattern. |
RecChoice.resx |
Contains localized strings for Open/Remove recurrence dialogs. |
SelectFromListScene.resx |
Contains localized strings for SelectFromListScene control. |
ShowReminders.resx |
Contains localized strings for default ShowRemindersTemplate. |
Statuses.resx |
Contains localized names for default availability statuses. |
TimeStrings.resx |
Contains localized strings for the C1TimeSpanPicker control. |
ValidationErrors.resx |
Contains localized strings for validation errors. |
Note: You can localize only the part of these files. For example, if you use custom EditAppointmentTemplate, you do not need resources from the EditAppointment.resx.
Known Issues
The Edit Template Copy feature of Microsoft Expression Blend does not create an exact copy of the source XAML and omits custom MarkupExtensions. Blend adds strings for the default culture into the template copy. Compare resulting templates with the source xaml and correct them if you want to use the localization feature in your templates.