0e3c4b8d47
- Add KellyCalculator (Domain/Betting): pure fractional-Kelly stake from win probability, decimal odds, bankroll, and fraction (default quarter-Kelly). Returns 0 on non-positive edge; truncates the suggestion down to 2 decimals so it never exceeds the computed figure. 19 unit tests. - MyBets: add a page-local stake helper (bankroll + win-probability inputs) that suggests a quarter-Kelly stake from the form's rate, with an Apply button and a no-edge message. Win probability is user-supplied, not derived from a signal. - Localization (en+ru) for the Kelly helper and the export-hub keys (shared resx).
496 lines
42 KiB
XML
496 lines
42 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<root>
|
||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||
<xsd:element name="root" msdata:IsDataSet="true">
|
||
<xsd:complexType>
|
||
<xsd:choice maxOccurs="unbounded">
|
||
<xsd:element name="metadata">
|
||
<xsd:complexType>
|
||
<xsd:sequence>
|
||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||
</xsd:sequence>
|
||
<xsd:attribute name="name" type="xsd:string" />
|
||
<xsd:attribute name="type" type="xsd:string" />
|
||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||
<xsd:attribute ref="xml:space" />
|
||
</xsd:complexType>
|
||
</xsd:element>
|
||
<xsd:element name="assembly">
|
||
<xsd:complexType>
|
||
<xsd:attribute name="alias" type="xsd:string" />
|
||
<xsd:attribute name="name" type="xsd:string" />
|
||
</xsd:complexType>
|
||
</xsd:element>
|
||
<xsd:element name="data">
|
||
<xsd:complexType>
|
||
<xsd:sequence>
|
||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||
</xsd:sequence>
|
||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||
<xsd:attribute name="type" type="xsd:string" />
|
||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||
<xsd:attribute ref="xml:space" />
|
||
</xsd:complexType>
|
||
</xsd:element>
|
||
<xsd:element name="resheader">
|
||
<xsd:complexType>
|
||
<xsd:sequence>
|
||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||
</xsd:sequence>
|
||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||
</xsd:complexType>
|
||
</xsd:element>
|
||
</xsd:choice>
|
||
</xsd:complexType>
|
||
</xsd:element>
|
||
</xsd:schema>
|
||
<resheader name="resmimetype"><value>text/microsoft-resx</value></resheader>
|
||
<resheader name="version"><value>2.0</value></resheader>
|
||
<resheader name="reader"><value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader>
|
||
<resheader name="writer"><value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader>
|
||
|
||
<!-- App chrome -->
|
||
<data name="App.Title"><value>Marathon Odds Lab</value></data>
|
||
<data name="App.Tagline"><value>Аналитика коэффициентов marathonbet.by</value></data>
|
||
<data name="App.BrandMark"><value>Marathon</value></data>
|
||
<data name="App.Dateline"><value>Лаборатория коэффициентов</value></data>
|
||
|
||
<!-- Navigation -->
|
||
<data name="Nav.Section.Analysis"><value>Анализ</value></data>
|
||
<data name="Nav.Section.System"><value>Система</value></data>
|
||
<data name="Nav.Dashboard"><value>Сводка</value></data>
|
||
<data name="Nav.PreMatch"><value>До матча</value></data>
|
||
<data name="Nav.Live"><value>Лайв</value></data>
|
||
<data name="Nav.Anomalies"><value>Аномалии</value></data>
|
||
<data name="Nav.Results"><value>Результаты</value></data>
|
||
<data name="Nav.Settings"><value>Настройки</value></data>
|
||
<data name="Nav.Export"><value>Экспорт</value></data>
|
||
|
||
<!-- Home / Dashboard -->
|
||
<data name="Home.Kicker"><value>Сводка</value></data>
|
||
<data name="Home.Title"><value>Поиск аномалий в коэффициентах</value></data>
|
||
<data name="Home.Lede"><value>Снимаем линии marathonbet.by по расписанию, ищем разворот фаворита и удерживаем доказательства каждой аномалии.</value></data>
|
||
<data name="Home.Stat.Events"><value>Событий в работе</value></data>
|
||
<data name="Home.Stat.Snapshots"><value>Снимков сегодня</value></data>
|
||
<data name="Home.Stat.Anomalies"><value>Аномалий найдено</value></data>
|
||
<data name="Home.Stat.Coverage"><value>Видов спорта</value></data>
|
||
<data name="Home.Section.Latest"><value>Свежий поток</value></data>
|
||
<data name="Home.Section.Pipeline"><value>Конвейер сбора</value></data>
|
||
<data name="Home.Pipeline.Step1"><value>Сбор расписания (`/su`)</value></data>
|
||
<data name="Home.Pipeline.Step2"><value>Снимок коэффициентов</value></data>
|
||
<data name="Home.Pipeline.Step3"><value>Детектор разворота</value></data>
|
||
<data name="Home.Pipeline.Step4"><value>Экспорт XLSX</value></data>
|
||
<data name="Home.Empty"><value>Пока пусто. Запустите фоновые сборщики на странице «Настройки», чтобы пошёл поток данных.</value></data>
|
||
<data name="Home.Empty.Heading"><value>Пока ничего не собрано</value></data>
|
||
<data name="Home.Empty.Cta"><value>Открыть настройки</value></data>
|
||
<data name="Home.NoSignals"><value>Идёт сбор линий — разворотов пока нет.</value></data>
|
||
<data name="Home.ViewAll"><value>Все сигналы</value></data>
|
||
<data name="Home.Stat.NewToday"><value>{0} новых сегодня</value></data>
|
||
<data name="Scraping.On"><value>Идёт сбор</value></data>
|
||
<data name="Scraping.Off"><value>Пауза</value></data>
|
||
<data name="Scraping.Aria"><value>Статус сбора данных</value></data>
|
||
|
||
<!-- Settings — sections -->
|
||
<data name="Settings.Kicker"><value>Конфигурация</value></data>
|
||
<data name="Settings.Title"><value>Настройки</value></data>
|
||
<data name="Settings.Lede"><value>Каждый параметр сборщика, хранилища, детектора и локализации. Изменения сохраняются в appsettings.Local.json и применяются на лету.</value></data>
|
||
<data name="Settings.Section.Scraping"><value>Сбор</value></data>
|
||
<data name="Settings.Section.Workers"><value>Фоновые задачи</value></data>
|
||
<data name="Settings.Section.Storage"><value>Хранилище</value></data>
|
||
<data name="Settings.Section.Anomaly"><value>Детектор аномалий</value></data>
|
||
<data name="Settings.Section.Localization"><value>Локализация</value></data>
|
||
<data name="Settings.Action.Reset"><value>Сбросить раздел</value></data>
|
||
<data name="Settings.Action.Save"><value>Сохранить</value></data>
|
||
<data name="Settings.Action.SaveAll"><value>Сохранить все</value></data>
|
||
<data name="Settings.Confirm.Title"><value>Подтвердите изменения</value></data>
|
||
<data name="Settings.Confirm.Body"><value>Параметры будут записаны в appsettings.Local.json и перечитаны службами. Продолжить?</value></data>
|
||
<data name="Settings.Saved"><value>Настройки сохранены.</value></data>
|
||
<data name="Settings.SaveFailed"><value>Не удалось сохранить настройки.</value></data>
|
||
|
||
<!-- Settings — Scraping -->
|
||
<data name="Settings.Scraping.PollingIntervalSeconds"><value>Интервал опроса (сек)</value></data>
|
||
<data name="Settings.Scraping.PollingIntervalSeconds.Hint"><value>Как часто перечитывать список матчей. Минимум 5 секунд.</value></data>
|
||
<data name="Settings.Scraping.MaxConcurrentRequests"><value>Параллельных запросов</value></data>
|
||
<data name="Settings.Scraping.MaxConcurrentRequests.Hint"><value>Не более 8 — иначе увидим 429.</value></data>
|
||
<data name="Settings.Scraping.UserAgents"><value>Пул User-Agent</value></data>
|
||
<data name="Settings.Scraping.UserAgents.Hint"><value>По одному значению на строку. Ротируется на запрос.</value></data>
|
||
<data name="Settings.Scraping.RetryMaxAttempts"><value>Повторы при сбое</value></data>
|
||
<data name="Settings.Scraping.RetryBaseDelayMs"><value>Базовая задержка (мс)</value></data>
|
||
<data name="Settings.Scraping.RateLimitRps"><value>Лимит RPS</value></data>
|
||
<data name="Settings.Scraping.RateLimitRps.Hint"><value>Запросов в секунду. Рекомендовано 1.</value></data>
|
||
<data name="Settings.Scraping.BaseUrl"><value>Базовый URL</value></data>
|
||
<data name="Settings.Scraping.RequestTimeoutSeconds"><value>Тайм-аут запроса (сек)</value></data>
|
||
<data name="Settings.Scraping.UsePlaywright"><value>Использовать Playwright</value></data>
|
||
|
||
<!-- Settings — Workers -->
|
||
<data name="Settings.Workers.UpcomingScheduleCron"><value>Cron расписания (UPCOMING)</value></data>
|
||
<data name="Settings.Workers.UpcomingScheduleCron.Hint"><value>Стандартный cron. По умолчанию каждые 5 минут.</value></data>
|
||
<data name="Settings.Workers.LivePollerEnabled"><value>Лайв-сборщик включён</value></data>
|
||
<data name="Settings.Workers.UpcomingPollerEnabled"><value>Сборщик расписания включён</value></data>
|
||
<data name="Settings.Workers.LivePollIntervalSeconds"><value>Интервал лайв-опроса (сек)</value></data>
|
||
<data name="Settings.Workers.LivePollIntervalSeconds.Hint"><value>Пауза между циклами сбора лайв-котировок. По умолчанию 30 с.</value></data>
|
||
<data name="Settings.Workers.ResultsPollerEnabled"><value>Сборщик результатов включён</value></data>
|
||
<data name="Settings.Workers.ResultsPollerEnabled.Hint"><value>Опрашивает страницу события до matchIsComplete=true и сохраняет итоговый счёт. Можно включать.</value></data>
|
||
<data name="Settings.Workers.ResultsPollIntervalSeconds"><value>Интервал сборщика результатов (сек)</value></data>
|
||
<data name="Settings.Workers.AnomalyDetectionEnabled"><value>Детектор аномалий включён</value></data>
|
||
<data name="Settings.Workers.AnomalyDetectionEnabled.Hint"><value>Запускает детектор разворота после паузы на каждом цикле. Отключение приостанавливает анализ без потери накопленных снимков.</value></data>
|
||
|
||
<!-- Settings — Storage -->
|
||
<data name="Settings.Storage.DatabasePath"><value>Путь к SQLite</value></data>
|
||
<data name="Settings.Storage.ExportDirectory"><value>Каталог экспорта</value></data>
|
||
<data name="Settings.Storage.SnapshotRetentionDays"><value>Хранить снимки (дней)</value></data>
|
||
<data name="Settings.Storage.Validation.DatabasePathRequired"><value>Путь к SQLite обязателен.</value></data>
|
||
<data name="Settings.Storage.Validation.ExportDirectoryRequired"><value>Каталог экспорта обязателен.</value></data>
|
||
<data name="Settings.Storage.Validation.DatabasePathInvalid"><value>Путь к SQLite должен быть внутри папки приложения и не содержать «..».</value></data>
|
||
<data name="Settings.Storage.Validation.ExportDirectoryInvalid"><value>Каталог экспорта должен быть внутри папки приложения и не содержать «..».</value></data>
|
||
|
||
<!-- Settings — Anomaly -->
|
||
<data name="Settings.Anomaly.SuspensionGapSeconds"><value>Окно «заморозки» (сек)</value></data>
|
||
<data name="Settings.Anomaly.OddsFlipThreshold"><value>Порог флипа (Δ вероятности)</value></data>
|
||
<data name="Settings.Anomaly.MinSnapshotCount"><value>Мин. число снимков</value></data>
|
||
<data name="Settings.Anomaly.DetectionIntervalSeconds"><value>Интервал детектора (сек)</value></data>
|
||
|
||
<!-- Settings — Localization -->
|
||
<data name="Settings.Localization.DefaultCulture"><value>Язык интерфейса по умолчанию</value></data>
|
||
|
||
<!-- Locale switcher -->
|
||
<data name="Locale.Russian"><value>RU</value></data>
|
||
<data name="Locale.English"><value>EN</value></data>
|
||
<data name="Locale.Tooltip.Switch"><value>Сменить язык</value></data>
|
||
|
||
<!-- Theme toggle -->
|
||
<data name="Theme.Toggle.Light"><value>Светлая тема</value></data>
|
||
<data name="Theme.Toggle.Dark"><value>Тёмная тема</value></data>
|
||
|
||
<!-- Common -->
|
||
<data name="Common.Save"><value>Сохранить</value></data>
|
||
<data name="Common.Cancel"><value>Отмена</value></data>
|
||
<data name="Common.Reset"><value>Сбросить</value></data>
|
||
<data name="Common.Loading"><value>Загрузка…</value></data>
|
||
<data name="Common.Empty"><value>Нет данных</value></data>
|
||
<data name="Common.Yes"><value>Да</value></data>
|
||
<data name="Common.No"><value>Нет</value></data>
|
||
|
||
<!-- Anomaly (Phase 7 placeholders) -->
|
||
<data name="Anomaly.Live"><value>Аномалия</value></data>
|
||
<data name="Anomaly.Kind.SuspensionFlip"><value>Разворот после заморозки</value></data>
|
||
<data name="Anomaly.Score"><value>Уверенность</value></data>
|
||
|
||
<!-- Phase 7 — Лента аномалий -->
|
||
<data name="Anomaly.Title"><value>Лента аномалий</value></data>
|
||
<data name="Anomaly.Lede"><value>Сигнальный журнал «разворотов» в реальном времени. Детектор проходит каждый цикл, считает подразумеваемые вероятности до и после каждой заморозки рынка и ранжирует находки по уверенности.</value></data>
|
||
<data name="Anomaly.Severity.Low"><value>Низкая</value></data>
|
||
<data name="Anomaly.Severity.Medium"><value>Средняя</value></data>
|
||
<data name="Anomaly.Severity.High"><value>Высокая</value></data>
|
||
<data name="Anomaly.Filter.AnySeverity"><value>Любая</value></data>
|
||
<data name="Anomaly.Filter.Severity"><value>Мин. важность</value></data>
|
||
<data name="Anomaly.Filter.Sport"><value>Вид спорта</value></data>
|
||
<data name="Anomaly.Filter.From"><value>Обнаружено с</value></data>
|
||
<data name="Anomaly.Filter.To"><value>Обнаружено по</value></data>
|
||
<data name="Anomaly.Filter.DateRange"><value>Диапазон дат</value></data>
|
||
<data name="Anomaly.Filter.MarkRead"><value>Отметить прочитанными</value></data>
|
||
<data name="Anomaly.Card.DetectedAt"><value>Обнаружено</value></data>
|
||
<data name="Anomaly.Card.Score"><value>Уверенность</value></data>
|
||
<data name="Anomaly.Card.Kind"><value>Тип</value></data>
|
||
<data name="Anomaly.Card.GapSeconds"><value>Длительность паузы</value></data>
|
||
<data name="Anomaly.Evidence.Pre"><value>До паузы</value></data>
|
||
<data name="Anomaly.Evidence.Post"><value>После паузы</value></data>
|
||
<data name="Anomaly.Evidence.Probability"><value>Подразум. вер.</value></data>
|
||
<data name="Anomaly.Evidence.Rate"><value>Кэф</value></data>
|
||
<data name="Anomaly.Evidence.SuspensionDuration"><value>Длительность паузы</value></data>
|
||
<data name="Anomaly.Evidence.FavouriteSwap"><value>Смена фаворита</value></data>
|
||
<data name="Anomaly.Detail.EvidenceTitle"><value>Хроника свидетельств</value></data>
|
||
<data name="Anomaly.Detail.LinkBackToEvent"><value>Открыть событие</value></data>
|
||
<data name="Anomaly.Detail.BackToFeed"><value>К ленте</value></data>
|
||
<data name="Anomaly.Detail.NotFound"><value>Аномалия не найдена — возможно, она была удалена.</value></data>
|
||
<data name="Anomaly.Empty.NoneInRange"><value>Под текущие фильтры аномалии не попадают. Снизьте порог важности или расширьте диапазон дат.</value></data>
|
||
<data name="Anomaly.Stat.Total"><value>Всего</value></data>
|
||
<data name="Anomaly.Nav.UnreadAria"><value>Непрочитанные аномалии</value></data>
|
||
|
||
<!-- Phase 6 — Список матчей / Лайв / Детали / Экспорт -->
|
||
<data name="PreMatch.Title"><value>Расписание до матча</value></data>
|
||
<data name="PreMatch.Lede"><value>Предстоящие события с последним предматчевым превью «1 / X / 2». Фильтр по виду спорта, стране, лиге и команде.</value></data>
|
||
<data name="PreMatch.Empty"><value>Под текущие фильтры не подпадает ни одно событие. Расширьте диапазон или снимите чипы выше.</value></data>
|
||
<data name="PreMatch.Filter.Toolbar"><value>Панель фильтров</value></data>
|
||
<data name="PreMatch.Filter.From"><value>С</value></data>
|
||
<data name="PreMatch.Filter.To"><value>По</value></data>
|
||
<data name="PreMatch.Filter.Sport"><value>Виды спорта</value></data>
|
||
<data name="PreMatch.Filter.Country"><value>Страны</value></data>
|
||
<data name="PreMatch.Filter.Search"><value>Поиск по лиге или команде</value></data>
|
||
<data name="PreMatch.Filter.Search.Placeholder"><value>напр. Реал Мадрид, NBA, Ролан Гаррос…</value></data>
|
||
<data name="PreMatch.Column.Time"><value>Время</value></data>
|
||
<data name="PreMatch.Column.Country"><value>Страна</value></data>
|
||
<data name="PreMatch.Column.League"><value>Лига</value></data>
|
||
<data name="PreMatch.Column.Match"><value>Матч</value></data>
|
||
<data name="PreMatch.Footer.Events"><value>событий</value></data>
|
||
<data name="PreMatch.Footer.Refreshed"><value>обновлено в</value></data>
|
||
|
||
<data name="Live.Title"><value>Лайв-поток коэффициентов</value></data>
|
||
<data name="Live.Lede"><value>Текущие лайв-события с последним сделанным снимком. Список обновляется по настроенному интервалу опроса; строки пульсируют при движении котировки.</value></data>
|
||
<data name="Live.AutoRefresh"><value>Автообновление</value></data>
|
||
|
||
<data name="Detail.Title"><value>Событие</value></data>
|
||
<data name="Detail.NotFound"><value>Событие не найдено — возможно, оно убрано из исходного потока.</value></data>
|
||
<data name="Detail.BackToList"><value>К расписанию</value></data>
|
||
<data name="Detail.Export"><value>Экспорт</value></data>
|
||
<data name="Detail.Tabs.Aria"><value>Вкладки разделов ставок</value></data>
|
||
<data name="Detail.Tabs.Match"><value>Матч</value></data>
|
||
<data name="Detail.Tabs.Period"><value>Период {0}</value></data>
|
||
<data name="Detail.NoBoards"><value>Снимков ставок по этому событию ещё нет.</value></data>
|
||
<data name="Detail.BetType"><value>Тип</value></data>
|
||
<data name="Detail.Side"><value>Сторона</value></data>
|
||
<data name="Detail.Threshold"><value>Порог</value></data>
|
||
<data name="Detail.Rate"><value>Кэф</value></data>
|
||
<data name="Detail.BetType.Win"><value>Победа</value></data>
|
||
<data name="Detail.BetType.Draw"><value>Ничья</value></data>
|
||
<data name="Detail.BetType.WinFora"><value>Фора</value></data>
|
||
<data name="Detail.BetType.Total"><value>Тотал</value></data>
|
||
<data name="Detail.Side.Side1"><value>1</value></data>
|
||
<data name="Detail.Side.Side2"><value>2</value></data>
|
||
<data name="Detail.Side.Draw"><value>X</value></data>
|
||
<data name="Detail.Side.Less"><value>Меньше</value></data>
|
||
<data name="Detail.Side.More"><value>Больше</value></data>
|
||
<data name="Detail.Chart.Title"><value>Динамика коэффициентов</value></data>
|
||
<data name="Detail.Chart.Empty"><value>Снимков по этому событию ещё нет.</value></data>
|
||
<data name="Detail.Chart.Time"><value>Время</value></data>
|
||
<data name="Detail.Chart.Win1"><value>П1</value></data>
|
||
<data name="Detail.Chart.Draw"><value>X</value></data>
|
||
<data name="Detail.Chart.Win2"><value>П2</value></data>
|
||
<data name="Detail.Chart.AccessibleSummary"><value>Показать таблицу значений</value></data>
|
||
<data name="Detail.History.Title"><value>История снимков</value></data>
|
||
<data name="Detail.History.Source"><value>Источник</value></data>
|
||
<data name="Detail.History.BetCount"><value>Ставок</value></data>
|
||
<data name="Detail.History.Live"><value>ЛАЙВ</value></data>
|
||
<data name="Detail.History.PreMatch"><value>ДО МАТЧА</value></data>
|
||
|
||
<data name="Export.Kicker"><value>Экспорт</value></data>
|
||
<data name="Export.Title"><value>Экспорт в Excel</value></data>
|
||
<data name="Export.DateRange.From"><value>Дата начала</value></data>
|
||
<data name="Export.DateRange.To"><value>Дата конца</value></data>
|
||
<data name="Export.Kind.Label"><value>Тип снимков</value></data>
|
||
<data name="Export.Kind.PreMatch"><value>Только до матча</value></data>
|
||
<data name="Export.Kind.Live"><value>Только лайв</value></data>
|
||
<data name="Export.Kind.Combined"><value>Комбинированный</value></data>
|
||
<data name="Export.Submit"><value>Экспорт</value></data>
|
||
<data name="Export.Cancel"><value>Отмена</value></data>
|
||
<data name="Export.Success"><value>Файл сохранён в {0}</value></data>
|
||
<data name="Export.Hub.Lede"><value>Экспорт собранных снимков коэффициентов в книгу Excel за любой диапазон дат — без необходимости открывать конкретное событие.</value></data>
|
||
<data name="Export.Hub.Action"><value>Настроить экспорт</value></data>
|
||
<data name="Export.Hub.FilenameHint"><value>Сохраняется как Marathon_<от>_to_<до>.xlsx в указанной папке экспорта.</value></data>
|
||
<data name="Export.Error.MissingDates"><value>Выберите даты начала и конца.</value></data>
|
||
<data name="Export.Error.InvalidRange"><value>Дата конца должна быть не раньше даты начала.</value></data>
|
||
<data name="Export.Error.Failed"><value>Экспорт не удался.</value></data>
|
||
|
||
<data name="Sport.Basketball"><value>Баскетбол</value></data>
|
||
<data name="Sport.Football"><value>Футбол</value></data>
|
||
<data name="Sport.Tennis"><value>Теннис</value></data>
|
||
<data name="Sport.Hockey"><value>Хоккей</value></data>
|
||
|
||
<data name="Results.Title"><value>Результаты матчей</value></data>
|
||
<data name="Results.Lede"><value>Финальные счета загруженных событий. Обходим страницу события, ждём matchIsComplete=true, фиксируем сторону-победителя.</value></data>
|
||
<data name="Results.Action.LoadNew"><value>Загрузить результаты</value></data>
|
||
<data name="Results.Action.OpenList"><value>К списку</value></data>
|
||
<data name="Results.Filter.From"><value>С</value></data>
|
||
<data name="Results.Filter.To"><value>По</value></data>
|
||
<data name="Results.Filter.Search"><value>Поиск</value></data>
|
||
<data name="Results.Filter.Search.Placeholder"><value>Команда, лига, категория…</value></data>
|
||
<data name="Results.Filter.Sport"><value>Спорт</value></data>
|
||
<data name="Results.Filter.Winner"><value>Победитель</value></data>
|
||
<data name="Results.Filter.Winner.All"><value>Любой</value></data>
|
||
<data name="Results.Filter.Winner.Side1"><value>Команда 1</value></data>
|
||
<data name="Results.Filter.Winner.Side2"><value>Команда 2</value></data>
|
||
<data name="Results.Filter.Winner.Draw"><value>Ничья</value></data>
|
||
<data name="Results.Column.Time"><value>Время</value></data>
|
||
<data name="Results.Column.Country"><value>Страна</value></data>
|
||
<data name="Results.Column.League"><value>Лига</value></data>
|
||
<data name="Results.Column.Match"><value>Матч</value></data>
|
||
<data name="Results.Column.Score"><value>Счёт</value></data>
|
||
<data name="Results.Column.Winner"><value>Победитель</value></data>
|
||
<data name="Results.Column.CompletedAt"><value>Завершено</value></data>
|
||
<data name="Results.Empty"><value>Результатов в выбранном диапазоне ещё нет. Запустите загрузку или подождите завершения матчей.</value></data>
|
||
<data name="Results.Footer.Items"><value>результатов</value></data>
|
||
|
||
<data name="Results.Loader.Kicker"><value>Загрузка</value></data>
|
||
<data name="Results.Loader.Title"><value>Загрузить результаты</value></data>
|
||
<data name="Results.Loader.Lede"><value>Опросим страницу каждого события, заберём финальный счёт и сторону-победителя. Выберите диапазон или конкретные события.</value></data>
|
||
<data name="Results.Loader.Mode"><value>Режим</value></data>
|
||
<data name="Results.Loader.Mode.AllInRange"><value>Все в диапазоне</value></data>
|
||
<data name="Results.Loader.Mode.Selected"><value>Выбранные события</value></data>
|
||
<data name="Results.Loader.Selected.Empty"><value>Все события в этом диапазоне уже имеют результат.</value></data>
|
||
<data name="Results.Loader.Selected.CountFormat"><value>{0} выбрано</value></data>
|
||
<data name="Results.Loader.Action.Load"><value>Загрузить</value></data>
|
||
<data name="Results.Loader.Action.Cancel"><value>Отменить</value></data>
|
||
<data name="Results.Loader.Action.Back"><value>Назад</value></data>
|
||
<data name="Results.Loader.Progress.Format"><value>{0} / {1}</value></data>
|
||
<data name="Results.Loader.Progress.Loaded"><value>Загружено</value></data>
|
||
<data name="Results.Loader.Progress.AlreadyLoaded"><value>Уже было</value></data>
|
||
<data name="Results.Loader.Progress.NotYetComplete"><value>Не завершено</value></data>
|
||
<data name="Results.Loader.Progress.Failed"><value>Ошибка</value></data>
|
||
<data name="Results.Loader.Summary.Format"><value>Загружено {0}, пропущено {1}, всего обработано {2}.</value></data>
|
||
<data name="Results.Loader.Empty.NoCandidates"><value>Нет событий для загрузки в этом диапазоне.</value></data>
|
||
|
||
<data name="Nav.Insights"><value>Калибровка</value></data>
|
||
<data name="Insights.Kicker"><value>Калибровка</value></data>
|
||
<data name="Insights.Title"><value>Угадывают ли флипы победителя?</value></data>
|
||
<data name="Insights.Lede"><value>Каждая зафиксированная аномалия suspension-flip сопоставлена с итогом матча. Hit rate показывает, оказался ли пост-флип фаворит реальным победителем — это и есть единственная метрика, говорящая, что детектор работает.</value></data>
|
||
<data name="Insights.Stat.HitRate"><value>Hit rate</value></data>
|
||
<data name="Insights.Stat.HitRate.Hint"><value>Пост-флип фаворит выиграл.</value></data>
|
||
<data name="Insights.Stat.Resolved"><value>Подтверждены</value></data>
|
||
<data name="Insights.Stat.Resolved.Hint"><value>Аномалии с известным итогом.</value></data>
|
||
<data name="Insights.Stat.Unresolved"><value>Без результата</value></data>
|
||
<data name="Insights.Stat.Unresolved.Hint"><value>Ждём окончания матча.</value></data>
|
||
<data name="Insights.Stat.Hits"><value>Попадания</value></data>
|
||
<data name="Insights.Stat.Misses"><value>Промахи</value></data>
|
||
<data name="Insights.Stat.Total"><value>Всего аномалий</value></data>
|
||
<data name="Insights.Section.BySeverity"><value>По уровню</value></data>
|
||
<data name="Insights.Section.BySport"><value>По виду спорта</value></data>
|
||
<data name="Insights.Section.ByScore"><value>По уверенности</value></data>
|
||
<data name="Insights.Section.Resolved"><value>Подтверждённые аномалии</value></data>
|
||
<data name="Insights.Section.Unresolved"><value>Ожидают итога</value></data>
|
||
<data name="Insights.Column.DetectedAt"><value>Замечено</value></data>
|
||
<data name="Insights.Column.Match"><value>Матч</value></data>
|
||
<data name="Insights.Column.Sport"><value>Вид спорта</value></data>
|
||
<data name="Insights.Column.Score"><value>Score</value></data>
|
||
<data name="Insights.Column.PreFavourite"><value>До флипа</value></data>
|
||
<data name="Insights.Column.PostFavourite"><value>После флипа</value></data>
|
||
<data name="Insights.Column.Winner"><value>Победитель</value></data>
|
||
<data name="Insights.Column.Outcome"><value>Вердикт</value></data>
|
||
<data name="Insights.Column.Bucket"><value>Группа</value></data>
|
||
<data name="Insights.Column.HitRate"><value>Hit rate</value></data>
|
||
<data name="Insights.Column.HitsOfTotal"><value>Попаданий / всего</value></data>
|
||
<data name="Insights.Outcome.Hit"><value>Попадание</value></data>
|
||
<data name="Insights.Outcome.Miss"><value>Промах</value></data>
|
||
<data name="Insights.Outcome.Unresolved"><value>Ожидает</value></data>
|
||
<data name="Insights.Side.Side1"><value>Сторона 1</value></data>
|
||
<data name="Insights.Side.Side2"><value>Сторона 2</value></data>
|
||
<data name="Insights.Side.Draw"><value>Ничья</value></data>
|
||
<data name="Insights.Side.Unknown"><value>—</value></data>
|
||
<data name="Insights.Empty.None"><value>Аномалии ещё не зафиксированы. Когда детектор отметит первую и матч завершится, его вердикт появится здесь.</value></data>
|
||
<data name="Insights.Empty.NoneResolved"><value>Аномалии есть, но ни у одного из их событий нет результата. Запустите загрузчик результатов или подождите окончания матчей.</value></data>
|
||
<data name="Insights.Action.Refresh"><value>Обновить</value></data>
|
||
<data name="Insights.Action.OpenAnomaly"><value>Открыть</value></data>
|
||
<data name="Insights.Bucket.NotApplicable"><value>—</value></data>
|
||
|
||
<data name="Nav.MyBets"><value>Мои ставки</value></data>
|
||
<data name="Journal.Kicker"><value>Журнал</value></data>
|
||
<data name="Journal.Title"><value>Ваши ставки и CLV</value></data>
|
||
<data name="Journal.Lede"><value>Каждая зафиксированная ставка с автоматическим расчётом результата и оценкой против линии закрытия. Положительный CLV — главный долгосрочный индикатор того, что вы стабильно обыгрываете рынок.</value></data>
|
||
<data name="Journal.Stat.Roi"><value>ROI</value></data>
|
||
<data name="Journal.Stat.Roi.Hint"><value>Чистая прибыль ÷ сумма ставок.</value></data>
|
||
<data name="Journal.Stat.StrikeRate"><value>Strike rate</value></data>
|
||
<data name="Journal.Stat.StrikeRate.Hint"><value>Победы ÷ (победы + поражения).</value></data>
|
||
<data name="Journal.Stat.AvgClv"><value>Средний CLV</value></data>
|
||
<data name="Journal.Stat.AvgClv.Hint"><value>Средний прирост вероятности к линии закрытия.</value></data>
|
||
<data name="Journal.Stat.NetProfit"><value>Чистая прибыль</value></data>
|
||
<data name="Journal.Stat.NetProfit.Hint"><value>Возвраты минус ставки (учтены сыгравшие).</value></data>
|
||
<data name="Journal.Stat.TotalBets"><value>Всего ставок</value></data>
|
||
<data name="Journal.Stat.Pending"><value>В ожидании</value></data>
|
||
<data name="Journal.Stat.Won"><value>Победа</value></data>
|
||
<data name="Journal.Stat.Lost"><value>Проигрыш</value></data>
|
||
<data name="Journal.Stat.Void"><value>Возврат</value></data>
|
||
<data name="Journal.Section.Add"><value>Записать ставку</value></data>
|
||
<data name="Journal.Section.List"><value>Журнал ставок</value></data>
|
||
<data name="Journal.Action.Refresh"><value>Обновить</value></data>
|
||
<data name="Journal.Action.Resolve"><value>Рассчитать ожидающие</value></data>
|
||
<data name="Journal.Action.Submit"><value>Записать</value></data>
|
||
<data name="Journal.Action.Delete"><value>Удалить</value></data>
|
||
<data name="Journal.Action.Confirm"><value>Подтвердить</value></data>
|
||
<data name="Journal.Action.Cancel"><value>Отмена</value></data>
|
||
<data name="Journal.Field.EventId"><value>ID события</value></data>
|
||
<data name="Journal.Field.EventId.Hint"><value>Числовой ID из URL детальной страницы.</value></data>
|
||
<data name="Journal.Field.Type"><value>Тип ставки</value></data>
|
||
<data name="Journal.Field.Side"><value>Сторона</value></data>
|
||
<data name="Journal.Field.Value"><value>Порог</value></data>
|
||
<data name="Journal.Field.Value.Hint"><value>Гандикап или тотал (например −1.5, 2.5).</value></data>
|
||
<data name="Journal.Field.Rate"><value>Кэф на момент ставки</value></data>
|
||
<data name="Journal.Field.Stake"><value>Сумма ставки</value></data>
|
||
<data name="Journal.Field.Notes"><value>Заметки</value></data>
|
||
<data name="Journal.Field.Notes.Placeholder"><value>Тег стратегии, букмекер или что угодно для памяти…</value></data>
|
||
<data name="Journal.BetType.Win"><value>Победа</value></data>
|
||
<data name="Journal.BetType.Draw"><value>Ничья</value></data>
|
||
<data name="Journal.BetType.WinFora"><value>Фора</value></data>
|
||
<data name="Journal.BetType.Total"><value>Тотал</value></data>
|
||
<data name="Journal.Side.Side1"><value>Сторона 1</value></data>
|
||
<data name="Journal.Side.Side2"><value>Сторона 2</value></data>
|
||
<data name="Journal.Side.Draw"><value>Ничья</value></data>
|
||
<data name="Journal.Side.Less"><value>Меньше</value></data>
|
||
<data name="Journal.Side.More"><value>Больше</value></data>
|
||
<data name="Journal.Outcome.Pending"><value>Ожидает</value></data>
|
||
<data name="Journal.Outcome.Won"><value>Победа</value></data>
|
||
<data name="Journal.Outcome.Lost"><value>Проигрыш</value></data>
|
||
<data name="Journal.Outcome.Void"><value>Возврат</value></data>
|
||
<data name="Journal.Column.PlacedAt"><value>Размещено</value></data>
|
||
<data name="Journal.Column.Match"><value>Матч</value></data>
|
||
<data name="Journal.Column.Selection"><value>Выбор</value></data>
|
||
<data name="Journal.Column.Stake"><value>Ставка</value></data>
|
||
<data name="Journal.Column.Rate"><value>Кэф</value></data>
|
||
<data name="Journal.Column.Profit"><value>P&L</value></data>
|
||
<data name="Journal.Column.Clv"><value>CLV</value></data>
|
||
<data name="Journal.Column.Outcome"><value>Итог</value></data>
|
||
<data name="Journal.Empty.None"><value>Ставок пока нет. Запишите свою ставку через форму выше — после окончания матча журнал авто-проставит результат и посчитает CLV против последнего пре-матч снимка.</value></data>
|
||
<data name="Journal.Empty.NotApplicable"><value>—</value></data>
|
||
<data name="Journal.Error.Generic"><value>Не удалось сохранить ставку — проверьте ID события и повторите.</value></data>
|
||
<data name="Journal.Submitted"><value>Ставка записана.</value></data>
|
||
<data name="Journal.Kelly.Title"><value>Калькулятор ставки (¼-Келли)</value></data>
|
||
<data name="Journal.Kelly.Bankroll"><value>Банкролл</value></data>
|
||
<data name="Journal.Kelly.Probability"><value>Вероятность выигрыша (%)</value></data>
|
||
<data name="Journal.Kelly.Suggestion"><value>Рекомендуемая ставка: {0:0.00}</value></data>
|
||
<data name="Journal.Kelly.Apply"><value>Применить</value></data>
|
||
<data name="Journal.Kelly.NoEdge"><value>Нет преимущества при этом коэффициенте.</value></data>
|
||
<data name="Journal.Kelly.Hint"><value>Введите банкролл и вероятность для ставки по ¼-Келли.</value></data>
|
||
<data name="Journal.Resolve.None"><value>Ожидающих ставок к расчёту нет.</value></data>
|
||
<data name="Journal.Resolve.Done"><value>Рассчитано ожидающих: {0}.</value></data>
|
||
<data name="Journal.Confirm.Delete"><value>Удалить эту ставку безвозвратно?</value></data>
|
||
|
||
<data name="Nav.Backtest"><value>Бэктест</value></data>
|
||
<data name="Backtest.Kicker"><value>Симулятор</value></data>
|
||
<data name="Backtest.Title"><value>Прогон детектора по истории</value></data>
|
||
<data name="Backtest.Lede"><value>Запустите гипотетическую стратегию на всех зафиксированных аномалиях. Выберите порог уверенности и правило стейкинга — симулятор разыграет каждую ставку против реального исхода, нарастит банк и покажет ключевые метрики для оценки преимущества.</value></data>
|
||
<data name="Backtest.Section.Strategy"><value>Стратегия</value></data>
|
||
<data name="Backtest.Section.Headline"><value>Результат</value></data>
|
||
<data name="Backtest.Section.Equity"><value>Кривая банка</value></data>
|
||
<data name="Backtest.Section.Trace"><value>Хронология ставок</value></data>
|
||
<data name="Backtest.Field.Bankroll"><value>Стартовый банк</value></data>
|
||
<data name="Backtest.Field.MinScore"><value>Мин. score аномалии</value></data>
|
||
<data name="Backtest.Field.MinScore.Hint"><value>Ставим только при уверенности не ниже этого порога.</value></data>
|
||
<data name="Backtest.Field.StakeRule"><value>Правило стейкинга</value></data>
|
||
<data name="Backtest.Field.FlatStake"><value>Фикс. ставка</value></data>
|
||
<data name="Backtest.Field.PercentOfBankroll"><value>Процент от банка</value></data>
|
||
<data name="Backtest.Field.KellyFraction"><value>Доля Келли</value></data>
|
||
<data name="Backtest.Field.KellyFraction.Hint"><value>0,25 (четверть-Келли) — консервативный дефолт.</value></data>
|
||
<data name="Backtest.StakeRule.Flat"><value>Фиксированная</value></data>
|
||
<data name="Backtest.StakeRule.PercentOfBankroll"><value>% от банка</value></data>
|
||
<data name="Backtest.StakeRule.Kelly"><value>Келли</value></data>
|
||
<data name="Backtest.Action.Run"><value>Запустить</value></data>
|
||
<data name="Backtest.Action.Running"><value>Симуляция…</value></data>
|
||
<data name="Backtest.Action.Cancel"><value>Отмена</value></data>
|
||
<data name="Backtest.Stat.FinalBankroll"><value>Итоговый банк</value></data>
|
||
<data name="Backtest.Stat.NetProfit"><value>Чистая прибыль</value></data>
|
||
<data name="Backtest.Stat.Roi"><value>ROI</value></data>
|
||
<data name="Backtest.Stat.MaxDrawdown"><value>Макс. просадка</value></data>
|
||
<data name="Backtest.Stat.BetsPlaced"><value>Поставлено</value></data>
|
||
<data name="Backtest.Stat.Wins"><value>Победы</value></data>
|
||
<data name="Backtest.Stat.Losses"><value>Поражения</value></data>
|
||
<data name="Backtest.Stat.Skipped"><value>Пропущено</value></data>
|
||
<data name="Backtest.Stat.MaxWinStreak"><value>Макс. серия побед</value></data>
|
||
<data name="Backtest.Stat.MaxLossStreak"><value>Макс. серия пораж.</value></data>
|
||
<data name="Backtest.Stat.TotalStaked"><value>Всего поставлено</value></data>
|
||
<data name="Backtest.Stat.TotalReturned"><value>Всего возвращено</value></data>
|
||
<data name="Backtest.Column.DetectedAt"><value>Замечено</value></data>
|
||
<data name="Backtest.Column.Match"><value>Матч</value></data>
|
||
<data name="Backtest.Column.Score"><value>Score</value></data>
|
||
<data name="Backtest.Column.Pick"><value>Выбор</value></data>
|
||
<data name="Backtest.Column.Rate"><value>Кэф</value></data>
|
||
<data name="Backtest.Column.Stake"><value>Ставка</value></data>
|
||
<data name="Backtest.Column.Payout"><value>Выплата</value></data>
|
||
<data name="Backtest.Column.Bankroll"><value>Банк</value></data>
|
||
<data name="Backtest.Column.Outcome"><value>Исход</value></data>
|
||
<data name="Backtest.Outcome.Win"><value>Победа</value></data>
|
||
<data name="Backtest.Outcome.Loss"><value>Проигрыш</value></data>
|
||
<data name="Backtest.Empty.NoData"><value>Аномалий с результатом ещё нет. Запустите загрузчик результатов, чтобы симулятору было на чём прогоняться.</value></data>
|
||
<data name="Backtest.Empty.NoBetsPlaced"><value>Стратегия не сделала ни одной ставки — снизьте порог score или поменяйте правило стейкинга.</value></data>
|
||
<data name="Backtest.Error.Generic"><value>Симуляция упала — проверьте параметры формы и повторите.</value></data>
|
||
</root>
|