@bigbinary/neeto-image-uploader-frontend 2.3.32 → 2.3.34
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.
- package/README.md +126 -72
- package/app/javascript/src/translations/ar.json +7 -3
- package/app/javascript/src/translations/bg.json +7 -3
- package/app/javascript/src/translations/ca.json +7 -3
- package/app/javascript/src/translations/cs.json +7 -3
- package/app/javascript/src/translations/da.json +7 -3
- package/app/javascript/src/translations/de.json +7 -3
- package/app/javascript/src/translations/en.json +5 -4
- package/app/javascript/src/translations/es-MX.json +7 -3
- package/app/javascript/src/translations/es.json +7 -3
- package/app/javascript/src/translations/et.json +7 -3
- package/app/javascript/src/translations/fi.json +7 -3
- package/app/javascript/src/translations/fil.json +7 -3
- package/app/javascript/src/translations/fr.json +7 -3
- package/app/javascript/src/translations/he.json +7 -3
- package/app/javascript/src/translations/hi.json +7 -3
- package/app/javascript/src/translations/hr.json +7 -3
- package/app/javascript/src/translations/id.json +7 -3
- package/app/javascript/src/translations/it.json +7 -3
- package/app/javascript/src/translations/ja.json +7 -3
- package/app/javascript/src/translations/ko.json +7 -3
- package/app/javascript/src/translations/nl.json +7 -3
- package/app/javascript/src/translations/pl.json +7 -3
- package/app/javascript/src/translations/pt-BR.json +7 -3
- package/app/javascript/src/translations/pt.json +7 -3
- package/app/javascript/src/translations/ro.json +7 -3
- package/app/javascript/src/translations/ru.json +7 -3
- package/app/javascript/src/translations/sk.json +7 -3
- package/app/javascript/src/translations/sl.json +7 -3
- package/app/javascript/src/translations/sv.json +7 -3
- package/app/javascript/src/translations/th.json +7 -3
- package/app/javascript/src/translations/tr.json +7 -3
- package/app/javascript/src/translations/uk.json +7 -3
- package/app/javascript/src/translations/vi.json +7 -3
- package/app/javascript/src/translations/zh-CN.json +7 -3
- package/app/javascript/src/translations/zh-TW.json +7 -3
- package/dist/AssetLibrary.js +1 -1
- package/dist/BasicImageUploader.js +1 -1
- package/dist/BasicImageUploader.js.map +1 -1
- package/dist/ImageForm.js +16 -6
- package/dist/ImageForm.js.map +1 -1
- package/dist/ImageUploader.js +2 -2
- package/dist/ImageUploader.js.map +1 -1
- package/dist/cjs/AssetLibrary.js +1 -1
- package/dist/cjs/BasicImageUploader.js +1 -1
- package/dist/cjs/BasicImageUploader.js.map +1 -1
- package/dist/cjs/ImageForm.js +16 -6
- package/dist/cjs/ImageForm.js.map +1 -1
- package/dist/cjs/ImageUploader.js +2 -2
- package/dist/cjs/ImageUploader.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/{index-ph4UeLLc.js → index-DuEKUXPv.js} +6 -6
- package/dist/index-DuEKUXPv.js.map +1 -0
- package/dist/{index-BH0wqq_n.js → index-t6qfCNLv.js} +6 -6
- package/dist/index-t6qfCNLv.js.map +1 -0
- package/dist/index.js +1 -1
- package/package.json +15 -15
- package/types.d.ts +1 -0
- package/dist/index-BH0wqq_n.js.map +0 -1
- package/dist/index-ph4UeLLc.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
# neeto-image-uploader-nano
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
The `neeto-image-uploader-nano` manages assets across neeto products. The nano
|
|
4
|
+
exports the `@bigbinary/neeto-image-uploader-frontend` NPM package and
|
|
5
|
+
`neeto-image-uploader-engine` Rails engine for development.
|
|
3
6
|
|
|
4
7
|
# Contents
|
|
8
|
+
|
|
5
9
|
- [neeto-image-uploader-nano](#neeto-image-uploader-nano)
|
|
6
10
|
- [Contents](#contents)
|
|
7
11
|
- [Development with Host Application](#development-with-host-application)
|
|
@@ -22,43 +26,53 @@ The `neeto-image-uploader-nano` manages assets across neeto products. The nano e
|
|
|
22
26
|
- [Instructions for Publishing](#instructions-for-publishing)
|
|
23
27
|
|
|
24
28
|
# Development with Host Application
|
|
29
|
+
|
|
25
30
|
## Engine
|
|
31
|
+
|
|
26
32
|
The engine is used to manage assets across neeto products.
|
|
27
33
|
|
|
28
34
|
### Installation
|
|
35
|
+
|
|
29
36
|
1. Add this line to your application's Gemfile:
|
|
30
|
-
```ruby
|
|
31
|
-
source "NEETO_GEM_SERVER_URL" do
|
|
32
|
-
# ..existing gems
|
|
33
37
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
```ruby
|
|
39
|
+
source "NEETO_GEM_SERVER_URL" do
|
|
40
|
+
# ..existing gems
|
|
41
|
+
|
|
42
|
+
gem 'neeto-image-uploader-engine'
|
|
43
|
+
end
|
|
44
|
+
```
|
|
45
|
+
|
|
37
46
|
2. And then execute:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
47
|
+
```zsh
|
|
48
|
+
bundle install
|
|
49
|
+
```
|
|
41
50
|
3. Add this line to your application's `config/routes.rb` file:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
```ruby
|
|
52
|
+
mount NeetoImageUploaderEngine::Engine => "/neeto_image_uploader_engine"
|
|
53
|
+
```
|
|
45
54
|
4. Add the following keys to environment variables (all 6 keys are required):
|
|
46
|
-
```zsh
|
|
47
|
-
IMAGE_KIT_PUBLIC_KEY
|
|
48
|
-
IMAGE_KIT_PRIVATE_KEY
|
|
49
|
-
IMAGE_KIT_URL_ENDPOINT
|
|
50
55
|
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
```zsh
|
|
57
|
+
IMAGE_KIT_PUBLIC_KEY
|
|
58
|
+
IMAGE_KIT_PRIVATE_KEY
|
|
59
|
+
IMAGE_KIT_URL_ENDPOINT
|
|
60
|
+
|
|
61
|
+
UNSPLASH_ACCESS_KEY #(for fetching images from unsplash)
|
|
62
|
+
```
|
|
53
63
|
|
|
54
64
|
## Frontend package
|
|
65
|
+
|
|
55
66
|
### Installation
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
67
|
+
|
|
68
|
+
1. Install the latest `neeto-image-uploader-frontend` package using the below
|
|
69
|
+
command:
|
|
70
|
+
```zsh
|
|
71
|
+
yarn add @bigbinary/neeto-image-uploader-frontend
|
|
72
|
+
```
|
|
60
73
|
|
|
61
74
|
### Components
|
|
75
|
+
|
|
62
76
|
#### 1. `AssetLibrary` ([source code](https://github.com/bigbinary/neeto-image-uploader-nano/blob/0c060e75a32bc04308491a50b96c3b7d4d6f7c83/app/javascript/src/components/Modal/index.jsx))
|
|
63
77
|
|
|
64
78
|
<div align="center">
|
|
@@ -66,12 +80,15 @@ The engine is used to manage assets across neeto products.
|
|
|
66
80
|
</div>
|
|
67
81
|
|
|
68
82
|
**Props**
|
|
83
|
+
|
|
69
84
|
- `isOpen`: A boolean to specify whether the modal is open or not.
|
|
70
85
|
- `onClose`: A callback function triggered when the modal is closed.
|
|
71
|
-
- `onUploadComplete`: A callback function triggered when the image upload is
|
|
86
|
+
- `onUploadComplete`: A callback function triggered when the image upload is
|
|
87
|
+
complete.
|
|
72
88
|
- `uploadConfig`: Configuration object for image uploads.
|
|
73
89
|
|
|
74
90
|
**Usage**
|
|
91
|
+
|
|
75
92
|
```jsx
|
|
76
93
|
import React, { useState } from "react";
|
|
77
94
|
import { AssetLibrary } from "@bigbinary/neeto-image-uploader-frontend";
|
|
@@ -83,11 +100,11 @@ const App = () => {
|
|
|
83
100
|
const handleUploadComplete = image => setImage(image);
|
|
84
101
|
|
|
85
102
|
return (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
103
|
+
<AssetLibrary
|
|
104
|
+
isOpen={isAssetLibraryOpen}
|
|
105
|
+
onClose={() => setIsAssetLibraryOpen(false)}
|
|
106
|
+
onUploadComplete={handleUploadComplete}
|
|
107
|
+
/>
|
|
91
108
|
);
|
|
92
109
|
};
|
|
93
110
|
|
|
@@ -101,15 +118,21 @@ export default App;
|
|
|
101
118
|
</div>
|
|
102
119
|
|
|
103
120
|
**Props**
|
|
104
|
-
|
|
121
|
+
|
|
122
|
+
- `onUploadComplete`: A callback function triggered when the image upload is
|
|
123
|
+
complete.
|
|
105
124
|
- `className`: Additional classes to be applied to the component.
|
|
106
125
|
- `src`: The source URL of the image to be displayed initially.
|
|
107
126
|
- `uploadConfig`: Configuration object for image uploads.
|
|
108
|
-
- `fixedAspectRatio`: An option to maintain a specific aspect ratio for the
|
|
109
|
-
|
|
110
|
-
- `
|
|
127
|
+
- `fixedAspectRatio`: An option to maintain a specific aspect ratio for the
|
|
128
|
+
image. Expected input format is {height: number, width: number}.
|
|
129
|
+
- `defaultImageSize`: An option to set the initial crop size of the image.
|
|
130
|
+
Expected input format is { height: number, width: number }.
|
|
131
|
+
- `isOptionsDisabled`: An option to disable dropdown to remove the already
|
|
132
|
+
present image, or upload a new image.
|
|
111
133
|
|
|
112
134
|
**Usage**
|
|
135
|
+
|
|
113
136
|
```jsx
|
|
114
137
|
import React, { useState } from "react";
|
|
115
138
|
import { ImageUploader } from "@bigbinary/neeto-image-uploader-frontend";
|
|
@@ -121,12 +144,12 @@ const App = () => {
|
|
|
121
144
|
const handleUploadComplete = image => setImage(image);
|
|
122
145
|
|
|
123
146
|
return (
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
147
|
+
<ImageUploader
|
|
148
|
+
className="mb-8 h-52 w-80"
|
|
149
|
+
key={image.url}
|
|
150
|
+
src={image.url}
|
|
151
|
+
onUploadComplete={handleUploadComplete}
|
|
152
|
+
/>
|
|
130
153
|
);
|
|
131
154
|
};
|
|
132
155
|
|
|
@@ -136,14 +159,17 @@ export default App;
|
|
|
136
159
|
#### 3. `BasicImageUploader` ([source code](https://github.com/bigbinary/neeto-image-uploader-nano/blob/0c060e75a32bc04308491a50b96c3b7d4d6f7c83/app/javascript/src/components/BasicImageUploader.jsx))
|
|
137
160
|
|
|
138
161
|
**Props**
|
|
162
|
+
|
|
139
163
|
- `src`: The source URL of the image to be displayed initially.
|
|
140
164
|
- `className`: Additional classes to be applied to the component.
|
|
141
165
|
- `imageFallbackProps`: Props to be passed to the ImageWithFallback component.
|
|
142
|
-
- `onDrop`: Callback function triggered when an image is dropped or selected for
|
|
166
|
+
- `onDrop`: Callback function triggered when an image is dropped or selected for
|
|
167
|
+
upload.
|
|
143
168
|
- `isDisabled`: A boolean to specify whether the uploader is disabled.
|
|
144
169
|
- `onRemove`: Callback function triggered when the "Remove" button is clicked.
|
|
145
170
|
|
|
146
171
|
**Usage**
|
|
172
|
+
|
|
147
173
|
```jsx
|
|
148
174
|
import React, { useState } from "react";
|
|
149
175
|
import { noop } from "neetocist";
|
|
@@ -153,13 +179,13 @@ const App = () => {
|
|
|
153
179
|
const [image, setImage] = useState({ url: TEST_IMAGE_SRC, signedId: "" });
|
|
154
180
|
|
|
155
181
|
return (
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
182
|
+
<BasicImageUploader
|
|
183
|
+
className="h-52 w-80"
|
|
184
|
+
src={image.url}
|
|
185
|
+
uploadProgress={0}
|
|
186
|
+
onDrop={noop}
|
|
187
|
+
onRemove={() => setImage({ url: "", signedId: "" })}
|
|
188
|
+
/>
|
|
163
189
|
);
|
|
164
190
|
};
|
|
165
191
|
|
|
@@ -169,8 +195,10 @@ export default App;
|
|
|
169
195
|
#### 4. `ImageForm` ([source code](https://github.com/bigbinary/neeto-image-uploader-nano/blob/main/app/javascript/src/components/ImageForm/index.jsx))
|
|
170
196
|
|
|
171
197
|
**Props**
|
|
198
|
+
|
|
172
199
|
- `onChange`: Callback function triggered when any form field changes.
|
|
173
|
-
- `imageUploaderProps`: Additional props to be passed to the ImageUpload
|
|
200
|
+
- `imageUploaderProps`: Additional props to be passed to the ImageUpload
|
|
201
|
+
component.
|
|
174
202
|
- `className`: Additional classes to be applied to the component.
|
|
175
203
|
- `names`: Object specifying field names for form integration:
|
|
176
204
|
- `image`: Name of the image field in the form (e.g., "properties.imageUrl")
|
|
@@ -181,11 +209,18 @@ export default App;
|
|
|
181
209
|
- `min`: Minimum height value for the slider (default: 64)
|
|
182
210
|
- `max`: Maximum height value for the slider (default: 100)
|
|
183
211
|
- `logoSizeVariableName`: CSS variable name for controlling logo size (required)
|
|
184
|
-
- `showAlignmentBlock`: Boolean to control whether the alignment block is
|
|
185
|
-
|
|
186
|
-
- `
|
|
212
|
+
- `showAlignmentBlock`: Boolean to control whether the alignment block is
|
|
213
|
+
displayed (default: true)
|
|
214
|
+
- `showAltTextBlock`: Boolean to control whether the alt text input block is
|
|
215
|
+
displayed (default: true)
|
|
216
|
+
- `isLabelEnabled`: Boolean to control whether the label is displayed in the
|
|
217
|
+
image upload block (default: true)
|
|
218
|
+
- `entityName`: String to customize the entity name used in labels,
|
|
219
|
+
placeholders, and tooltips (default: "Logo"). This allows host applications to
|
|
220
|
+
override the hardcoded "Logo" text with custom entity names.
|
|
187
221
|
|
|
188
222
|
**Usage**
|
|
223
|
+
|
|
189
224
|
```jsx
|
|
190
225
|
import { Formik } from "formik";
|
|
191
226
|
import { ImageForm } from "@bigbinary/neeto-image-uploader-frontend";
|
|
@@ -201,9 +236,9 @@ const App = () => {
|
|
|
201
236
|
properties: {
|
|
202
237
|
imageUrl: "",
|
|
203
238
|
height: 64,
|
|
204
|
-
alignment: "left"
|
|
239
|
+
alignment: "left",
|
|
205
240
|
},
|
|
206
|
-
altText: ""
|
|
241
|
+
altText: "",
|
|
207
242
|
}}
|
|
208
243
|
>
|
|
209
244
|
<ImageForm
|
|
@@ -215,6 +250,7 @@ const App = () => {
|
|
|
215
250
|
alignment: "alignment",
|
|
216
251
|
}}
|
|
217
252
|
logoSizeVariableName="--my-app-logo-size"
|
|
253
|
+
entityName="Image"
|
|
218
254
|
onChange={handleUpdate}
|
|
219
255
|
/>
|
|
220
256
|
</Formik>
|
|
@@ -225,12 +261,18 @@ export default App;
|
|
|
225
261
|
```
|
|
226
262
|
|
|
227
263
|
### Hooks
|
|
264
|
+
|
|
228
265
|
#### 1. `useImageUpload` ([source code](https://github.com/bigbinary/neeto-image-uploader-nano/blob/0c060e75a32bc04308491a50b96c3b7d4d6f7c83/app/javascript/src/hooks/useImageUpload.js))
|
|
229
266
|
|
|
230
|
-
- The `useImageUpload` hook is a React custom hook that simplifies the process
|
|
231
|
-
|
|
267
|
+
- The `useImageUpload` hook is a React custom hook that simplifies the process
|
|
268
|
+
of uploading images in your application. It handles both development and
|
|
269
|
+
production scenarios, tracks upload progress, and provides a clean interface
|
|
270
|
+
for image uploading.
|
|
271
|
+
- Usage in
|
|
272
|
+
[neetoAuth](https://github.com/bigbinary/neeto-auth-web/blob/9fdf3baf49f60c2ad7d7bf0518af9c00885f56ef/app/javascript/src/components/Dashboard/Account/Profile/ChangeProfile.jsx#L59).
|
|
232
273
|
|
|
233
274
|
**Returns**
|
|
275
|
+
|
|
234
276
|
- `uploadImage`: Function to initiate image upload. It takes two parameters:
|
|
235
277
|
- `file`: The image file to be uploaded.
|
|
236
278
|
- `onUploadComplete`: Callback function called when the upload is complete.
|
|
@@ -238,27 +280,33 @@ export default App;
|
|
|
238
280
|
- `isUploading`: Boolean indicating whether an upload is in progress.
|
|
239
281
|
|
|
240
282
|
**Usage**
|
|
283
|
+
|
|
241
284
|
##### Import the hook
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
285
|
+
|
|
286
|
+
```jsx
|
|
287
|
+
import { useImageUpload } from "@bigbinary/neeto-image-uploader-frontend";
|
|
288
|
+
```
|
|
245
289
|
|
|
246
290
|
##### Invoke the hook
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
291
|
+
|
|
292
|
+
```jsx
|
|
293
|
+
const { uploadImage, uploadProgress, isUploading } = useImageUpload();
|
|
294
|
+
```
|
|
250
295
|
|
|
251
296
|
##### Call uploadImage to Upload an Image
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
};
|
|
258
|
-
|
|
297
|
+
|
|
298
|
+
```jsx
|
|
299
|
+
const handleImageUpload = async file => {
|
|
300
|
+
uploadImage(file, uploadedImageData => {
|
|
301
|
+
// Handle the uploaded image data
|
|
302
|
+
});
|
|
303
|
+
};
|
|
304
|
+
```
|
|
259
305
|
|
|
260
306
|
### Upload Config
|
|
261
|
-
|
|
307
|
+
|
|
308
|
+
The "Upload Config" section describes the default upload configuration. This
|
|
309
|
+
configuration can be overridden by passing the `uploadConfig` prop.
|
|
262
310
|
|
|
263
311
|
```js
|
|
264
312
|
{
|
|
@@ -272,11 +320,17 @@ The "Upload Config" section describes the default upload configuration. This con
|
|
|
272
320
|
}
|
|
273
321
|
```
|
|
274
322
|
|
|
275
|
-
Example: Overriding upload config in
|
|
323
|
+
Example: Overriding upload config in
|
|
324
|
+
[neetoForm](https://github.com/bigbinary/neeto-form-web/blob/48db536b74c1e09176d7634c23d8a59c71d848e9/app/javascript/src/components/Form/Design/Sidebar/commons/ImageBlock.jsx#L59).
|
|
276
325
|
|
|
277
326
|
**Keys**
|
|
327
|
+
|
|
278
328
|
- `maxImageSize`: The maximum size allowed for uploaded images.
|
|
279
|
-
- `allowedImageTypes`: An object specifying the allowed image types and their
|
|
329
|
+
- `allowedImageTypes`: An object specifying the allowed image types and their
|
|
330
|
+
corresponding file extensions.
|
|
280
331
|
|
|
281
332
|
# Instructions for Publishing
|
|
282
|
-
|
|
333
|
+
|
|
334
|
+
Consult the
|
|
335
|
+
[building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages)
|
|
336
|
+
guide for details on how to publish.
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "مكتبة الصور",
|
|
5
5
|
"image": "صورة",
|
|
6
6
|
"noImages": "لم يتم العثور على صور في المكتبة",
|
|
7
|
-
"dropHere": "قم بإسقاط الملف هنا"
|
|
7
|
+
"dropHere": "قم بإسقاط الملف هنا",
|
|
8
|
+
"logo": "شعار"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "حدث خطأ ما! يرجى المحاولة مرة أخرى لاحقًا.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "نص بديل للشعار",
|
|
31
32
|
"leftAlign": "محاذاة لليسار",
|
|
32
33
|
"centerAlign": "محاذاة في المنتصف",
|
|
33
|
-
"rightAlign": "محاذاة لليمين"
|
|
34
|
+
"rightAlign": "محاذاة لليمين",
|
|
35
|
+
"size": "حجم {{entity}}",
|
|
36
|
+
"altText": "نص بديل {{entity}}"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "بحث بالاسم",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "سيؤدي حذف هذه الصورة إلى إزالتها نهائيًا من جميع مساحات عملك. لا يمكن التراجع عن هذا الإجراء وسيؤدي إلى فقدان البيانات حيثما تم استخدام الصورة."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "أضف نصًا بديلاً للشعار."
|
|
79
|
+
"logoAltText": "أضف نصًا بديلاً للشعار.",
|
|
80
|
+
"altText": "أضف نص بديل لـ {{entity}}."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Библиотека с изображения",
|
|
5
5
|
"image": "Изображение",
|
|
6
6
|
"noImages": "Не са намерени изображения в библиотеката",
|
|
7
|
-
"dropHere": "Пуснете файла тук"
|
|
7
|
+
"dropHere": "Пуснете файла тук",
|
|
8
|
+
"logo": "Лого"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "Нещо се обърка! Моля, опитайте отново по-късно.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Алтернативен текст на логото",
|
|
31
32
|
"leftAlign": "Ляво подравняване",
|
|
32
33
|
"centerAlign": "Централно подравняване",
|
|
33
|
-
"rightAlign": "Дясно подравняване"
|
|
34
|
+
"rightAlign": "Дясно подравняване",
|
|
35
|
+
"size": "Размер на {{entity}}",
|
|
36
|
+
"altText": "Алтернативен текст за {{entity}}"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Търсене по име",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Изтриването на това изображение ще го премахне трайно от всички ваши работни пространства. Това действие не може да бъде отменено и ще доведе до загуба на данни навсякъде, където изображението се използва."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Добавете алтернативен текст за логото."
|
|
79
|
+
"logoAltText": "Добавете алтернативен текст за логото.",
|
|
80
|
+
"altText": "Добавете алтернативен текст за {{entity}}."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Biblioteca d'imatges",
|
|
5
5
|
"image": "Imatge",
|
|
6
6
|
"noImages": "No s'han trobat imatges a la biblioteca",
|
|
7
|
-
"dropHere": "Deixa el fitxer aquí"
|
|
7
|
+
"dropHere": "Deixa el fitxer aquí",
|
|
8
|
+
"logo": "Logotip"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "Alguna cosa ha anat malament! Si us plau, torna a provar més tard.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Text alternatiu del logotip",
|
|
31
32
|
"leftAlign": "Alineació esquerra",
|
|
32
33
|
"centerAlign": "Alineació al centre",
|
|
33
|
-
"rightAlign": "Alineació dreta"
|
|
34
|
+
"rightAlign": "Alineació dreta",
|
|
35
|
+
"size": "Mida de {{entity}}",
|
|
36
|
+
"altText": "Text alternatiu de {{entity}}"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Cerca per nom",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Eliminar aquesta imatge la retirarà permanentment de tots els teus espais de treball. Aquesta acció no es pot desfer i resultarà en pèrdua de dades on sigui que s'estigui utilitzant la imatge."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Afegeix text alternatiu per al logotip."
|
|
79
|
+
"logoAltText": "Afegeix text alternatiu per al logotip.",
|
|
80
|
+
"altText": "Afegiu text alternatiu per al {{entity}}."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Knihovna obrázků",
|
|
5
5
|
"image": "Obrázek",
|
|
6
6
|
"noImages": "V knihovně nebyly nalezeny žádné obrázky",
|
|
7
|
-
"dropHere": "Sem přetáhněte soubor"
|
|
7
|
+
"dropHere": "Sem přetáhněte soubor",
|
|
8
|
+
"logo": "Logo"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "Něco se pokazilo! Zkuste to prosím znovu později.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Alternativní text loga",
|
|
31
32
|
"leftAlign": "Zarovnat vlevo",
|
|
32
33
|
"centerAlign": "Zarovnat na střed",
|
|
33
|
-
"rightAlign": "Zarovnat vpravo"
|
|
34
|
+
"rightAlign": "Zarovnat vpravo",
|
|
35
|
+
"size": "Velikost {{entity}}",
|
|
36
|
+
"altText": "Alternativní text {{entity}}"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Hledat podle názvu",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Smazání tohoto obrázku ho trvale odstraní ze všech vašich pracovních prostorů. Tuto akci nelze vrátit a povede k ztrátě dat, kdekoliv je obrázek používán."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Přidejte alternativní text pro logo."
|
|
79
|
+
"logoAltText": "Přidejte alternativní text pro logo.",
|
|
80
|
+
"altText": "Přidejte alternativní text pro {{entity}}."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Billedbibliotek",
|
|
5
5
|
"image": "Billede",
|
|
6
6
|
"noImages": "Ingen billeder fundet i biblioteket",
|
|
7
|
-
"dropHere": "Drop filen her"
|
|
7
|
+
"dropHere": "Drop filen her",
|
|
8
|
+
"logo": "Logo"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "Noget gik galt! Prøv venligst igen senere.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Alternativ tekst til logo",
|
|
31
32
|
"leftAlign": "Venstre justering",
|
|
32
33
|
"centerAlign": "Center justering",
|
|
33
|
-
"rightAlign": "Højre justering"
|
|
34
|
+
"rightAlign": "Højre justering",
|
|
35
|
+
"size": "{{entity}} størrelse",
|
|
36
|
+
"altText": "{{entity}} alternativ tekst"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Søg efter navn",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Sletning af dette billede vil permanent fjerne det fra alle dine arbejdsområder. Denne handling kan ikke fortrydes og vil resultere i datatab, hvorend billedet bruges."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Tilføj alternativ tekst til logoet."
|
|
79
|
+
"logoAltText": "Tilføj alternativ tekst til logoet.",
|
|
80
|
+
"altText": "Tilføj alternativ tekst for {{entity}}."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Bildbibliothek",
|
|
5
5
|
"image": "Bild",
|
|
6
6
|
"noImages": "Keine Bilder in der Bibliothek gefunden",
|
|
7
|
-
"dropHere": "Datei hier ablegen"
|
|
7
|
+
"dropHere": "Datei hier ablegen",
|
|
8
|
+
"logo": "Logo"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "Etwas ist schiefgelaufen! Bitte versuche es später erneut.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Alternativer Text für Logo",
|
|
31
32
|
"leftAlign": "Links ausrichten",
|
|
32
33
|
"centerAlign": "Zentriert ausrichten",
|
|
33
|
-
"rightAlign": "Rechts ausrichten"
|
|
34
|
+
"rightAlign": "Rechts ausrichten",
|
|
35
|
+
"size": "{{entity}} Größe",
|
|
36
|
+
"altText": "{{entity}} alternativer Text"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Nach Namen suchen",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Das Löschen dieses Bildes entfernt es dauerhaft aus all deinen Arbeitsbereichen. Diese Aktion kann nicht rückgängig gemacht werden und führt zu Datenverlust, wo immer das Bild verwendet wird."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Füge alternativen Text für das Logo hinzu."
|
|
79
|
+
"logoAltText": "Füge alternativen Text für das Logo hinzu.",
|
|
80
|
+
"altText": "Fügen Sie alternativen Text für die {{entity}} hinzu."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Image library",
|
|
5
5
|
"image": "Image",
|
|
6
6
|
"noImages": "No images found in library",
|
|
7
|
-
"dropHere": "Drop the file here"
|
|
7
|
+
"dropHere": "Drop the file here",
|
|
8
|
+
"logo": "Logo"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "Something went wrong! Please try again later.",
|
|
@@ -25,9 +26,9 @@
|
|
|
25
26
|
"imageQuality": "Image quality",
|
|
26
27
|
"searchTheWeb": "Search the web",
|
|
27
28
|
"addImage": "Add image",
|
|
28
|
-
"
|
|
29
|
+
"size": "{{entity}} size",
|
|
29
30
|
"alignment": "Alignment",
|
|
30
|
-
"
|
|
31
|
+
"altText": "{{entity}} alt text",
|
|
31
32
|
"leftAlign": "Left align",
|
|
32
33
|
"centerAlign": "Center align",
|
|
33
34
|
"rightAlign": "Right align"
|
|
@@ -73,7 +74,7 @@
|
|
|
73
74
|
"message": "Deleting this image will permanently remove it from all your workspaces. This action cannot be undone and will result in data loss wherever the image is being used."
|
|
74
75
|
},
|
|
75
76
|
"tooltips": {
|
|
76
|
-
"
|
|
77
|
+
"altText": "Add alternative text for the {{entity}}."
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Biblioteca de imágenes",
|
|
5
5
|
"image": "Imagen",
|
|
6
6
|
"noImages": "No se encontraron imágenes en la biblioteca",
|
|
7
|
-
"dropHere": "Suelta el archivo aquí"
|
|
7
|
+
"dropHere": "Suelta el archivo aquí",
|
|
8
|
+
"logo": "Logotipo"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "¡Algo salió mal! Por favor, inténtalo de nuevo más tarde.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Texto alternativo del logo",
|
|
31
32
|
"leftAlign": "Alinear a la izquierda",
|
|
32
33
|
"centerAlign": "Alinear al centro",
|
|
33
|
-
"rightAlign": "Alinear a la derecha"
|
|
34
|
+
"rightAlign": "Alinear a la derecha",
|
|
35
|
+
"size": "tamaño de {{entity}}",
|
|
36
|
+
"altText": "texto alternativo de {{entity}}"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Buscar por nombre",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Eliminar esta imagen la quitará permanentemente de todos tus espacios de trabajo. Esta acción no se puede deshacer y resultará en pérdida de datos donde sea que se esté utilizando la imagen."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Agrega texto alternativo para el logo."
|
|
79
|
+
"logoAltText": "Agrega texto alternativo para el logo.",
|
|
80
|
+
"altText": "Agrega texto alternativo para el {{entity}}."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Biblioteca de imágenes",
|
|
5
5
|
"image": "Imagen",
|
|
6
6
|
"noImages": "No se encontraron imágenes en la biblioteca",
|
|
7
|
-
"dropHere": "Suelta el archivo aquí"
|
|
7
|
+
"dropHere": "Suelta el archivo aquí",
|
|
8
|
+
"logo": "Logo"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "¡Algo salió mal! Por favor, intenta de nuevo más tarde.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Texto alternativo del logo",
|
|
31
32
|
"leftAlign": "Alinear a la izquierda",
|
|
32
33
|
"centerAlign": "Alinear al centro",
|
|
33
|
-
"rightAlign": "Alinear a la derecha"
|
|
34
|
+
"rightAlign": "Alinear a la derecha",
|
|
35
|
+
"size": "tamaño de {{entity}}",
|
|
36
|
+
"altText": "texto alternativo de {{entity}}"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Buscar por nombre",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Eliminar esta imagen la retirará permanentemente de todos tus espacios de trabajo. Esta acción no se puede deshacer y resultará en pérdida de datos donde sea que se esté usando la imagen."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Agrega texto alternativo para el logo."
|
|
79
|
+
"logoAltText": "Agrega texto alternativo para el logo.",
|
|
80
|
+
"altText": "Agrega texto alternativo para el {{entity}}."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"imageLibrary": "Piltide raamat",
|
|
5
5
|
"image": "Pilt",
|
|
6
6
|
"noImages": "Raamatust ei leitud ühtegi pilti",
|
|
7
|
-
"dropHere": "Looge fail siia"
|
|
7
|
+
"dropHere": "Looge fail siia",
|
|
8
|
+
"logo": "Logo"
|
|
8
9
|
},
|
|
9
10
|
"unsplash": {
|
|
10
11
|
"errorMessage": "Midagi läks valesti! Palun proovige hiljem uuesti.",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
"logoAltText": "Logo alternatiivne tekst",
|
|
31
32
|
"leftAlign": "Vasakule joondamine",
|
|
32
33
|
"centerAlign": "Keskele joondamine",
|
|
33
|
-
"rightAlign": "Paremale joondamine"
|
|
34
|
+
"rightAlign": "Paremale joondamine",
|
|
35
|
+
"size": "{{entity}} suurus",
|
|
36
|
+
"altText": "{{entity}} alternatiivtekst"
|
|
34
37
|
},
|
|
35
38
|
"placeholders": {
|
|
36
39
|
"searchImage": "Otsi nime järgi",
|
|
@@ -73,7 +76,8 @@
|
|
|
73
76
|
"message": "Selle pildi kustutamine eemaldab selle igavasti kõikidest teie tööruumidest. Seda toimingut ei saa tagasi pöörata ja see toob kaasa andmete kaotuse seal, kus pilti kasutatakse."
|
|
74
77
|
},
|
|
75
78
|
"tooltips": {
|
|
76
|
-
"logoAltText": "Lisa alternatiivne tekst logole."
|
|
79
|
+
"logoAltText": "Lisa alternatiivne tekst logole.",
|
|
80
|
+
"altText": "Lisa alternatiivtekst {{entity}} jaoks."
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|