translord 0.1.4
Prefix Reserveddotnet add package translord --version 0.1.4
NuGet\Install-Package translord -Version 0.1.4
<PackageReference Include="translord" Version="0.1.4" />
<PackageVersion Include="translord" Version="0.1.4" />
<PackageReference Include="translord" />
paket add translord --version 0.1.4
#r "nuget: translord, 0.1.4"
#:package translord@0.1.4
#addin nuget:?package=translord&version=0.1.4
#tool nuget:?package=translord&version=0.1.4
translord
translord - simple TMS to get your translations up and running in no time.
🚧 Project still in the early stages of development
What this tool aims to achieve? To be a central place in your project that handles all things related to your translations:
- storing
- translating
- delivering
- management
- revision
Packages structure
- translord
- The core library
- translord.DeepL
- Library containing DeepL API configuration for texts translation in translord.
- translord.EntityFramework
- Library containing configuration data that uses EntityFramework as its database abstraction.
- translord.EntityFramework.Postgres
- Library extending the
translord.EntityFrameworklibrary with Postgres configuration.
- Library extending the
- translord.Manager
- Library containing the TMS admin panel allowing for translations editing/management/translation.
- translord.RedisCache
- Library containing configuration for Redis as the cache for translord.
Configuration examples
WebApp with FileStore
builder.Services.AddTranslordFileStore(options =>
{
options.TranslationsPath = Path.Combine(Directory.GetCurrentDirectory(), "translations");
});
builder.Services.AddTranslord(o =>
{
List<Language> supportedLanguages = [Language.English, Language.Polish, Language.German];
o.SupportedLanguages = supportedLanguages;
o.IsCachingEnabled = true;
});
WebApp with PostgresStore and TMS panel
builder.Services.AddTranslordPostgresStore(options =>
options.ConnectionString = builder.Configuration.GetConnectionString("DefaultConnection") ?? string.Empty);
builder.Services.AddTranslord(o =>
{
List<Language> supportedLanguages = [Language.English, Language.Polish, Language.German];
o.SupportedLanguages = supportedLanguages;
o.IsCachingEnabled = true;
});
builder.AddTranslordManager();
Console app with FileStore
List<Language> supportedLanguages = [ Language.English, Language.Polish ];
var path = Path.Combine(Directory.GetCurrentDirectory(), "translations");
var deeplTranslator = new DeepLTranslator(new AddTranslordDeepLTranslatorOptions { AuthKey = "your-auth-key" });
var translator =
new TranslatorConfiguration(
new TranslatorConfigurationOptions { SupportedLanguages = supportedLanguages, DefaultLanguage = Language.English },
new FileStore(new FileStoreOptions { TranslationsPath = path }, null),
deeplTranslator).CreateTranslator();
var label = await translator.GetTranslation("label.test", Language.Polish);
var translations = await translator.GetAllTranslations(Language.English);
Custom implementations
You can configure your own custom implementations for the store, cache or translator in translord. Just implement specific interface and be sure to register it in DI:
builder.Services.AddTranslordCustomStore<CustomTranslationsStore>();
builder.Services.AddTranslordCustomCache<CustomTranslationsCache>();
builder.Services.AddTranslordCustomTranslator<CustomTranslationsTranslator>();
Import
For now, you can import your translations in one specific way. You need one .json file per language, with root object containing string key-value pairs of your translations. In the future there could be more import schemas added, please add an issue if you need support for specific import schema. Example of json that can be imported now:
{
"label.add": "add",
"label.delete": "delete",
...
}
See GitHub for more information and examples.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
NuGet packages (4)
Showing the top 4 NuGet packages that depend on translord:
| Package | Downloads |
|---|---|
|
translord.Manager
translord.Manager - package containing TMS admin panel for translord. |
|
|
translord.DeepL
translord.DeepL - package using DeepL for texts translation in translord. |
|
|
translord.EntityFramework
translord.EntityFramework - package containing configuration of the translations store using EF Core for translord. |
|
|
translord.RedisCache
translord.RedisCache - package containing configuration of the translations cache using Redis for translord. |
GitHub repositories
This package is not used by any popular GitHub repositories.