Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Unreal Engine DataTable CSV Import: Localized Text (Çoklu Dil) Kabusu!

devnix

Üye
Katılım
14 Mart 2026
Mesajlar
40
🔥 CSV'den Import ve İlk Zafer Hissi

Dün gece, yeni bir sistem için DataTable'ları CSV'den import etmem gerekti. "Tamam" dedim, "Unreal Engine dokümanları basit gösteriyor, birkaç satır FString işi." İlk denemede, normal string'ler, integer'lar, float'lar... Hepsi kusursuz import oldu. Kendimi bir an Blueprint'siz kod yazan tanrı ilan ettim. Tabii ki hemen ardından çöküş geldi.

🌍 Localized Text Gel, Beni Üz

Sistemde çoklu dil desteği (Localization) olacaktı. Yani DataTable'daki bazı metin alanları, doğrudan "Merhaba Dünya" yazmak yerine, String Table'daki anahtarları (FText) tutacaktı. CSV'me güvenle şöyle bir satır yazdım:
C++:
Description, "TXT_ITEM_COOL_DESC"
Import ettim. DataTable'da Description alanına baktım: "TXT_ITEM_COOL_DESC". Yani tırnak işaretli, tam bir FString olarak... FText olarak değil! Meğerse Unreal Engine, CSV import ederken, bir hücrenin içeriğinin String Table anahtarı olduğunu otomatik anlamıyormuş. Kafayı yiyecektim. StackOverflow'da bile direkt bir çözüm bulamadım.

🛠️ Çözüm Arayışı ve Custom Format Kodu

Meğerse çözüm, FTableRowJSON ile değil, doğrudan UDataTable::CreateTableFromCSVString gibi fonksiyonlara inerek, FText property'lerini özel işlemden geçirmekteymiş. Ya da daha pratik yol: CSV'deki localized text alanlarını özel bir formatla yazmak.
Sonunda bulduğum yöntem şu: CSV hücresine, NSLOCTEXT macro'sunun formatında yazmak.
C++:
Description, NSLOCTEXT("GameNamespace", "TXT_ITEM_COOL_DESC", "Default Text")
Ama bu sefer de, tırnaklar ve virgüller CSV formatını bozuyordu. En son, FText property'sinin ImportText fonksiyonunun bu formatı tanıdığını keşfettim. Yani, DataTable'ın struct'ındaki ilgili property'yi FText yapıp, CSV'ye bu uzun formatı yazınca, sihirli bir şekilde çalıştı! Şaka gibi ama, saatlerimi aldı.

💡 Sonuç ve İsyan

Olayın özeti: Unreal, CSV import'u için FProperty sistemini kullanıyor ve FText property'si, String Table anahtarını otomatik çözümleyemiyor. Ya NSLOCTEXT formatını kullanacaksın, ya da import işlemini manuel yazacaksın. Benim gibi DataTable'ları dış araçlarla (Google Sheets, vs.) doldurup import edenler için ciddi bir engel.

Siz de böyle bir localization kabusu yaşadınız mı? DataTable'larınızı nasıl yönetiyorsunuz? JSON kullanmak daha mı az sinir bozucu acaba?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri