diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index b935469..a6f292e 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -94,10 +94,24 @@ setting.shar-draw = Overdrawing Settings setting.shar-etc = Other #Hud +hud.schematic-list = Schematic List hud.unit = Unit Info hud.wave = Wave Info hud.item = Resource Info hud.cancel = Hidden +hud.enabled = [accent]Enabled[] +hud.disabled = [gray]Disabled[] +hud.pathline = Path Line +hud.unitline = Unit Line +hud.logicline = Logic Line + +#Other +sec = sec +default-bar = default bar +th-bar = th bar +empty = [lightgray][] +none = +tiles = tiles #Mod shar-description = Multifunctional information mod that shows various information in game.\n\n[#AE00FB]In-game UI:[] Located at left side, shows unit/build by cursor, wave list, core and resource info.\n\n[#B5FFD9]Unit/Build Info:[] Shows unit/build information by cursor.\n\n[#B5FFD9]Wave Info:[] Shows wave list, including type/amount/boss. can click to view detail info.\n\n[#B5FFD9]Core Info:[] Shows core position/health for each team. can click to change camera.\n\n[#B5FFD9]Tile Info:[] Shows block/floor/ore icon and position on the cursor. if map has wave, shows remaining wave units too.\n\n[#B5FFD9]Resource Info:[] Shows current resources(inc/decrement), unit amount for each team.\n\n\n[#AE00FB]In-game Drawer:[] draws on the screen, drawing location can be each block or unit.\n\n[#B5FFD9]Block Scanner:[] draws turret/wall health and range near the cursor.\n\n[#B5FFD9]Unit Bar:[] draws unit ammo/shield/health under each unit.\n\n[#B5FFD9]Turret Range:[] draws turret range.\n\n[#B5FFD9]Power Link:[] overdraws green power node on blocks which is power-connected with the selected block.\n\n[#B5FFD9]Mass Link:[] draws mass link lines between selected mass driver and another mass driver. diff --git a/assets/bundles/bundle_uk_UA.properties b/assets/bundles/bundle_uk_UA.properties new file mode 100644 index 0000000..1e20e10 --- /dev/null +++ b/assets/bundles/bundle_uk_UA.properties @@ -0,0 +1,118 @@ +#UI +shar-stat.health = Здоров'я: {0} +shar-stat.shield = Щит: {0} +shar-stat.payloadCapacity = Вантаж: {0}²/{1}² +shar-stat.capacity = {0}: {1}/{2} +shar-stat.power = Енергія: {0}/{1} +shar-stat.powerIn = Виробництво енергії: {0}/s +shar-stat.powerOut = Споживання енергії: {0}/s +shar-stat.ammos = Патрони: {0}/{1} +shar-stat.commandUnits = Команди: {0}/{1} +shar-stat.reload = Перезаряджання: {0}% +shar-stat.progress = Прогрес: {0}% +shar-stat.attr = Ефективність: x{0} +shar-stat-waveAmount = [lightgray]Кількість ворогів:[] {0} +shar-stat-waveShield = [lightgray]Щит:[] {0} +shar-stat.waveStatus = [lightgray]Статус:[] +shar-stat.waveItem = [lightgray]Предмети:[] + +#Settings +setting.barstyle.name = Інтерфейс одиниць: змінити стиль панелі +setting.barstyle.description = Змінює спрайт панелі в інтерфейсі «Інформація про одиниці». +setting.infoUiScale.name = Розмір інформаційного інтерфейсу +setting.infoUiScale.description = Установлює розмір інформаційного інтерфейсу. +setting.coreItemCheckRate.name = Інтерфейс ресурсів: швидкість оновлення +setting.coreItemCheckRate.description = Установіть наскільки часто ресурси ядра будуть підраховані.\nЧим повільніше, тим ліпше для вашого ігрового процесу. +setting.wavemax.name = Інтерфейс хвиль: показувати кількість хвиль. +setting.wavemax.description = Задайте кількість хвиль, які будуть показуватися у списку хвиль. +setting.infoui.name = Показати інформаційний інтерфейс +setting.infoui.description = Показує інформаційний інтерфейс у нижньому лівому кутку екрану.\nКоли вимкнено, всі пов'язані оновлення будуть зупинені. +setting.waveui.name = Показувати інтерфейс одиниць +setting.waveui.description = Показує інформаційний інтерфейс у верхньому лівому кутку екрану.\nКоли вимкнено, всі пов'язані оновлення будуть зупинені. +setting.pastwave.name = Інтерфейс хвиль: показувати попередню хвилю +setting.pastwave.description = Показує попередню хвилю у списку хвиль.\nПоточна хвиля виділена червоним кольором. +setting.emptywave.name = Інтерфейс хвиль: показувати порожні хвилі +setting.emptywave.description = Показує порожні хвилі у списку хвиль. +setting.itemcal.name = Інтерфейс ресурсів: рахувати швидкість збільшення/зменшення ресурсів. +setting.itemcal.description = Рахує швидкість збільшення/зменшення ресурсів в ядрі та показує результати. + +setting.rangeRadius.name = Межа показу діапазону +setting.rangeRadius.description = Установлює відстань виявлення дальності. +setting.rangeNearby.name = Показувати найближчі радіуси +setting.rangeNearby.description = Вмикає автоматичний показ радіусів досяжності.\nЯкщо наблизитися до діапазону досяжності достатньо близько, то він буде показуватися заздалегідь. +setting.allTargetRange.name = Показувати усі радіуси +setting.allTargetRange.description = Показує усі діапазони досяжності.\nРадіус цілей, на які знаходяться поза ним показуються сірим. +setting.aliceRange.name = Показувати радіус союзних гармат +setting.aliceRange.description = Показує радіус башт союзників теж. +setting.RangeShader.name = Увімкнути анімацію +setting.RangeShader.description = Вмикає плавну анімацію в обмін на великі пропуски кадрів. + +setting.selectopacity.name = Прозорість стрілки вибору +setting.selectopacity.description = Встановлює прозорість стрілки вибору. +setting.baropacity.name = Прозорість панелі здоров’я +setting.baropacity.description = Установлює прозорість панелі здоров’я бойових одиниць. +setting.uiopacity.name = Прозорість фону інтерфейсу +setting.uiopacity.description = Установлює прозорість фону інтерфейсу. +setting.softRangeOpacity.name = Прозорість радіусу досяжності +setting.softRangeOpacity.description = Установлює прозорість радіусу досяжності. + +setting.pathlinelimit.name = Обмеження ліній шляху +setting.pathlinelimit.description = Забагато рядків можуть спричинити значні підвисання пристрою.\nНалаштовуйте опираючись на можливості пристроя. +setting.unitlinelimit.name = Ліміт позначення шляхів +setting.unitlinelimit.description = Забагато рядків можуть спричинити значні підвисання пристрою.\nНалаштовуйте опираючись на можливості пристроя. +setting.logiclinelimit.name = Обмеження ліній логіки +setting.logiclinelimit.description = Забагато рядків можуть спричинити значні підвисання пристрою.\nНалаштовуйте опираючись на можливості пристроя. +setting.spawnarrowlimit.name = Обмеження стрілок появи +setting.spawnarrowlimit.description = Занадто багато стрілок може спричинити значне підвисання пристрою пристрою.\nНалаштовуйте опираючись на можливості пристроя. +setting.gaycursor.name = Увімкнути ефект веселки під курсором +setting.gaycursor.description = Створює ефект веселки під курсором миші. +setting.unithealthui.name = Показати панель одиниць +setting.unithealthui.description = Показує інформацію про здоров’я, боєприпаси, міцність щита, ефекти стану і вантаж в кожній одиниці. +setting.blockfont.name = Показати інформацію про блок +setting.blockfont.description = Показує коротку інформацію про здоров’я, щит, перезаряджання тощо кожному блоці. +setting.linkedMass.name = Показувати лінію з’єднання електромагнітних катапульт +setting.linkedMass.description = Позначає пов’язані між собою електромагнітні катапульти пунктирною лінією. +setting.linkedNode.name = Показувати з’єднання вузлів +setting.linkedNode.description = Позначає блоки, електрично з’єднані з вибраними блоками за допомогою малювання ліній. +setting.select.name = Показувати стрілку вибору +setting.select.description = Показує вибраний блок чи одиницю. +setting.deadTarget.name = Тримати ціль заблокованою після її смерті +setting.deadTarget.description = Продовжує показ координат та інформацію про ціль, навіть після того, як вона була знищена. +setting.distanceLine.name = Показати лінію, що показує відстань до вибраної цілі +setting.distanceLine.description = Показує пунктирні лінії і числа, щоб показати відстань до цілі. +setting.spawnerarrow.name = Вказує точку появи хвиль. +setting.spawnerarrow.description = Показує стрілку, направлену на точку появи хвиль. + +setting.autoShooting.name = Увімкнути автострільбу +setting.autoShooting.description = Не треба, ти ж не гакер. + +setting.shar-title = Налаштування UnitInfo +setting.shar-ui = Налаштування накладання інтерфейсу +setting.shar-range = Налаштування автоматичного діапазону +setting.shar-opacity = Налаштування прозорості +setting.shar-draw = Налаштування промальовки +setting.shar-etc = Інше + +#Hud +hud.schematic-list = Перелік схем +hud.unit = Інформація про одиницю +hud.wave = Інформація про хвилю +hud.item = Інформація про ресурси +hud.cancel = Сховано +hud.enabled = [accent]Увімкнено[] +hud.disabled = [gray]Вимкнено[] +hud.pathline = Лінія шляху +hud.unitline = Лінія одиниць +hud.logicline = Лінія логіки + +#Other +sec = сек. +default-bar = усталена панель +th-bar = -а панель +empty = [lightgray]<Порожньо>[] +none = <нічого> +tiles = плиток + +#Mod +shar-description = Багатофункціональна інформаційна модифікація, яка показує різні види інформації в грі.\n\n~~~~~\nПерекладено організацією [blue]Ukrainian[][yellow]Mindustry[]\n~~~~~\n\n[#AE00FB]Ігровий інтерфейс:[] розташований ліворуч, показує інформацію про одиницю/будівлю, на яку ви навели свій курсор, список хвиль, інформацію про ресурси та ядро.\n\n[#B5FFD9]Інформація про одиницю/будівлю:[] показує інформацію про одиницю/будівлю, на яку ви навели свій курсор.\n\n[#B5FFD9]Інформація про хвилі:[] показує список хвиль, включаючи їхній тип, кількість та фінального боса. Можна натиснути для перегляду подробиць.\n\n[#B5FFD9]Інформація про ядро:[] показує розташування та здоров'я ядра для кожної команди. Наведіть та натисніть на нього, щоб опинитися біля вибраного союзного ядра.\n\n[#B5FFD9]Інформація про плитки:[] показує значок та позицію блоку/поверхні/руди, на яку ви навели свій курсор. Якщо мапа має хвилі, то також показує залишок ворожих бойових одиниць.\n\n[#B5FFD9]Інформація про ресурси:[] показує поточні ресурси та їхнє збільшення/зменшення, кількість одиниць кожної команди.\n\n\n[#AE00FB]Ігровий промальовувач:[] малює на екрані, кінцевою позицією може бути блок чи одиниця.\n\n[#B5FFD9]Сканувальник блоків:[] показує здоров'я та діапазон дії башти чи стіни, на яку ви навели свій курсор.\n\n[#B5FFD9]Панель одиниць:[] показує під кожною одиницею її боєприпаси/щит/здоров'я.\n\n[#B5FFD9]Діапазон дії:[] показує діапазон дії башти.\n\n[#B5FFD9]Енергетичне з'єднання:[] перемальовує колір енергетичних з'єднань на блоках, які підключені до вибраного вами блоку.\n\n[#B5FFD9]Пунктирне з'єднання:[] малює пунктирні лінії з'єднання між електромагнітними катапультами. + diff --git a/src/UnitInfo/core/BarInfo.java b/src/UnitInfo/core/BarInfo.java index abdbb44..d7bfc88 100644 --- a/src/UnitInfo/core/BarInfo.java +++ b/src/UnitInfo/core/BarInfo.java @@ -36,7 +36,7 @@ public class BarInfo { public static void getInfo(T target) throws IllegalAccessException, NoSuchFieldException { for(int i = 0; i < 6; i++) { //init - strings.set(i, "[lightgray][]"); + strings.set(i, bundle.get("empty")); colors.set(i, Color.clear); numbers.set(i, 0f); } diff --git a/src/UnitInfo/core/HudUi.java b/src/UnitInfo/core/HudUi.java index 29d9764..7f07ebd 100644 --- a/src/UnitInfo/core/HudUi.java +++ b/src/UnitInfo/core/HudUi.java @@ -239,19 +239,19 @@ public class HudUi { Button unitBtn = new ImageButton(new ScaledNinePatchDrawable(new NinePatch(Icon.grid.getRegion()), 0.5f), Styles.clearToggleTransi); Button logicBtn = new ImageButton(new ScaledNinePatchDrawable(new NinePatch(Icon.grid.getRegion()), 0.5f), Styles.clearToggleTransi); - pathBtn.addListener(new Tooltip(l -> l.label(() -> "PathLine " + (pathLine ? "[accent]Enabled[]" : "[gray]Disabled[]")))); + pathBtn.addListener(new Tooltip(l -> l.label(() -> bundle.get("hud.pathline") + " " + (pathLine ? bundle.get("hud.enabled") : bundle.get("hud.disabled"))))); pathBtn.clicked(() -> { pathLine = !pathLine; pathBtn.setChecked(pathLine); }); - unitBtn.addListener(new Tooltip(l -> l.label(() -> "UnitLine " + (unitLine ? "[accent]Enabled[]" : "[gray]Disabled[]")))); + unitBtn.addListener(new Tooltip(l -> l.label(() -> bundle.get("hud.unitline") + " " + (unitLine ? bundle.get("hud.enabled") : bundle.get("hud.disabled"))))); unitBtn.clicked(() -> { unitLine = !unitLine; unitBtn.setChecked(unitLine); }); - logicBtn.addListener(new Tooltip(l -> l.label(() -> "LogicLine " + (logicLine ? "[accent]Enabled[]" : "[gray]Disabled[]")))); + logicBtn.addListener(new Tooltip(l -> l.label(() -> bundle.get("hud.logicline") + " " + (logicLine ? bundle.get("hud.enabled") : bundle.get("hud.disabled"))))); logicBtn.clicked(() -> { logicLine = !logicLine; logicBtn.setChecked(logicLine); diff --git a/src/UnitInfo/core/OverDrawer.java b/src/UnitInfo/core/OverDrawer.java index 33e70f7..295db5f 100644 --- a/src/UnitInfo/core/OverDrawer.java +++ b/src/UnitInfo/core/OverDrawer.java @@ -253,7 +253,7 @@ public class OverDrawer { Lines.stroke(1f, Pal.placing); Lines.dashLine(x1, y1, x2, y2, segs); - Fonts.outline.draw(Strings.fixed(to.dst(from.x(), from.y()), 2) + " (" + segs + "tiles)", + Fonts.outline.draw(Strings.fixed(to.dst(from.x(), from.y()), 2) + " (" + segs + " " + bundle.get("tiles") + ")", from.x() + Angles.trnsx(Angles.angle(from.x(), from.y(), to.getX(), to.getY()), player.unit().hitSize() + Math.min(segs, 6) * 8f), from.y() + Angles.trnsy(Angles.angle(from.x(), from.y(), to.getX(), to.getY()), player.unit().hitSize() + Math.min(segs, 6) * 8f) - 3, Pal.accent, 0.25f, false, Align.center); diff --git a/src/UnitInfo/core/SettingS.java b/src/UnitInfo/core/SettingS.java index 6f72d18..5f7b896 100644 --- a/src/UnitInfo/core/SettingS.java +++ b/src/UnitInfo/core/SettingS.java @@ -93,12 +93,12 @@ public class SettingS { } public void init(){ - BaseDialog dialog = new BaseDialog("UnitInfo Setting"); + BaseDialog dialog = new BaseDialog(bundle.get("setting.shar-title")); dialog.addCloseButton(); sharset = new SettingsMenuDialog.SettingsTable(); dialog.cont.center().add(new Table(t -> t.pane(sharset).grow().row())); ui.settings.shown(() -> { - Table settingUi = (Table)((Group)((Group)(ui.settings.getChildren().get(1))).getChildren().get(0)).getChildren().get(0); //This looks so stupid lol - lmfao + Table settingUi = (Table)((Group)((Group)(ui.settings.getChildren().get(1))).getChildren().get(0)).getChildren().get(0); //This looks so stupid lol - lmfao - hehe settingUi.row(); settingUi.button(bundle.get("setting.shar-title"), Styles.cleart, dialog::show); }); @@ -106,9 +106,9 @@ public class SettingS { Seq> settingSeq = new Seq<>(); Seq tapSeq = new Seq<>(); - addGraphicSlideSetting("barstyle", 0, 0, 5, 1, s -> s == 0 ? "default bar" : s + "th bar", tapSeq); + addGraphicSlideSetting("barstyle", 0, 0, 5, 1, s -> s == 0 ? bundle.get("default-bar") : s + bundle.get("th-bar"), tapSeq); addGraphicSlideSetting("infoUiScale", mobile ? 25 : 50, 25, 100, 5, s -> s + "%", tapSeq); - addGraphicSlideSetting("coreItemCheckRate", 60, 6, 180, 6, s -> Strings.fixed(s/60f,1) + "sec", tapSeq); + addGraphicSlideSetting("coreItemCheckRate", 60, 6, 180, 6, s -> Strings.fixed(s/60f,1) + bundle.get("sec"), tapSeq); addGraphicTypeSetting("wavemax", 0, 200,100, true, () -> true, s -> s + "waves", tapSeq); addGraphicCheckSetting("infoui", true, tapSeq); addGraphicCheckSetting("pastwave", false, tapSeq); diff --git a/src/UnitInfo/ui/SchemDisplay.java b/src/UnitInfo/ui/SchemDisplay.java index 7a79a59..f38c399 100644 --- a/src/UnitInfo/ui/SchemDisplay.java +++ b/src/UnitInfo/ui/SchemDisplay.java @@ -21,8 +21,7 @@ import mindustry.graphics.Pal; import mindustry.ui.Styles; import mindustry.ui.dialogs.*; -import static arc.Core.input; -import static arc.Core.scene; +import static arc.Core.*; import static mindustry.Vars.*; import static mindustry.Vars.ui; @@ -41,7 +40,7 @@ public class SchemDisplay extends Table { void setSchemTable() { clear(); right(); - button("Schematic List", Icon.downOpen, Styles.squareTogglet, () -> schemShown = !schemShown).width(160f).height(60f).checked(b -> { + button(bundle.get("hud.schematic-list"), Icon.downOpen, Styles.squareTogglet, () -> schemShown = !schemShown).width(160f).height(60f).checked(b -> { Image image = (Image)b.getCells().first().get(); image.setDrawable(schemShown ? Icon.upOpen : Icon.downOpen); return schemShown; @@ -84,7 +83,7 @@ public class SchemDisplay extends Table { p.table(tt -> { firstSchematic = null; - tt.button("Import", Icon.download, this::showImport).width(160f).height(64f).row(); + tt.button("@editor.import", Icon.download, this::showImport).width(160f).height(64f).row(); for(Schematic s : schematics.all()){ if(selectedTags.any() && !s.labels.containsAll(selectedTags)) continue; if(firstSchematic == null) firstSchematic = s; @@ -177,7 +176,7 @@ public class SchemDisplay extends Table { } if(firstSchematic == null){ - tt.add("@none"); + tt.add(bundle.get("none")); } }); }).grow().get(); diff --git a/src/UnitInfo/ui/WaveDisplay.java b/src/UnitInfo/ui/WaveDisplay.java index c3c0312..5b1901d 100644 --- a/src/UnitInfo/ui/WaveDisplay.java +++ b/src/UnitInfo/ui/WaveDisplay.java @@ -74,7 +74,7 @@ public class WaveDisplay extends Table { t.marginLeft(Scl.scl(modUiScale) * 3 * 8f); if(settings.getBool("emptywave") && state.rules.spawns.find(g -> g.getSpawned(j) > 0) == null) { t.center(); - Label label = new Label("[lightgray][]"); + Label label = new Label(bundle.get("empty")); label.setFontScale(Scl.scl(modUiScale)); t.add(label); return;