ASP.NET Core Internationalization Deep Dive

Understanding internationalization is first step in creating web applications for global market. In this course, you will learn how to implement support for multiple cultures by leveraging new ASP.NET Core internationalization libraries.
Course info
Rating
(33)
Level
Advanced
Updated
Jun 23, 2017
Duration
3h 40m
Table of contents
Course Overview
Understanding Internationalization
Working with Resource Files
Enabling Internationalization
Implementing Request Localization
Implementing Localization in MVC
Description
Course info
Rating
(33)
Level
Advanced
Updated
Jun 23, 2017
Duration
3h 40m
Description

At the core of creating world-ready ASP.NET Core web applications is a thorough knowledge of internationalization process. In this course, ASP.NET Core Internationalization Deep Dive, you will learn how to effectively plan and implement internationalization strategy that will make your ASP.NET Core solutions perfectly tailored for millions of users world-wide. You will learn core concepts and terminology behind the internationalization and best practices on how to organize code and culture related resources. Finally, you will learn how to implement support for different cultures by using new ASP.NET Core internationalization libraries. When you're finished with this course, you will have a foundational knowledge of internationalization mechanisms in ASP.NET Core that will help you as you move forward to create web applications for global market.

About the author
About the author

Admir is the Chief Technology Officer at App Impact and an MVPl for the Microsoft Azure platform. During his career as a software developer/architect Admir has taken various roles including Technical Evangelist at Microsoft. Admir is a regular speaker at international conferences for developers.

Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi Everyone. My name is Admir Tuzovic and welcome to my course, ASP. NET Core Internationalization Deep Dive. I am a chief technology officer at APP IMPACT and most valuable professional for Microsoft Azure Platform. To create the product for a global world market that could potentially reach millions of users requires that you add support for many different cultures. The first step in accomplishing that is to get a good understanding of internationalization and all of its principles. In this course, we are going to explore new features that ASP. NET Core provides, which will help you to achieve that goal. Some of the major topics that we will cover include standards and terminology related to internationalization. Internals of resource files. String and HTML localizers. Request localization middleware. Localization of Razor views. And finally, localization of data annotations. By the end of this course you will have a comprehensive understanding of internationalization and knowledge that will allow you to design and implement support for different regions and languages in your ASP. NET Core applications. Before beginning the course, you should be familiar with fundamentals of ASP. NET Core. I hope you will join me on this journey to learn the internals of ASP. NET Core internationalization with this course at Pluralsight.

Working with Resource Files
Hello and welcome to Working with Resource Files, a second module in deep dive into internationalization in ASP. NET Core course at Pluralsight. As the name indicates, this module is focused on resource files, a traditional. NET approach for storing texts that are displayed on user interfaces in multi-language applications. Even though resource files can be used to store even more complex assets such as icons, images, audio and textual files, that practice is more used for Windows application development and rarely for web development so our focus will be primarily on texts for user interfaces. Majority of this module consists of practical demo during which we will be covering different aspects of resource files such as: How to create and edit resource files. How are resource files structured internally and what is the role of auto-generated code behind C# file? What is the role of ResourceManager class? What are the naming conventions for different cultures and how to add support for them? We will then show practical application of ResourceManager class through localization of enumerations. We will discuss on what happens to resource files after compilation and what are satellite assemblies. And finally, we will conclude this module with introduction of ResourceReader and ResourceWriter classes, low-level APIs for read and write operations on resource files.

Enabling Internationalization
Hi and welcome to Enabling Internationalization, the third module of deep dive into internationalization in ASP. NET Core course at Pluralsight. In previous two modules our focus was mainly on. NET Core from both perspectives of what is new and what is has been changed compared to. NET Framework when it comes to internationalization. We have explored in details two very important concepts, cultures and resources, both of which will be used through the rest of this course. In this module we will move one level up higher in abstraction tree and discover new features that have been built primarily for ASP. NET Core. Some of these features can be used on other platforms as well such as universal Windows platform for building desktop and mobile applications, but those platforms are outside the scope of this course. The main focus of this module will be around string localizers, a brand new set of abstractions that did not exist previously in. NET Framework. Localizers were standard approach in different technology stacks and with. NET Core, Microsoft teams have decided to create their own implementations. We will explore in details a factory pattern and show how is it used to add more flexibility and customization to existing implementation of string localizers. This will help us to get a good understanding on how dependency injection mechanisms operate in ASP. NET Core. And finally, at the end of this module we will create our own custom implementation with different data store by using low level abstractions. If you have felt that you knew the majority of the concepts from first two modules, I can assure you that nothing in this module is like anything that you have seen before in. NET Framework, which in my world means a lot of fun. So let's get started.

Implementing Request Localization
Hello again and welcome to Implementing Request Localization, the fourth module in deep dive into internationalization in ASP. NET Core course at Pluralsight. In this module our focus will be on implementation of one important aspect of web application architecture known as request localization. We will demonstrate how request localization can be implemented by using middleware that was shipped together with ASP. NET Core release as part of separate NuGet package. As we progress in understanding of request localization middleware we will discover different kinds of request culture providers that can be leveraged to predict language and culture preferences of our applications users including both anonymous and authenticated ones. And of course, as with the other modules we will finish off by extending existing and creating new implementations to demonstrate on how much customization are we entitled to. Even though everything that we will do in this module can be done with ASP. NET Core alone, we will start to move in direction of more practical scenarios and for that purpose, we will use ASP. NET MVC Core in all our demonstrations. So let's begin.