这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
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

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

  1. 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:

  1. AddVirtualXml: Add XML files from virtual file system
localizationResource.AddVirtualXml("/YourVirtualPath/Localization");
  1. AddPhysicalXml: Add XML files from physical file system
localizationResource.AddPhysicalXml("C:/YourPath/Localization");

Best Practices

  1. Recommended usage for virtual files:

    • Embed XML files into the assembly
    • Suitable for default localization resources that don't need dynamic modification
  2. 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

More Information