Desteklenen motor · Unity
Modern Japon bağımsız ve doujin oyunlarının büyük bir kısmı — RPG’ler, görsel romanlar ve simülasyon oyunları — Unity üzerinde gönderilir. RuneTranslate, bu oyunların dışsallaştırdığı metni çevirir: TextAsset yükleri (JSON / CSV / TSV / düz metin senaryo blokları) ve .assets, level dosyaları ve AssetBundle’lara (tek bundle’lı data.unity3d oyunları dahil) paketlenmiş MonoBehaviour dize alanları, artı StreamingAssets altındaki gevşek betik dosyaları. Paketlenmiş bir UnityPy çalışma zamanı ikili varlıkları okur ve yazar, hepsi proje başına bir çalışma alanında, böylece orijinal oyun dokunulmadan kalır. MonoBehaviour metni hem Mono hem de IL2CPP yapılarında ele alınır — Mono’da tip ağaçları oyunun Managed/*.dll’sinden gelir ve IL2CPP’de RuneTranslate bunları GameAssembly.dll + global-metadata.dat’tan yeniden oluşturur (en iyi çaba; ayrıştırılabilir metaveri gerektirir). Ayrıca AES-CTR-şifreli Addressable bundle’larının şifresini çözer ve CJK ile diğer betikler için Latin dışı bir yedek font enjekte eder. Kapsam dışı: oyunun koduna derlenmiş dize değişmezleri (Assembly-CSharp.dll). Yeniden dağıtmadan önce gerçek bir oyunda doğrulayın.
Unity VN/RPG betikleri genellikle JSON veya CSV tabloları olarak dışsallaştırılır, dolayısıyla karakter adları ve tekrar eden terimler birçok TextAsset boyunca yüzlerce kez görünür. Sağlayıcılar bunları gruptan gruba tutarsız şekilde yeniden ifade eder. Baş karakteri, grubu, tekrar eden NPC’leri, yer adlarını ve herhangi bir imza yetenek veya sistem terimini önceden sözlüğe ekleyin, böylece her TextAsset ve StreamingAssets dosyası bunları aynı şekilde işlesin. Sözlük 101 →
RuneTranslate’i oyun dizinine yönlendirin (<Name>_Data klasörünü içeren). Motor algılama globalgamemanagers / data.unity3d / resources.assets arar. Paketlenmiş UnityPy çalışma zamanı otomatik olarak kullanılır — ayrı Python kurulumu gerekmez.
RuneTranslate serileştirilmiş dosyaları kaynak dilde TextAsset ve MonoBehaviour dizeleri için tarar (varsayılan olarak Japonca; proje başına herhangi bir desteklenen kaynak dil ayarlayın), artı StreamingAssets altındaki gevşek betik dosyaları. Yapılandırılmış yükler (JSON / KAG / HTML) ayrı çevrilebilir satırlara dilimlenir, böylece dosya yapısı gidiş-dönüşte sağlam kalır.
DeepL anlatı diyalogu için güçlü bir varsayılandır; OpenAI GPT-4o veya Anthropic Claude üsluplu konuşmayı ve yansıma sözcükleri daha iyi işler. Ücretsiz Google Translate veya bir yerel model (Ollama / LM Studio) menü dizelerini ve eşya adlarını kapsar. Sağlayıcı yönlendirme kısa dizeleri ucuz bir şeride bölebilir.
Dışa aktarımda RuneTranslate oyunu kopyalar ve çevrilmiş dizeleri yerinde varlık dosyalarına ve StreamingAssets betiklerine geri yazar. Çevrilmiş sürüm orijinal gibi çalışır — manuel varlık uğraşı yok.