Skip to content
FranckSixPublic

About

Allows you to consume resources in a .net or blazor webassembly project.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

RXml Resources for .Net

Allows you to consume resources in a .net or blazor webassembly project.

Can be used as follows:

    @inject ILocalisationService<Index> Localizer
    <span>@Localizer["Tite"]</span>

To overcome the fact that WebAssembly does not have access to the solution's Resx files.

Usage

  • Install the package 1

     Install-Package RXml.Abstraction
     Install-Package RXml.Generator
    
  • Define .rxml files

    Example:

     <?xml  version="1.0"  encoding="utf-8" ?>
     <Resources>
     	<Res  Key="Title">
     		<Value  lang="fr">Indexe</Value>
     		<Value  lang="en">Index</Value>
     	</Res>
     	<Res  Key="HelloWorld">
     		<Value  lang="fr">Bonjour monde !</Value>
     		<Value  lang="en">Hello, world!</Value> 
     	</Res>
     	<Res  Key="Bienvenue">
     		<Value  lang="fr">Bienvenue dans votre application.</Value>
     		<Value  lang="en">Welcome to your new app.</Value> 
     	</Res>
     	<Res  Key="Survey">
     		<Value  lang="fr">Comment Blazor fonctionne pour vous ?</Value>
     		<Value  lang="en">How is Blazor working for you?</Value>
     	</Res> 
     </Resources>
  • In the csproj define rxml like this

     <ItemGroup>
     	<AdditionalFiles  Include="<ResourcesPath>\*.rxml" />
     	<EmbeddedResource  Include="<ResourcesPath>\*.rxml" />
     </ItemGroup>

    AdditionalFiles - For the Code générator to générate constants classes

    EmbeddedResource - For ILocalisationService can consume resource file

Add Interface service in App

The package also include a tools to register Interfaces. in Program.cs

using RXml.Abstraction.Service;
builder.Services.AddLocalizationService();

There are two ways to use it.

I'm a bit allergic to magic strings 😉. That's kind of why I created the RXml.Generator package. This package is optional. If you choose to use it, here's what your code might look like..

@inject ILocalisationService<Index> Localizer
<span>@Localizer[XResIndex.Title]</span>

Footnotes

  1. The package RXml.Generator allows to avoid using magic string for resource usage. Both ways to do it with or without this package are detailed in this document ↩

About

Allows you to consume resources in a .net or blazor webassembly project.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages