Skip to main content

Çeviri Oluştur

Yeni çeviri oluşturur (Admin - tek veya toplu).

Endpoint

POST /api/v1/admin/translations

Authentication

Bu endpoint authentication gerektirir.

Header: Authorization: Bearer \{token\}

Permission

  • translations.create - Çeviri oluşturma

Request

Headers

HeaderDeğerZorunlu
AuthorizationBearer \{token\}Evet
Content-Typeapplication/jsonEvet

Request Body (Tek Ekleme)

ParametreTipZorunluAçıklama
keystringEvetÇeviri anahtarı
valuesobjectEvetDil kodları ve çeviri metinleri (örn: {"tr": "Ana Sayfa", "en": "Home"})
groupstringHayırGrup adı
descriptionstringHayırAçıklama
is_activebooleanHayırAktif durumu (varsayılan: true)

Request Body (Toplu Ekleme)

ParametreTipZorunluAçıklama
translationsarrayEvetÇeviri dizisi

Example Request (Tek Ekleme)

{
"key": "pages.home",
"values": {
"tr": "Ana Sayfa",
"en": "Home Page",
"de": "Startseite"
},
"group": "pages",
"description": "Ana sayfa başlığı",
"is_active": true
}

Example Request (Toplu Ekleme)

{
"translations": [
{
"key": "pages.home",
"values": {
"tr": "Ana Sayfa",
"en": "Home Page"
},
"group": "pages"
},
{
"key": "pages.about",
"values": {
"tr": "Hakkımızda",
"en": "About Us"
},
"group": "pages"
}
]
}

Response

Success Response (201 Created) - Tek Ekleme

{
"message": "Translation created successfully",
"created": [
{
"id": 1,
"key": "pages.home",
"locale": "tr",
"value": "Ana Sayfa",
"group": "pages"
},
{
"id": 2,
"key": "pages.home",
"locale": "en",
"value": "Home Page",
"group": "pages"
}
],
"errors": []
}

Success Response (201 Created) - Toplu Ekleme

{
"message": "Bulk translation creation completed",
"created": 4,
"skipped": 0,
"errors": 0,
"data": {
"created": [...],
"skipped": [...],
"errors": [...]
}
}

Code Examples

cURL - Tek Ekleme

curl -X POST https://api.example.com/api/v1/admin/translations \
-H "Authorization: Bearer \{token\}" \
-H "Content-Type: application/json" \
-d '{
"key": "pages.home",
"values": {
"tr": "Ana Sayfa",
"en": "Home Page"
},
"group": "pages"
}'

Notes

  • Tek ekleme: values formatı kullanılır, her dil için ayrı çeviri oluşturulur
  • Toplu ekleme: translations array formatı kullanılır
  • Aynı key + locale kombinasyonu zaten varsa hata döner
  • Çeviriler oluşturulduktan sonra cache otomatik temizlenir
  • is_active değeri belirtilmemişse varsayılan olarak true kullanılır