File size: 1,916 Bytes
ae9c08b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import pandas as pd
import argostranslate.package
import argostranslate.translate
from time import sleep

# --- Dil paketlerini indir ve yükle (ilk sefer için) ---
available_packages = argostranslate.package.get_available_packages()
en_tr_package = next(p for p in available_packages if p.from_code == "en" and p.to_code == "tr")
download_path = en_tr_package.download()
argostranslate.package.install_from_path(download_path)

# --- Yüklü dilleri yükle ---
argostranslate.translate.load_installed_languages()
langs = argostranslate.translate.get_installed_languages()
from_lang = next(lang for lang in langs if lang.code == "en")
to_lang = next(lang for lang in langs if lang.code == "tr")
translation_func = from_lang.get_translation(to_lang)

# --- Dosya ayarları ---
input_csv = "Bitext_Sample_Customer_Support_Training_Dataset_27K_responses-v11.csv"
output_csv = "translated_argos_first_5000.csv"

# --- İlk 5000 satırı oku ---
df = pd.read_csv(input_csv).head(5000)

# --- Hangi sütunlar çevrilecek ---
columns_to_translate = ["instruction", "response"]

# --- Çeviri işlemi ---
for col in columns_to_translate:
    translated_texts = []
    for i, text in enumerate(df[col]):
        try:
            translated = translation_func.translate(str(text))
            if i % 100 == 0:
                print(f"[{col}] Satır {i} ✓")
        except Exception as e:
            print(f"[{col}] Satır {i} çeviride hata: {e}")
            translated = text
        translated_texts.append(translated)
        sleep(0.01)  # Lokal olduğu için çok kısa bekleme
    df[col] = translated_texts

# --- Çıktı: sadece ilgili sütunlar ---
df = df[["flags", "instruction", "category", "intent", "response"]]
df.to_csv(output_csv, index=False, encoding="utf-8-sig")

print(f"\n✅ İlk 5000 satır Argos ile Türkçeye çevrildi. Çıktı: {output_csv}")