From eb7ead94555c338cbd97ea7a530c228ea61854a2 Mon Sep 17 00:00:00 2001 From: sanches Date: Tue, 20 Oct 2026 01:59:51 +0300 Subject: [PATCH] M9: Russian catalog catch-up: the 56 strings added since the review (machine-drafted) --- crates/ui-egui/locales/ru.toml | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/crates/ui-egui/locales/ru.toml b/crates/ui-egui/locales/ru.toml index 6dd68a17..6e173a92 100644 --- a/crates/ui-egui/locales/ru.toml +++ b/crates/ui-egui/locales/ru.toml @@ -1,5 +1,6 @@ # FigCraft interface strings: Russian. # Wording reviewed and approved by VanTan. +# Strings added since that review (2026-10-20) are a machine draft awaiting review. # Keep Frame, Dev Mode and Smart animate as familiar tool names. # See docs/translating.md; plural forms follow Russian integer rules. @@ -16,6 +17,7 @@ name = "Русский" "@{login}: {prs} PRs, {commits} commits, +{added} / −{deleted} lines (Δ {delta}), +{bin_added} / −{bin_deleted} binary assets, {first} – {last}" = "@{login}: PR: {prs}, коммитов: {commits}, +{added} / −{deleted} строк (Δ {delta}), +{bin_added} / −{bin_deleted} бинарных ресурсов, {first} – {last}" "A collection of this file with these modes and variables: override their values per mode and add variables of its own" = "Коллекция этого файла с этими режимами и переменными: переопределяйте значения для каждого режима и добавляйте собственные переменные" "A .figcraft file with this name already exists. Choose its full name to confirm replacement." = "Файл .figcraft с таким именем уже существует. Чтобы подтвердить замену, выберите его полное имя." +"A layer on its own aligns to its frame: select more layers, or one in a frame" = "Отдельный слой выравнивается по своему фрейму: выделите больше слоёв или слой внутри фрейма." "A responsive product page: hero, features, figures, a quote and a footer" = "Адаптивная страница продукта: главный блок, возможности, показатели, цитата и подвал" "A spring plays until it settles: its mass, stiffness and damping set how long" = "Пружинная анимация длится до затухания: её время задают масса, жёсткость и демпфирование" "A title, an agenda, a big figure, a chart and a closing slide" = "Заголовок, повестка, крупный показатель, диаграмма и заключительный слайд" @@ -65,6 +67,7 @@ name = "Русский" "Add variant with a new value" = "Добавить вариант с новым значением" "Added" = "Добавлено" "Added the library \"{name}\"" = "Добавлена библиотека «{name}»" +"Adding to {name}" = "Добавление в {name}" "Adjust" = "Коррекция" "Adjustment presets" = "Пресеты коррекции" "Advanced" = "Дополнительно" @@ -88,6 +91,7 @@ name = "Русский" "All components" = "Все компоненты" "All fonts" = "Все шрифты" "All supported properties" = "Все поддерживаемые свойства" +"All the fonts this file uses are installed" = "Все шрифты, которые использует этот файл, установлены" "All variables" = "Все переменные" "Alpha" = "Альфа" "Alphabetical" = "По алфавиту" @@ -168,6 +172,7 @@ name = "Русский" "Both directions" = "Оба направления" "Bottom" = "Снизу" "Bottom left radius" = "Радиус нижнего левого угла" +"Bottom padding" = "Нижний внутренний отступ" "Bottom right radius" = "Радиус нижнего правого угла" "Branch" = "Ветка" "Branch archived" = "Ветка архивирована" @@ -194,6 +199,7 @@ name = "Русский" "C or ⇧C" = "C или ⇧C" "CMYK colour" = "Цвет CMYK" "Can view" = "Может просматривать" +"Checking the fonts installed on this computer…" = "Проверка шрифтов, установленных на этом компьютере…" "Checking the server…" = "Проверка сервера…" "Clear from this list" = "Убрать из этого списка" "Code or invite link" = "Код или ссылка приглашения" @@ -293,6 +299,8 @@ name = "Русский" "Contributors" = "Участники" "Contributors: {people} · Commits: {commits}" = "Участники: {people} · Коммиты: {commits}" "Controller" = "Контроллер" +"Convert to frame" = "Преобразовать во Frame" +"Convert to section" = "Преобразовать в секцию" "Cool" = "Холодный" "Copied as CSS" = "Скопировано как CSS" "Copied as PNG" = "Скопировано как PNG" @@ -310,8 +318,10 @@ name = "Русский" "Copy {value}" = "Копировать {value}" "Corner radius" = "Радиус углов" "Corner smoothing" = "Сглаживание углов" +"Couldn't download the variables" = "Не удалось загрузить переменные" "Couldn't reach {server}: showing what this computer remembers." = "Не удалось связаться с {server}: показаны данные, сохранённые на этом компьютере." "Couldn't read {name}." = "Не удалось прочитать {name}." +"Couldn't save automatically: {error}" = "Не удалось сохранить автоматически: {error}" "Count" = "Количество" "Create" = "Создать" "Create a variable collection first" = "Сначала создайте коллекцию переменных" @@ -407,7 +417,10 @@ name = "Русский" "Draw" = "Рисование" "Draw a frame" = "Нарисовать Frame" "Drawing tools" = "Инструменты рисования" +"Drop a .figcraft, .fig, .json, .svg or image file." = "Перетащите файл .figcraft, .fig, .json, .svg или изображение." "Drop shadow" = "Внешняя тень" +"Drop to import" = "Отпустите, чтобы импортировать" +"Drop to open" = "Отпустите, чтобы открыть" "Dual-licensed MIT OR Apache-2.0. Made by the ArtCraft team and community." = "Двойная лицензия MIT OR Apache-2.0. Создано командой и сообществом ArtCraft." "Duo" = "Дуо" "Duplicate" = "Дублировать" @@ -477,6 +490,7 @@ name = "Русский" "False" = "Ложь" "Feb" = "февр." "Fetching from the server…" = "Загрузка с сервера…" +"FigCraft couldn't open its window: {error}" = "FigCraft не смог открыть своё окно: {error}" "FigCraft doesn't support every feature of these files yet. The notes list what was left out or changed in the imported copy; the original file is unchanged." = "FigCraft пока поддерживает не все возможности этих файлов. В замечаниях перечислено, что было пропущено или изменено в импортированной копии; исходный файл не меняется." "File" = "Файл" "File name" = "Имя файла" @@ -598,6 +612,7 @@ name = "Русский" "Icon components on a 24 px grid with keylines and a size preview" = "Компоненты иконок на сетке 24 px с направляющими и предпросмотром размеров" "Icon set starter" = "Основа набора иконок" "If" = "Если" +"If it keeps happening, please report it at {link} with this message." = "Если это повторяется, сообщите об этом по адресу {link}, приложив это сообщение." "If {condition}" = "Если {condition}" "Ignore auto layout (absolute position)" = "Игнорировать автолейаут (абсолютная позиция)" "Image" = "Изображение" @@ -619,6 +634,7 @@ name = "Русский" "Included" = "Включено" "Included in layout" = "Участвует в компоновке" "Individual corners" = "Углы по отдельности" +"Individual padding" = "Внутренние отступы по отдельности" "Individual strokes" = "Обводки по отдельности" "Ink" = "Чернила" "Inner shadow" = "Внутренняя тень" @@ -640,6 +656,7 @@ name = "Русский" "Interaction" = "Взаимодействие" "Interactions" = "Взаимодействия" "Interface design and prototyping. A free, open-source, clean-room design tool written from scratch in Rust, part of the ArtCraft Crafting Apps." = "Дизайн интерфейсов и прототипирование. Бесплатный инструмент с открытым исходным кодом, независимо созданный с нуля на Rust, из семейства ArtCraft Crafting Apps." +"Interface size" = "Размер интерфейса" "Intersect" = "Пересечение" "Intersects" = "Пересечения" "Invalid color" = "Недопустимый цвет" @@ -689,6 +706,7 @@ name = "Русский" "Leaves" = "Листья" "Left" = "Слева" "Left & right" = "Слева и справа" +"Left padding" = "Левый внутренний отступ" "Left side" = "Левая сторона" "Left side width" = "Ширина левой стороны" "Letter case" = "Регистр букв" @@ -761,6 +779,7 @@ name = "Русский" "Mirror angle and length" = "Отражать угол и длину" "Mirroring" = "Зеркальность" "Missing" = "Отсутствует" +"Missing fonts" = "Отсутствующие шрифты" "Missing layer" = "Слой отсутствует" "Missing style" = "Стиль отсутствует" "Missing variable" = "Переменная отсутствует" @@ -911,10 +930,13 @@ name = "Русский" "Open variables ({count})" = "Открыть переменные ({count})" "Opened as a new document" = "Открыт как новый документ" "Opened “{name}” in a new tab" = "«{name}» открыт в новой вкладке" +"Opening the file…" = "Открытие файла…" +"Opening {n} files as new files" = { one = "Открытие {n} файла как нового", few = "Открытие {n} файлов как новых", many = "Открытие {n} файлов как новых", other = "Открытие {n} файлов как новых" } "Open|comments" = "Открытые" "Options" = "Параметры" "Orange" = "Оранжевый" "Order" = "Порядок" +"Other" = "Другое" "Other apps may not open every .fig file exported here." = "Другие приложения могут открыть не каждый экспортированный здесь файл .fig." "Others lose access and keep their copy; the file stays on the server for you" = "Другие участники потеряют доступ, сохранив свои копии; файл останется на сервере для вас" "Others type this under Share ▸ Join with a code" = "Другие участники вводят это в «Поделиться» ▸ «Подключиться по коду»" @@ -974,6 +996,8 @@ name = "Русский" "Place a shape or frame (its tool chosen)" = "Разместить фигуру или Frame (выбранным инструментом)" "Place automatically" = "Разместить автоматически" "Place image" = "Разместить изображение" +"Plugin" = "Плагин" +"Plugins & widgets" = "Плагины и виджеты" "Plugins run in FigCraft's sandbox, without files, network or clock. Install only plugins you trust." = "Плагины работают в песочнице FigCraft без доступа к файлам, сети и часам. Устанавливайте только плагины, которым доверяете." "Plugins" = "Плагины" "Plus darker" = "Линейное затемнение" @@ -1043,6 +1067,7 @@ name = "Русский" "Reduce motion" = "Уменьшить движение" "Refraction" = "Преломление" "Regular expression" = "Регулярное выражение" +"Relative to your system's display scaling (100% is the system's own size). Document zoom is separate." = "Относительно масштаба экрана в системе (100% — собственный размер системы). Масштаб документа задаётся отдельно." "Remove" = "Удалить" "Remove all" = "Удалить всё" "Remove annotation" = "Удалить аннотацию" @@ -1066,6 +1091,7 @@ name = "Русский" "Remove the else and its actions" = "Удалить «Иначе» и его действия" "Remove this condition and its actions" = "Удалить это условие и его действия" "Remove this file from the server? It can't be shared or opened from there again. Your copy stays open here." = "Удалить файл с сервера? Его больше нельзя будет открывать и публиковать оттуда. Ваша копия останется открытой здесь." +"Remove {name} from session" = "Убрать {name} из сессии" "Remove {name} from {server}?" = "Удалить {name} с {server}?" "Removed" = "Удалено" "Removed from the server" = "Удалено с сервера" @@ -1080,6 +1106,7 @@ name = "Русский" "Rename on the server…" = "Переименовать на сервере…" "Rename page" = "Переименовать страницу" "Rename to" = "Новое имя" +"Reorder selection" = "Изменить порядок выделения" "Replace all" = "Заменить всё" "Replace mixed export settings" = "Заменить разные настройки экспорта" "Replace with" = "Заменить на" @@ -1115,6 +1142,7 @@ name = "Русский" "Review and merge" = "Проверить и объединить" "Ribbon" = "Лента" "Right" = "Справа" +"Right padding" = "Правый внутренний отступ" "Right side" = "Правая сторона" "Right side width" = "Ширина правой стороны" "Rotate 90°" = "Повернуть на 90°" @@ -1134,6 +1162,8 @@ name = "Русский" "Rulers" = "Линейки" "Run" = "Запустить" "Run {label}" = "Запустить {label}" +"Save files automatically" = "Автоматически сохранять файлы" +"Search pages" = "Поиск страниц" "Search templates" = "Поиск шаблонов" "See all templates" = "Все шаблоны" "Select layers and they space themselves as their content changes" = "Выделите слои: интервалы между ними будут подстраиваться при изменении содержимого" @@ -1278,6 +1308,7 @@ name = "Русский" "Start from a blank canvas" = "Начать с пустого холста" "Start from a template" = "Начать с шаблона" "Start on path" = "Начало на пути" +"Start on the Home screen" = "Начинать с главной" "Start point" = "Начальная точка" "Start sharing" = "Включить общий доступ" "Start sharing with the Share button, then pass on the code it gives" = "Включите общий доступ кнопкой «Поделиться», затем передайте полученный код" @@ -1339,6 +1370,9 @@ name = "Русский" "Texts" = "Тексты" "Texture" = "Текстура" "The canvas previews colors in sRGB; exported PNG, JPG and WebP files are tagged Display P3." = "На холсте цвета отображаются в sRGB; экспортированные PNG, JPG и WebP помечены профилем Display P3." +"The destination document is unavailable. Nothing was imported." = "Документ назначения недоступен. Ничего не импортировано." +"The destination document was closed. Nothing was imported." = "Документ назначения закрыт. Ничего не импортировано." +"The destination page was removed. Nothing was imported." = "Страница назначения удалена. Ничего не импортировано." "The file is deleted from the server: nobody can open or join it from there again, and this can't be undone. Copies that are open stay with whoever has them." = "Файл удаляется с сервера: его больше нельзя будет открыть или подключиться к нему оттуда. Отменить это нельзя. Уже открытые копии остаются у участников." "The file now holds another library" = "Теперь файл содержит другую библиотеку" "The file now holds another library (\"{name}\")" = "Теперь файл содержит другую библиотеку («{name}»)" @@ -1348,6 +1382,7 @@ name = "Русский" "The selection uses several text styles: click to apply one" = "В выделении несколько текстовых стилей: нажмите, чтобы применить один" "The server deletes this file if nobody opens it before {date}." = "Сервер удалит файл, если никто не откроет его до {date}." "The whole file" = "Весь файл" +"The window is too small for {size}%, so the interface is drawn at {drawn}%. Make the window larger to use {size}%." = "Окно слишком мало для {size}%, поэтому интерфейс отрисовывается в масштабе {drawn}%. Увеличьте окно, чтобы использовать {size}%." "Theme" = "Тема" "There's no destination for that action" = "Для этого действия не задано назначение" "Thickness" = "Толщина" @@ -1359,6 +1394,8 @@ name = "Русский" "This file" = "Этот файл" "This file has unsaved changes" = "В файле есть несохранённые изменения" "This file is on {server}, open only to you. Share it to let others in with a new code." = "Файл находится на {server} и доступен только вам. Включите общий доступ, чтобы пригласить других по новому коду." +"This file is too large to join here (up to {mb} MB)" = "Этот файл слишком большой, чтобы подключиться здесь (до {mb} МБ)" +"This file uses fonts that aren't installed on this computer. Their text is drawn in a fallback font until you install them." = "В этом файле используются шрифты, не установленные на этом компьютере. Их текст отрисовывается запасным шрифтом, пока вы их не установите." "This frame is new on the branch." = "Этот Frame добавлен в ветке." "This frame isn't on the branch." = "Этого Frame нет в ветке." "This server is open to the public: no key needed." = "Сервер общедоступен: ключ не нужен." @@ -1378,6 +1415,7 @@ name = "Русский" "Top" = "Сверху" "Top & bottom" = "Сверху и снизу" "Top left radius" = "Радиус верхнего левого угла" +"Top padding" = "Верхний внутренний отступ" "Top right radius" = "Радиус верхнего правого угла" "Transform" = "Трансформация" "Triangle arrow" = "Треугольная стрелка" @@ -1415,6 +1453,8 @@ name = "Русский" "Update from selection" = "Обновить из выделения" "Updated {components} and {styles}" = "Обновлено: {components} и {styles}" "Updated {name}" = "Обновлено: {name}" +"Updating the graphics driver often helps. To use OpenGL only, start FigCraft from a Command Prompt with:" = "Часто помогает обновление драйвера видеокарты. Чтобы использовать только OpenGL, запустите FigCraft из командной строки с параметром:" +"Updating the graphics driver often helps. WGPU_BACKEND (vulkan, gl, metal) names another graphics API to try." = "Часто помогает обновление драйвера видеокарты. Переменная WGPU_BACKEND (vulkan, gl, metal) задаёт другой графический API, который можно попробовать." "Uploads this file to a FigCraft server and keeps this tab in sync with it. You get a link to edit and a link to view." = "Загружает файл на сервер FigCraft и синхронизирует эту вкладку с ним. Вы получите ссылки для редактирования и просмотра." "Uppercase" = "Прописные" "Use a fixed value" = "Использовать фиксированное значение" @@ -1424,6 +1464,7 @@ name = "Русский" "Use number keys for opacity" = "Задавать непрозрачность цифровыми клавишами" "Use the .figcraft or .fig extension." = "Используйте расширение .figcraft или .fig." "Use the layer's fill" = "Использовать заливку слоя" +"Use your browser's zoom to change the interface size." = "Изменяйте размер интерфейса масштабом браузера." "Used in {files} · {instances}" = "Используется в {files} · {instances}" "Username" = "Имя пользователя" "Value" = "Значение" @@ -1458,6 +1499,7 @@ name = "Русский" "Visibility" = "Видимость" "Visible" = "Видимый" "Vivid" = "Яркий" +"WGPU_BACKEND is set and names the graphics API to use; unsetting it lets FigCraft choose." = "Переменная WGPU_BACKEND задана и указывает используемый графический API; если её убрать, FigCraft выберет сам." "Warm" = "Тёплый" "Watch" = "Часы" "Wavy" = "Волнистый" @@ -1477,6 +1519,7 @@ name = "Русский" "White" = "Белый" "Who runs it, its terms and how long it keeps files" = "Оператор, условия и срок хранения файлов" "Why it changed" = "Причина изменения" +"Widget" = "Виджет" "Widgets" = "Виджеты" "Width" = "Ширина" "Width point" = "Точка ширины" @@ -1574,6 +1617,7 @@ name = "Русский" "nobody else here yet" = "здесь пока больше никого нет" "non-default slot settings are not represented and were skipped" = "нестандартные настройки слотов не передаются и пропущены" "now" = "сейчас" +"only in a text style or variable" = "только в текстовом стиле или переменной" "or" = "или" "point stroke joins were preserved; dashed or variable-width strokes render with the layer join" = "соединения обводки в точках сохранены; пунктирные обводки и обводки переменной ширины рисуются с соединением слоя" "preferred slot component keys cannot be resolved to file nodes and were skipped" = "ключи предпочтительных компонентов слотов не удалось сопоставить со слоями файла, они пропущены" @@ -1596,6 +1640,7 @@ name = "Русский" "set-variable-mode actions on collections or modes that aren't in the variables JSON were skipped" = "действия смены режима переменных для коллекций или режимов, которых нет в JSON переменных, пропущены" "slot content assignment target is missing or is not slot content" = "цель назначения содержимого слота отсутствует или не является содержимым слота" "slot content assignment uses the empty GUID sentinel and was skipped" = "назначение содержимого слота использует пустой GUID-маркер и пропущено" +"slot layers without a matching slot property were imported as frames" = "слои слотов без подходящего свойства слота импортированы как фреймы" "some vector points refer to point settings missing from the file; they use the layer's joins and plain corners" = "некоторые векторные точки ссылаются на настройки точек, которых нет в файле; они используют соединения слоя и обычные углы" "some vector segments refer to style settings missing from the file; they use the layer's stroke" = "некоторые векторные сегменты ссылаются на настройки стиля, которых нет в файле; они используют обводку слоя" "stale or invalid grid track sizing entries were ignored" = "устаревшие или недопустимые записи размеров треков сетки проигнорированы" @@ -1682,6 +1727,7 @@ name = "Русский" "{n} replies" = { one = "{n} ответ", few = "{n} ответа", many = "{n} ответов", other = "{n} ответа" } "{n} rows" = { one = "{n} строка", few = "{n} строки", many = "{n} строк", other = "{n} строки" } "{n} styles" = { one = "{n} стиль", few = "{n} стиля", many = "{n} стилей", other = "{n} стиля" } +"{n} text layers" = { one = "{n} текстовый слой", few = "{n} текстовых слоя", many = "{n} текстовых слоёв", other = "{n} текстовых слоя" } "{n} variables" = { one = "{n} переменная", few = "{n} переменные", many = "{n} переменных", other = "{n} переменной" } "{n} weeks ago" = { one = "{n} неделю назад", few = "{n} недели назад", many = "{n} недель назад", other = "{n} недели назад" } "{n} years ago" = { one = "{n} год назад", few = "{n} года назад", many = "{n} лет назад", other = "{n} года назад" } @@ -1690,6 +1736,7 @@ name = "Русский" "{n}m" = "{n} мин" "{n}w" = "{n} нед" "{page}, nothing selected" = "{page}, ничего не выделено" +"{percent}%" = "{percent}%" "{profile} (current)" = "{profile} (текущий)" "{property} is its value; {property ? \"a\" : \"b\"} picks a string. Other {…} stays as written." = "{property} — значение свойства; {property ? \"a\" : \"b\"} выбирает строку. Другие {…} остаются как есть." "{server} can't say what became of your files (it is older than this app)." = "{server} не может сообщить, что стало с вашими файлами (версия сервера старее приложения)." @@ -1732,6 +1779,7 @@ name = "Русский" "arrange.front" = "На передний план" "arrange.packH" = "Уплотнить по горизонтали" "arrange.packV" = "Уплотнить по вертикали" +"arrange.reorder" = "Изменить порядок выделения" "arrange.roundToPixels" = "Округлить до пикселей" "arrange.spacing" = "Интервал" "arrange.tidy" = "Упорядочить" @@ -1766,6 +1814,7 @@ name = "Русский" "collab.publish" = "Опубликовать на сервере" "collab.recoverFile" = "Восстановить онлайн-файл" "collab.registerLinks" = "Открывать ссылки приглашения в FigCraft" +"collab.removePerson" = "Убрать из сессии" "collab.report" = "Пожаловаться на файл оператору сервера" "collab.serverInfo" = "Информация о сервере" "collab.share" = "Поделиться по коду подключения" @@ -1944,6 +1993,7 @@ name = "Русский" "object.batchRename" = "Массовое переименование" "object.convertToFrame" = "Преобразовать во Frame" "object.convertToGroup" = "Преобразовать в группу" +"object.convertToSection" = "Преобразовать в секцию" "object.flipH" = "Отразить по горизонтали" "object.flipV" = "Отразить по вертикали" "object.frameSelection" = "Поместить выделение во Frame" @@ -1990,6 +2040,7 @@ name = "Русский" "plugin.ui" = "Панель плагина" "plugins.manage" = "Управление плагинами…" "plugins.runLast" = "Запустить последний плагин" +"pref.autoSave" = "Автоматически сохранять файлы" "pref.highlightHover" = "Подсвечивать слои при наведении" "pref.keepTool" = "Оставлять инструмент выбранным после использования" "pref.language" = "Язык интерфейса" @@ -1999,6 +2050,8 @@ name = "Русский" "pref.reduceMotion" = "Уменьшить движение" "pref.renameDuplicates" = "Переименовывать дубликаты слоёв" "pref.showDimensions" = "Показать размеры объектов" +"pref.startOnHome" = "Начинать с главной" +"pref.uiScale" = "Размер интерфейса" "pref.userName" = "Ваше имя в комментариях" "proto.action.add" = "Добавить действие прототипа" "proto.action.move" = "Изменить порядок действия прототипа" @@ -2104,14 +2157,18 @@ name = "Русский" "text.listIndent" = "Увеличить отступ списка" "text.listOutdent" = "Уменьшить отступ списка" "text.listStyle" = "Стиль списка" +"text.loadFont" = "Загрузить файл шрифта" "text.maxLines" = "Максимум строк" +"text.missingFonts" = "Отсутствующие шрифты" "text.numberList" = "Нумерованный список" "text.onPath" = "Текст на пути" "text.paragraphIndent" = "Абзацный отступ" "text.paragraphSpacing" = "Интервал между абзацами" "text.pathOptions" = "Параметры текста на пути" "text.preview" = "Предпросмотр изменения текста" +"text.refit" = "Подогнать текст под шрифты" "text.removeFromPath" = "Снять текст с пути" +"text.rescanFonts" = "Повторно найти установленные шрифты" "text.set" = "Задать текст" "text.setFeatures" = "Функции OpenType" "text.setVariations" = "Оси вариативного шрифта"