asistan / translators /lokal_translate.py
mericberktas's picture
Upload folder using huggingface_hub
ae9c08b verified
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}")