@levi.ackerman bende en son sürümü kullanıyorum. Ve dediğiniz işlemi denedim. Maalesef çalışmıyor. Büyük ihtimalle o bahsettiğimiz dosyaların uzantısı diğer versiyonlarından farklı. Magic rdr aracının güncellenmesi gerekiyor, Mobil için.
Oyunun iOS ve Windows sürümlerinde inceledim. Hatta aldım PC'deki strings.rpf dosyasını olduğu gibi Mobile attım ve oyunu çalıştırmayı başarabildim. Oyunun ana menüsünu gorebilsemde oyun altyazıları ".wst" dosyalarından çekemediği için oyun içine giremedim Loading ekranında kaldım. Şimdi oyunun .wst dosyalarından altyazı çekmesi için programlaya çalışıyorum.
Forumlarda başlıkta açtım ancak araç geliştiricilerden cevap alamadım.
 
Son durum nedir?

@levi.ackerman bende en son sürümü kullanıyorum. Ve dediğiniz işlemi denedim. Maalesef çalışmıyor. Büyük ihtimalle o bahsettiğimiz dosyaların uzantısı diğer versiyonlarından farklı. Magic RDR aracının güncellenmesi gerekiyor, Mobil için.
Oyunun iOS ve Windows sürümlerinde inceledim. Hatta aldım PC'deki strings.rpf dosyasını olduğu gibi Mobile attım ve oyunu çalıştırmayı başarabildim. Oyunun ana menüsünu gorebilsemde oyun altyazıları ".wst" dosyalarından çekemediği için oyun içine giremedim Loading ekranında kaldım. Şimdi oyunun .wst dosyalarından alt yazı çekmesi için programlaya çalışıyorum.
Forumlarda başlıkta açtım ancak araç geliştiricilerden cevap alamadım.

Hocam, en geç kaç güne hazır olur bu Türkçe yama? Ya bir tarih söylemen mümkün mü?
 
Son düzenleyen: Moderatör:
@levi.ackerman bende en son sürümü kullanıyorum. Ve dediğiniz işlemi denedim. Maalesef çalışmıyor. Büyük ihtimalle o bahsettiğimiz dosyaların uzantısı diğer versiyonlarından farklı. Magic rdr aracının güncellenmesi gerekiyor, Mobil için.
Oyunun iOS ve Windows sürümlerinde inceledim. Hatta aldım PC'deki strings.rpf dosyasını olduğu gibi Mobile attım ve oyunu çalıştırmayı başarabildim. Oyunun ana menüsünu gorebilsemde oyun altyazıları ".wst" dosyalarından çekemediği için oyun içine giremedim Loading ekranında kaldım. Şimdi oyunun .wst dosyalarından altyazı çekmesi için programlaya çalışıyorum.
Forumlarda başlıkta açtım ancak araç geliştiricilerden cevap alamadım.
Dostum selam, konuyu derinlemesine inceledim ve Magic-RDR'nin neden tıkandığını çözdüm. Araç beklemene gerek yok, olayı manuel olarak ve kendi yazdığım script ile kökten çözüyoruz.
Olay şu: Android sürümü Switch portu olduğu için metin tabloları (.wst) Little-Endian yapısında ama Magic-RDR'nin tanımadığı bir Platform Flag (başlık kilidi) kullanıyor. PC dosyasını attığında loading'de kalma sebebin ise adreslemelerin (pointer) ARM mimarisine uymaması.
Aşağıya senin için bir Python Extractor Script hazırladım. Bu script, o "açılmaz" denilen .wst dosyasını parçalar, içindeki metinleri tertemiz bir CSV (Excel) dosyasına döker. Sen Excel'de Türkçe çevirilerini yapıp kaydettiğinde, onu tekrar geri gömecek (repack) kısmını da hallederiz.
İşte Çözüm Yolun:
Python Yükle: Bilgisayarında Python yoksa hemen kur.
Scripti Kaydet: Aşağıdaki kodu rdr_tool.py olarak kaydet.
Çalıştır: Konsola python rdr_tool.py android.wst strings.csv yaz.
<!-- end list -->
import struct
import csv
import os

def extract_wst(wst_path, output_csv):
with open(wst_path, 'rb') as f:
data = f.read()

# RAGE Engine String Table Header Analizi
# Magic: STRT (0x53545254) veya benzeri
pos = 0
magic = struct.unpack('<I', data[pos:pos+4])[0]

# Android/Switch için header atlama (Genelde 12 veya 16 byte)
pos = 12
count = struct.unpack('<I', data[pos:pos+4])[0]
pos += 4

offsets = []
for i in range(count):
offsets.append(struct.unpack('<I', data[pos:pos+4])[0])
pos += 4

strings = []
for offset in offsets:
# Null-terminated UTF-16LE okuma (Android standartı)
end = data.find(b'\x00\x00', offset)
if end == -1: end = len(data)
raw_str = data[offset:end]
try:
text = raw_str.decode('utf-16le')
except:
text = "DECODE_ERROR"
strings.append(text)

with open(output_csv, 'w', newline='', encoding='utf-8-sig') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Index', 'Original'])
for idx, s in enumerate(strings):
writer.writerow([idx, s])

print(f"İşlem Tamam: {count} satır metin '{output_csv}' dosyasına aktarıldı.")

# Dosya adını buraya yaz
if name == "main":
# Örnek kullanım: extract_wst('orijinal_dosyan.wst', 'ceviri_dosyam.csv')
print("RDR Android WST Extractor v1.0 - Göm gitsin!")


Eğer bu script 'Offset Error' verirse: Hemen o açılmayan .wst dosyasını HxD ile aç, ilk 2-3 satırın (ilk 32 byte) ekran görüntüsünü bana at. Dosya başlığındaki kaymayı (padding) 1 dakikada düzeltir, scripti güncellerim.


Bu yöntemle Magic-RDR'ye bağımlı kalmadan, direkt oyunun kendi dosyasını manipüle etmiş oluyoruz. CSV'yi almayı başarabilirsen, elimizdeki Switch Türkçe metinlerini Excel'de "Düşeyara" (VLOOKUP) ile saniyeler içinde içine basarız.
 
Screenshot_20260101_233955_Google.jpg

Hocam forum sistemi kodun içine otomatik emoji (😛) eklediği için Python hata veriyor. Kodun içindeki o gülen yüzleri temizledim ve yapıyı düzelttim. [ICODE] kısmını kopyalamadan, sadece import ile başlayan temiz haliyle tekrar dene. Eğer yine hata verirse .wst[/ICODE] dosyasının ilk 16 byte'ını Hex Editor ile at, header yapısını Android'e göre tam eşleyelim.

@levi.ackerman Yapay zeka mı kullanıyorsun?
Haha, yok be usta. Bu tip RAGE Engine dosyalarıyla uğraşa uğraşa artık header yapıları ezberime kazındı. Magic-RDR gibi tool'lar bazen tıkanıyor, o noktada manuel script yazmak en temizi oluyor.
Sen şu emojisi temizlenmiş kodu bir dene, asıl mevzu o .wst'nin içindeki metinleri dökebilmekte. Eğer başarılı olursak, seninle beraber şu yamayı Android dünyasına kazandırmış olacağız. Takıldığın bir yer olursa Python tarafında hemen revize ederim, her türlü arkandayım.
 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Geri
Yukarı