feat: add info\warning badge, update size range workflow

This commit is contained in:
2026-10-06 15:30:24 +05:00
parent ba533e67fd
commit 92cc590959
19 changed files with 402 additions and 194 deletions
+7 -3
View File
@@ -76,6 +76,9 @@ export const en: Dict = {
result: "Result",
previewPanel: "Preview",
parts: "parts",
clamped: "clamped to image bounds",
aspectAdjusted: "size adjusted to keep aspect",
grown: "grew beyond requested size — image is larger",
alt: "Result image",
},
paramsCard: {
@@ -174,7 +177,8 @@ export const en: Dict = {
radiusInt: "Radius must be a non-negative integer",
kernelSize: "Kernel does not match the image dimensions",
sizeInt: "Width and height must be integers ≥ 1",
cropBounds: "Crop area does not intersect the image",
cropBounds:
"Crop area doesn't fit: offset plus size exceeds the image bounds",
noCanvasCtx: "Canvas 2D context is unavailable in this environment",
badBase64: "Expected a base64 string or a data-uri of an image",
qualityRange: "quality must be within 0..1",
@@ -197,9 +201,9 @@ export const en: Dict = {
paramString: 'Parameter "{id}" must be a string',
paramBool: 'Parameter "{id}" must be a checkbox value',
resizeSize: "Width and/or height must be positive",
cropSize: "Crop width and height must be positive",
cropSize: "Crop width and height must be at least 1 px",
sizePositive: "Dimensions must be positive and finite",
tooManyParts: "Too many parts ({count}). Maximum is 1000.",
tooManyParts: "Too many parts ({count}). The limit is {max}.",
pageUnknown: 'No page is registered under "{slug}".',
},
fields: {
+7 -3
View File
@@ -77,6 +77,9 @@ export const ru: Dict = {
result: "Результат",
previewPanel: "Предпросмотр",
parts: "частей",
clamped: "уменьшено до границ изображения",
aspectAdjusted: "размер скорректирован по пропорциям",
grown: "больше запрошенного — картинка крупнее",
alt: "Изображение-результат",
},
paramsCard: {
@@ -175,7 +178,8 @@ export const ru: Dict = {
radiusInt: "Радиус должен быть целым неотрицательным числом",
kernelSize: "Ядро не совпадает с изображением по размеру",
sizeInt: "Ширина и высота должны быть целыми числами ≥ 1",
cropBounds: "Область обрезки не пересекает изображение",
cropBounds:
"Область не помещается: смещение + размер превышают границы изображения",
noCanvasCtx: "Canvas 2D context недоступен в этом окружении",
badBase64: "Ожидается base64-строка или data-uri изображения",
qualityRange: "quality должно быть в диапазоне 0..1",
@@ -198,9 +202,9 @@ export const ru: Dict = {
paramString: 'Параметр "{id}" должен быть строкой',
paramBool: 'Параметр "{id}" должен быть значением флажка',
resizeSize: "Ширина и/или высота должны быть положительными",
cropSize: "Ширина и высота области обрезки должны быть положительными",
cropSize: "Ширина и высота области должны быть не меньше 1 px",
sizePositive: "Размеры должны быть положительными и конечными",
tooManyParts: "Слишком много частей ({count}). Ограничение — 1000.",
tooManyParts: "Слишком много частей ({count}). Ограничение — {max}.",
pageUnknown: "Страницы «{slug}» нет в каталоге.",
},
fields: {