Merhaba sevgili Technopat Sosyal kullanıcıları, bugün Linux'ta Türkçe dil desteği bulunmayan oyunlarda ekranda belirli bir kısmı seçerek yapay zekaya çevirmenizi sağlayan basit bir script tanıtacağım. Zamanla geliştirilebilir. Bash scripti olduğu için geliştirme seçeneği çok fazla. Ben şu an Hyprland'de kısayol atayarak kullanıyorum. Kullandığınız masaüstü ortamında (Wayland gereklidir.) scripti oluşturup masaüstü kısayolu atayarak kullanabilirsiniz.
1-Gerekli paketler:
Grim ve Slurp paketleri ekranda belirli bir alanı seçerek ekran görüntüsü almamızı sağlıyor. İkisi de Wayland için kullanılan araçlar. X11 kullanıyorsanız farklı paket kullanıp scriptte bu araçların adının geçtiği kelimeleri değiştirebilirsiniz.
Tesseract ve Tesseract Data ENG paketleri görüntüdeki yazıyı tarayarak metnin algılamasını sağlıyor. Script Tesseract sayesinde ekran görüntüsündeki İngilizce metni algılıyor. Algılanan metin böylece çevrilmesi için yapay zekaya iletiliyor.
JQ paketi terminalde JSON paketinin ayrıştırılmasını sağlıyor.
Curl paketi ile belirlediğimiz yapay zeka modeline istek gönderiyoruz.
Libnotify paketi, yapay zekadan gelen yanıtı ekranda bildirim olarak gösteriyor.
2-Google AI Studio API anahtarı al
https://aistudio.google.com/app/api-keys sayfasından free tier bir API anahtarı oluşturun. Oluşturduğunuz API anahtarını kopyalayın. Scripte eklemeniz gerekecek.
3-Script
Ev dizininizde ocr_cevir.sh adında bir dosya oluşturun. Dosyayı bir metin düzenleyici ile açın, aşağıdaki bash scriptini kopyalayıp yapıştırın ve kaydedin.
4-API KEY'inizi ekleyin
Scriptteki API_KEY= satırında " " arasına oluşturduğunuz API anahtarını yapıştırın.
5-Dosyayı çalıştırılabilir yapın
6-Kısayol oluşturun
Hyprland'de basit bir şekilde config dosyama şu satırı ekledim:
Bu sayede Alt ve Q tuşlarına aynı anda bastığımda ekran görüntüsünde belirli bir alan seçmem gerekiyor, oyunda diyaloğu seçiyorum. Seçtiğim alandaki İngilizce metin Tesseract ile algılanıyor ve Gemini'ye gönderiliyor. Gemini sonucu gönderdiğinde Türkçe çeviri, bildirim yoluyla geliyor.
GNOME
GNOME kullanıcıları Grim ve Slurp yerine GNOME-Screenshot paketini kullanabilir.
Scriptteki şu satırı bulun:
Şu şekilde değiştirin:
Güncel olarak GNOME kısayol ayarlarında bash script çalıştırma seçeneği olmayabilir. Pencere yöneticileri daha stabil olacaktır. Deneyenler belirtebilir, düzenleme yapılabilir. Umarım işinize yaramıştır. İyi eğlenceler dilerim.
ÖRNEKLER
Zenless Zone Zero
Undertale
1-Gerekli paketler:
grim slurp tesseract tesseract-data-eng jq curl libnotifyGrim ve Slurp paketleri ekranda belirli bir alanı seçerek ekran görüntüsü almamızı sağlıyor. İkisi de Wayland için kullanılan araçlar. X11 kullanıyorsanız farklı paket kullanıp scriptte bu araçların adının geçtiği kelimeleri değiştirebilirsiniz.
Tesseract ve Tesseract Data ENG paketleri görüntüdeki yazıyı tarayarak metnin algılamasını sağlıyor. Script Tesseract sayesinde ekran görüntüsündeki İngilizce metni algılıyor. Algılanan metin böylece çevrilmesi için yapay zekaya iletiliyor.
JQ paketi terminalde JSON paketinin ayrıştırılmasını sağlıyor.
Curl paketi ile belirlediğimiz yapay zeka modeline istek gönderiyoruz.
Libnotify paketi, yapay zekadan gelen yanıtı ekranda bildirim olarak gösteriyor.
2-Google AI Studio API anahtarı al
https://aistudio.google.com/app/api-keys sayfasından free tier bir API anahtarı oluşturun. Oluşturduğunuz API anahtarını kopyalayın. Scripte eklemeniz gerekecek.
3-Script
Ev dizininizde ocr_cevir.sh adında bir dosya oluşturun. Dosyayı bir metin düzenleyici ile açın, aşağıdaki bash scriptini kopyalayıp yapıştırın ve kaydedin.
Kod:
#!/bin/bash
API_KEY="API KEYİNİZİ YAPIŞTIRIN"
MODEL="gemini-3-flash-preview"
IMG="/tmp/ocr_snapshot.png"
grim -g "$(slurp)" "$IMG"
if [ ! -f "$IMG" ]; then
exit 1
fi
notify-send -u low -t 1000 "Gemini 3" "Görüntü işleniyor..."
TEXT=$(tesseract "$IMG" stdout -l eng 2>/dev/null)
if [ -z "$TEXT" ]; then
notify-send -u low "Hata" "Metin okunamadı."
exit 1
fi
JSON_DATA=$(jq -n \
--arg text "$TEXT" \
'{
contents: [{
parts: [{
text: ("Act as a professional Turkish video game localizer. Translate the following text from English to Turkish.\n\nContext: The text is from a video game (Dialogue, UI, or Item Description).\nStyle: Natural, informal, and immersive. Avoid robotic literal translations.\nConstraint: Output ONLY the Turkish translation. Do not add any notes or explanations.\n\nText to translate:\n" + $text)
}]
}]
}')
RESPONSE=$(curl -s -H "Content-Type: application/json" \
-d "$JSON_DATA" \
"https://generativelanguage.googleapis.com/v1beta/models/${MODEL}:generateContent?key=${API_KEY}")
CEVIRI=$(echo "$RESPONSE" | jq -r '.candidates[0].content.parts[0].text')
if [ "$CEVIRI" == "null" ] || [ -z "$CEVIRI" ]; then
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.error.message // "API Hatası"')
notify-send -u critical "Gemini 3 Hatası" "$ERROR_MSG"
else
notify-send -u critical -t 15000 "Gemini 3 Çeviri:" "$CEVIRI"
fi
4-API KEY'inizi ekleyin
Scriptteki API_KEY= satırında " " arasına oluşturduğunuz API anahtarını yapıştırın.
5-Dosyayı çalıştırılabilir yapın
chmod +x ocr_cevir.sh komutu ile dosyayı uygulama gibi çalıştırılabilir hâle getirin.6-Kısayol oluşturun
Hyprland'de basit bir şekilde config dosyama şu satırı ekledim:
Kod:
bind = ALT, Q, exec, ~/ocr_cevir.sh
GNOME
GNOME kullanıcıları Grim ve Slurp yerine GNOME-Screenshot paketini kullanabilir.
Scriptteki şu satırı bulun:
Kod:
grim -g "$(slurp)" "$IMG"
Kod:
gnome-screenshot -a -f "$IMG"
Güncel olarak GNOME kısayol ayarlarında bash script çalıştırma seçeneği olmayabilir. Pencere yöneticileri daha stabil olacaktır. Deneyenler belirtebilir, düzenleme yapılabilir. Umarım işinize yaramıştır. İyi eğlenceler dilerim.
ÖRNEKLER
Zenless Zone Zero
Undertale
Son düzenleme: