Formatting Icons (#10359)

* formatIcons

* Smarter end check

I think it's smarter?

* unecessary

* oop

* Update UI.java

* Just don't check for adjacent colons.

The hasUnicodeStr already checks for validity

* Copy from I18NBundle

* Revert "Copy from I18NBundle"

This reverts commit ac660fcd9f.

* If get and format refer to parent, then just set the existing bundle as parent

* Test with Ground Zero objectives

* Update MBundle.java

* That didn't work

* Slip the method into reasonable places like objectives and chat

* Check for Icons as well

* More testing with objective text

* Apply to hints

* Optimized formatIcons

No longer scans through every character

* TIME UPDATE THE BUNDLES YIPPEEEEEEEEEEE

* residual

* Apply to message blocks

* IntelliJ lied

* Suggestions

* Format before sending
This commit is contained in:
MEEPofFaith
2025-02-08 21:05:43 -08:00
committed by GitHub
parent aaf335d06c
commit e8a4ecc61e
31 changed files with 984 additions and 939 deletions

View File

@@ -1956,51 +1956,51 @@ hint.respawn = Чтобы заново появиться в корабле, н
hint.respawn.mobile = Вы переключили управление единицей/постройкой. Чтобы заново появиться в корабле, [accent]нажмите на аватар слева сверху.[]
hint.desktopPause = Нажмите [accent][[Пробел][] для приостановки и возобновления игры.
hint.breaking = Выделите блоки в рамку [accent]правой кнопкой мыши[], чтобы разобрать их.
hint.breaking.mobile = Активируйте \ue817 [accent]молоток[] в правом нижнем углу и нажимайте на блоки, чтобы разобрать их. Удерживайте палец в течение секунды и переместите, чтобы разобрать выделением.
hint.breaking.mobile = Активируйте :hammer: [accent]молоток[] в правом нижнем углу и нажимайте на блоки, чтобы разобрать их. Удерживайте палец в течение секунды и переместите, чтобы разобрать выделением.
hint.blockInfo = Для просмотра информации о блоке, выберите его в [accent]меню строительства[], затем нажмите на кнопку [accent][[?][] справа.
hint.derelict = [accent]Покинутые[] постройки - это остатки старых баз, которые больше не функционируют.\n\nОни могут быть [accent]разобраны[] для получения ресурсов.
hint.research = Используйте кнопку \ue875 [accent]Исследований[], чтобы исследовать новые технологии.
hint.research.mobile = Используйте кнопку \ue875 [accent]Исследований[] в \ue88c [accent]Меню[], чтобы исследовать новые технологии.
hint.research = Используйте кнопку :tree: [accent]Исследований[], чтобы исследовать новые технологии.
hint.research.mobile = Используйте кнопку :tree: [accent]Исследований[] в :menu: [accent]Меню[], чтобы исследовать новые технологии.
hint.unitControl = Зажмите [accent][[Л-Ctrl][] и [accent]нажмите левую кнопку мыши[], чтобы контролировать дружественные единицы и турели.
hint.unitControl.mobile = [accent]Дважды коснитесь[], чтобы контролировать дружественные единицы и турели.
hint.unitSelectControl = Чтобы управлять боевыми единицами, войдите в [accent]режим командования[], зажав [accent]L-shift.[]\nВ режиме комадования, нажмите и перетаскивайте для выбора боевых единиц. Нажмите [accent]правой кнопкой мыши[] по месту или цели, чтобы отправить их туда.
hint.unitSelectControl.mobile = Чтобы управлять боевыми единицами, войдите в [accent]режим командования[], нажав на кнопку [accent]"Командовать"[] внизу слева.\nВ режиме командования, зажмите и перетаскивайте для выбора боевых единиц. Нажмите пальцем по месту или цели, чтобы отправить их туда.
hint.launch = Как только будет собрано достаточно ресурсов, вы сможете осуществить [accent]Запуск[], выбрав близлежащие секторы на \ue827 [accent]Карте[] из правого нижнего угла.
hint.launch.mobile = Как только будет собрано достаточно ресурсов, вы сможете осуществить [accent]Запуск[], выбрав близлежащие секторы на \ue827 [accent]Карте[] в \ue88c [accent]Меню[].
hint.launch = Как только будет собрано достаточно ресурсов, вы сможете осуществить [accent]Запуск[], выбрав близлежащие секторы на :map: [accent]Карте[] из правого нижнего угла.
hint.launch.mobile = Как только будет собрано достаточно ресурсов, вы сможете осуществить [accent]Запуск[], выбрав близлежащие секторы на :map: [accent]Карте[] в :menu: [accent]Меню[].
hint.schematicSelect = Зажмите [accent][[F][] и переместите, чтобы выбрать блоки для копирования и вставки.\n\nЩелкните [accent][[колёсиком][] по блоку для копирования.
hint.rebuildSelect = Удерживайте [accent][[B][] и перетаскивайте, чтобы выбрать уничтоженные блоки.\nОни будут перестроены автоматически.
hint.rebuildSelect.mobile = Выберите кнопку \ue874 копирования, затем нажмите кнопку \ue80f перестройки, и проведите для выбора уничтоженных блоков.\nЭто перестроит их автоматически.
hint.rebuildSelect.mobile = Выберите кнопку :copy: копирования, затем нажмите кнопку :wrench: перестройки, и проведите для выбора уничтоженных блоков.\nЭто перестроит их автоматически.
hint.conveyorPathfind = Удерживайте [accent][[Л-Ctrl][] при размещении конвейеров для автоматической прокладки пути.
hint.conveyorPathfind.mobile = Включите \ue844 [accent]диагональный режим[] и перетащите конвейеры для автоматической прокладки пути.
hint.conveyorPathfind.mobile = Включите :diagonal: [accent]диагональный режим[] и перетащите конвейеры для автоматической прокладки пути.
hint.boost = Удерживайте [accent][[Л-Shift][], чтобы пролететь над препятствиями при помощи вашей единицы.\n\nТолько некоторые наземные единицы могут взлетать.
hint.payloadPickup = Нажмите [accent][[[], чтобы подобрать маленькие блоки или единицы.
hint.payloadPickup.mobile = [accent]Нажмите и удерживайте[] палец на маленьком блоке или единице, чтобы подобрать их.
hint.payloadDrop = Нажмите [accent]][], чтобы сбросить груз.
hint.payloadDrop.mobile = [accent]Нажмите и удерживайте[] палец на пустой локации, чтобы сбросить туда груз.
hint.waveFire = Турели [accent]Волна[] при подаче воды будут автоматически тушить пожары вокруг.
hint.generator = \uf879 [accent]Генераторы внутреннего сгорания[] сжигают уголь и передают энергию рядом стоящим блокам.\n\nДальность передачи энергии может быть увеличена при помощи \uf87f [accent]силовых узлов[].
hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпасы, такие как [accent]медь[] и [accent]свинец[], [scarlet]не эффективны[].\n\nИспользуйте турели высокого уровня или \uf835 [accent]графитные[] боеприпасы в \uf861двойных турелях/\uf859залпах, чтобы уничтожить Стража.
hint.coreUpgrade = Ядра могут быть улучшены путем [accent]размещения над ними ядер более высокого уровня[].\n\nПоместите ядро \uf868 [accent]Штаб[] поверх ядра \uf869 [accent]Осколок[]. Убедитесь, что никакие препятствия не мешают ему.
hint.generator = :combustion-generator: [accent]Генераторы внутреннего сгорания[] сжигают уголь и передают энергию рядом стоящим блокам.\n\nДальность передачи энергии может быть увеличена при помощи :power-node: [accent]силовых узлов[].
hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпасы, такие как [accent]медь[] и [accent]свинец[], [scarlet]не эффективны[].\n\nИспользуйте турели высокого уровня или :graphite: [accent]графитные[] боеприпасы в :duo:двойных турелях/:salvo:залпах, чтобы уничтожить Стража.
hint.coreUpgrade = Ядра могут быть улучшены путем [accent]размещения над ними ядер более высокого уровня[].\n\nПоместите ядро :core-foundation: [accent]Штаб[] поверх ядра :core-shard: [accent]Осколок[]. Убедитесь, что никакие препятствия не мешают ему.
hint.presetLaunch = В серые [accent]секторы с посадочными зонами[], такие как [accent]Ледяной лес[], можно запускаться из любого места. Они не требуют захвата близлежащей территории.\n\n[accent]Нумерованные секторы[], такие как этот, [accent]не обязательны[] для прохождения.
hint.presetDifficulty = У этого сектора [scarlet]высокий уровень угрозы[].\nЗапуск на такие сектора [accent]не рекомендуется[] без достаточных технологий и подготовки.
hint.coreIncinerate = После того, как ядро будет заполнено предметом до отказа, любые лишние входящие предметы этого типа будут [accent]сожжены[].
hint.factoryControl = Чтобы установить [accent]место вывода единиц[] фабрики, щелкните на блок фабрики в командном режиме, затем щелкните правой кнопкой мыши на соответствующее место.\nЕдиницы, произведенные ею, автоматически переместятся туда.
hint.factoryControl.mobile = Чтобы установить [accent]место вывода единиц[] фабрики, нажмите на блок фабрики в командном режиме, затем нажмите на соответствующее место.\nЕдиницы, произведенные ею, будут автоматически перемещены туда.
gz.mine = Приблизьтесь к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать.
gz.mine.mobile = Приблизьтесь к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать.
gz.research = Откройте дерево технологий \ue875.\nИсследуйте \uf870 [accent]Механический бур[], затем выберите его в меню в правом нижнем углу.\nНажмите на медную руду, чтобы начать строительство бура.
gz.research.mobile = Откройте дерево технологий \ue875.\nИсследуйте \uf870 [accent]Механический бур[], затем выберите его в меню справа внизу.\nНажмите на медную руду, чтобы разместить бур.\n\nНажмите на \ue800 [accent]галочку[] справа внизу, чтобы подтвердить строительство.
gz.conveyors = Исследуйте и разместите \uf896 [accent]конвейеры[] для перемещения добытых ресурсов\nот буров до ядра.\n\nЗажмите и перетащите, чтобы разместить несколько конвейеров.\n[accent]Scroll[] для вращения.
gz.conveyors.mobile = Исследуйте и разместите \uf896 [accent]конвейеры[] для перемещения добытых ресурсов\nот буровых до ядра.\n\nЗадержите палец на секунду и перетащите его, чтобы разместить несколько конвейеров.
gz.mine = Приблизьтесь к :ore-copper: [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать.
gz.mine.mobile = Приблизьтесь к :ore-copper: [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать.
gz.research = Откройте дерево технологий :tree:.\nИсследуйте :mechanical-drill: [accent]Механический бур[], затем выберите его в меню в правом нижнем углу.\nНажмите на медную руду, чтобы начать строительство бура.
gz.research.mobile = Откройте дерево технологий :tree:.\nИсследуйте :mechanical-drill: [accent]Механический бур[], затем выберите его в меню справа внизу.\nНажмите на медную руду, чтобы разместить бур.\n\nНажмите на \ue800 [accent]галочку[] справа внизу, чтобы подтвердить строительство.
gz.conveyors = Исследуйте и разместите :conveyor: [accent]конвейеры[] для перемещения добытых ресурсов\nот буров до ядра.\n\nЗажмите и перетащите, чтобы разместить несколько конвейеров.\n[accent]Scroll[] для вращения.
gz.conveyors.mobile = Исследуйте и разместите :conveyor: [accent]конвейеры[] для перемещения добытых ресурсов\nот буровых до ядра.\n\nЗадержите палец на секунду и перетащите его, чтобы разместить несколько конвейеров.
gz.drills = \nУвеличьте объемы добычи.\nПоместите больше механических буров.\nДобудьте 100 слитков меди.
gz.lead = \uf837 [accent]Свинец[] - еще один часто используемый ресурс.\nПодготовьте буры для добычи свинца.
gz.moveup = \ue804 Двигайтесь вверх для получения дальнейших указаний.
gz.turrets = Исследуйте и поставьте 2 \uf861 [accent]Двойные турели[] для защиты ядра.\nДвойные турели требуют \uf838 [accent]боеприпасы[] с конвейеров.
gz.lead = :lead: [accent]Свинец[] - еще один часто используемый ресурс.\nПодготовьте буры для добычи свинца.
gz.moveup = :up: Двигайтесь вверх для получения дальнейших указаний.
gz.turrets = Исследуйте и поставьте 2 :duo: [accent]Двойные турели[] для защиты ядра.\nДвойные турели требуют \uf838 [accent]боеприпасы[] с конвейеров.
gz.duoammo = Снабдите двойные турели [accent]медью[] с помощью конвейеров.
gz.walls = [accent]Стены[] могут предотвратить повреждение близлежащих построек.\nПоставьте \uf8ae [accent]медные стены[] вокруг турелей.
gz.walls = [accent]Стены[] могут предотвратить повреждение близлежащих построек.\nПоставьте :copper-wall: [accent]медные стены[] вокруг турелей.
gz.defend = Враг на подходе, приготовьтесь защищаться.
gz.aa = Летающие боевые единицы не могут быть легко уничтожены стандартными турелями.\n\uf860 Рассеиватели[] предоставляют отличную противовоздушную оборону, но требуют \uf837 [accent]свинец[] в качестве боеприпасов.
gz.aa = Летающие боевые единицы не могут быть легко уничтожены стандартными турелями.\n:scatter: Рассеиватели[] предоставляют отличную противовоздушную оборону, но требуют :lead: [accent]свинец[] в качестве боеприпасов.
gz.scatterammo = Снабдите Рассеиватель [accent]свинцом[] с помощью конвейеров.
gz.supplyturret = [accent]Запитайте турель.
gz.zone1 = Это - вражеская зона высадки.
@@ -2008,27 +2008,27 @@ gz.zone2 = Все, что построено в её радиусе, будет
gz.zone3 = Волна начнётся прямо сейчас.\nПриготовьтесь.
gz.finish = Постройте больше турелей, добудьте больше ресурсов,\nи отстойте все волны, чтобы [accent]захватить сектор[].
onset.mine = Нажмите, чтобы добыть \uf748 [accent]бериллий[] из стен.\n\nИспользуйте [accent][[WASD] для передвижения.
onset.mine.mobile = Нажмите, чтобы добыть \uf748 [accent]бериллий[] из стен.
onset.research = Откройте \ue875 дерево исследований.\nИсследуйте, затем поставьте \uf73e [accent]турбинный конденсатор[] на жерло.\nОна будет производить [accent]энергию[].
onset.bore = Исследуйте и поставьте \uf741 [accent]плазменный бур[].\nОн будет автоматически добывать ресурсы из стен.
onset.power = Чтобы [accent]подключить[] плазменный бур, исследуйте и поставьте \uf73d [accent]лучевой узел[].\nСоедините турбинный конденсатор с плазменным буром.
onset.ducts = Исследуйте и поставьте \uf799 [accent]предметные каналы[] для перевозки ресурсов из плазменного бура в ядро.\nПеретаскивайте для установки нескольких каналов.\n[accent]Вращайте колёсико мыши[] для поворота.
onset.ducts.mobile = Исследуйте и поставьте \uf799 [accent]предметные каналы[] для перевозки ресурсов из плазменного бура в ядро.\nЗажмите палец на секунду, затем перетаскивайте для установки нескольких каналов.
onset.mine = Нажмите, чтобы добыть :beryllium: [accent]бериллий[] из стен.\n\nИспользуйте [accent][[WASD] для передвижения.
onset.mine.mobile = Нажмите, чтобы добыть :beryllium: [accent]бериллий[] из стен.
onset.research = Откройте :tree: дерево исследований.\nИсследуйте, затем поставьте :turbine-condenser: [accent]турбинный конденсатор[] на жерло.\nОна будет производить [accent]энергию[].
onset.bore = Исследуйте и поставьте :plasma-bore: [accent]плазменный бур[].\nОн будет автоматически добывать ресурсы из стен.
onset.power = Чтобы [accent]подключить[] плазменный бур, исследуйте и поставьте :beam-node: [accent]лучевой узел[].\nСоедините турбинный конденсатор с плазменным буром.
onset.ducts = Исследуйте и поставьте :duct: [accent]предметные каналы[] для перевозки ресурсов из плазменного бура в ядро.\nПеретаскивайте для установки нескольких каналов.\n[accent]Вращайте колёсико мыши[] для поворота.
onset.ducts.mobile = Исследуйте и поставьте :duct: [accent]предметные каналы[] для перевозки ресурсов из плазменного бура в ядро.\nЗажмите палец на секунду, затем перетаскивайте для установки нескольких каналов.
onset.moremine = Расширьте добычу.\nПоставьте больше плазменных буров и используйте лучевые узлы и предметные каналы для их поддержки.\nДобудьте 200 бериллия.
onset.graphite = Более продвинутые блоки требуют \uf835 [accent]графит[].\nПоставьте плазменные буры для добычи графита.
onset.research2 = Начните исследовать [accent]фабрики[].\nИсследуйте \uf74d [accent]дробитель скал[] и \uf779 [accent]кремниевую дуговую печь[].
onset.arcfurnace = Дуговая печь требует \uf834 [accent]песок[] и \uf835 [accent]графит[] для производства \uf82f [accent]кремния[].\nТакже нужна [accent]энергия[].
onset.crusher = Используйте \uf74d [accent]дробители скал[] для добычи песка.
onset.fabricator = Используйте [accent]боевые единицы[] для исследования карты, защиты построек и нападения на врага. Исследуйте и поставьте \uf6a2 [accent]конструктор танков[].
onset.graphite = Более продвинутые блоки требуют :graphite: [accent]графит[].\nПоставьте плазменные буры для добычи графита.
onset.research2 = Начните исследовать [accent]фабрики[].\nИсследуйте :cliff-crusher: [accent]дробитель скал[] и :silicon-arc-furnace: [accent]кремниевую дуговую печь[].
onset.arcfurnace = Дуговая печь требует :sand: [accent]песок[] и :graphite: [accent]графит[] для производства :silicon: [accent]кремния[].\nТакже нужна [accent]энергия[].
onset.crusher = Используйте :cliff-crusher: [accent]дробители скал[] для добычи песка.
onset.fabricator = Используйте [accent]боевые единицы[] для исследования карты, защиты построек и нападения на врага. Исследуйте и поставьте :tank-fabricator: [accent]конструктор танков[].
onset.makeunit = Произведите боевую единицу.\nНажмите на кнопку "?", чтобы узнать текущие необходимые ресурсы для фабрики.
onset.turrets = Боевые единицы эффективны, но [accent]турели[] предоставляют больший оборонный потенциал при их эффективном использовании.\nПоставьте турель \uf6eb [accent]Разрыв[].\nТурели требуют \uf748 [accent]боеприпасы[].
onset.turrets = Боевые единицы эффективны, но [accent]турели[] предоставляют больший оборонный потенциал при их эффективном использовании.\nПоставьте турель :breach: [accent]Разрыв[].\nТурели требуют :beryllium: [accent]боеприпасы[].
onset.turretammo = Снабдите турель [accent]бериллиевыми боеприпасами.[]
onset.walls = [accent]Стены[] могут предотвратить повреждение близлежащих построек.\nПоставьте \uf6ee [accent]бериллиевые стены[] вокруг турели.
onset.walls = [accent]Стены[] могут предотвратить повреждение близлежащих построек.\nПоставьте :beryllium-wall: [accent]бериллиевые стены[] вокруг турели.
onset.enemies = Враг на подходе, приготовьтесь защищаться.
onset.defenses = [accent]Приготовьте оборону:[lightgray] {0}
onset.attack = Враг уязвим. Начните контратаку.
onset.cores = Новые ядра могут быть поставлены на [accent]зоны ядра[].\nНовые ядра функционируют как передовые базы и имеют общий инвентарь между другими ядрами.\nПоставьте \uf725 ядро.
onset.cores = Новые ядра могут быть поставлены на [accent]зоны ядра[].\nНовые ядра функционируют как передовые базы и имеют общий инвентарь между другими ядрами.\nПоставьте :core-bastion: ядро.
onset.detect = Враг обнаружит вас через 2 минуты.\nПриготовьте оборону, добычу и производство.
onset.commandmode = Удерживайте [accent]shift[], чтобы войти в [accent]режим командования[].\n[accent]Щелкните левой кнопкой мыши и выделите область[] для выбора боевых единиц.\n[accent]Щелкните правой кнопкой мыши[], чтобы приказать выбранным единицам двигаться или атаковать.
onset.commandmode.mobile = Нажмите [accent]Командовать[], чтобы войти в [accent]режим командования[].\nЗажмите палец, затем [accent]выделите область[] для выбора боевых единиц.\n[accent]Нажмите[], чтобы приказать выбранным единицам двигаться или атаковать.