diff --git a/Common/src/main/resources/assets/hexdebug/lang/ru_ru.flatten.json5 b/Common/src/main/resources/assets/hexdebug/lang/ru_ru.flatten.json5 new file mode 100644 index 00000000..f340b072 --- /dev/null +++ b/Common/src/main/resources/assets/hexdebug/lang/ru_ru.flatten.json5 @@ -0,0 +1,200 @@ +{ + "item.hexdebug": { + debugger: "Отладчик", + evaluator: "Исполнитель", + }, + + "block.hexdebug": { + splicing_table: "Стол склейки", + focus_holder: "Держатель талисмана", + }, + + "itemGroup.hexdebug": "HexDebug", + + text: { + hexdebug: { + connected: "Клент Отладчика подключен!", + no_session: "Сессия Отладчика не запущена.", + thwack: "Бап!", + // Next Iota: [{index}] {iota} + debugger_stopped: "Следующая Йота: [%d] %s", + + splicing_table: { + button: { + view_left: "Передвинуть Вид Влево", + view_right: "Передвинуть Вид Вправо", + select_none: "Убрать Выбор", + select_all: "Выбрать Всё", + clear_grid: "Очистить Сетку", + nudge_left: "Сдвинуть Влево", + nudge_right: "Сдвинуть Вправо", + duplicate: "Дублировать", + delete: "Удалить", + undo: "Отменить", + redo: "Вернуть", + cut: "Вырезать", + copy: "Копировать", + paste: "Вставить (Полный)", + paste_splat: "Вставить (Плоский)", + export: "Экспортировать как .hexpattern", + }, + tooltip: { + index: "Индекс: %d", + signature: "Подпись: %s", + length: "Длина: %d", + }, + }, + }, + + "autoconfig.hexdebug": { + title: "HexDebug Конфиг", + category: { + client: "Клиент", + server: "Сервер", + }, + option: { + client: { + openDebugPort: { + "": "Открыть Порт Отладки", + "@Tooltip": "Нужно ли открывать порт. Если выключено, Отладчик становится практически бесполезным.", + }, + debugPort: { + "": "Порт Отладки", + "@Tooltip": "Номер порта (1024-65535) для открытия клиента отладки (например VSCode) для подключения.", + }, + smartDebuggerSneakScroll: { + "": "Умный Отладчик на Приседании-Прокрутке", + "@Tooltip": "Если заговор сейчас не в находится в отладке и Отладчик в вашей основной руке, предпочтение на shift-scrolling отдастся предмету в вашей второй руке (например книжке).", + }, + debuggerDisplayMode: { + "": "Режим Отображения Отладчика", + "@Tooltip": "\ + Меняет режим отображения следующей на исполнение йоты.\n\ + DISABLED: Никогда не показывать статус-сообщения Отладчика.\n\ + NOT_CONNECTED: Показывать статус-сообщения Отладчика только если клиент отладки не подключен.\n\ + ENABLED: Всегда показывать статус-сообщения Отладчика. (по стандарту)", + }, + showDebugClientLineNumber: { + "": "Показывать Номер Строки Клиента Отладчика", + "@Tooltip": "Если включено, показывает номер строки (обычно начиная с 1) с клиента отладчика (например VSCode) в статус-сообщениях Отладчика; иначе, показывать индекс в списке (начиная с 0)." + } + }, + server: { + maxUndoStackSize: { + "": "Максимальный Размер Истории Отмены", + "@Tooltip": "Максимальный размер истории отмены для стола склейки. Для отключения лимита установите значение 0.", + } + } + }, + }, + }, + + "hexcasting.action": { + "hexdebug:": { + "const/debugging": "Отражение Отладчика", + "next_eval_index": "Отражение Локатора Отладчика", // TODO: this name kinda sucks tbh + "const/cognitohazard": "Отражение когнитивной опасности", + "breakpoint/": { + before: "Установить Прерывание До", + after: "Установить Прерывание После" + }, + "craft/debugger": "Создание Отладчика", + }, + "book.hexdebug:": { + "next_eval_index": "Отраж. Локатора Отладчика", + "const/cognitohazard": "Отраж. Когнит. Опас." + }, + }, + + hexdebug: { + tooltip: { + debugger: { + step_mode: { + "": "Режим: %s", + continue: "Продолжить", + over: "Переступить", + in: "Зайти внутрь", + out: "Выйти из", + restart: "Перезапустить", + stop: "Остановить" + }, + }, + focus_holder: { + item: "Предмет: %s", + }, + cognitohazard_iota: "Когнитивная опасность" + }, + + category: { + items: { + entry: { + debugging: { + "": "Предметы Отладки", + page: { + debugger: "Я читал расплывчатые описания странного инструмента, который использовался Древними для обнаружения проблем в сложных $(#b38ef3)Заговорах/$. Мне кажется, что я смог его воссоздать; Я прозвал его $(l:items/debugging#debugger)$(item)Отладчиком/$.$(br2)\ + Он работает по схожей схеме с $(l:items/hexcasting)$(item)Артефактами/$. Однако, я так же могу использовать его для исполнения $(#b38ef3)Заговора/$ с $(l:items/focus)$(item)Талисмана/$ в моей второй руке.$(br2)\ + К сожалению, $(l:items/debugging#debugger)$(item)Отладчик/$ сам по себе не очень полезен; у меня странное ощущение, что он нужнается в какой-то $(l:https://marketplace.visualstudio.com/items?itemName=object-Object.hex-casting)потусторонней силе/$.", + thwack: "$(italic)Бап!/$$(br2)\ + А ещё я могу переключаться между \"режимами шага\" моего $(item)Отладчика/$, прокручивая колесо в присяде (прямо как с $(l:items/spellbook)$(item)Книгой заклинаний/$ или $(l:items/abacus)$(item)Рунными счетами/$).", + evaluator: "В дополнение к $(l:items/debugging#debugger)$(item)Отладчику/$, Я так же создал новый тип посоха: $(l:items/debugging#evaluator)$(item)Исполнитель/$.$(br2)\ + Пока я занимаюсь отладкой $(#b38ef3)Заговора/$, руны, нарисованные этим посохом, будут исполнены, используя мой стэк в данный момент, включая $(l:patterns/readwrite#hexcasting:local)$(thing)воронье гнездо/$ $(l:items/debugging#debugger)$(item)Отладчика/$.$(br2)\ + Очищение сетки, похоже, возвращает $(l:items/debugging#debugger)$(item)Отладчик/$ прямо к моменту перед перед начертанием первой руны с помощью $(l:items/debugging#evaluator)$(item)Исполнителя/$. Конечно же, это не отменит эффекты, произведённые на мир исполнеными рунами.", + thwonk: "$(italic)Буп!/$" + }, + }, + splicing_table: { + "": "Стол склейки", + page: { + "1": "Так как мои $(#b38ef3)Заговоры/$ становятся всё сложнее, я трачу всё больше времени на исправление своих собственных ошибок. Рун вроде $(l:patterns/patterns_as_iotas#hexcasting:undo)$(action)Исчезновения/$ и $(l:patterns/lists#hexcasting:replace)$(action)Возвышения Хирурга/$ вполне хватает для простых поправок, но мне кажется, что я способен на большее.$(br2)\ + $(l:items/splicing_table)$(item)Стол склейки/$ станет моей отдушиной: полноценный рабочий стол для просмотра и редактирования $(#b38ef3)Заговоров/$.", + "2": "Для начала работы, я должен поместить предмет с списком йот внутри (например, $(l:items/focus)$(item)Талисман/$) в центр стола. Тогда я увиже первые девять йот в списке. Маленькие стрелочки на концах можно использовать для передвижения по списку; ещё я могу зажать $(k:sneak), чтобы сдвинуться на целую страницу, или $(k:sprint), чтобы переместиться в начало или конец списка.$(br2)\ + Коль пожелаю поделиться $(#b38ef3)Заговорами/$ с другими, я могу использовать большую кнопку справа для копирования содержимого списка в некий \"буфер обмена\".", + "3": "Я могу выделить йоты (или пространство между ними) простым нажатием мыши. Зажав $(k:sneak) и кликнув ещё раз я смогу выделить целый набор йот за раз.$(br2)\ + В дополнение к этому, есть специальные кнопки для выделения всего списка ($(thing)Выбрать Всё/$) и очищения выделения ($(thing)Убрать Выбор/$).$(br2)\ + Выделение йот позволяет мне раскрыть истинный потенциал $(l:items/splicing_table)$(item)Стола склейки/$: редактирование $(#b38ef3)Заговоров/$.", + "4": "При $(l:items/splicing_table#cost)достатке мысли/$, я смогу исполнить следующие действия:\ + $(li)$(thing)Сдвинуть Влево/$: Переместить выделенные йоты на одну позицию влево.\ + $(li)$(thing)Сдвинуть Вправо/$: Переместить выделенные йоты на одну позицию вправо.\ + $(li)$(thing)Удалить/$: Удалить выделенные йоты из списка.\ + $(li)$(thing)Дублировать/$: Продублировать выделенные йоты.\ + $(li)$(thing)Отменить/$: Обратить последнее предпринятое действие.\ + $(li)$(thing)Вернуть/$: Вновь исполнить действие, обращённое $(thing)Отменой/$.", + "5": "Для более продвинутых операций потребуется дополнительное пространство. Если я положу второстепенный предмет для хранения йот в ячейку слева, то смогу делать следующее:\ + $(li)$(thing)Копировать/$: Записать выделенные йоты в новый список в второстепенном предмете.\ + $(li)$(thing)Вырезать/$: То же, что и $(thing)Копировать/$, но при этом выделенные йоты исчезнут из оригинального списка.\ + $(li)$(thing)Вставить/$: Заменить выделенные йоты йотой второстепенного предмета. Если йотой был список, то вставится его содержимое; это поведение можно предотвратить, зажав $(k:sneak).", + "6": "И наконец, я могу вставить $(l:items/staff)$(item)Посох/$ в левую нижнюю ячейку, чтобы проявить маленькую сетку заклятья. Руны, начерченные на этой сетке, попадают прямо в список, перезаписывая любые выделенные йоты.$(br2)\ + Есть ещё 6 ячеек справа для всего подряд. У них нет никакого специального функционала, кроме как хранилища; удобное место, чтобы сбросить лишние вещички.", + cost: "К сожалению, всё это невероятное удобство имеет цену. Чтобы изменять содержимое предметов, мне требуется $(#74b3f2)мысль/$ - около одной десятой $(l:items/amethyst)$(item)Аметистовой пыли/$ на каждое действие.$(br2)\ + Я могу подавать $(#74b3f2)мысли/$ в $(l:items/splicing_table)$(item)Стол склейки/$, положив материалы в нижнюю правую ячейку. Стол за раз поглотит до десяти единиц $(l:items/amethyst)$(item)Аметистовой пыли/$; любые избытки будут игнорироваться, пока не смогут быть поглощены без лишней траты $(#74b3f2)мысли/$.", + recipe: "$(italic)Она вставляла одну нить за другой, мелкие металлические кубики влетали и вылетали, пока её пальцы танцевали над лотком с ослепительной скоростью./$", + }, + }, + }, + }, + + patterns: { + entry: { + debugging: { + "": "Отладка", + page: { + "const/debugging": "Добавляет $(thing)Истину/$ на верхушку стэка, если исполняется $(l:items/debugging#debugger)$(item)Отладчиком/$, иначе $(thing)Ложь/$.", + "next_eval_index": "Добавляет индекс следующей на исполнение йоты, если исполнена $(l:items/debugging#debugger)$(item)Отладчиком/$ или $(l:items/debugging#evaluator)$(item)Исполнителем/$, иначе возвращает $(l:casting/influences)$(thing)Ничто/$.", + "const/cognitohazard": { + "1": "Добавляет $(thing)Когнитивную опасность/$ на верхушку моего стека.", + "2": "Похоже некоторые $(l:items/debugging#evaluator)предметы отладки/$ могут доставить хлопот в сфере безопасности некоторых $(l:patterns/meta#hexcasting:eval/cc)высокоуровневых техник/$. Чтобы это предовратить, я создал эту руну.$(br2)\ + Когда йота $(thing)Когнитивной опасности/$ исполняется - ничего не происходит. Однако, стоит лишь одной такой йоте пробраться в $(#b38ef3)Заговор/$, исполняемый $(l:items/debugging#debugger)$(item)Отладчиком/$, как это $(#b38ef3)Заклятье/$ $(italic)тут же/$ провалится - прямо перед исполнением $(thing)Когнитивной опасности/$.", + }, + "breakpoint/": { + before: "Ставит $(l:items/debugging#debugger)$(item)Отладчик/$ на паузу перед исполнением этой руны.", + after: "Ставит $(l:items/debugging#debugger)$(item)Отладчик/$ на паузу после исполнения этой руны. (то есть перед исполнением следующей руны).", + }, + "craft/debugger": "Создаёт $(l:items/debugging#debugger)$(item)Отладчик/$, который исполняет $(#b38ef3)Заговор/$, схоже с $(l:patterns/spells/hexcasting)другими рунами/$, которые я использовал ранее.$(br2)\ + Стоит около десятка $(l:items/amethyst)$(item)Заряженных Осколков Аметиста/$.", + }, + }, + }, + }, + }, + }, +} diff --git a/doc/resources/assets/hexcasting/lang/ru_ru.flatten.json5 b/doc/resources/assets/hexcasting/lang/ru_ru.flatten.json5 new file mode 100644 index 00000000..e98d8d70 --- /dev/null +++ b/doc/resources/assets/hexcasting/lang/ru_ru.flatten.json5 @@ -0,0 +1,8 @@ +{ + hexdoc: { + "hexdebug": { + title: "Блокнот HexDebug", + description: "Блокнот HexDebug, всё в одном месте.", + }, + } +}