Localization is another zero-configuration aspect of Start Blazoring. In today's global economy, correctly localizing your application is very important. While you still have to write your own translation files, we have made consuming them very easy.
Localization services are initialized in
Startup.InitializeLocalization. If you are interested in more details, please refer to the documentation in the code. In a nutshell, we have configured the application to discover any
.resx files an use them as localization resources.
The way Blazor localization works is by injecting a localization service into your Blazor pages, like this:
@inject IStringLocalizer<PageName> L, where
PageName is the name of your Blazor page. Then, you can look up any localization resource like this:
@L[" LocalizedKey & quot;]. To create new localization resources for
PageName, go to the
Resources\Pages\ folder and create a new
PageName.resx file specifying your default language translations (configured in
ServiceConfiguration.Application.DefaultLanguage). Then, for each of your supported languages, create a new
PageName.<language-code>.resc file. The naming here is very important, so make sure you use the same name as your page. Additionally, the folder structure of the
Resources\ folder is very important. If you end up placing your new page in another folder, the relative location of the resource file in
Resources\ must mirror the location of the new page. The same applies to Razor components.
The mechanism by which a given language file is used depends on the language set in the browser. This mechanism is made possible by
Startup.Configure. In a future version, we will have a mechanism to allow the user to choose the language manually.
Managing translation resource files can be a daunting task, especially if your website has a lot of pages and components. For this reason, we have included a file called
Translation.filenesting.json that you can use to help with grouping related translation files. For more information on how to use it, see Microsoft's documentation.
We have also partnered with Soluling, a popular localization application. With Soluling, you can easily manage your translations using their application, as we well as generate translation files in different languages automatically. That is how we translated the pages in the template using Microsoft Translation services. They are offering our customers a discount on their Products. Visit the Downloads page for more information.
Table of Contents
- Initial Setup
- Project Structure
- Entity Framework
- User Interface
- Email Service
- Background Workers
- Creating a new Page
- Publishing to Azure