- Retrieve - Retrieve master translations JSON
- Import - Import master translations JSON
- Upload - Upload master translations JSON file
Retrieve all translations for a locale in master JSON format organized by resourceId (workflowId)
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Translations.Master.RetrieveAsync(locale: "en_US");
// handle response| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
Locale |
string | ➖ | Locale to export. If not provided, exports organization default locale | en_US |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
TranslationControllerGetMasterJsonEndpointResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Import translations for multiple workflows from master JSON format for a specific locale
using Novu;
using Novu.Models.Components;
using System.Collections.Generic;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Translations.Master.ImportAsync(importMasterJsonRequestDto: new ImportMasterJsonRequestDto() {
Locale = "en_US",
MasterJson = new Dictionary<string, object>() {
{ "workflows", new Dictionary<string, object>() {
{ "welcome-email", new Dictionary<string, object>() {
{ "welcome.title", "Welcome to our platform" },
{ "welcome.message", "Hello there!" },
} },
{ "password-reset", new Dictionary<string, object>() {
{ "reset.title", "Reset your password" },
{ "reset.message", "Click the link to reset" },
} },
} },
},
});
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
ImportMasterJsonRequestDto |
ImportMasterJsonRequestDto | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
TranslationControllerImportMasterJsonEndpointResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Upload a master JSON file containing translations for multiple workflows. Locale is automatically detected from filename (e.g., en_US.json)
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Translations.Master.UploadAsync(requestBody: new TranslationControllerUploadMasterJsonEndpointRequestBody() {
File = new Novu.Models.Requests.File() {
FileName = "example.file",
Content = System.IO.File.ReadAllBytes("example.file"),
},
});
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
RequestBody |
TranslationControllerUploadMasterJsonEndpointRequestBody | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
TranslationControllerUploadMasterJsonEndpointResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |