This is an implementation of IStringLocalizer from ASP.NET 5 that uses Json files.
Initialize it in you Startup ConfigureServices method:
services.AddJsonLocalization(options =>
{
options.ResourceFilesDirectory = "res"; // The directory that contains the resources
options.DefaultBaseName = "text"; // The default sub-directory name
});For a Sample.Type type and the culture ab-CD, the service will look for a JSON file
in the following order:
{ResourceFilesDirectory}/{Sample.Type}/{ab-CD}.json{ResourceFilesDirectory}/{Sample.Type}/default.json{ResourceFilesDirectory}/{DefaultBaseName}/{ab-CD}.json{ResourceFilesDirectory}/{DefaultBaseName}/default.json
The JSON file may be a tree of string values. The keys are formed using the : separator.
For example for the file:
{
"first": {
"second": "value"
},
"third": "other value"
}The key first:second would return value and the key third would return other value.
Any other key would result in an error.