Merge pull request #52 from UkrainianMindustry/master

Ukrainian translation
This commit is contained in:
Sharlotte
2021-12-08 17:25:23 +09:00
committed by GitHub
8 changed files with 146 additions and 15 deletions

View File

@@ -94,10 +94,24 @@ setting.shar-draw = Overdrawing Settings
setting.shar-etc = Other setting.shar-etc = Other
#Hud #Hud
hud.schematic-list = Schematic List
hud.unit = Unit Info hud.unit = Unit Info
hud.wave = Wave Info hud.wave = Wave Info
hud.item = Resource Info hud.item = Resource Info
hud.cancel = Hidden 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]<Empty>[]
none = <none>
tiles = tiles
#Mod #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. 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.

View File

@@ -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]Пунктирне з'єднання:[] малює пунктирні лінії з'єднання між електромагнітними катапультами.

View File

@@ -36,7 +36,7 @@ public class BarInfo {
public static <T extends Teamc> void getInfo(T target) throws IllegalAccessException, NoSuchFieldException { public static <T extends Teamc> void getInfo(T target) throws IllegalAccessException, NoSuchFieldException {
for(int i = 0; i < 6; i++) { //init for(int i = 0; i < 6; i++) { //init
strings.set(i, "[lightgray]<Empty>[]"); strings.set(i, bundle.get("empty"));
colors.set(i, Color.clear); colors.set(i, Color.clear);
numbers.set(i, 0f); numbers.set(i, 0f);
} }

View File

@@ -239,19 +239,19 @@ public class HudUi {
Button unitBtn = new ImageButton(new ScaledNinePatchDrawable(new NinePatch(Icon.grid.getRegion()), 0.5f), Styles.clearToggleTransi); 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); 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(() -> { pathBtn.clicked(() -> {
pathLine = !pathLine; pathLine = !pathLine;
pathBtn.setChecked(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(() -> { unitBtn.clicked(() -> {
unitLine = !unitLine; unitLine = !unitLine;
unitBtn.setChecked(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(() -> { logicBtn.clicked(() -> {
logicLine = !logicLine; logicLine = !logicLine;
logicBtn.setChecked(logicLine); logicBtn.setChecked(logicLine);

View File

@@ -253,7 +253,7 @@ public class OverDrawer {
Lines.stroke(1f, Pal.placing); Lines.stroke(1f, Pal.placing);
Lines.dashLine(x1, y1, x2, y2, segs); 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.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, 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); Pal.accent, 0.25f, false, Align.center);

View File

@@ -93,12 +93,12 @@ public class SettingS {
} }
public void init(){ public void init(){
BaseDialog dialog = new BaseDialog("UnitInfo Setting"); BaseDialog dialog = new BaseDialog(bundle.get("setting.shar-title"));
dialog.addCloseButton(); dialog.addCloseButton();
sharset = new SettingsMenuDialog.SettingsTable(); sharset = new SettingsMenuDialog.SettingsTable();
dialog.cont.center().add(new Table(t -> t.pane(sharset).grow().row())); dialog.cont.center().add(new Table(t -> t.pane(sharset).grow().row()));
ui.settings.shown(() -> { 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.row();
settingUi.button(bundle.get("setting.shar-title"), Styles.cleart, dialog::show); settingUi.button(bundle.get("setting.shar-title"), Styles.cleart, dialog::show);
}); });
@@ -106,9 +106,9 @@ public class SettingS {
Seq<Seq<SharSetting>> settingSeq = new Seq<>(); Seq<Seq<SharSetting>> settingSeq = new Seq<>();
Seq<SharSetting> tapSeq = new Seq<>(); Seq<SharSetting> 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("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); addGraphicTypeSetting("wavemax", 0, 200,100, true, () -> true, s -> s + "waves", tapSeq);
addGraphicCheckSetting("infoui", true, tapSeq); addGraphicCheckSetting("infoui", true, tapSeq);
addGraphicCheckSetting("pastwave", false, tapSeq); addGraphicCheckSetting("pastwave", false, tapSeq);

View File

@@ -21,8 +21,7 @@ import mindustry.graphics.Pal;
import mindustry.ui.Styles; import mindustry.ui.Styles;
import mindustry.ui.dialogs.*; import mindustry.ui.dialogs.*;
import static arc.Core.input; import static arc.Core.*;
import static arc.Core.scene;
import static mindustry.Vars.*; import static mindustry.Vars.*;
import static mindustry.Vars.ui; import static mindustry.Vars.ui;
@@ -41,7 +40,7 @@ public class SchemDisplay extends Table {
void setSchemTable() { void setSchemTable() {
clear(); clear();
right(); 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 image = (Image)b.getCells().first().get();
image.setDrawable(schemShown ? Icon.upOpen : Icon.downOpen); image.setDrawable(schemShown ? Icon.upOpen : Icon.downOpen);
return schemShown; return schemShown;
@@ -84,7 +83,7 @@ public class SchemDisplay extends Table {
p.table(tt -> { p.table(tt -> {
firstSchematic = null; 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()){ for(Schematic s : schematics.all()){
if(selectedTags.any() && !s.labels.containsAll(selectedTags)) continue; if(selectedTags.any() && !s.labels.containsAll(selectedTags)) continue;
if(firstSchematic == null) firstSchematic = s; if(firstSchematic == null) firstSchematic = s;
@@ -177,7 +176,7 @@ public class SchemDisplay extends Table {
} }
if(firstSchematic == null){ if(firstSchematic == null){
tt.add("@none"); tt.add(bundle.get("none"));
} }
}); });
}).grow().get(); }).grow().get();

View File

@@ -74,7 +74,7 @@ public class WaveDisplay extends Table {
t.marginLeft(Scl.scl(modUiScale) * 3 * 8f); t.marginLeft(Scl.scl(modUiScale) * 3 * 8f);
if(settings.getBool("emptywave") && state.rules.spawns.find(g -> g.getSpawned(j) > 0) == null) { if(settings.getBool("emptywave") && state.rules.spawns.find(g -> g.getSpawned(j) > 0) == null) {
t.center(); t.center();
Label label = new Label("[lightgray]<Empty>[]"); Label label = new Label(bundle.get("empty"));
label.setFontScale(Scl.scl(modUiScale)); label.setFontScale(Scl.scl(modUiScale));
t.add(label); t.add(label);
return; return;