https://github.com/lofcz/tereo
Modern localization system supporting both C# and TS targets. An opinionated replacement for resx.
https://github.com/lofcz/tereo
csharp i18n localization netcore typescript
Last synced: 8 months ago
JSON representation
Modern localization system supporting both C# and TS targets. An opinionated replacement for resx.
- Host: GitHub
- URL: https://github.com/lofcz/tereo
- Owner: lofcz
- License: mit
- Created: 2023-12-13T00:35:17.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-14T15:37:01.000Z (8 months ago)
- Last Synced: 2025-02-14T16:33:11.603Z (8 months ago)
- Topics: csharp, i18n, localization, netcore, typescript
- Language: C#
- Homepage:
- Size: 1.85 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Te Reo .NET
![]()
An opinionated localization system replacingresx
files. Reo is an application that facilitates the translation process and a codegen system targeting both C# and TS. Reo works best on .NET 8+ projects, taking advantage of modern collections when available but is usable for any project targetingnetstandard2.0
and newer.
## Features
- Fast & smart search in keys and values (translations) thanks to [FastDex](https://github.com/lofcz/fastdex).
- Tracks dates the keys were added and touched for easy review of the translations changed in a given period.
- Automatically infers keys based on the primary value, after memorizing the conventions used navigating the source code is much easier than with conventional localization systems.
- Atomic depth of translations - one page can use multiple languages simultaneously for different frames if needed.
- Familiar interface, swap `Resource.Key` for `Reo.Key` and you are good to go.
- Generate translations with one click (DeepL).
- Performs `~3x` better than `resx` on .NET 8+ at runtime (measured on a project with several thousand keys).
- Group keys into logical groups and set codegen targets on each group separately.
- Strongly typed TS codegen with full intellisense that works for frontend just as amazingly as `Reo.X` for backend, while loading keys lazily at runtime.
- WYSIWYG editor for keys with markup.
- Smart codegen supporting `MarkupString` for projects using Blazor.
- Standalone application for managing translations, usable as a web app or a native MAUI executable.
- Infinite undo/redo with full history jumping.
- First-class support for keys that should be excluded from the auto-translation process, such as image paths.