Transable.Sdk.Avalonia
0.1.0-preview.2
Prefix Reserved
dotnet add package Transable.Sdk.Avalonia --version 0.1.0-preview.2
NuGet\Install-Package Transable.Sdk.Avalonia -Version 0.1.0-preview.2
<PackageReference Include="Transable.Sdk.Avalonia" Version="0.1.0-preview.2" />
<PackageVersion Include="Transable.Sdk.Avalonia" Version="0.1.0-preview.2" />
<PackageReference Include="Transable.Sdk.Avalonia" />
paket add Transable.Sdk.Avalonia --version 0.1.0-preview.2
#r "nuget: Transable.Sdk.Avalonia, 0.1.0-preview.2"
#:package Transable.Sdk.Avalonia@0.1.0-preview.2
#addin nuget:?package=Transable.Sdk.Avalonia&version=0.1.0-preview.2&prerelease
#tool nuget:?package=Transable.Sdk.Avalonia&version=0.1.0-preview.2&prerelease
Transable.Sdk.Avalonia
One line of code makes your Avalonia app multilingual — automatic UI translation backed by the Transable API.
⚠️ Preview. This is an early preview (
0.1.0-preview.x). The public API may change between preview releases without notice. Not recommended for production yet — we'd love your feedback at https://transable.to/support.
Quick start
// Program.cs — that's the whole integration:
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.UseTransable("tk_live_YOUR_KEY");
Get an API key: create an App project at https://transable.to/dashboard — the setup wizard shows a live "connected" check for your first run.
On startup the SDK detects the user's OS language, scans the logical tree of
every open window and translates static UI text: TextBlock.Text, Content /
Header values that are strings, TextBox.Watermark, Window.Title,
ToolTip.Tip. Translations are cached on disk, so the second launch is instant
and works offline.
Control markup
xmlns:tr="https://transable.to/sdk/avalonia"
<TextBlock Text="BuildID: 2026.07.1" tr:Transable.Ignore="True" />
<TextBlock Text="OK" tr:Transable.Force="True" />
<tr:TransableLanguageSelector />
Programmatic: Transable.Sdk.Transable.SetLanguage("de"), CurrentLanguage,
LanguageChanged.
What is NOT translated (by design)
- User input:
TextBox.Textis never read or sent anywhere — only the watermark placeholder is translated. - Data-bound properties: values driven by your ViewModels are skipped, so
bound user data (names, e-mails, documents) never leaves the machine. Magic
mode translates the static "chrome" of an MVVM app; translate dynamic content
explicitly via
Transable.Sdk.Transable.T("key", "Fallback text"). - Safe mode additionally filters e-mails, URLs, paths, GUIDs, versions, log-like lines and code identifiers before the network layer.
Failure philosophy
Wrong key, no network, quota exceeded — the app keeps working in its source
language, with one warning through TransableOptions.Logger. The SDK never
throws from public entry points, never blocks the UI thread, and is inert in
the XAML previewer.
| 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
- Avalonia (>= 11.3.18)
- Transable.Sdk (= 0.1.0-preview.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.2 | 40 | 7/8/2026 |
| 0.1.0-preview.1 | 43 | 7/7/2026 |