Ses ve video dosyaları için sesten yazıya dönüştürme API'si

Önceden kaydedilmiş ses veya video yükleyin; otomatik dil algılama özelliğiyle 75 kaynak dilde her bölüm için konuşmacı etiketleri ve zaman damgaları içeren bir döküm elde edin. Aynı proje, bunu altyazılar ve seslendirmeyle birlikte 135'ten fazla dil ve bölge seçeneğine çevirir.
Konuşmacı ayrımı
75 kaynak dil
REST + Python SDK
upload, transcribe, read
OAuth 2.0
# 1. upload an audio or video file by link
curl -X POST https://api.rask.ai/api/library/v1/media/link \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"link": "https://example.com/interview.mp3", "name": "interview"}'

# 2. create the project - speech recognition starts automatically
#    src_lang is optional: leave it out and the language is detected
curl -X POST https://api.rask.ai/v2/projects \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"video_id\": \"$MEDIA_ID\", \"dst_lang\": \"es-mx\"}"
GET /v2/projects/{project_id}/transcription
segments
# Read the transcript: one object per segment
curl -s https://api.rask.ai/v2/projects/$ID/transcription -H "Authorization: Bearer $TOKEN" \
  | jq '.segments[] | {speaker, start, end, text: .src.text}'
Küresel ekipler tarafından kullanılmaktadır
Yetenekler

Konuşmadan metne API'sinin döndürdüğü her şey

Konuşma tanıma, her Rask projesinin ilk aşamasıdır. Döküm; düzenlemeye, çeviriye, altyazı eklemeye ve aynı projede seslendirmeye hazır, konuşmacı etiketleri ve zaman damgaları içeren bölümler halinde gelir.

Ses dosyalarını ve videoları yazıya dökün

Önceden kaydedilmiş ses veya video yükleyin ya da bir bağlantı paylaşın; API, konuşmayı bölüm bölüm yazılı metne dönüştürür.

Konuşmacı ayrımı

Farklı konuşmacılar otomatik olarak algılanır ve her bölüm SPEAKER_00 gibi bir konuşmacı etiketi taşır. Biliyorsanız konuşmacı sayısını girin veya etiketi daha sonra düzeltin.

Her bölüm için zaman damgaları

Her bölüm, altyazılara, aramalara ve bir kayıtta gezinmeye hazır SS:DD:SS,mmm formatında bir başlangıç ve bitiş zamanına sahiptir.

75 kaynak dil

75 kaynak dili kapsayan çok dilli destek. Kaynak dili boş bırakırsanız otomatik olarak algılanır veya iki harfli bir kodla ayarlayabilirsiniz.

Aynı bölümde çeviri

Her bölüm, kaynak metni ve 135'ten fazla dil ile bölge seçeneğinden herhangi birindeki çevirisini barındırır, böylece döküm ve çeviri satır satır uyumlu kalır.

.srt ve .vtt formatında altyazılar

Tamamlanan her proje, döküm bölümleriyle senkronize edilmiş hedef dilde altyazı dosyaları içerir. Altyazılar için ikinci bir tedarikçiye gerek yoktur.

Çeviride alan adıyla ilgili terimler

Bir sözlük; döküm çevrildiğinde veya bilerek orijinal dilde bırakıldığında ürün adlarının, özel isimlerin ve alana özgü kelime dağarcığının tutarlı kalmasını sağlar.

Dökümü API aracılığıyla düzenleyin

Bir kelimeyi düzeltin, zaman damgasını ayarlayın, konuşmacıyı yeniden atayın, bir bölüm ekleyin veya silin. İnceleyenler baştan başlamak yerine son dökümü düzeltir.

Sınırsız ölçeklendirin

Oran sınırı, eşzamanlılık kotası veya anahtar başına kısıtlama yoktur. Tüm ses ve video kitaplığınızda toplu döküm işlemlerini aynı anda çalıştırın.
Çalışırken görün

Tek bir dökümün beş dil versiyonuna dönüşmesini izleyin

Aynı klip; orijinal arka plan sesi bozulmadan İngilizce, Fransızca, Almanca, Portekizce ve İspanyolca olarak yazıya dökülmüş, çevrilmiş ve seslendirilmiştir.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
İş Akışı

Ses dosyasından döküme giden üç istek

Proje oluşturma işlemi konuşma tanımayı başlatır, ardından tek seferde çeviri ve seslendirme yapılır. Metni düzenledikten sonra /generate uç noktasını (endpoint) kullanın.
1

Ses veya video yükleyin

Çok parçalı form verisi olarak bir ses veya video dosyası gönderin ya da YouTube, Google Drive, S3, Vimeo veya herhangi bir doğrudan bağlantı (URL) paylaşın. Hiçbir ücret ödemeden bir medya kimliği ve dosya üst verilerini alırsınız.

POST /api/library/v1/media/link
2

Projeyi oluşturun

Medya kimliğini video_id olarak ve hedef dili iletin. Biliyorsanız kaynak dili veya konuşmacı sayısını ekleyin. Tanıma işlemi hemen başlar.

POST /v2/projects
3

Metni okuyun

Çevrilen medya işlenmeye devam ederken, bölümleri hazır olur olmaz metni okuyun. Proje tamamlandığında altyazı ve medya dosyalarını indirin.

GET /v2/projects/{id}/transcription
Tanıma işlemi canlı ses yerine eksiksiz, önceden kaydedilmiş dosyalar üzerinde çalışır. İşlem süresi dosya uzunluğuna, konuşmacı sayısına ve hedef dile göre değişiklik gösterir.
Sizin etrafınızda tasarlandı

Listede olmayan bir dil veya format mı arıyorsunuz? Ekibimizle konuşun

Listenin dışında bir kaynak dil, platformunuzun beklediği bir metin biçimi, daha yüksek kapasite veya kendi teslimat yönteminiz: Ekibimiz entegrasyonunuzun neye ihtiyaç duyduğunu ve mevcut seçenekleri inceler.

Diller ve sesler

Genel katalogda olmayan bir dil mi gerekiyor? Gereksinimlerinizi ve mevcut seçenekleri ekibimizle görüşün.

Teslimat ve entegrasyon

Webhook’lar, kendi kuyruğunuza aktarım, doğrudan S3’ünüze teslimat, özel uç noktalar. İş akışınızın nasıl beslenmesini beklediğinizi bize bildirin.

Hacim ve işleme kapasitesi

Parti büyüklükleri, işlem başına hedef diller ve işleme önceliği, sabit ürün sınırları değil, sözleşme şartlarıdır.

Güvenlik ve barındırma

Veri saklama yeri, SSO ve SAML, saklama kuralları ve güvenlik incelemesi desteği, kurumsal adaptasyon sürecinin bir parçası olarak ele alınır.
Kullanım örnekleri

Videolar için sesten yazıya dönüştürme API'sini kimler kullanıyor?

İçinde video barındıran platformlar

Öğrenim yönetim sistemleri (LMS) ve müşteri eğitimi platformları, içerik üretici ve video platformları, webinarlar ve sanal etkinlik araçları, video barındırma ve iş akışı SaaS'leri, dijital benimseme platformları, canlı alışveriş. Kaydedilmiş videoların metinlerini, altyazılarını ve çevrilmiş sürümlerini ürününüzün bir özelliği olarak ekleyin.

Yerelleştirme ve prodüksiyon ajansları

Konuşmacı etiketlerine sahip metni inceleyenleriniz için ilk taslak olarak kullanın, API aracılığıyla bölümleri düzeltin ve aynı projeden altyazılar, çeviriler ile seslendirilmiş sürümler sunun.

Şirket içi kesintisiz video prodüksiyonu

Uluslararası perakende ve e-ticaret, küresel franchise'lar, medya yayıncıları, şirket içi eğitim merkezleri. Kaydedilmiş eğitimleri, webinarları ve röportajları metne dökün, ardından her pazar için altyazıları ve dil sürümlerini yayınlayın.
Müşteri hikayeleri

Gerçek ekipler, ölçülebilir sonuçlar

Şirketlerin Rask ile videolarını kendi rakamlarıyla nasıl yerelleştirdiği.
ok
ok
Kod

Sesten metne API kod örnekleri

Her dilde eksiksiz bir örnek: Bir ses veya video dosyası yükleyin, projeyi oluşturun, bekleyin ve ardından konuşmacılar ile zaman damgalarına sahip metin bölümlerini okuyun.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

async def main():
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

    media = await client.create_media_link(data=schemas.MediaCreateLink(link="https://example.com/interview.mp3"))
    while media.status is enums.MediaStatus.PROCESSING:
        await asyncio.sleep(5)
        media = await client.get_media(media_id=media.id)

    # src_lang omitted: the source language is detected automatically
    job = await client.create_project(data=schemas.ProjectCreate(video_id=media.id, dst_lang="es-mx"))
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)

    transcript = await client.get_project_transcription(project_id=job.id)
    for seg in transcript.segments:
        print(seg.start, seg.end, seg.speaker, seg.src.text)

asyncio.run(main())
github.com/braskai/rask-sdk
async, typed models
import time, requests

AUTH = "https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token"
API  = "https://api.rask.ai"
token = requests.post(AUTH, auth=(CLIENT_ID, CLIENT_SECRET),
                      data={"grant_type": "client_credentials"}).json()["access_token"]
h = {"Authorization": f"Bearer {token}"}

with open("interview.mp3", "rb") as f:
    media = requests.post(f"{API}/api/library/v1/media", headers=h,
                          params={"kind": "audio"}, files={"data": f}).json()
while media["status"] == "processing":
    time.sleep(5)
    media = requests.get(f"{API}/api/library/v1/media/{media['id']}", headers=h).json()

pid = requests.post(f"{API}/v2/projects", headers=h, json={
    "video_id": media["id"], "dst_lang": "es-mx", "num_speakers": 2}).json()["id"]
while requests.get(f"{API}/v2/projects/{pid}", headers=h).json()["status"] != "merging_done":
    time.sleep(10)

# write the source transcript as an .srt file
segments = requests.get(f"{API}/v2/projects/{pid}/transcription", headers=h).json()["segments"]
with open("interview_en.srt", "w") as out:
    for i, s in enumerate(segments, 1):
        out.write(f"{i}\n{s['start']} --> {s['end']}\n{s['speaker']}: {s['src']['text']}\n\n")
requests + polling
no SDK required
// no dependencies, Node 18+ global fetch
const API = 'https://api.rask.ai';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
const auth = await fetch('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token', {
  method: 'POST',
  headers: { Authorization: 'Basic ' + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`) },
  body: new URLSearchParams({ grant_type: 'client_credentials' }),
}).then((r) => r.json());
const h = { Authorization: `Bearer ${auth.access_token}`, 'Content-Type': 'application/json' };
const call = (method, path, body) => fetch(API + path, { method, headers: h, body: body && JSON.stringify(body) }).then((r) => r.json());

let media = await call('POST', '/api/library/v1/media/link', { link: 'https://example.com/webinar.mp4' });
while (media.status === 'processing') { await sleep(5000); media = await call('GET', `/api/library/v1/media/${media.id}`); }

let p = await call('POST', '/v2/projects', { video_id: media.id, src_lang: 'en', dst_lang: 'de-de' });
while (p.status !== 'merging_done') { await sleep(10000); p = await call('GET', `/v2/projects/${p.id}`); }

const { segments } = await call('GET', `/v2/projects/${p.id}/transcription`);
segments.forEach((s) => console.log(`[${s.start}] ${s.speaker}: ${s.src.text}`));
console.log(p.translation_vtt_path);   // German subtitles for your player
fetch, Node 18+
plain HTTP
# 1. token (valid 1 hour - cache and reuse it)
TOKEN=$(curl -s -X POST https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" -d "grant_type=client_credentials" | jq -r .access_token)

# 2. upload a local audio file
MEDIA_ID=$(curl -s -X POST "https://api.rask.ai/api/library/v1/media?kind=audio" \
  -H "Authorization: Bearer $TOKEN" -F "data=@podcast_episode.mp3" | jq -r .id)

# 3. create the project once the media status is ready
ID=$(curl -s -X POST https://api.rask.ai/v2/projects \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"video_id\": \"$MEDIA_ID\", \"dst_lang\": \"fr-fr\"}" | jq -r .id)

# 4. when status is merging_done, read the transcript with speaker labels
curl -s https://api.rask.ai/v2/projects/$ID/transcription -H "Authorization: Bearer $TOKEN" \
  | jq -r '.segments[] | "\(.start) \(.speaker): \(.src.text)"'
local file upload
audio file, multipart
<?php
use GuzzleHttp\Client;

$http = new Client(['base_uri' => 'https://api.rask.ai']);
$json = fn($r) => json_decode($r->getBody(), true);
$auth = $json((new Client)->post('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token',
    ['auth' => [$clientId, $clientSecret], 'form_params' => ['grant_type' => 'client_credentials']]));
$h = ['Authorization' => 'Bearer ' . $auth['access_token']];

$media = $json($http->post('/api/library/v1/media/link', ['headers' => $h, 'json' => [
    'link' => 'https://example.com/interview.mp3']]));
while ($media['status'] === 'processing') {
    sleep(5);
    $media = $json($http->get("/api/library/v1/media/{$media['id']}", ['headers' => $h]));
}

$p = $json($http->post('/v2/projects', ['headers' => $h, 'json' => [
    'video_id' => $media['id'], 'dst_lang' => 'es-mx']]));
while ($p['status'] !== 'merging_done') {
    sleep(10);
    $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
}

$t = $json($http->get("/v2/projects/{$p['id']}/transcription", ['headers' => $h]));
foreach ($t['segments'] as $s) {
    echo $s['start'], ' ', $s['speaker'], ': ', $s['src']['text'], PHP_EOL;
}
Guzzle 7
plain HTTP
Python resmi SDK'dır. Node, PHP ve cURL sekmeri, aynı uç noktalara yönelik saf HTTP örnekleridir.
İlerleme

Bir metne dökme (transkripsiyon) projesi ilerleme durumunu nasıl bildirir?

Metne dökme işlemi, belgelenmiş durumlara sahip bir projenin ilk aşamasıdır; böylece uzun kayıtlardaki gerçek ilerlemeyi gösterebilirsiniz. Yalnızca üç grupla ilgilenmeniz gerekir.

Başarılı, burada durun

merging_done
Nihai medya ve altyazı dosyaları hazır. Metin, bölümleri hazır olur olmaz daha erken okunabilir.

Devam ediyor, sorgulamaya devam edin

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Ayrıca eşleşen _done durumlar. Bunlar, aşamalı bir ilerleme arayüzüne kolayca uyarlanabilir.

Başarısızlık, dur ve bildir

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words ve forbidden_link kendi kullanıcınıza doğrudan gösterecek kadar anlaşılırdır.
Two speakers
GET /v2/projects/{id}/transcription
{"segments": [
  {"speaker": "SPEAKER_00", "start": "00:00:00,320", "end": "00:00:07,316", "status": "done",
   "src": {"text": "Thanks for joining us. Let's start with the new release.", "lang": "en"},
   "dst": {"text": "Gracias por acompañarnos. Empecemos con la nueva versión.", "lang": "es-mx"}},
  {"speaker": "SPEAKER_01", "start": "00:00:07,640", "end": "00:00:11,900", "status": "done",
   "src": {"text": "Sure. The biggest change is the reporting view.", "lang": "en"},
   "dst": {"text": "Claro. El cambio más grande es la vista de reportes.", "lang": "es-mx"}}
]}

Veya durum kontrolünü tamamen atlayın

Bize bir webhook uç noktası gösterin; her durum değişikliği bir POST olarak gelir, böylece kuyruğunuz her değişimi gerçekleştiği anda işler. Webhook teslimi, kurumsal sisteme geçiş sürecinin bir parçasıdır.
Belgeleri okuyun
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Çıktı

Metin bölümleri, altyazılar ve çevrilmiş medya

Metne dökme uç noktasından metni JSON bölümleri olarak okuyun. Tamamlanan proje ayrıca hedef dilde SRT ve VTT formatında altyazı dosyalarını, çevrilmiş videoyu ve uygun planlarda ayrı bir WAV parçası olarak çevrilmiş sesi sunar.
Alan
Biçim
Ne işe yarar
segments
JSON
Metin: Her bölüm için kaynak metin, çeviri, konuşmacı etiketi, başlangıç ve bitiş zamanı
voiceover
WAV
Yalnızca çevrilmiş ses, arka plan yok (uygun planlarda)
translated_audio
WAV
Çevrilen konuşmanın orijinal arka plan sesiyle birleştirilmiş hali
translation_srt_path
.srt
Hedef dilde, bölümlere göre zamanlanmış altyazılar
translation_vtt_path
.vtt
Web oynatıcıları için WebVTT formatında altyazılar
translated_video
MP4
Seslendirmeli çevrilmiş video
Kontrol

Metin dökümünü bölüm bölüm düzeltin

Konuşma tanıma size ilk taslağı verir. Bölüm başına tek bir istekte bulunarak bir kelimeyi, zaman damgasını veya konuşmacı etiketini düzeltin, ardından çevrilen sürümü yeniden oluşturun. Yeniden oluşturma işlemi, çalışma başına en az bir dakika olmak üzere değiştirilen bölümler üzerinden ücretlendirilir.

Bölüm düzeyinde düzenleme

Bölüm düzeyinde düzenleme
Her proje, metin dökümünü erişilebilir bölümler halinde sunar; bu sayede nihai metin dökümünde yapılan bir düzeltme tek bir yama (patch) isteğiyle gerçekleştirilir.
Metni ve bölümlerini alın
Kaynak metni düzenleyin, biz de yeniden çevirelim
Kendi ifadelerinizi korumak için çevrilmiş metni doğrudan düzenleyin
Zaman damgalarını ayarlayın, yeni bölümler ekleyin veya mevcut bölümleri silin
Herhangi bir konuşmacıya ait sesi değiştirin

Terminoloji sözlükleri

Terminoloji sözlükleri
Metin dökümü çevrildiğinde bir sözlük; marka adlarını, özel isimleri ve sektörel terimleri her sürümde aynı tutar veya bilerek orijinal dilinde bırakır.

Bir sözlük tek bir dil çiftini kapsar ve hedef dilin tüm bölgesel varyantlarında geçerlidir; böylece tek bir İspanyolca sözlük es-mx ve es-es benzer şekilde hizmet eder. Proje kayıtları glossary_version, böylece sonraki düzenlemeler tamamlanan çalışmaları asla habersiz değiştirmez.
Girdi

Desteklenen dosya biçimleri

Podcast'ler, röportajlar ve kaydedilmiş aramalar gibi ses dosyalarını, desteklenen herhangi bir formatta video dosyalarını dönüştürün veya bir URL gönderin. Desteklenmeyen bir dosya gönderildiğinde API, herhangi bir dakika ücretlendirilmeden önce bunu reddeder.

Video

7 biçim
.mp4
.mov
.mkv
.avi
.webm
.m4v
.3gp

Ses

4 biçim
.mp3
.wav
.flac
.m4a

Harcama yapmadan önce verileri inceleyin

Medya uç noktası süreyi, dosya boyutunu, video codec bileşenini, kare hızını, çözünürlüğü, ses codec bileşenini, örnekleme hızını ve kanal düzenini döndürür. Projeler ses veya video dakikası üzerinden ücretlendirildiği için dosyayı önceden doğrulayın ve maliyeti tahmin edin.
Güvenlik ve uyumluluk

Ses ve konuşma verileri için kurumsal düzeyde güvenlik

Brask Inc, SOC 2 Tip II sertifikasına sahiptir ve GDPR kapsamında faaliyet gösterir; ayrıca Güven Merkezi'nde (Trust Center) canlı kontrol durumunu yayınlar; böylece kayıtlar ve metin dökümleri denetlenen kontroller altında işlenir.

Sertifikalar

SOC 2 Tip II
GDPR
CAI ve C2PA üyesi

Şifreleme

Aktarım sırasında TLS 1.2
Bekleme durumunda AES-256
SSE-S3 yönetilen anahtarlar
En az 12 ayda bir anahtar değişimi

İçeriğiniz

Kapalı yapay zeka ortamı
Genel modelleri eğitmek için asla kullanılmaz
Tam dışa aktarım, sisteme bağımlılık yok

Erişim

SSO ve SAML
Rol tabanlı erişim kontrolü
OAuth 2.0 istemci kimlik bilgileri

Kurumsal

Veri konumu seçenekleri
Özel SLA'ler
Özel müşteri temsilcisi

Ses hakları

Kullanım haklarına sahip sentetik sesler
Onaya dayalı ses klonlama
Yapay zeka güvenlik kontrolleri, insan denetimi
Karşılaştırma

Rask API ve konuşmadan metne dönüştürme API'si ile kendi altyapınız

Konuşmadan metne dönüştürme API'si, sesi metne dönüştürür. Bu metnin altyazılara, çevirilere ve dublajlı sürümlere dönüştürülmesi gerektiğinde geriye kalan kısım altyapı çalışmasıdır. İşte aynı sonucun iki farklı şekilde elde edilmiş hali.
İhtiyacınız olanlar
Rask API
Parçalardan oluşturulmuş
Konuşmacı etiketleri içeren bir metin dökümü
Dahil olanlar
Çoğu konuşmadan metne dönüştürme API'sinde bulunur
Zaman damgaları
Bölüm başına
Birçok konuşmadan metne dönüştürme API'sinde kelime başına
Metin dökümünün çevirisi
Aynı proje, 135'ten fazla dil ve bölge seçeneği
Ayrı bir çeviri API'si
.srt ve .vtt formatında altyazılar
Hedef dilde dahil edilmiştir
Kendi zamanlama verilerinizden oluşturulmuştur
Dublajlı ses ve video
Dahil olanlar
Bir TTS sağlayıcısı ve kendi ses miksajınız
Bir bölümü düzeltme
Tek bir istek, ardından yeniden oluşturma
Kendi kopyalarınızı düzenleyin ve yeniden senkronize edin
İstek sınırları
Yok
Sağlayıcınızın zorunlu kıldığı her neyse
Canlı sesin gerçek zamanlı olarak metne dönüştürülmesi
Canlı ses akışı metne dönüştürme API'si kullanın
Bunun için tasarlandı
En düşük fiyatla sadece bir döküm
Özel bir sesten metne API'si daha az maliyetlidir
Ses saati başına ücretlendirilir
Sıkça Sorulan Sorular

Sesten metne API: Sık sorulan sorular

Aradığınızı bulamadınız mı? Satış departmanıyla iletişime geçin.

Rask'ın sesten metne API'si var mı?

Hangi dillerin dökümünü çıkarabilir?

Video olmadan ses dosyalarının dökümünü alabilir miyim?

Konuşmacı ayrıştırmasını destekliyor mu?

API, kelime düzeyinde zaman damgaları döndürüyor mu?

Gerçek zamanlı dökümü destekliyor mu?

Döküm ne kadar doğru?

Özel kelime dağarcığı veya alan terimleri ekleyebilir miyim?

Dökümü SRT dosyası olarak alabilir miyim?

Kendi dökümümü getirebilir miyim?

Transkript nasıl ücretlendirilir?

Ücretsiz bir plan var mı?

API erişimini ve API anahtarını nasıl alabilirim?

Tek bir öğleden sonra dublaj yapmaya başlayın

İlk isteğinizi bugün oluşturun ve toplu kullanım koşullarına veya kimsenin bilmediği bir dile ihtiyacınız olduğunda bizimle iletişime geçin.