Replace the move-image-behind-a-fixed-frame model with a selection box over the fully visible (contain-fit) image: drag to move, corner handles to resize, locked to 1:1 for the square avatar/logo output. The default selection is inset so the crop outline is always visible, handles sit inside the frame so they are never clipped, and wheel/pinch zoom is swallowed. Reset drag state on open/close, guard pointer capture and multi-touch, and fail-safe the canvas encode. Update the crop copy in all 15 locales to match the selection model.
67 lines
1.8 KiB
PHP
67 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
|
|
'back' => 'Back',
|
|
|
|
'beta' => 'Beta',
|
|
|
|
'confirm_modal' => [
|
|
'cannot_be_undone' => 'This cannot be undone.',
|
|
'type' => 'Type',
|
|
'to_confirm' => 'to confirm.',
|
|
'copy_to_clipboard' => 'Copy to clipboard',
|
|
'delete_keyword' => 'delete',
|
|
],
|
|
|
|
'photo_upload' => [
|
|
'upload' => 'Upload',
|
|
'uploading' => 'Uploading...',
|
|
'remove' => 'Remove photo',
|
|
'hint' => 'Recommended: square image, max 2 MB.',
|
|
'crop_title' => 'Crop image',
|
|
'crop_description' => 'Select the area you want to keep.',
|
|
'crop_hint' => 'Drag to move, or a corner to resize.',
|
|
'crop_save' => 'Save',
|
|
'crop_cancel' => 'Cancel',
|
|
'crop_error' => 'Couldn\'t load this image. Try another file.',
|
|
],
|
|
|
|
'timezone' => [
|
|
'select' => 'Select timezone',
|
|
'search' => 'Search timezone...',
|
|
'empty' => 'No timezone found',
|
|
],
|
|
|
|
'date_picker' => [
|
|
'select' => 'Select date',
|
|
],
|
|
|
|
'date_range_picker' => [
|
|
'placeholder' => 'Pick a date range',
|
|
'today' => 'Today',
|
|
'yesterday' => 'Yesterday',
|
|
'last_7_days' => 'Last 7 days',
|
|
'last_30_days' => 'Last 30 days',
|
|
'last_3_months' => 'Last 3 months',
|
|
'last_6_months' => 'Last 6 months',
|
|
'last_12_months' => 'Last 12 months',
|
|
'this_month' => 'This month',
|
|
'last_month' => 'Last month',
|
|
'year_to_date' => 'Year to date',
|
|
'last_year' => 'Last year',
|
|
],
|
|
|
|
'cancel' => 'Cancel',
|
|
'clear' => 'Clear',
|
|
'close' => 'Close',
|
|
'loading_more' => 'Loading more...',
|
|
|
|
'actions' => [
|
|
'copy' => 'Copy',
|
|
'copied' => 'Copied',
|
|
'copy_failed' => 'Failed to copy to clipboard',
|
|
],
|
|
];
|