Used to localize your notifications to different languages. https://docs.novu.co/platform/workflow/advanced-features/translations
- create - Create a translation
- retrieve - Retrieve a translation
- delete - Delete a translation
- upload - Upload translation files
Create a translation for a specific workflow and locale, if the translation already exists, it will be updated
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Components;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$createTranslationRequestDto = new Components\CreateTranslationRequestDto(
resourceId: 'welcome-email',
resourceType: Components\ResourceType::Layout,
locale: 'en_US',
content: [
'welcome.title' => 'Welcome',
'welcome.message' => 'Hello there!',
],
);
$response = $sdk->translations->create(
createTranslationRequestDto: $createTranslationRequestDto
);
if ($response->translationResponseDto !== null) {
// handle response
}| Parameter | Type | Required | Description |
|---|---|---|---|
createTranslationRequestDto |
Components\CreateTranslationRequestDto | ✔️ | N/A |
idempotencyKey |
?string | ➖ | A header for idempotency purposes |
?Operations\TranslationControllerCreateTranslationEndpointResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\APIException | 4XX, 5XX | */* |
Retrieve a specific translation by resource type, resource ID and locale
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Operations;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$response = $sdk->translations->retrieve(
resourceType: Operations\PathParamResourceType::Layout,
resourceId: 'welcome-email',
locale: 'en_US'
);
if ($response->translationResponseDto !== null) {
// handle response
}| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
resourceType |
Operations\PathParamResourceType | ✔️ | Resource type | |
resourceId |
string | ✔️ | Resource ID | welcome-email |
locale |
string | ✔️ | Locale code | en_US |
idempotencyKey |
?string | ➖ | A header for idempotency purposes |
?Operations\TranslationControllerGetSingleTranslationResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\APIException | 4XX, 5XX | */* |
Delete a specific translation by resource type, resource ID and locale
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Operations;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$response = $sdk->translations->delete(
resourceType: Operations\TranslationControllerDeleteTranslationEndpointPathParamResourceType::Layout,
resourceId: '<id>',
locale: 'pl'
);
if ($response->statusCode === 200) {
// handle response
}| Parameter | Type | Required | Description |
|---|---|---|---|
resourceType |
Operations\TranslationControllerDeleteTranslationEndpointPathParamResourceType | ✔️ | Resource type |
resourceId |
string | ✔️ | Resource ID |
locale |
string | ✔️ | Locale code |
idempotencyKey |
?string | ➖ | A header for idempotency purposes |
?Operations\TranslationControllerDeleteTranslationEndpointResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\APIException | 4XX, 5XX | */* |
Upload one or more JSON translation files for a specific workflow. Files name must match the locale, e.g. en_US.json. Supports both "files" and "files[]" field names for backwards compatibility.
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Operations;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$requestBody = new Operations\TranslationControllerUploadTranslationFilesRequestBody(
resourceId: 'welcome-email',
resourceType: Operations\ResourceType::Workflow,
files: [],
);
$response = $sdk->translations->upload(
requestBody: $requestBody
);
if ($response->uploadTranslationsResponseDto !== null) {
// handle response
}| Parameter | Type | Required | Description |
|---|---|---|---|
requestBody |
Operations\TranslationControllerUploadTranslationFilesRequestBody | ✔️ | N/A |
idempotencyKey |
?string | ➖ | A header for idempotency purposes |
?Operations\TranslationControllerUploadTranslationFilesResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\APIException | 4XX, 5XX | */* |