By Ziya Mollamahmut
Resource providers are responsible for doing read/write operations for the resource files. XLocalizer
has built-in support for .resx, .xml file types. Additionally it has support for DB with EF (requires XLocalizer.DB
).
You can use any custom file/db type for storing localized strings by implementing IXResourceProvider
interface for file based types (e.g.: json, csv, ...etc.) or IDbResourceProvider
interface for DB sources.
A good sample is the built-in XmlResourceProvider
. All you have to do after implementing your custom provider is to register it in startup:
services.AddSingleton<IXResourceProvider, MyCustomProvider>();
services.AddRazorPages()
.AddXLocalizer<LocSource>(...)
You can have a look at the EFDbResourceProvider
, it has been built with EF support, but you can create your own DB resource provider by implementing IDbResourceProvider
and registering it in startup:
services.AddSingleton<IXDbResourceProvider, MyCustomDbProvider>();
services.AddRazorPages()
.AddXDbLocalizer<ApplicatonDbContext, GoogleTranslateService>(...)