Desteklenen motor · Artemis
Artemis (iMel Inc. / Mikage tarafından) modern Japon görsel romanlarının büyük bir diliminin arkasındaki Lua-betikli Windows motorudur — VNDB’de kabaca 730 sürüm. RuneTranslate, motorun .pfs kaynak arşivlerini saf TypeScript ile, harici araç veya yan bileşen olmadan okur: PF8, PF6 ve PF2 formatlarını işler, PF8’in SHA-1-anahtarlı XOR şifrelemesi dahil (girdi başına anahtar, arşiv indeksinin SHA-1’idir), böylece paketlenmiş betikler GARbro olmadan açılır. Arşivin içinden diyalogu, karakter adlarını ve seçimleri hem okunabilir .ast (Lua tablosu) / .txt (satır odaklı) betiklerinden HEM DE birçok oyunun aslında gönderdiği derlenmiş ikili ASB senaryolarından çıkarır — ASB işaretçisiyle başlayan biçim, çoğu zaman özel bir uzantıya yeniden adlandırılmış (örneğin Crystal Rain, .iet kullanır). RuneTranslate derlenmiş senaryoyu uzantısı yerine imzasıyla algılar, diyalogunu çözer ve her satırı listeler. Satır içi motor komutlarını — ruby / furigana, isim plakaları, renk, tıklama bekleyişleri — ve satır sonlarını çeviri boyunca korur, böylece işaretleme dokunulmadan sağ çıkar. Dışa aktarma için, Artemis betiklerini bağlanmış .pfs arşivlerinden okur, dolayısıyla RuneTranslate her kaynak .pfs için yalnızca çevrilmiş betiklerinizi tutan küçük bir geçersiz kılma yama arşivi — root.pfs.NNN — oluşturur; Artemis numaralı .pfs arşivlerini en son bağlar, böylece yama orijinalleri gölgeler ve oyun temel arşivin tam yeniden paketlemesi olmadan çevirinizi yükler (betikler ayrıca zararsız bir ekstra olarak gevşek de yazılır). Bu, Kirikiri patch.xp3 akışıyla aynı geçersiz kılma-yaması fikridir. Bu motor hâlâ gerçek oyunlar genelinde doğrulanıyor, dolayısıyla yeniden dağıtmadan önce dışa aktarılan sürümü test edin.
Görsel romanlar binlerce satır boyunca sabit bir kadroya ve tekrar eden terminolojiye yaslanır ve makine çevirisi bir kadın kahramanın adını üç bölüm boyunca üç farklı şekilde yazar. Karakterlerinizi, yer adlarınızı ve tekrar eden terimlerinizi önceden sözlüğe ekleyin, böylece her diyalog satırı ve her seçim bunları aynı şekilde işlesin. Sözlük 101 →
RuneTranslate’i oyun dizinine yönlendirin — oyunun .exe’si ve .pfs kaynak arşivleri (çoğu zaman root.pfs / data.pfs ve benzerleri) bulunan klasör. Motor algılama Artemis düzenini otomatik olarak tanır; orijinal klasörünüz asla değiştirilmez.
RuneTranslate .pfs arşivlerini saf TypeScript ile açar — PF8, PF6 ve PF2 — ve PF8’in SHA-1-anahtarlı XOR verisini şeffaf şekilde çözer, GARbro veya yan bileşen gerekmez. Ardından içindeki .ast (Lua tablosu) ve .txt (satır odaklı) betikleri ayrıştırır, diyalog, karakter adları ve seçimleri çeker ve her çevrilebilir satırı düzenleyicide dosyaya göre gruplanmış olarak listeler. Satır içi motor komutları ve satır sonları sayısal yer tutucuların arkasına maskelenir, böylece sağlayıcı onları asla bozmaz.
Bu oyunlar diyalog ağırlıklı ve tona duyarlıdır, dolayısıyla bir LLM (OpenAI GPT-4o / Anthropic Claude) veya DeepL genellikle en iyi okur; ücretsiz Google Translate veya bir yerel model (Ollama / LM Studio) kısa menü dizelerini ve seçimleri kapsar ve OpenAI uyumlu sağlayıcıyı OpenRouter veya NanoGPT’ye yönlendirebilirsiniz. İsteğe bağlı bir yapay zeka iyileştiricisi ikinci geçişi birebir ifadeyi sıkılaştırır.
Artemis betikleri diyalog boyunca ruby / furigana, isim plakası, renk ve tıklama bekleyişi komutlarını iş içine geçirir. RuneTranslate bunların her birini — artı orijinal satır sonlarını — çeviri sırasında yer tutucular olarak dondurur ve çıkışta geri yükler, böylece çevrilmiş satır orijinalle aynı furiganayı, aynı isim plakasını ve aynı temposunu korur.
Dışa aktarımda RuneTranslate oyunu kopyalar ve kaynak .pfs başına yalnızca çevrilmiş .ast / .txt betiklerinizi tutan küçük bir geçersiz kılma yama arşivi — root.pfs.NNN — oluşturur (bunlar ayrıca zararsız bir ekstra olarak gevşek de yazılır). Artemis numaralı .pfs arşivlerini en son bağlar, böylece yama orijinalleri gölgeler ve oyun yalnızca çevirinizi okur — tam yeniden paketleme yok ve temel arşivler dokunulmadan bırakılır. Dışa aktarılan kopyayı çalıştırın ve dilinizde oynasın.