How to add, override, and use different resource strings to customize the Order Website.
By convention, AtomiaStore uses the
App_GlobalResources\Common.resx file and derived theme files and translations for all changeable resource strings and translations except some validation messages, which are located in
An example file structure with themes and translations:
App_GlobalResources/ MyTheme/ MyThemeCommon.resx MyThemeCommon.de-DE.resx MyThemeCustomerValidation.resx MyThemeCustomerValidation.de-DE.resx Common.resx Common.de-DE.resx CustomerValidation.resx CustomerValidation.de-DE.resx
The example above has the default English resource strings in the
resx files without language code, and default German localization in the
The theme resource files must be located in a directory with the same name as the theme, and must also be prefixed with that name,
MyTheme in this example.
Adding or Overriding Default Resource Strings
When you start a new theme, empty resource files are added to the theme for all default (English) and localized
resxfiles that are available in the Default theme. You can use these files to add your own resource strings, or override resource strings from the Default theme.
Special Resource String
Some resource strings in
Common.resx and derived files have a specific Name or Value format. These are annotated with comments in the
Common.resx file in the Default theme.
E.g. language names are located via Name keys on the form
EN_name – English,
EN_shortname – EN,
FR_name – French,
FR_shortname – FR etc.
Using Resources in Views
The recommended way of using resources from
Common.resx in views is to use the
resxfile, Default or from theme. The HTML-helpers are defined in
Atomia.Store.WebBase.HtmlHelpers.CommonResourcesHelper and are implicitly imported in all views by default.
Atomia namespace should also have any relevant properties already translated before being sent from or generated by the server, e.g. product names and descriptions.
Using Resources in .NET Code Via IResourceProvider
The recommended way of using resources in backend .NET code is to use the
Atomia.Store.Core.IResourceProvider. It has a default implementation
Atomia.Store.WebBase.Adapters.ResourceProvider that fetches resources from
Common.resx and related localization and theme files.