diff --git a/res/texts/be_BY.txt b/res/texts/be_BY.txt index 0e574fd4..5b536ea7 100644 --- a/res/texts/be_BY.txt +++ b/res/texts/be_BY.txt @@ -25,6 +25,9 @@ world.Seed=Зерне world.Name=Назва menu.Create World=Стварыць Свет +world.World generator=Генератар свету +world.generators.default=Звычайны +world.generators.flat=Плоскі world.convert-request=Ёсць змены ў індэксах! Канвертаваць свет? world.delete-confirm=Выдаліць свет незваротна? diff --git a/res/texts/en_US.txt b/res/texts/en_US.txt index 3a25444c..26ade5db 100644 --- a/res/texts/en_US.txt +++ b/res/texts/en_US.txt @@ -4,6 +4,8 @@ world.convert-request=Content indices have changed! Convert world files? error.pack-not-found=Could not to find pack error.dependency-not-found=Dependency pack is not found world.delete-confirm=Do you want to delete world forever? +world.generators.default=Default +world.generators.flat=Flat # Bindings movement.forward=Forward diff --git a/res/texts/fi_FI.txt b/res/texts/fi_FI.txt index 124a2956..b3d4a3b6 100644 --- a/res/texts/fi_FI.txt +++ b/res/texts/fi_FI.txt @@ -23,6 +23,9 @@ menu.Seed=Siemen menu.Name=Nimi menu.Create World=Luo Maailma +world.World generator=Valon generaattori +world.generators.default=Äärimmäinen +world.generators.flat=Tasainen world.convert-request=Indeksit vaihdettu! Lataa maailma uudeleen? world.delete-confirm=Poistetaanko maailma ikuisesti? diff --git a/res/texts/pl_PL.txt b/res/texts/pl_PL.txt index 03b5eb39..aebdab1c 100644 --- a/res/texts/pl_PL.txt +++ b/res/texts/pl_PL.txt @@ -22,6 +22,9 @@ world.Seed=Ziarno world.Name=Nazwa menu.Create World=Stwórz świat +world.World generator=Generator światła +world.generators.default=Ekstremalne +world.generators.flat=Mieszkanie world.convert-request=Szykują się zmiany w indeksach! Przekształcić świat? # Ustawienia diff --git a/res/texts/ru_RU.txt b/res/texts/ru_RU.txt index 71fabbb7..caa5f607 100644 --- a/res/texts/ru_RU.txt +++ b/res/texts/ru_RU.txt @@ -23,6 +23,10 @@ menu.Settings=Настройки menu.Content=Контент world.Seed=Зерно world.Name=Название + +world.World generator=Генератор мира +world.generators.default=Обычный +world.generators.flat=Плоский menu.Create World=Создать Мир world.convert-request=Есть изменения в индексах! Конвертировать мир? diff --git a/res/texts/uk_UA.txt b/res/texts/uk_UA.txt index 2cea620a..ddc657ae 100644 --- a/res/texts/uk_UA.txt +++ b/res/texts/uk_UA.txt @@ -22,6 +22,9 @@ world.Seed=Зерно world.Name=Назва menu.Create World=Створити Світ +world.World generator=Генератор світла +world.generators.default=Звичайні +world.generators.flat=Плоскі world.convert-request=Є зміни в індексах! Конвертувати світ? # Налаштування diff --git a/src/engine.cpp b/src/engine.cpp index ab66cdec..d45f7816 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #define GLEW_STATIC #include "audio/Audio.h" @@ -44,6 +45,11 @@ namespace fs = std::filesystem; +void addWorldGenerators() { + WorldGenerators::addGenerator("core:default"); + WorldGenerators::addGenerator("core:flat"); +} + Engine::Engine(EngineSettings& settings, EnginePaths* paths) : settings(settings), paths(paths) { @@ -86,11 +92,6 @@ Engine::Engine(EngineSettings& settings, EnginePaths* paths) addWorldGenerators(); } -void addWorldGenerators() { - WorldGenerators::addWorldGenerator("core:default"); - WorldGenerators::addWorldGenerator("core:flat"); -} - void Engine::updateTimers() { frame++; double currentTime = Window::time(); diff --git a/src/frontend/menu.cpp b/src/frontend/menu.cpp index 6807c855..2e69be9b 100644 --- a/src/frontend/menu.cpp +++ b/src/frontend/menu.cpp @@ -186,6 +186,18 @@ void create_languages_panel(Engine* engine) { panel->add(guiutil::backButton(menu)); } +std::string translate_generator_id(std::string& id) { + int delimiterPosition = id.find(":"); + std::string pack = id.substr(0, delimiterPosition); + std::string generator = id.substr(delimiterPosition + 1); + + if(pack == "core") { + return util::wstr2str_utf8(langs::get(util::str2wstr_utf8(generator), L"world.generators")); + } else { + return id; + } +} + void create_world_generators_panel(Engine* engine) { auto menu = engine->getGUI()->getMenu(); auto panel = create_page(engine, "world_generators", 400, 0.5f, 1); @@ -193,13 +205,30 @@ void create_world_generators_panel(Engine* engine) { std::vector generatorsIDs = WorldGenerators::getGeneratorsIDs(); std::sort(generatorsIDs.begin(), generatorsIDs.end()); - for (std::string& type : generatorsIDs) { - const std::string& fullName = util::wstr2str_utf8(langs::get(util::str2wstr_utf8(type), L"world.generators")); - auto button = std::make_shared