<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<title>Çeviri Servisi</title>
</head>
<body class="bg-light">
<div class="container mt-5">
<h1 class="mb-4">Çeviri Servisi (ZFC)</h1>
<div class="form-group">
<textarea id="sourceText" class="form-control" placeholder="Çevrilecek metni buraya yazın veya yapıştırın." rows="4"></textarea>
</div>
<div class="form-group">
<select id="languageSelect" class="form-control">
<!-- Dil seçeneklerinizi buraya ekleyin -->
<option value="en">İngilizce (EN)</option>
<option value="tr">Türkçe (TR)</option>
<option value="de">Almanca (DE)</option>
<option value="es">İspanyolca (ES)</option>
<option value="fr">Fransızca (FR)</option>
<option value="ja">Japonca (JA)</option>
<option value="ko">Korece (KO)</option>
<option value="nl">Hollandaca (NL)</option>
<option value="pl">Lehçe (PL)</option>
<option value="pt">Portekizce (PT)</option>
<option value="ru">Rusça (RU)</option>
<option value="zh-Hans">Çince (Basitleştirilmiş) (ZH)</option>
<option value="zh-Hant">Çince (Geleneksel) (ZH)</option>
<option value="zh">Çince (ZH)</option>
<option value="bg">Bulgarca (BG)</option>
<option value="cs">Çekçe (CS)</option>
<option value="da">Danca (DA)</option>
<option value="el">Yunanca (EL)</option>
<option value="et">Estonyaca (ET)</option>
<option value="fi">Fince (FI)</option>
<option value="hu">Macarca (HU)</option>
<option value="lt">Litvanca (LT)</option>
<option value="lv">Letonca (LV)</option>
<option value="ro">Romence (RO)</option>
<option value="sk">Slovakça (SK)</option>
<option value="sl">Slovence (SL)</option>
<option value="sv">İsveççe (SV)</option>
<!-- Diğer dil seçenekleri -->
</select>
</div>
<button onclick="translateText()" class="btn btn-primary">Çevir</button>
<button id="copyButton" onclick="copyToClipboard()" class="btn btn-success ml-2">Kopyala</button>
<h2 class="mt-4">Ana Çeviri</h2>
<p id="mainTranslation" class="p-3 bg-white rounded border"></p>
<h5>Alternatif Çeviriler</h5>
<ul id="alternativeTranslations" class="list-group">
<!-- Alternatif çeviriler burada listelenecek -->
</ul>
<br><br>
</div>
<!-- Bootstrap ve bağımlılıkları -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.9/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script>
function translateText() {
var sourceText = document.getElementById('sourceText').value.trim(); // Metnin başında ve sonunda boşlukları temizle
var selectedLang = document.getElementById('languageSelect').value;
fetch('https://translate.zfc.com.tr/translate', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({text: sourceText, lang: selectedLang})
})
.then(response => response.json()) // Yanıtı JSON olarak işle
.then(data => {
// API'den dönen veriyi kontrol et
if (data.status && data.data) {
// Ana çeviri metnini bul ve sayfaya yansıt
var mainTranslation = data.data.text || "Çeviri bulunamadı.";
document.getElementById('mainTranslation').innerText = mainTranslation;
// Alternatif çevirileri işle ve sayfaya yansıt
var alternativesList = document.getElementById('alternativeTranslations');
alternativesList.innerHTML = ""; // Alternatif çeviriler listesini temizle
if (data.data.alternatives && data.data.alternatives.length > 0) {
// Alternatif çevirileri listele
data.data.alternatives.forEach(function(alt) {
var listItem = document.createElement('li');
listItem.innerText = alt.text;
alternativesList.appendChild(listItem);
});
} else {
// Alternatif çeviri yoksa, kullanıcıya bilgi ver
alternativesList.innerHTML = "<li>Alternatif çeviri bulunamadı.</li>";
}
} else {
// API'den geçerli bir çeviri gelmezse hata mesajı göster
document.getElementById('mainTranslation').innerText = "Çeviri bulunamadı veya bir hata oluştu.";
document.getElementById('alternativeTranslations').innerHTML = "";
}
})
.catch(error => {
// Hata yakalama
console.error('Hata:', error);
document.getElementById('mainTranslation').innerText = "Hata oluştu: " + error.message;
document.getElementById('alternativeTranslations').innerHTML = "";
});
}
function copyToClipboard() {
var mainTranslationText = document.getElementById('mainTranslation').innerText;
navigator.clipboard.writeText(mainTranslationText)
.then(() => {
var copyButton = document.getElementById('copyButton');
copyButton.textContent = 'Kopyalandı!'; // Buton metnini değiştir
setTimeout(function() {
copyButton.textContent = 'Kopyala'; // 2 saniye sonra eski metnine dön
}, 3000);
})
.catch(err => {
console.error('Metni kopyalarken bir hata oluştu:', err);
});
}
</script>
</body>
</html>