From 2fe63177b74bcaba7c9b691e3f31ffaef3e0f8bc Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Sun, 5 Oct 2025 17:01:53 +0400 Subject: [PATCH] Translate cell name directly --- apps/openmw/mwlua/cellbindings.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/apps/openmw/mwlua/cellbindings.cpp b/apps/openmw/mwlua/cellbindings.cpp index e32617ec0c..2f279e0c1a 100644 --- a/apps/openmw/mwlua/cellbindings.cpp +++ b/apps/openmw/mwlua/cellbindings.cpp @@ -1,7 +1,5 @@ #include "cellbindings.hpp" -#include - #include #include #include @@ -42,7 +40,10 @@ #include #include +#include + #include "../mwbase/environment.hpp" +#include "../mwbase/windowmanager.hpp" #include "../mwbase/world.hpp" #include "../mwworld/cellstore.hpp" #include "../mwworld/worldmodel.hpp" @@ -87,13 +88,9 @@ namespace MWLua }; cellT["name"] = sol::readonly_property([](const CellT& c) { return c.mStore->getCell()->getNameId(); }); - cellT["displayName"] = sol::readonly_property([](const CellT& c) { - std::string str(c.mStore->getCell()->getNameId()); - if (!str.empty()) - { - str = MyGUI::LanguageManager::getInstance().replaceTags(MyGUI::UString("#{sCell=" + str + "}")); - } - return str; + cellT["displayName"] = sol::readonly_property([](const CellT& c) -> std::string_view { + const auto& storage = MWBase::Environment::get().getWindowManager()->getTranslationDataStorage(); + return storage.translateCellName(c.mStore->getCell()->getNameId()); }); cellT["id"] = sol::readonly_property([](const CellT& c) { return c.mStore->getCell()->getId().serializeText(); });