@plone-collective/volto-image-editor 1.0.0-alpha.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.changelog.draft +7 -3
  2. package/CHANGELOG.md +28 -0
  3. package/README.md +74 -0
  4. package/babel.config.js +1 -1
  5. package/locales/ca/LC_MESSAGES/volto.po +192 -0
  6. package/locales/de/LC_MESSAGES/volto.po +75 -70
  7. package/locales/en/LC_MESSAGES/volto.po +28 -28
  8. package/locales/es/LC_MESSAGES/volto.po +64 -65
  9. package/locales/pt_BR/LC_MESSAGES/volto.po +63 -63
  10. package/locales/volto.pot +29 -29
  11. package/package.json +5 -6
  12. package/src/components/ImageEditor/Editor/ImageEditor.scss +66 -19
  13. package/src/components/ImageEditor/Editor/ImageEditor.tsx +53 -28
  14. package/src/components/ImageEditor/Wrapper/ImageEditorWrapper.scss +6 -2
  15. package/src/components/ImageEditor/components/Navigation/Navigation.scss +50 -9
  16. package/src/components/ImageEditor/components/Navigation/Navigation.tsx +99 -39
  17. package/src/components/ImageEditor/components/SettingsModal/SettingsModal.scss +87 -191
  18. package/src/components/ImageEditor/components/SettingsModal/SettingsModal.stories.tsx +1 -1
  19. package/src/components/ImageEditor/components/SettingsModal/SettingsModal.tsx +214 -251
  20. package/src/components/Widgets/FileWidget.scss +6 -1
  21. package/src/components/Widgets/index.ts +8 -0
  22. package/src/config/editorModes.ts +140 -0
  23. package/src/config/settings.ts +22 -2
  24. package/src/config/widgets.ts +9 -0
  25. package/src/icons/AspectRatioIcons.tsx +25 -20
  26. package/src/icons/BrightnessIcon.tsx +6 -18
  27. package/src/icons/ContrastIcon.tsx +6 -18
  28. package/src/icons/CropIcon.tsx +4 -18
  29. package/src/icons/DownloadIcon.tsx +4 -19
  30. package/src/icons/FlipHorizontalIcon.tsx +6 -20
  31. package/src/icons/FlipVerticalIcon.tsx +6 -26
  32. package/src/icons/HueIcon.tsx +4 -19
  33. package/src/icons/IconWrapper.tsx +18 -0
  34. package/src/icons/ResetIcon.tsx +4 -18
  35. package/src/icons/ResetRotationIcon.tsx +3 -16
  36. package/src/icons/RestrictionIcons.tsx +9 -10
  37. package/src/icons/RotateLeftIcon.tsx +4 -20
  38. package/src/icons/RotateRightIcon.tsx +4 -20
  39. package/src/icons/SaturationIcon.tsx +6 -19
  40. package/src/icons/SettingsIcon.tsx +3 -19
  41. package/src/icons/StencilIcons.tsx +5 -3
  42. package/src/icons/index.ts +34 -0
  43. package/src/icons/svg/aspectRatio.svg +5 -0
  44. package/src/icons/svg/brightness.svg +11 -0
  45. package/src/icons/svg/contrast.svg +11 -0
  46. package/src/icons/svg/crop.svg +5 -0
  47. package/src/icons/svg/flipHorizontal.svg +1 -0
  48. package/src/icons/svg/flipVertical.svg +1 -0
  49. package/src/icons/svg/image.svg +11 -0
  50. package/src/icons/svg/rectangle.svg +11 -0
  51. package/src/icons/svg/rectangleFilled.svg +3 -0
  52. package/src/icons/svg/saturation.svg +11 -0
  53. package/src/icons/svg/square.svg +11 -0
  54. package/src/index.ts +2 -0
  55. package/src/theme/mixins.scss +44 -0
  56. package/src/theme/variables.scss +90 -0
  57. package/src/components/ImageEditor/components/Button/Button.mdx +0 -260
  58. package/src/components/ImageEditor/components/Button/Button.scss +0 -30
  59. package/src/components/ImageEditor/components/Button/Button.stories.tsx +0 -69
  60. package/src/components/ImageEditor/components/Button/Button.tsx +0 -27
  61. package/src/components/ImageEditor/components/Slider/Slider.mdx +0 -380
  62. package/src/components/ImageEditor/components/Slider/Slider.scss +0 -231
  63. package/src/components/ImageEditor/components/Slider/Slider.stories.tsx +0 -121
  64. package/src/components/ImageEditor/components/Slider/Slider.tsx +0 -322
  65. package/src/customizations/volto/components/manage/Widgets/FileWidget.jsx +0 -3
  66. /package/src/{components/ImageEditor/types → types}/ImageSettings.ts +0 -0
package/.changelog.draft CHANGED
@@ -1,8 +1,12 @@
1
- ## 1.0.0-alpha.2 (2025-10-29)
1
+ ## 1.0.1 (2026-03-03)
2
2
 
3
3
  ### Feature
4
4
 
5
- - Update README to include a small demo of @plone-collective/volto-image-editor. @humanaice [#4](https://github.com/collective/volto-image-editor/issue/4)
6
- - Add Storybook stories for all components. @humanaice [#5](https://github.com/collective/volto-image-editor/issue/5)
5
+ - Added support for lazyload the widget. @sneridagh
6
+
7
+ ### Internal
8
+
9
+ - Fixed Acceptance Tests and added them to main.yml. @humanaice [#23](https://github.com/collective/volto-image-editor/issue/23)
10
+ - Use Volto 19a27. @sneridagh
7
11
 
8
12
 
package/CHANGELOG.md CHANGED
@@ -8,6 +8,34 @@
8
8
 
9
9
  <!-- towncrier release notes start -->
10
10
 
11
+ ## 1.0.1 (2026-03-03)
12
+
13
+ ### Feature
14
+
15
+ - Added support for lazyload the widget. @sneridagh
16
+
17
+ ### Internal
18
+
19
+ - Fixed Acceptance Tests and added them to main.yml. @humanaice [#23](https://github.com/collective/volto-image-editor/issue/23)
20
+ - Use Volto 19a27. @sneridagh
21
+
22
+ ## 1.0.0 (2025-12-08)
23
+
24
+ ### Feature
25
+
26
+ - CA, ES translations. @sneridagh [#16](https://github.com/collective/volto-image-editor/issue/16)
27
+ - DE translations. @sneridagh [#17](https://github.com/collective/volto-image-editor/issue/17)
28
+ - Allow overriding the default settings for an ImageEditor per project. @ericof [#18](https://github.com/collective/volto-image-editor/issue/18)
29
+
30
+ ### Internal
31
+
32
+ - Added portuguese translation & Update translation files. @humanaice [#3](https://github.com/collective/volto-image-editor/issue/3)
33
+ - Fixed circle crop. @humanaice [#8](https://github.com/collective/volto-image-editor/issue/8)
34
+ - Updated to use plone/components and removed react-icons + add cypress. @humanaice [#12](https://github.com/collective/volto-image-editor/issue/12)
35
+ - Registering as custom widget and removing shadow. @humanaice [#14](https://github.com/collective/volto-image-editor/issue/14)
36
+ - Changed the CSS to facilitate future modifications, with variables and new icons. @humanaice
37
+ - Updated Slider to make it more simple and intuitive. @humanaice
38
+
11
39
  ## 1.0.0-alpha.2 (2025-10-29)
12
40
 
13
41
  ### Feature
package/README.md CHANGED
@@ -41,6 +41,80 @@ To install this add-on, edit the `package.json` of your policy package (usually
41
41
 
42
42
  After editing, follow your project's standard process to update dependencies and rebuild.
43
43
 
44
+ ## ⚙️ Configure Default Settings
45
+
46
+ This add-on allows you to customize the image editor's behavior by modifying default settings. All settings are optional and can be configured in your Volto project's add-on configuration.
47
+
48
+ ### Available Settings
49
+
50
+ The following table describes all available settings for the image editor:
51
+
52
+ | Setting | Description | Type | Default Value |
53
+ |---------|-------------|------|----------------|
54
+ | aspectRatio | The aspect ratio constraint for cropping (width:height format) | `string` | `'16:9'` |
55
+ | imageRestriction | How the image should be restricted within the crop area | `string` | `'fit-area'` |
56
+ | stencilType | The shape of the crop stencil/box | `string` | `'rectangle'` |
57
+ | minWidth | Minimum width for the crop area in pixels | `number` | `50` |
58
+ | minHeight | Minimum height for the crop area in pixels | `number` | `50` |
59
+ | maxCropWidth | Maximum width for the crop area in pixels | `undefined \| number` | `undefined` |
60
+ | maxCropHeight | Maximum height for the crop area in pixels | `undefined \| number` | `undefined` |
61
+ | scalable | Whether the image can be scaled/zoomed | `boolean` | `true` |
62
+ | stencilGrid | Whether to display a grid overlay on the crop stencil | `boolean` | `true` |
63
+ | minScale | Minimum scale factor for zooming | `number` | `0.1` |
64
+ | maxScale | Maximum scale factor for zooming | `number` | `3` |
65
+
66
+ ### Configuration Examples
67
+
68
+ #### Single Setting Modification
69
+
70
+ To modify a single setting, update `config.settings.imageEditor` in your add-on's configuration file:
71
+
72
+ ```typescript
73
+ import type { ConfigType } from '@plone/registry';
74
+
75
+ function applyConfig(config: ConfigType) {
76
+ // Modify the default aspect ratio to 1:1
77
+ config.settings.imageEditor.aspectRatio = '1:1';
78
+
79
+ return config;
80
+ }
81
+
82
+ export default applyConfig;
83
+ ```
84
+
85
+ #### Multiple Settings Modification
86
+
87
+ If you need to modify multiple settings, we recommend using the `ImageSettings` type definition for type safety and better code documentation:
88
+
89
+ ```typescript
90
+ import type { ConfigType } from '@plone/registry';
91
+ import type { ImageSettings } from '@plone-collective/volto-image-editor/types/ImageSettings';
92
+
93
+ function applyConfig(config: ConfigType) {
94
+ // Define your custom image editor settings
95
+ const imageEditorSettings: ImageSettings = {
96
+ aspectRatio: '1:1',
97
+ imageRestriction: 'fit-area',
98
+ stencilType: 'rectangle',
99
+ minWidth: 100,
100
+ minHeight: 100,
101
+ maxCropWidth: undefined,
102
+ maxCropHeight: undefined,
103
+ scalable: true,
104
+ stencilGrid: true,
105
+ minScale: 0.1,
106
+ maxScale: 3,
107
+ };
108
+
109
+ // Apply the custom settings
110
+ config.settings.imageEditor = imageEditorSettings;
111
+
112
+ return config;
113
+ }
114
+
115
+ export default applyConfig;
116
+ ```
117
+
44
118
  ## 🧪 Test Installation
45
119
 
46
120
  Visit http://localhost:3000/ in a browser, log in, and verify that the image editor features are available in the File widget.
package/babel.config.js CHANGED
@@ -1,6 +1,6 @@
1
1
  module.exports = function (api) {
2
2
  api.cache(true);
3
- const presets = ['razzle'];
3
+ const presets = ['@plone/razzle'];
4
4
  const plugins = [
5
5
  [
6
6
  'react-intl', // React Intl extractor, required for the whole i18n infrastructure to work
@@ -0,0 +1,192 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Plone\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2025-11-04T14:12:41.399Z\n"
6
+ "PO-Revision-Date: 2025-11-04 00:00+0000\n"
7
+ "Last-Translator: Víctor Fernández de Alba <sneridagh@gmail.com>\n"
8
+ "Language: ca\n"
9
+ "Language-Team: CA <LL@li.org>\n"
10
+ "Content-Type: text/plain; charset=utf-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
13
+ "Preferred-Encodings: utf-8\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Language-Code: ca\n"
16
+ "Language-Name: Català\n"
17
+ "Domain: volto\n"
18
+
19
+ #. Default: "Aspect Ratio"
20
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
21
+ msgid "Aspect Ratio"
22
+ msgstr "Relació d'aspecte"
23
+
24
+ #. Default: "Choose a file"
25
+ #: components/Widgets/FileWidget
26
+ msgid "Choose a file"
27
+ msgstr "Tria un fitxer"
28
+
29
+ #. Default: "Circle"
30
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
31
+ msgid "Circle"
32
+ msgstr "Cercle"
33
+
34
+ #. Default: "Drop file here to replace the existing file"
35
+ #: components/Widgets/FileWidget
36
+ msgid "Drop file here to replace the existing file"
37
+ msgstr "Arrossega el fitxer aquí per substituir el fitxer existent"
38
+
39
+ #. Default: "Drop file here to upload a new file"
40
+ #: components/Widgets/FileWidget
41
+ msgid "Drop file here to upload a new file"
42
+ msgstr "Arrossega el fitxer aquí per pujar un fitxer nou"
43
+
44
+ #. Default: "Drop files here ..."
45
+ #: components/Widgets/FileWidget
46
+ msgid "Drop files here ..."
47
+ msgstr "Arrossega fitxers aquí ..."
48
+
49
+ #. Default: "Edit image"
50
+ #: components/ImageEditor/Wrapper/ImageEditorWrapper
51
+ msgid "Edit image"
52
+ msgstr "Edita la imatge"
53
+
54
+ #. Default: "Editor Settings"
55
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
56
+ msgid "Editor Settings"
57
+ msgstr "Ajustos de l'editor"
58
+
59
+ #. Default: "File is not of the accepted type {accept}"
60
+ #: components/Widgets/FileWidget
61
+ msgid "File is not of the accepted type {accept}"
62
+ msgstr "El fitxer no és d'un tipus acceptat: {accept}"
63
+
64
+ #. Default: "Fill"
65
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
66
+ msgid "Fill Area"
67
+ msgstr "Omple l'àrea"
68
+
69
+ #. Default: "Fit"
70
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
71
+ msgid "Fit Area"
72
+ msgstr "Ajusta a l'àrea"
73
+
74
+ #. Default: "Free"
75
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
76
+ msgid "Free aspect ratio"
77
+ msgstr "Relació d'aspecte lliure"
78
+
79
+ #. Default: "Image Restriction"
80
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
81
+ msgid "Image Restriction"
82
+ msgstr "Restricció d'imatge"
83
+
84
+ #. Default: "2:1"
85
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
86
+ msgid "Landscape (2:1)"
87
+ msgstr "Apaïsat (2:1)"
88
+
89
+ #. Default: "Max height"
90
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
91
+ msgid "Max height"
92
+ msgstr "Alçada màxima"
93
+
94
+ #. Default: "Max width"
95
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
96
+ msgid "Max width"
97
+ msgstr "Amplada màxima"
98
+
99
+ #. Default: "Maximum Crop Dimensions"
100
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
101
+ msgid "Maximum Crop Dimensions"
102
+ msgstr "Dimensions màximes de retall"
103
+
104
+ #. Default: "Min height"
105
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
106
+ msgid "Min height"
107
+ msgstr "Alçada mínima"
108
+
109
+ #. Default: "Min width"
110
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
111
+ msgid "Min width"
112
+ msgstr "Amplada mínima"
113
+
114
+ #. Default: "Minimum Dimensions"
115
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
116
+ msgid "Minimum Dimensions"
117
+ msgstr "Dimensions mínimes"
118
+
119
+ #. Default: "9:16"
120
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
121
+ msgid "Mobile (9:16)"
122
+ msgstr "Mòbil (9:16)"
123
+
124
+ #. Default: "4:3"
125
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
126
+ msgid "Monitor (4:3)"
127
+ msgstr "Monitor (4:3)"
128
+
129
+ #. Default: "Free"
130
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
131
+ msgid "No Restriction"
132
+ msgstr "Sense restricció"
133
+
134
+ #. Default: "3:4"
135
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
136
+ msgid "Photo (3:4)"
137
+ msgstr "Foto (3:4)"
138
+
139
+ #. Default: "1:2"
140
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
141
+ msgid "Portrait (1:2)"
142
+ msgstr "Retrat (1:2)"
143
+
144
+ #. Default: "Rectangle"
145
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
146
+ msgid "Rectangle"
147
+ msgstr "Rectangle"
148
+
149
+ #. Default: "Replace existing file"
150
+ #: components/Widgets/FileWidget
151
+ msgid "Replace existing file"
152
+ msgstr "Substitueix el fitxer existent"
153
+
154
+ #. Default: "Reset rotation and flip"
155
+ #: components/ImageEditor/components/Navigation/Navigation
156
+ msgid "Reset rotation and flip"
157
+ msgstr "Restableix la rotació i el volteig"
158
+
159
+ #. Default: "1:1"
160
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
161
+ msgid "Square (1:1)"
162
+ msgstr "Quadrat (1:1)"
163
+
164
+ #. Default: "Stencil"
165
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
166
+ msgid "Stencil"
167
+ msgstr "Plantilla"
168
+
169
+ #. Default: "Stencil Grid"
170
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
171
+ msgid "Stencil Grid"
172
+ msgstr "Quadrícula de plantilla"
173
+
174
+ #. Default: "Stencil Type"
175
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
176
+ msgid "Stencil Type"
177
+ msgstr "Tipus de plantilla"
178
+
179
+ #. Default: "The file you uploaded exceeded the maximum allowed size of {size} bytes"
180
+ #: components/Widgets/FileWidget
181
+ msgid "The file you uploaded exceeded the maximum allowed size of {size} bytes"
182
+ msgstr "El fitxer que has pujat supera la mida màxima permesa de {size} bytes"
183
+
184
+ #. Default: "21:9"
185
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
186
+ msgid "Ultra Wide (21:9)"
187
+ msgstr "Ultrapanoràmic (21:9)"
188
+
189
+ #. Default: "16:9"
190
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
191
+ msgid "Widescreen (16:9)"
192
+ msgstr "Panoràmic (16:9)"
@@ -1,187 +1,192 @@
1
1
  msgid ""
2
2
  msgstr ""
3
- "Project-Id-Version: \n"
3
+ "Project-Id-Version: Plone\n"
4
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: \n"
6
- "PO-Revision-Date: \n"
5
+ "POT-Creation-Date: 2025-11-04T14:12:41.399Z\n"
6
+ "PO-Revision-Date: 2025-11-04 00:00+0000\n"
7
7
  "Last-Translator: \n"
8
8
  "Language: de\n"
9
- "Language-Team: \n"
10
- "Content-Type: \n"
11
- "Content-Transfer-Encoding: \n"
12
- "Plural-Forms: \n"
9
+ "Language-Team: DE <LL@li.org>\n"
10
+ "Content-Type: text/plain; charset=utf-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
13
+ "Preferred-Encodings: utf-8\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Language-Code: de\n"
16
+ "Language-Name: Deutsch\n"
17
+ "Domain: volto\n"
13
18
 
14
19
  #. Default: "Aspect Ratio"
15
- #: components/ImageEditor/components/SettingsModal
20
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
16
21
  msgid "Aspect Ratio"
17
- msgstr ""
22
+ msgstr "Seitenverhältnis"
18
23
 
19
24
  #. Default: "Choose a file"
20
25
  #: components/Widgets/FileWidget
21
26
  msgid "Choose a file"
22
- msgstr ""
27
+ msgstr "Datei auswählen"
23
28
 
24
29
  #. Default: "Circle"
25
- #: components/ImageEditor/components/SettingsModal
30
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
26
31
  msgid "Circle"
27
- msgstr ""
32
+ msgstr "Kreis"
28
33
 
29
34
  #. Default: "Drop file here to replace the existing file"
30
35
  #: components/Widgets/FileWidget
31
36
  msgid "Drop file here to replace the existing file"
32
- msgstr ""
37
+ msgstr "Datei hier ablegen, um die bestehende zu ersetzen"
33
38
 
34
39
  #. Default: "Drop file here to upload a new file"
35
40
  #: components/Widgets/FileWidget
36
41
  msgid "Drop file here to upload a new file"
37
- msgstr ""
42
+ msgstr "Datei hier ablegen, um eine neue hochzuladen"
38
43
 
39
44
  #. Default: "Drop files here ..."
40
45
  #: components/Widgets/FileWidget
41
46
  msgid "Drop files here ..."
42
- msgstr ""
47
+ msgstr "Dateien hier ablegen ..."
43
48
 
44
49
  #. Default: "Edit image"
45
- #: components/ImageEditor/ImageEditorWrapper
50
+ #: components/ImageEditor/Wrapper/ImageEditorWrapper
46
51
  msgid "Edit image"
47
- msgstr ""
52
+ msgstr "Bild bearbeiten"
48
53
 
49
54
  #. Default: "Editor Settings"
50
- #: components/ImageEditor/components/SettingsModal
55
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
51
56
  msgid "Editor Settings"
52
- msgstr ""
57
+ msgstr "Editor-Einstellungen"
53
58
 
54
59
  #. Default: "File is not of the accepted type {accept}"
55
60
  #: components/Widgets/FileWidget
56
61
  msgid "File is not of the accepted type {accept}"
57
- msgstr ""
62
+ msgstr "Die Datei ist kein akzeptierter Typ: {accept}"
58
63
 
59
64
  #. Default: "Fill"
60
- #: components/ImageEditor/components/SettingsModal
65
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
61
66
  msgid "Fill Area"
62
- msgstr ""
67
+ msgstr "Bereich füllen"
63
68
 
64
69
  #. Default: "Fit"
65
- #: components/ImageEditor/components/SettingsModal
70
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
66
71
  msgid "Fit Area"
67
- msgstr ""
72
+ msgstr "An Bereich anpassen"
68
73
 
69
74
  #. Default: "Free"
70
- #: components/ImageEditor/components/SettingsModal
75
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
71
76
  msgid "Free aspect ratio"
72
- msgstr ""
77
+ msgstr "Freies Seitenverhältnis"
73
78
 
74
79
  #. Default: "Image Restriction"
75
- #: components/ImageEditor/components/SettingsModal
80
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
76
81
  msgid "Image Restriction"
77
- msgstr ""
82
+ msgstr "Bildbeschränkung"
78
83
 
79
84
  #. Default: "2:1"
80
- #: components/ImageEditor/components/SettingsModal
85
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
81
86
  msgid "Landscape (2:1)"
82
- msgstr ""
87
+ msgstr "Querformat (2:1)"
83
88
 
84
89
  #. Default: "Max height"
85
- #: components/ImageEditor/components/SettingsModal
90
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
86
91
  msgid "Max height"
87
- msgstr ""
92
+ msgstr "Maximale Höhe"
88
93
 
89
94
  #. Default: "Max width"
90
- #: components/ImageEditor/components/SettingsModal
95
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
91
96
  msgid "Max width"
92
- msgstr ""
97
+ msgstr "Maximale Breite"
93
98
 
94
99
  #. Default: "Maximum Crop Dimensions"
95
- #: components/ImageEditor/components/SettingsModal
100
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
96
101
  msgid "Maximum Crop Dimensions"
97
- msgstr ""
102
+ msgstr "Maximale Zuschneidemaße"
98
103
 
99
104
  #. Default: "Min height"
100
- #: components/ImageEditor/components/SettingsModal
105
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
101
106
  msgid "Min height"
102
- msgstr ""
107
+ msgstr "Minimale Höhe"
103
108
 
104
109
  #. Default: "Min width"
105
- #: components/ImageEditor/components/SettingsModal
110
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
106
111
  msgid "Min width"
107
- msgstr ""
112
+ msgstr "Minimale Breite"
108
113
 
109
114
  #. Default: "Minimum Dimensions"
110
- #: components/ImageEditor/components/SettingsModal
115
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
111
116
  msgid "Minimum Dimensions"
112
- msgstr ""
117
+ msgstr "Minimale Abmessungen"
113
118
 
114
119
  #. Default: "9:16"
115
- #: components/ImageEditor/components/SettingsModal
120
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
116
121
  msgid "Mobile (9:16)"
117
- msgstr ""
122
+ msgstr "Mobil (9:16)"
118
123
 
119
124
  #. Default: "4:3"
120
- #: components/ImageEditor/components/SettingsModal
125
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
121
126
  msgid "Monitor (4:3)"
122
- msgstr ""
127
+ msgstr "Monitor (4:3)"
123
128
 
124
129
  #. Default: "Free"
125
- #: components/ImageEditor/components/SettingsModal
130
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
126
131
  msgid "No Restriction"
127
- msgstr ""
132
+ msgstr "Keine Einschränkung"
128
133
 
129
134
  #. Default: "3:4"
130
- #: components/ImageEditor/components/SettingsModal
135
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
131
136
  msgid "Photo (3:4)"
132
- msgstr ""
137
+ msgstr "Foto (3:4)"
133
138
 
134
139
  #. Default: "1:2"
135
- #: components/ImageEditor/components/SettingsModal
140
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
136
141
  msgid "Portrait (1:2)"
137
- msgstr ""
142
+ msgstr "Hochformat (1:2)"
138
143
 
139
144
  #. Default: "Rectangle"
140
- #: components/ImageEditor/components/SettingsModal
145
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
141
146
  msgid "Rectangle"
142
- msgstr ""
147
+ msgstr "Rechteck"
143
148
 
144
149
  #. Default: "Replace existing file"
145
150
  #: components/Widgets/FileWidget
146
151
  msgid "Replace existing file"
147
- msgstr ""
152
+ msgstr "Bestehende Datei ersetzen"
148
153
 
149
154
  #. Default: "Reset rotation and flip"
150
- #: components/ImageEditor/components/Navigation
155
+ #: components/ImageEditor/components/Navigation/Navigation
151
156
  msgid "Reset rotation and flip"
152
- msgstr ""
157
+ msgstr "Drehung und Spiegelung zurücksetzen"
153
158
 
154
159
  #. Default: "1:1"
155
- #: components/ImageEditor/components/SettingsModal
160
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
156
161
  msgid "Square (1:1)"
157
- msgstr ""
162
+ msgstr "Quadrat (1:1)"
158
163
 
159
164
  #. Default: "Stencil"
160
- #: components/ImageEditor/components/SettingsModal
165
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
161
166
  msgid "Stencil"
162
- msgstr ""
167
+ msgstr "Schablone"
163
168
 
164
169
  #. Default: "Stencil Grid"
165
- #: components/ImageEditor/components/SettingsModal
170
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
166
171
  msgid "Stencil Grid"
167
- msgstr ""
172
+ msgstr "Schablonengitter"
168
173
 
169
174
  #. Default: "Stencil Type"
170
- #: components/ImageEditor/components/SettingsModal
175
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
171
176
  msgid "Stencil Type"
172
- msgstr ""
177
+ msgstr "Schablonentyp"
173
178
 
174
179
  #. Default: "The file you uploaded exceeded the maximum allowed size of {size} bytes"
175
180
  #: components/Widgets/FileWidget
176
181
  msgid "The file you uploaded exceeded the maximum allowed size of {size} bytes"
177
- msgstr ""
182
+ msgstr "Die hochgeladene Datei überschreitet die maximal zulässige Größe von {size} Bytes"
178
183
 
179
184
  #. Default: "21:9"
180
- #: components/ImageEditor/components/SettingsModal
185
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
181
186
  msgid "Ultra Wide (21:9)"
182
- msgstr ""
187
+ msgstr "Ultrabreit (21:9)"
183
188
 
184
189
  #. Default: "16:9"
185
- #: components/ImageEditor/components/SettingsModal
190
+ #: components/ImageEditor/components/SettingsModal/SettingsModal
186
191
  msgid "Widescreen (16:9)"
187
- msgstr ""
192
+ msgstr "Breitbild (16:9)"