A ResX Globalization alternative using JSON instead of bulky XML
Find a file
curtisy 483f9f4d93
Some checks failed
Create release / build (push) Has been cancelled
deps: remove FluentAssertions
They moved to a commercial license, so no longer viable
2025-12-26 00:21:10 +01:00
.github/workflows ci: add enclosing quotes 2023-01-21 23:36:29 +01:00
benchmark refactor: move from ISourceGenerator to IIncrementalGenerator 2025-12-25 22:05:05 +01:00
samples/Intl.Net.WebApp refactor: move from ISourceGenerator to IIncrementalGenerator 2025-12-25 22:05:05 +01:00
src refactor: move from ISourceGenerator to IIncrementalGenerator 2025-12-25 22:05:05 +01:00
tests/Intl.Net.ResourceGenerator.Tests deps: remove FluentAssertions 2025-12-26 00:21:10 +01:00
.gitignore Give up on multi-targeting 2021-08-01 22:51:56 +02:00
Intl.Net.sln feat: add benchmark to compare against regular resource manager 2023-01-21 19:23:39 +01:00
LICENSE Update LICENSE 2021-07-25 01:10:42 +02:00
README.md docs: update README with benchmark notes 2023-01-21 23:02:47 +01:00

Intl.Net

A ResX Globalization alternative using JSON instead of bulky XML.

Generates strongly-typed resource classes for looking up localized strings.

Usage

Install the Intl.Net.ResourceGenerator and Intl.Net.ResourceManager packages in your resource project:

Make sure to copy your JSON resource files to your output directory and mark them as EmbeddedResource

<EmbeddedResource Include="Localization.json">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>

For a list of configurable options, as well as supported i18n providers that fetch your translations from a remote API, please see the wiki pages.

Performance

Currently, Intl.Net is just as fast as the Resx ResourceManager shipped with dotnet itself. In cases where trying to get a non-existing key, it is even significantly faster.

For details and the benchmarks run, check the benchmarks folder.

If this library looks amazing, please do check out these similar projects and give them a star!

TypealizR - A source generator doing the same thing for .resx files. It's pretty much a modern Globalization alternative