You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.1 KiB
3.1 KiB
LINGYUN.Abp.Localization.Xml
Module Description
XML document integration module for localization components, providing XML file-based localization resource support. It includes built-in implementations for both PhysicalFileProvider and VirtualFileProvider.
Features
- Support reading localization resources from XML files
- Support XML files in virtual file system
- Support XML files in physical file system
- Support XML file serialization and deserialization
- Support UTF-8 encoded XML files
Installation
dotnet add package LINGYUN.Abp.Localization.Xml
Base Modules
- Volo.Abp.Localization
Usage
- Add module dependency:
[DependsOn(
typeof(AbpLocalizationXmlModule))]
public class YouProjectModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<YouProjectModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<YouResource>("en")
// Virtual file system directory in current project
// See: https://docs.abp.io/en/abp/latest/Virtual-File-System
.AddVirtualXml("/LINGYUN/Abp/Localization/Xml/Resources")
// Usually configured in the host project, write the absolute path where XML files are stored
// See: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.fileproviders.physicalfileprovider
.AddPhysicalXml(Path.Combine(Directory.GetCurrentDirectory(), "Resources"));
});
}
}
XML File Format
This module uses the XmlLocalizationFile type for XML file serialization and deserialization.
Example XML file format:
<?xml version="1.0" encoding="utf-8"?>
<localization>
<culture name="en"/>
<texts>
<text name="Welcome">Welcome</text>
<text name="HelloWorld">Hello, World!</text>
<text name="ThisFieldIsRequired">This field is required</text>
</texts>
</localization>
Extension Methods
The module provides two extension methods for adding XML localization resources:
- AddVirtualXml: Add XML files from virtual file system
localizationResource.AddVirtualXml("/YourVirtualPath/Localization");
- AddPhysicalXml: Add XML files from physical file system
localizationResource.AddPhysicalXml("C:/YourPath/Localization");
Best Practices
-
Recommended usage for virtual files:
- Embed XML files into the assembly
- Suitable for default localization resources that don't need dynamic modification
-
Recommended usage for physical files:
- Store in a specific directory in the host project
- Suitable for localization resources that need dynamic modification or are managed by external systems