dotnet-runic-translations 0.3.0-preview.1

This is a prerelease version of dotnet-runic-translations.
dotnet tool install --global dotnet-runic-translations --version 0.3.0-preview.1
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local dotnet-runic-translations --version 0.3.0-preview.1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-runic-translations&version=0.3.0-preview.1&prerelease
                    
nuke :add-package dotnet-runic-translations --version 0.3.0-preview.1
                    

dotnet-runic-translations

Create, validate, generate, and verify Runic Translations MF2 projects from a project-local .NET tool. Use it in developer workflows and CI to catch message errors before generated C# or ESM reaches an application.

Install locally

dotnet new tool-manifest
dotnet tool install dotnet-runic-translations --version <VERSION>

Replace <VERSION> with the current preview shown on NuGet. The tool targets .NET 10. Commit .config/dotnet-tools.json, restore it with dotnet tool restore, and keep the tool on the same exact release as the runtime, build package, and Vite adapter.

Validate an MF2 project

dotnet tool run runic-translations -- validate \
  --project translations

The project path may name the conventional directory or its runic.json. New projects declare sourceLayout: "locale-toml" and keep MF2 messages as string values in sibling files such as en.toml and de.toml. Projects without that field retain the legacy locale-directory .mf2 layout.

Migrate an existing catalog

dotnet tool run runic-translations -- migrate --project translations --dry-run
dotnet tool run runic-translations -- migrate --project translations

Migration validates the complete proposed catalog before committing its file transaction. It preserves decoded MF2 content and refuses collisions or stale files. The dry run leaves the original project unchanged.

Generate C# and ESM

dotnet tool run runic-translations -- generate \
  --project translations \
  --output obj/translations \
  --emit-csharp \
  --emit-esm

When no emit option is present, all non-experimental output groups are selected. When any is present, only those groups are rendered. Available selections are --emit-csharp, --emit-json, --emit-typescript, --emit-template-manifest, --emit-esm, and experimental --emit-cpp.

Use Runic.Translations.Build for generated C# or when MSBuild should invoke this local tool. Use this CLI directly when Vite, CI, or a custom script owns artifact generation.

Other commands

runic-translations verify  --project <directory|runic.json> --output <directory>
runic-translations schema  --output <directory>
  • verify renders in isolation and byte-compares the selected expected output, including extra-file detection.
  • schema copies the bundled source, artifact, manifest, normalized-AST, editor-state, and capability schemas.

Arguments can be placed in a UTF-8 response file and passed as @arguments.rsp. Exit code 0 means success, 1 means catalog or verification diagnostics, and 2 means invalid invocation or an operational failure.

Compatibility and status

This tool is a public preview for .NET 10. Preview commands and generated output can change with documented migrations. Pin one exact version in the local manifest and coordinate upgrades with all consumers of its generated artifacts.

Licensed under the MIT License. See Third-Party Notices for bundled data attribution.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.3.0-preview.1 42 9/11/2026
0.2.0-preview.1 58 9/9/2026