- Output a canvas-encodable mime (jpeg/png/webp, else png) and keep the File's name/extension in sync, so non-encodable input (gif/svg/heic) no longer ships PNG bytes mislabeled as the original type. - Clamp zoom to a maximum (8x cover) so scrolling in can't collapse the crop to a sub-pixel region. - Handle undecodable/zero-dimension images (@error + naturalWidth guard) with a crop_error message instead of a permanently-disabled Save. - Replace the str_contains(static::class) Vite heuristic with a dedicated BrowserTestCase ($fakesVite = false). - The browser test now decodes the dispatched blob and asserts a 512x512 image, and uses route(..., absolute: false) instead of a hardcoded path. - Remove tests/Browser/ProbeTest.php (committed debug scratch).
67 lines
2.5 KiB
PHP
67 lines
2.5 KiB
PHP
<?php
|
||
|
||
declare(strict_types=1);
|
||
|
||
return [
|
||
|
||
'back' => 'Назад',
|
||
|
||
'beta' => 'Бета',
|
||
|
||
'confirm_modal' => [
|
||
'cannot_be_undone' => 'Это действие нельзя отменить.',
|
||
'type' => 'Введите',
|
||
'to_confirm' => 'для подтверждения.',
|
||
'copy_to_clipboard' => 'Копировать в буфер обмена',
|
||
'delete_keyword' => 'удалить',
|
||
],
|
||
|
||
'photo_upload' => [
|
||
'upload' => 'Загрузить',
|
||
'uploading' => 'Загрузка...',
|
||
'remove' => 'Удалить фото',
|
||
'hint' => 'Рекомендуется: квадратное изображение, до 2 МБ.',
|
||
'crop_title' => 'Обрезать изображение',
|
||
'crop_description' => 'Перетащите и масштабируйте для кадрирования.',
|
||
'crop_hint' => 'Перетащите, чтобы переместить',
|
||
'crop_save' => 'Сохранить',
|
||
'crop_cancel' => 'Отмена',
|
||
'crop_error' => 'Не удалось загрузить это изображение. Попробуйте другой файл.',
|
||
],
|
||
|
||
'timezone' => [
|
||
'select' => 'Выберите часовой пояс',
|
||
'search' => 'Поиск часового пояса...',
|
||
'empty' => 'Часовой пояс не найден',
|
||
],
|
||
|
||
'date_picker' => [
|
||
'select' => 'Выберите дату',
|
||
],
|
||
|
||
'date_range_picker' => [
|
||
'placeholder' => 'Выберите диапазон дат',
|
||
'today' => 'Сегодня',
|
||
'yesterday' => 'Вчера',
|
||
'last_7_days' => 'Последние 7 дней',
|
||
'last_30_days' => 'Последние 30 дней',
|
||
'last_3_months' => 'Последние 3 месяца',
|
||
'last_6_months' => 'Последние 6 месяцев',
|
||
'last_12_months' => 'Последние 12 месяцев',
|
||
'this_month' => 'Этот месяц',
|
||
'last_month' => 'Прошлый месяц',
|
||
'year_to_date' => 'С начала года',
|
||
'last_year' => 'Прошлый год',
|
||
],
|
||
|
||
'cancel' => 'Отмена',
|
||
'clear' => 'Очистить',
|
||
'close' => 'Закрыть',
|
||
'loading_more' => 'Загрузка...',
|
||
|
||
'actions' => [
|
||
'copy' => 'Копировать',
|
||
'copied' => 'Скопировано',
|
||
'copy_failed' => 'Не удалось скопировать в буфер обмена',
|
||
],
|
||
];
|