I'm using ASP.NET Core 2.0 and I want to be able to use string localization in custom classes, not only in Controllers (working with bot framework - dialog localization ). What is best practice for localization and globalization in ASP .Net Core 2.0? Do I have to use IStringLocalizer in every controller? Is there any global way of doing it? Does anybody know why there is recommendation in official documentation not to use default .resx file but to use name.localization.resx wich doesn't automatically create file in Visual studio like in .NET when using default .resx?