diff --git a/src/app.cpp b/src/app.cpp index fb21fb9..11def03 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -169,7 +169,33 @@ void App::initApp() { setTitle("YP Direct Chat"); setCssTheme(""); useStyleSheet("style.css"); + // Basis-Bundle (englisch) messageResourceBundle().use("../docroot/text"); + + // Sprachspezifische Bundles explizit nachladen, abhängig von der gesetzten Locale + auto locName = locale().name(); // z.B. "de_DE", "en_GB", "en_US", "ja_JP" + if (locName.rfind("de", 0) == 0) { + messageResourceBundle().use("../docroot/text_de_DE"); + } else if (locName == "en_US") { + messageResourceBundle().use("../docroot/text_en_US"); + } else if (locName.rfind("en", 0) == 0) { + messageResourceBundle().use("../docroot/text_en_GB"); + } else if (locName.rfind("fr", 0) == 0) { + messageResourceBundle().use("../docroot/text_fr_FR"); + } else if (locName.rfind("es", 0) == 0) { + messageResourceBundle().use("../docroot/text_es_ES"); + } else if (locName.rfind("it", 0) == 0) { + messageResourceBundle().use("../docroot/text_it_IT"); + } else if (locName.rfind("tl", 0) == 0 || locName.rfind("fil", 0) == 0) { + messageResourceBundle().use("../docroot/text_tl_PH"); + } else if (locName.rfind("ja", 0) == 0) { + messageResourceBundle().use("../docroot/text_ja_JP"); + } else if (locName.rfind("zh", 0) == 0) { + messageResourceBundle().use("../docroot/text_zh_CN"); + } else if (locName.rfind("th", 0) == 0) { + messageResourceBundle().use("../docroot/text_th_TH"); + } + internalPathChanged().connect(this, &App::onInternalPathChanged); }