From 486b99dbb8ec9383de36d2e6cd88c9fec08c7434 Mon Sep 17 00:00:00 2001 From: Ku6epXBOCTuK Date: Tue, 25 Aug 2026 09:49:15 +0500 Subject: [PATCH] refactor: add error messages i18n --- docs/{ => archive}/plan-i18n.md | 2 +- docs/backlog.md | 20 +---- web/src/lib/components/DropOverlay.svelte | 6 +- web/src/lib/components/DropZone.svelte | 6 +- web/src/lib/components/ToolPage.svelte | 18 ++-- web/src/lib/components/tool/SourceCard.svelte | 2 +- web/src/lib/core/affine.ts | 5 +- web/src/lib/core/alpha.test.ts | 2 +- web/src/lib/core/alpha.ts | 3 +- web/src/lib/core/color.ts | 5 +- web/src/lib/core/convolution.ts | 5 +- web/src/lib/core/errors.ts | 18 ++++ web/src/lib/core/generate.ts | 7 +- web/src/lib/core/geometry.test.ts | 10 +-- web/src/lib/core/geometry.ts | 5 +- web/src/lib/core/io.test.ts | 17 ++-- web/src/lib/core/io.ts | 28 ++++--- web/src/lib/core/text.ts | 14 ++-- web/src/lib/i18n/en.ts | 31 ++++++- web/src/lib/i18n/ru.ts | 31 ++++++- web/src/lib/i18n/smoke-i18n.test.ts | 82 +++++++++++++++++++ web/src/lib/registry.test.ts | 2 +- web/src/lib/registry.ts | 13 +-- web/src/lib/tools/executor.ts | 5 ++ web/src/lib/tools/executor.worker.ts | 6 +- web/src/lib/tools/pipeline.test.ts | 2 +- web/src/lib/tools/pipeline.ts | 11 +-- 27 files changed, 262 insertions(+), 94 deletions(-) rename docs/{ => archive}/plan-i18n.md (96%) create mode 100644 web/src/lib/core/errors.ts create mode 100644 web/src/lib/i18n/smoke-i18n.test.ts diff --git a/docs/plan-i18n.md b/docs/archive/plan-i18n.md similarity index 96% rename from docs/plan-i18n.md rename to docs/archive/plan-i18n.md index 1cfc805..45a40d3 100644 --- a/docs/plan-i18n.md +++ b/docs/archive/plan-i18n.md @@ -1,6 +1,6 @@ # План: i18n — русский и английский -> Статус: план к выполнению. +> **СТАТУС: ВЫПОЛНЕН 25.08.2026.** Базовая локаль — английский (реестр), русский — перевод в словаре; строки инструментов в реестре переведены на английский в рамках этапа C. ## 1. Что получается diff --git a/docs/backlog.md b/docs/backlog.md index f120e22..b7f72c6 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -1,21 +1,3 @@ # Backlog -## 1. Несколько языков — оценка: L, разбита на подзадачи - -### 1a. Инфраструктура i18n — M - -Модуль словарей (`locales/ru.ts`, `locales/en.ts`), функция перевода с фолбэком на базовый язык, состояние активной локали (localStorage), переключатель в шапке, обновление ``. - -### 1b. Перевод каркаса интерфейса — S/M - -Шапка, кнопки, подписи полей и состояний («Результат появится здесь», тексты ошибок исполнителя), главная-герой, страница каталога. - -### 1c. Перевод контента реестра — L по объёму, механическая - -Вынести title/description инструментов и label/options параметров в словари локалей с фолбэком. Объём: ~51 инструмент плюс параметры — основной трудозатратный кусок волны. - -### 1d. Поиск по любому языку — M - -Матчинг запроса против названий/описаний во всех поддерживаемых локалях сразу (не только активной); нормализация: нижний регистр, ё→е, снятие диакритики (NFD). Скоринг существующий сохраняется, лучшая локаль даёт балл. - -Транслитерация ru↔en наизусть — не входит, отдельно при необходимости. +(пусто — выполненные волны лежат в docs/archive/; кандидат на следующую волну: текст и водяные знаки — add-text, watermark, штампы, см. roadmap фаза 1.5 и план wave3 §7.) diff --git a/web/src/lib/components/DropOverlay.svelte b/web/src/lib/components/DropOverlay.svelte index 339e162..cda76b1 100644 --- a/web/src/lib/components/DropOverlay.svelte +++ b/web/src/lib/components/DropOverlay.svelte @@ -1,11 +1,11 @@