Android Research locale

This commit is contained in:
DBotThePony 2023-01-23 18:41:16 +07:00
parent 7dd709938f
commit b7a7a5e5d8
Signed by: DBot
GPG Key ID: DCC23B5715498507
4 changed files with 181 additions and 53 deletions

View File

@ -394,74 +394,171 @@ fun addResearchData(serializer: Consumer<AndroidResearchType>, lang: MatteryLang
serializer.accept(JUMP_BOOST_1) serializer.accept(JUMP_BOOST_1)
serializer.accept(JUMP_BOOST_2) serializer.accept(JUMP_BOOST_2)
with(lang.english) { with(lang) {
misc("fall_dampeners.description", "Reduces fall damage by %s%%") misc("fall_dampeners.description", "Reduces fall damage by %s%%") {
russian("Уменьшает урон от падения на %s%%")
}
add(limbList[0], "Limb Overclocking %s") add(limbList[0], "Limb Overclocking %s") {
add(limbList[0], "description", "Boosts unit's mobility by %s%% and attack speed by %s%%") russian("Разгон Конечностей %s")
}
add(AIR_BAGS, "Air Bags") add(limbList[0], "description", "Boosts mobility by %s%% and attack speed by %s%%") {
add(NANOBOTS, "Nanobots") russian("Увеличивает мобильность на %s%% и скорость атак на %s%%")
add(AIR_BAGS, "description", "Allows unit to swim in water") }
add(NANOBOTS, "description", "Various useful nanobots for doing various tasks")
add(regenList[0], "Regeneration %s") add(AIR_BAGS, "Air Bags") {
add(regenList[0], "description", "Nanobots get ability to repair unit's internal systems on the move") russian("Воздушные Мешки")
add(regenList[0], "description_improve", "Improves regeneration speed") }
add(NANOBOTS, "Nanobots") {
russian("Наноботы")
}
add(AIR_BAGS, "description", "Allows to swim in water") {
russian("Позволяет плавать в воде")
}
add(NANOBOTS, "description", "Various useful nanobots for doing various tasks") {
russian("Различные наноботы для различных задач")
}
add(NANOBOTS_ARMOR, "Nanobots Armor") add(regenList[0], "Regeneration %s") {
add(NANOBOTS_ARMOR, "description", "Allows nanobots to align themselves in cell shape, reducing incoming damage by a %% by absorbing impacts") russian("Регенерация %s")
}
add(regenList[0], "description", "Nanobots get ability to repair internal Android' systems on the move") {
russian("Наноботы получают возможность чинить внутренние системы Андроида на ходу")
}
add(regenList[0], "description_improve", "Improves health regeneration speed") {
russian("Улучшает скорость регенерации здоровья")
}
add(armorSpeedList[0], "Nanobots Armor Build Speed %s") add(NANOBOTS_ARMOR, "Nanobots Armor") {
add(armorSpeedList[0], "description", "Reduces time required for nanobots to form protection layer") russian("Броня из Наноботов")
}
add(NANOBOTS_ARMOR, "description", "Allows nanobots to align themselves in cell shape, reducing incoming damage by a %% by absorbing impacts") {
russian("Позволяет наноботам выстраиваться в клеточную структуру, уменьшая внешний урон на определённый проект путём поглощения ударов")
}
add(armorStrengthList[0], "Nanobots Armor Strength %s") add(armorSpeedList[0], "Nanobots Armor Build Speed %s") {
add(armorStrengthList[0], "description", "Increases impact absorption strength of nanobots") russian("Скорость Построения Слоя Брони Наноботов %s")
}
add(armorSpeedList[0], "description", "Reduces time required for nanobots to form protection layer") {
russian("Уменьшает время необходимое наноботам для формирования защитного слоя")
}
add(EXTENDED_REACH, "Extended Reach") add(armorStrengthList[0], "Nanobots Armor Strength %s") {
add(EXTENDED_REACH, "description", "Increases block interaction distance") russian("Сила Слоя Брони Наноботов %s")
}
add(armorStrengthList[0], "description", "Increases impact absorption strength of nanobots") {
russian("Увеличивает поглощающею силу брони наноботов")
}
add(IMPROVED_LIMBS, "Improved Limbs") add(EXTENDED_REACH, "Extended Reach") {
add(IMPROVED_LIMBS, "description", "Allows limbs to be upgraded") russian("Удлинённые Манипуляторы")
}
add(EXTENDED_REACH, "description", "Increases block interaction distance") {
russian("Увеличивает радиус взаимодействия с блоками")
}
add(STEP_ASSIST, "Step Assist") add(IMPROVED_LIMBS, "Improved Limbs") {
add(STEP_ASSIST, "description", "Allows unit to step up whole blocks") russian("Улучшенные Конечности")
}
add(IMPROVED_LIMBS, "description", "Allows limbs to be upgraded") {
russian("Позволяет улучшать конечности")
}
add(ITEM_MAGNET, "Item Magnet") add(STEP_ASSIST, "Step Assist") {
add(ITEM_MAGNET, "description0", "Pulls nearby items to unit while active") russian("Помощь Подъёма")
add(ITEM_MAGNET, "description1", "Drains energy for each item stack it pulls") }
add(STEP_ASSIST, "description", "Allows unit to step up whole blocks") {
russian("Позволяет переступать полные блоки")
}
add(FALL_DAMPENERS_1, "Fall Dampeners") add(ITEM_MAGNET, "Item Magnet") {
add(FALL_DAMPENERS_1, "description", "Installs basic equipment in unit's limbs to negate some fall damage") russian("Предметный Магнит")
}
add(ITEM_MAGNET, "description0", "Pulls nearby items while active") {
russian("Притягивает ближайшие предметы пока активен")
}
add(ITEM_MAGNET, "description1", "Drains energy for each item stack it pulls") {
russian("Потребляет энергию за каждую стопку которую притягивает магнит")
}
add(FALL_DAMPENERS_2, "Fall Dampeners 2") add(FALL_DAMPENERS_1, "Fall Dampeners") {
add(FALL_DAMPENERS_2, "description", "Installs micro displacing and dampening equipment in unit's limbs to negate great deal of fall damage") russian("Поглотители Инерции")
}
add(FALL_DAMPENERS_1, "description", "Installs basic equipment in limbs to negate some fall damage") {
russian("Обустраивает конечности примитивными деталями для небольшого смягчения падения")
}
add(FALL_DAMPENERS_3, "Fall Dampeners 3") add(FALL_DAMPENERS_2, "Fall Dampeners 2") {
add(FALL_DAMPENERS_3, "description0", "Installs autonomous calculation matrices and hardening to crucial parts") russian("Поглотители Инерции 2")
add(FALL_DAMPENERS_3, "description1", "of unit's limbs to land on to negate most of fall damage") }
add(FALL_DAMPENERS_2, "description", "Installs micro displacing and dampening equipment in limbs to negate great deal of fall damage") {
russian("Оборудует конечности микро смещающимися и смягчающим оборудованием, которое поглощает значительный урон от падения")
}
add(SHOCKWAVE, "Shockwave Pulsator") add(FALL_DAMPENERS_3, "Fall Dampeners 3") {
add(SHOCKWAVE, "description0", "Releases a shockwave around unit, damaging everything in small radius, as unit quickly land on ground") russian("Поглотители Инерции 3")
add(SHOCKWAVE, "description1", "It does not, however, help with ground impact damage!") }
add(FALL_DAMPENERS_3, "description0", "Installs autonomous fall damage avoidance calculation matrices and hardening to crucial parts") {
russian("Устанавливает автономные матрицы калькуляции избегания урона от падения, а так же усиливает защиту важных деталей")
}
add(FALL_DAMPENERS_3, "description1", "of limbs to land on to negate most of fall damage") {
russian("от урона от падения для почти полного поглощения урона от падения")
}
add(PHANTOM_ATTRACTOR, "Builtin Phantom Attractor") add(SHOCKWAVE, "Shockwave Pulsator") {
add(PHANTOM_ATTRACTOR, "description", "Allows unit to attract phantoms while active under same conditions as non-androids") russian("Генератор Ударных Волн")
}
add(SHOCKWAVE, "description0", "Releases a shockwave, damaging everything in small radius, as you quickly land on ground") {
russian("Вызывает ударную волну при стремительном падении на землю, нанося урон всему, что вас окружает")
}
add(SHOCKWAVE, "description1", "It does not, however, help with ground impact damage!") {
russian("Используйте с осторожностью, так как данная технология сама по себе не поглащает урон от падения!")
}
add(JUMP_BOOST_1, "Jump Boost") add(PHANTOM_ATTRACTOR, "Builtin Phantom Attractor") {
add(JUMP_BOOST_1, "description0", "Allows unit to perform higher jump") russian("Встроенный Приманщик Фантомов")
add(JUMP_BOOST_1, "description1", "Can be activated by crouching and jumping at the same time") }
add(PHANTOM_ATTRACTOR, "description", "Allows to attract phantoms while active under same conditions as non-Androids") {
russian("Позволяет привлекать фантомов под теми же условиями, как и не Андроиды")
}
add(JUMP_BOOST_2, "Jump Boost 2") add(JUMP_BOOST_1, "Jump Boost") {
add(JUMP_BOOST_2, "description", "Allows unit to perform extra higher jump") russian("Усилитель Прыжка")
}
add(JUMP_BOOST_1, "description0", "Allows to perform higher jump") {
russian("Позволяет совершить высокий прыжок")
}
add(JUMP_BOOST_1, "description1", "Can be activated by crouching and jumping at the same time") {
russian("Для прыжка удерживайте кнопку приседания и нажмите кнопку прыжка")
}
add(ENDER_TELEPORTER, "Ender Teleporter") add(JUMP_BOOST_2, "Jump Boost 2") {
add(ENDER_TELEPORTER, "description", "Allows unit to perform instant, short distance teleports without damage to internal systems") russian("Усилитель Прыжка 2")
}
add(JUMP_BOOST_2, "description", "Allows to perform extra higher jump") {
russian("Позволяет совершить ещё более высокий прыжок")
}
add(NIGHT_VISION, "Night Vision") add(ENDER_TELEPORTER, "Ender Teleporter") {
add(NIGHT_VISION, "description", "Allows unit to clearly see in the dark") russian("Телепортатор Края")
}
add(ENDER_TELEPORTER, "description", "Allows to perform instant, short distance teleports without damage to internal systems") {
russian("Позволяет совершать мгновенную телепортацию на короткую дистанцию без нанесения урона внутренним системам")
}
add(attackBoostList[0], "Attack Boost %s") add(NIGHT_VISION, "Night Vision") {
add(attackBoostList[0], "description", "Increases total melee attack strength by %s%%") russian("Ночное Зрение")
}
add(NIGHT_VISION, "description", "Allows to clearly see in the dark") {
russian("Позволяет видеть в темноте")
}
add(attackBoostList[0], "Attack Boost %s") {
russian("Усиление Атаки %s")
}
add(attackBoostList[0], "description", "Increases total melee attack strength by %s%%") {
russian("Увеличивает урон в ближнем бою на %s%%")
}
} }
} }

View File

@ -215,7 +215,7 @@ fun addAndroidAdvancements(serializer: Consumer<Advancement>, existingFileHelper
russian("Вторая Пара Глаз") russian("Вторая Пара Глаз")
}, },
description = translation.add("night_vision.desc", "Research Night Vision as Android, to see in the dark") { description = translation.add("night_vision.desc", "Research Night Vision as Android, to see in the dark") {
russian("Исследуйте Ночное Зрение за Андроида, дабы видеть во тьме") russian("Исследуйте Ночное Зрение за Андроида, дабы видеть во темноте")
}, },
) )
.addCriterion("night_vision", AndroidResearchTrigger.Instance(modLocation(MNames.NIGHT_VISION))) .addCriterion("night_vision", AndroidResearchTrigger.Instance(modLocation(MNames.NIGHT_VISION)))
@ -275,8 +275,8 @@ fun addAndroidAdvancements(serializer: Consumer<Advancement>, existingFileHelper
title = translation.add("fall_dampeners_save", "Lucky Landing") { title = translation.add("fall_dampeners_save", "Lucky Landing") {
russian("Удачное Приземление") russian("Удачное Приземление")
}, },
description = translation.add("fall_dampeners_save.desc", "Survive fall that would have otherwise be fatal without Fall Dampeners research") { description = translation.add("fall_dampeners_save.desc", "Survive fall that would have otherwise be fatal without Fall Dampeners") {
russian("Выживите после падения, которое было бы фатальным без исследования Смягчителей Падения") russian("Выживите после падения, которое было бы фатальным без Поглотителей Инерции")
}, },
frameType = FrameType.GOAL frameType = FrameType.GOAL
) )

View File

@ -18,6 +18,7 @@ import net.minecraft.world.level.block.Block
import net.minecraftforge.common.data.LanguageProvider import net.minecraftforge.common.data.LanguageProvider
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.android.AndroidFeatureType import ru.dbotthepony.mc.otm.android.AndroidFeatureType
import ru.dbotthepony.mc.otm.android.AndroidResearch
import ru.dbotthepony.mc.otm.android.AndroidResearchType import ru.dbotthepony.mc.otm.android.AndroidResearchType
import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.TranslatableComponent
import ru.dbotthepony.mc.otm.registry.objects.ColoredDecorativeBlock import ru.dbotthepony.mc.otm.registry.objects.ColoredDecorativeBlock
@ -430,5 +431,35 @@ class MatteryLanguageProvider(private val gen: DataGenerator) {
val english by lazy { Builder("en_us") } val english by lazy { Builder("en_us") }
val russian by lazy { Builder("ru_ru") } val russian by lazy { Builder("ru_ru") }
inner class Single(val key: String) {
fun english(value: String) = english.add(key, value)
fun russian(value: String) = russian.add(key, value)
}
inline fun add(key: String, configurator: Single.() -> Unit) = Single(key).also(configurator)
fun add(key: AndroidResearchType, configurator: Single.() -> Unit) = Single(researchString(key)).also(configurator)
inline fun add(key: String, english: String, configurator: Single.() -> Unit = {}) = add(key) { english(english); configurator.invoke(this) }
fun add(key: AndroidResearchType, english: String, configurator: Single.() -> Unit = {}) = add(key) { english(english); configurator.invoke(this) }
fun add(key: AndroidResearchType, suffix: String, english: String, configurator: Single.() -> Unit = {}) = add(researchString(key) + ".$suffix") { english(english); configurator.invoke(this) }
inline fun death(key: String, configurator: Single.() -> Unit) = Single("death.attack.$key").also(configurator)
inline fun death(key: String, english: String, configurator: Single.() -> Unit = {}) = death(key) { english(english); configurator.invoke(this) }
inline fun research(key: String, configurator: Single.() -> Unit) = Single("android_research.overdrive_that_matters.$key").also(configurator)
inline fun research(key: String, english: String, configurator: Single.() -> Unit = {}) = research(key) { english(english); configurator.invoke(this) }
inline fun research(key: String, suffix: String, english: String, configurator: Single.() -> Unit = {}) = research("$key.$suffix") { english(english); configurator.invoke(this) }
inline fun misc(key: String, configurator: Single.() -> Unit) = Single("otm.$key").also(configurator)
inline fun misc(key: String, english: String, configurator: Single.() -> Unit = {}) = misc(key) { english(english); configurator.invoke(this) }
inline fun gui(key: String, configurator: Single.() -> Unit) = Single("otm.gui.$key").also(configurator)
inline fun gui(key: String, english: String, configurator: Single.() -> Unit = {}) = gui(key) { english(english); configurator.invoke(this) }
inline fun sound(key: String, configurator: Single.() -> Unit) = Single("otm.sound.$key").also(configurator)
inline fun sound(key: String, english: String, configurator: Single.() -> Unit = {}) = sound(key) { english(english); configurator.invoke(this) }
inline fun sound(key: SoundEvent, configurator: Single.() -> Unit) = Single("otm.sound.${key.location.path}").also(configurator)
inline fun sound(key: SoundEvent, english: String, configurator: Single.() -> Unit = {}) = sound(key) { english(english); configurator.invoke(this) }
fun getProvider(language: String): LanguageProvider = slaves.computeIfAbsent(language, ::Slave) fun getProvider(language: String): LanguageProvider = slaves.computeIfAbsent(language, ::Slave)
} }

View File

@ -583,7 +583,7 @@ private fun androidFeatures(provider: MatteryLanguageProvider) {
add(AndroidFeatures.SHOCKWAVE, "Генератор Ударных Волн") add(AndroidFeatures.SHOCKWAVE, "Генератор Ударных Волн")
add(AndroidFeatures.NIGHT_VISION, "Ночное Зрение") add(AndroidFeatures.NIGHT_VISION, "Ночное Зрение")
add(AndroidFeatures.NANOBOTS_ARMOR, "Броня из Наноботов") add(AndroidFeatures.NANOBOTS_ARMOR, "Броня из Наноботов")
add(AndroidFeatures.ITEM_MAGNET, "Магнит Предметов") add(AndroidFeatures.ITEM_MAGNET, "Предметный Магнит")
add(AndroidFeatures.STEP_ASSIST, "Помощник Подъёма") add(AndroidFeatures.STEP_ASSIST, "Помощник Подъёма")
add(AndroidFeatures.PHANTOM_ATTRACTOR, "Приманщик Фантомов") add(AndroidFeatures.PHANTOM_ATTRACTOR, "Приманщик Фантомов")
add(AndroidFeatures.JUMP_BOOST, "Усилитель Прыжка") add(AndroidFeatures.JUMP_BOOST, "Усилитель Прыжка")