{
  "common": {
    "help": "Как играть",
    "settings": "Настройки",
    "close": "Закрыть",
    "retry": "Попробовать снова",
    "today": "Сегодня",
    "playCollection": "Играть в Коллекции",
    "share": "Поделиться",
    "point": "Точка",
    "cross": "Крестик",
    "undo": "Отменить",
    "redo": "Повторить",
    "resetBoard": "Очистить поле",
    "resetConfirmTitle": "Очистить это поле?",
    "resetConfirmMessage": "Все отметки в этой задаче будут удалены. Вернуть их можно кнопкой «Отменить».",
    "resetConfirmCancel": "Не очищать",
    "resetConfirmAction": "Очистить поле",
    "backToBoard": "Вернуться к игре",
    "previous": "Назад",
    "next": "Вперёд",
    "all": "Все",
    "language": "Язык",
    "chooseLanguage": "Выбрать язык",
    "found": "РЕШЕНО",
    "loadingDaily": "Загружаем задачу дня…",
    "dailyWaiting": "Не удалось загрузить задачу дня.",
    "dailyEveryone": "Одна задача для всех. Каждый день — новая.",
    "dailyAvailable": "Новая задача дня уже готова.",
    "playIt": "Решить",
    "collectionAlways": "Коллекция всегда открыта.",
    "statusStart": "Числа задают количество точек. Каждая точка касается стороной ровно одной другой.",
    "statusLines": "Сошлось строк и столбцов: {{matched}} из {{total}} · Каждая точка касается стороной ровно одной другой.",
    "statusExcess": "В строке или столбце слишком много точек. Уберите одну или отмените ход.",
    "statusCrowd": "Точка касается сразу нескольких других. Разведите пары.",
    "statusPairs": "Числа сошлись. Осталось найти пару каждой точке.",
    "statusWon": "Все числа. Все пары. Решение найдено.",
    "victory": "Всё сошлось.",
    "anotherPuzzle": "Следующая задача",
    "playToday": "Решить задачу дня",
    "shareResult": "Поделиться результатом",
    "tool": "Инструмент",
    "soundOn": "Выключить звук",
    "soundOff": "Включить звук",
    "zoom": "Увеличить",
    "seeAll": "Всё поле",
    "sharePuzzle": "Поделиться этой задачей",
    "skipToBoard": "Перейти к игровому полю",
    "boardGame": "Игра Puntokus",
    "errorTitle": "Что-то пошло не так.",
    "errorBody": "Ваш прогресс в сохранности. Перезагрузите страницу, чтобы вернуться к игре.",
    "retryPage": "Попробовать снова",
    "undoShortcut": "Ctrl / ⌘ Z",
    "redoShortcut": "Ctrl / ⌘ Shift Z"
  },
  "notices": {
    "saveFailed": "Не удалось сохранить последний ход. Продолжить игру можно в этой вкладке.",
    "dailyLoadFailed": "Не удалось загрузить задачу дня. Проверьте подключение и попробуйте снова.",
    "choiceNotSaved": "Ваш выбор действует в этом сеансе, но сохранить его не удалось.",
    "soundNotSaved": "Настройка звука действует только в этом сеансе.",
    "dailyUnavailable": "Задача дня сейчас недоступна. Коллекция по-прежнему открыта.",
    "dailyMissing": "Задача на эту дату ещё не опубликована.",
    "dailyFuture": "Эта задача пока недоступна. Можно решить сегодняшнюю.",
    "dailyInvalid": "Не удаётся открыть эту задачу дня. Попробуйте снова или вернитесь в Коллекцию.",
    "dailySaveFailed": "Этот браузер не может сохранить сегодняшнюю игру. Продолжить можно в этой вкладке.",
    "dailyVersionMismatch": "Для этой задачи дня есть прогресс, сохранённый другой версией Puntokus. Играть можно — эти данные мы не тронем.",
    "dailyContentMismatch": "Эта задача дня не совпадает с сохранённой игрой. Прежние данные мы сохранили, а играть можно в этой вкладке.",
    "dailyRecoveryPartial": "Часть прогресса задачи дня восстановить не удалось. Всё, что удалось прочитать, мы сохранили.",
    "unknownPuzzle": "Задача по этой ссылке не найдена. Можно начать с этой.",
    "progressUnavailable": "Ваш браузер не может сохранить эту игру. Продолжить можно в этой вкладке.",
    "progressVersionMismatch": "Эти игры сохранены более новой версией Puntokus. Играть можно — эти данные мы не тронем.",
    "progressRecoveryPartial": "Часть сохранённых игр восстановить не удалось. Все игры, которые удалось прочитать, мы сохранили."
  },
  "board": {
    "rowClue_one": "Строка {{index}}: {{placed}} из {{count}} точки{{state}}",
    "rowClue_few": "Строка {{index}}: {{placed}} из {{count}} точек{{state}}",
    "rowClue_many": "Строка {{index}}: {{placed}} из {{count}} точек{{state}}",
    "rowClue_other": "Строка {{index}}: {{placed}} из {{count}} точки{{state}}",
    "columnClue_one": "Столбец {{index}}: {{placed}} из {{count}} точки{{state}}",
    "columnClue_few": "Столбец {{index}}: {{placed}} из {{count}} точек{{state}}",
    "columnClue_many": "Столбец {{index}}: {{placed}} из {{count}} точек{{state}}",
    "columnClue_other": "Столбец {{index}}: {{placed}} из {{count}} точки{{state}}",
    "separator": ", ",
    "countComplete": "количество совпадает",
    "tooMany": "слишком много точек",
    "empty": "пусто",
    "paired": "в паре",
    "unpaired": "без пары",
    "crowded": "касается нескольких соседей",
    "group": "Поле: строк — {{rows}}, столбцов — {{columns}}. У каждой точки должен быть ровно один сосед по стороне. Перемещайтесь стрелками; D — точка, X — крестик, Delete — стереть.",
    "cell": "Строка {{row}}, столбец {{column}}: {{mark}}{{state}}"
  },
  "meta": {
    "dailyTitle": "Задача дня Puntokus · {{date}}"
  },
  "app": {
    "shortcuts": "Сочетания клавиш",
    "eraseKey": "стереть",
    "deleteKey": "Del",
    "dailyUnplayed": "ещё не решена",
    "dailyLabel": "ЗАДАЧА ДНЯ",
    "introLabel": "РАЗМИНКА {{current}}/{{total}}",
    "puzzleLabel": "ЗАДАЧА",
    "soundEnabled": "Звук включён",
    "soundDisabled": "Звук выключен",
    "dailyOverline": "ЗАДАЧА ДНЯ PUNTOKUS",
    "openToday": "Открыть задачу дня",
    "practiceAtYourPace": "Тренируйтесь в своём темпе.",
    "returnToDaily": "Вернуться к задаче дня",
    "sameChallenge": "Одна задача для всех. Не торопитесь.",
    "dailySolved": "ЗАДАЧА ДНЯ РЕШЕНА",
    "dailyCaption": "ОДНА ЗАДАЧА В ДЕНЬ",
    "fitComplete": "ЗАДАЧА РЕШЕНА",
    "logicCaption": "БЕЗ СПЕШКИ. ТОЛЬКО ЛОГИКА.",
    "dailyDeckNote": "Один день. Одна задача. Без спешки.",
    "dailyChanges": "Новая задача дня появляется в 00:00 UTC.",
    "tomorrowCollection": "Новая задача — завтра. Коллекция ждёт →",
    "continueCollection": "Играть дальше в Коллекции →",
    "enjoyedPrompt": "Понравилась игра?",
    "smallChallenge": "Небольшая задача. Всё встало на свои места.",
    "panBoard": "Перетаскивайте поле, чтобы увидеть остальные клетки.",
    "markHint": "Отметьте клетку. Отметьте ещё раз, чтобы стереть.",
    "zoomOutTitle": "Показать всё поле",
    "zoomInTitle": "Увеличить; перетаскивайте, чтобы двигаться по полю"
  },
  "feedback": {
    "inviteLabel": "Статистика по желанию",
    "inviteTitle": "Поможете улучшить Puntokus?",
    "inviteBody": "С вашего разрешения мы используем файлы cookie Google Analytics, чтобы измерять посещения и использование игры. Изменить выбор можно в любой момент в настройках.",
    "localPreview": "Тестовый режим · данные не отправляются.",
    "reject": "Отклонить",
    "accept": "Принять",
    "privacyLink": "Конфиденциальность и cookie",
    "title": "Вам понравилось играть?",
    "kicker": "ВАШЕ МНЕНИЕ",
    "intro": "Мы тестируем Puntokus. Ваш ответ поможет понять, что улучшить. Отвечать необязательно, и ответить можно, даже если задача ещё не решена.",
    "thanks": "Спасибо, что поделились.",
    "localThanks": "Ответ записан только в этом локальном тесте.",
    "continuePlaying": "Можно играть дальше.",
    "unavailable": "Отзыв можно будет оставить, когда на этом сайте включат статистику.",
    "consentBody": "Чтобы отправить отзыв, нужно ваше разрешение на статистику (Google Analytics, с файлами cookie). Ваши отметки мы никогда не отправляем.",
    "allow": "Разрешить статистику",
    "details": "Подробнее",
    "yes": "Да, понравилось",
    "mixed": "Отчасти",
    "no": "Не моё"
  },
  "settings": {
    "appearanceTitle": "Оформление",
    "appearanceBody": "«Авто» подстраивается под светлую или тёмную тему устройства.",
    "themeAuto": "Авто",
    "themeLight": "Светлая",
    "themeDark": "Тёмная",
    "title": "Оформление, звук и статистика.",
    "kicker": "НАСТРОЙКИ",
    "soundTitle": "Звуки игры",
    "soundBody": "Короткие звуки, когда вы ставите отметку, собираете пару и решаете задачу, и лёгкая вибрация на телефонах, которые её поддерживают.",
    "soundLabel": "Звук",
    "analyticsTitle": "Статистика по желанию",
    "analyticsBody": "Файлы cookie Google Analytics, которые измеряют посещения и использование игры.",
    "analyticsLabel": "Разрешить статистику",
    "analyticsOff": "Статистика использования отключена.",
    "localAnalytics": "Тестовый режим · данные не отправляются в Google.",
    "privacy": "Конфиденциальность и cookie",
    "feedback": "Оставить отзыв"
  },
  "library": {
    "title": "Выберите задачу",
    "kicker": "КОЛЛЕКЦИЯ · РЕШЕНО {{solved, number}} ИЗ {{total, number}}",
    "pickerTitle": "Выбрать задачу",
    "pickerLabel": "Puntokus {{number}}, {{width}} на {{height}}. Выбрать задачу",
    "currentState": ", сейчас в игре",
    "search": "Поиск задач",
    "searchLabel": "Найти задачу по номеру или коду",
    "searchPlaceholder": "Номер или код",
    "size": "Размер",
    "puzzles_one": "{{count, number}} задача",
    "puzzles_few": "{{count, number}} задачи",
    "puzzles_many": "{{count, number}} задач",
    "puzzles_other": "{{count, number}} задачи",
    "unfinished": "Только нерешённые",
    "itemLabel": "Puntokus {{number}}, {{width}} на {{height}}, код {{code}}{{state}}",
    "solvedState": ", решена вами",
    "inProgress": "Начата",
    "empty": "Под эти фильтры не подходит ни одна задача. Попробуйте другой размер или код.",
    "page": "Страница {{current}} из {{total}}"
  },
  "panels": {
    "helpTitle": "Правила простые.",
    "welcomeKicker": "ДОБРО ПОЖАЛОВАТЬ В PUNTOKUS",
    "helpKicker": "КАК ИГРАТЬ",
    "shareSolvedTitle": "Задача решена. Поделитесь!",
    "shareChallengeTitle": "Бросьте вызов друзьям.",
    "resultKicker": "ВАШ РЕЗУЛЬТАТ",
    "challengeKicker": "ПОДЕЛИТЬСЯ",
    "privacyTitle": "Ваши данные — коротко.",
    "privacyKicker": "КОНФИДЕНЦИАЛЬНОСТЬ И ХРАНЕНИЕ"
  },
  "tutorial": {
    "figureLabel": "ОДНО ПОЛЕ, ШАГ ЗА ШАГОМ",
    "boardLabel": "Пример поля: 3 строки и 3 столбца. Числа для строк: {{rows}}. Числа для столбцов: {{columns}}. {{summary}}",
    "solvedNoCrosses": "Решено без крестиков",
    "stillSolved": "Всё ещё решено",
    "diagonalCaption": "Касаться углами можно. В паре точки касаются стороной.",
    "fitCaption": "Числа и точки должны сойтись.",
    "step": "ШАГ {{current}} ИЗ {{total}}",
    "navigation": "Шаги обучения",
    "previous": "Предыдущий шаг",
    "replay": "Посмотреть снова",
    "next": "Далее",
    "pauseAuto": "Остановить автоматическое листание",
    "replayAuto": "Пролистать ещё раз",
    "playAuto": "Листать автоматически",
    "pause": "Пауза",
    "nextIn": "далее через {{seconds}} с",
    "autoDescription": "Запускается по нажатию и переключает шаги каждые шесть секунд. Остановите его или нажмите «Далее» в любой момент.",
    "controlsTitle": "Как ставить и стирать отметки",
    "controlsTouch": "Выберите инструмент «Точка» или «Крестик» и коснитесь клетки. Коснитесь ещё раз, чтобы стереть. «Отменить» возвращает отметку.",
    "controlsKeyboard": "Клавиатура: стрелки перемещают курсор, D ставит точку, X — крестик, Delete стирает, пробел применяет выбранный инструмент, а Ctrl / ⌘ Z отменяет ход. Щелчок правой кнопкой применяет другой инструмент; Shift + щелчок ставит крестик.",
    "playDaily": "Решить задачу дня",
    "yourTurn": "Ваш ход · 4×4",
    "playPuzzle": "Решить эту задачу",
    "returnGame": "Вернуться к своей игре",
    "practice": "Сначала разминка · 4×4",
    "dailyNote": "Новая задача дня появляется каждый день в 00:00 UTC.",
    "introNote": "Для разминки — две задачи 4×4.",
    "returnNote": "Эти правила можно открыть в любой момент.",
    "rowsSummary": "Точки по строкам: {{rows}}. Точки по столбцам: {{columns}}.",
    "steps": {
      "counts": {
        "title": "Числа задают количество точек.",
        "description": "В каждой строке и каждом столбце должно быть столько точек, сколько показывает число рядом. В этой строке их должно быть {{count}}.",
        "summary": "Пустое поле. Числа показывают количество точек, а не пар."
      },
      "pair": {
        "title": "Каждой точке нужна пара.",
        "description": "Поставьте две точки рядом. Они касаются стороной и образуют пару.",
        "summary": "Первые две точки верхней строки образуют горизонтальную пару. Каждая касается ровно одной точки. Поле ещё не решено."
      },
      "triple": {
        "title": "Третья — лишняя.",
        "description": "Средняя точка касается сразу двух других. А каждая точка должна касаться ровно одной.",
        "summary": "В верхней строке три точки. У средней два соседа, поэтому пары не получается. К тому же в строке одна точка лишняя."
      },
      "diagonal": {
        "title": "Касаться углами можно.",
        "description": "Эти точки могут касаться углами. Но пару это не образует: новой точке всё ещё нужен сосед по стороне.",
        "summary": "Касание углами разрешено. Горизонтальная пара на месте, а у новой точки нет соседа по стороне, и ей всё ещё нужна пара."
      },
      "complete": {
        "title": "Всё сошлось.",
        "description": "Касание углами остаётся. Добавьте новой точке пару снизу — и все точки и числа сходятся. Решено!",
        "summary": "Поле решено: горизонтальная пара сверху и вертикальная справа. Все числа совпадают, и у каждой точки ровно один сосед."
      },
      "notes": {
        "title": "Крестики — это пометки.",
        "description": "Отмечайте ими клетки, которые вы исключили. Для победы они не нужны: задача уже была решена.",
        "summary": "То же решённое поле, теперь с крестиками в пустых клетках. Крестики не добавляют точек и не меняют ни пары, ни результат."
      }
    }
  },
  "privacy": {
    "controllerLabel": "Контролёр данных",
    "purposesLabel": "Цель",
    "purposes": "Обеспечивать работу игры, а с вашего разрешения — измерять её использование, чтобы улучшать игру.",
    "basisLabel": "Правовое основание",
    "basis": "Законный интерес — для работы сайта и задачи дня; ваше согласие — для статистики. Согласие можно отозвать в настройках.",
    "recipientsLabel": "Получатели",
    "recipients": "Google как наш обработчик данных (Firebase и Google Analytics). Google может обрабатывать данные в США с надлежащими гарантиями. Больше мы ни с кем данными не делимся.",
    "contactLabel": "Контакты",
    "contact": "<contact>{{email}}</contact> — для вопросов и обращений по поводу ваших прав.",
    "more": "Подробнее",
    "localPreview": "Тестовый режим: статистика видна только в локальной консоли и не отправляется в Google.",
    "remoteOff": "В этой предварительной версии отправка статистики отключена.",
    "deviceTitle": "В вашем браузере",
    "deviceBody": "Ваша игра, история ходов и настройки (звук, язык, раздел, отметка о просмотре правил и решение о статистике) хранятся только в этом браузере, чтобы вы могли продолжить. Учётных записей нет, и ничего не отправляется на сервер. Если очистить данные сайта, всё это удалится.",
    "serviceTitle": "Когда вы открываете сайт и задачу дня",
    "serviceBody": "Сайт предоставляет Firebase Hosting, а задачу дня — Firestore. Как и при посещении любого сайта, Google получает ваш IP-адрес и технические данные браузера, чтобы отвечать на запросы и защищать сервис, и несколько месяцев хранит журналы Hosting. Файлы cookie и идентификаторы игроков не используются. Задача хранится в вашем браузере до шести часов, чтобы не загружать её повторно.",
    "analyticsTitle": "Статистика (по желанию)",
    "analyticsBody": "Только с вашего согласия Google Analytics фиксирует посещения, начатые и решённые задачи, примерное время игры, ходы, использование правил и функции «Поделиться», ваш отзыв (если вы его оставите) и коды ошибок. Ваши отметки, решения и произвольный текст мы никогда не отправляем. Используются файлы cookie (до 90 дней) и идентификаторы браузера, поэтому данные не анонимны. Рекламные функции отключены.",
    "retention": "Google Analytics хранит события в течение {{eventCount}} месяцев, а данные на уровне пользователя — в течение {{userCount}} месяцев. При новой активности срок хранения пользовательских данных отсчитывается заново. Эти сроки не распространяются на стандартные сводные отчёты. Ваш выбор запоминается в течение {{renewMonths}} месяцев, после чего мы спросим снова.",
    "withdrawal": "Отозвать разрешение можно в настройках. После этого новые данные перестанут отправляться, но уже полученные Google данные не удаляются.",
    "sharingTitle": "Когда вы делитесь",
    "sharingBody": "Сообщение составляется на вашем устройстве и содержит только номер задачи или дату задачи дня, а если вы её решили — количество пар. Мы его не получаем; если вы отправляете его через другой сервис, действуют условия этого сервиса.",
    "transfersTitle": "Передача данных и ваши права",
    "transfersBody": "Google может обрабатывать данные за пределами Европейской экономической зоны; такая передача основана на рамочном соглашении ЕС–США о конфиденциальности данных (Data Privacy Framework) и стандартных договорных условиях. Подробнее — в <firebase>сведениях о конфиденциальности Firebase</firebase>.",
    "rightsDetail": "Написав по указанному адресу, вы можете запросить доступ к данным, их исправление, удаление, ограничение обработки и перенос, а также возразить против обработки. Вы также вправе подать жалобу в <authority>Испанское агентство по защите данных (AEPD)</authority>. Отзыв согласия не влияет на законность обработки, выполненной до этого. Играть можно и без согласия на статистику."
  },
  "share": {
    "pairs_one": "{{count}} пара",
    "pairs_few": "{{count}} пары",
    "pairs_many": "{{count}} пар",
    "pairs_other": "{{count}} пары",
    "dailyTitle": "Задача дня Puntokus · {{date}} · {{size}}",
    "puzzleTitle": "Puntokus № {{number}} · {{size}}",
    "solvedResult": "{{quantity}}. Задача решена.",
    "challengeResult": "🟡🟡 В этой задаче {{quantity}}.",
    "yourTurn": "Твой ход ↓",
    "canYouSolve": "Сможешь найти все? ↓",
    "description": "{{title}}. {{result}} В сообщении есть ссылка на эту же задачу.",
    "preview": "ПРЕДПРОСМОТР СООБЩЕНИЯ",
    "copied": "Скопировано",
    "copyResult": "Скопировать результат",
    "copyChallenge": "Скопировать вызов",
    "native": "Поделиться…",
    "nativeLabel": "Поделиться в другом приложении",
    "reaction": "Добавьте реакцию",
    "optional": "необязательно",
    "manual": "Выделить текст вручную",
    "fullMessage": "Сообщение целиком",
    "copiedMessage": "Скопировано. Вставьте сообщение в чат, группу или куда угодно.",
    "copyFailed": "Не удалось скопировать автоматически. Выделите текст и скопируйте его.",
    "nativeDone": "Сообщение можно скопировать снова в любой момент.",
    "nativeCancelled": "Сообщение никуда не делось.",
    "nativeFailed": "Не удалось открыть меню «Поделиться». Можно просто скопировать сообщение.",
    "solvedExplainer": "Каждый значок 🟡🟡 — одна пара. По их порядку нельзя восстановить поле.",
    "challengeExplainer": "Ссылка откроет эту же задачу. Каждой точке нужна пара.",
    "solutionPrivate": "Ваше решение останется при вас.",
    "reactionCalm": "😌 Отличная передышка.",
    "reactionThinking": "🧠 Пришлось подумать.",
    "reactionChallenge": "😈 Бросаю тебе вызов."
  }
}
