@wizishop/img-manager 15.2.5 → 15.2.7
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 +121 -119
- package/assets/i18n/en.json +1 -1
- package/assets/i18n/fr.json +1 -1
- package/esm2020/lib/components/images-view/images-view.component.mjs +11 -8
- package/esm2020/lib/components/img-selection/img-selection.component.mjs +9 -10
- package/esm2020/lib/services/api.service.mjs +1 -1
- package/esm2020/lib/services/canva.service.mjs +2 -2
- package/esm2020/lib/services/img-manager.service.mjs +6 -9
- package/esm2020/lib/services/img-selection.service.mjs +1 -1
- package/esm2020/lib/services/upload.service.mjs +5 -3
- package/esm2020/lib/wz-img-manager.component.mjs +14 -10
- package/fesm2015/wizishop-img-manager.mjs +37 -37
- package/fesm2015/wizishop-img-manager.mjs.map +1 -1
- package/fesm2020/wizishop-img-manager.mjs +35 -35
- package/fesm2020/wizishop-img-manager.mjs.map +1 -1
- package/lib/components/img-selection/img-selection.component.d.ts +7 -6
- package/lib/services/api.service.d.ts +4 -3
- package/lib/services/img-manager.service.d.ts +1 -1
- package/lib/services/upload.service.d.ts +5 -2
- package/lib/wz-img-manager.component.d.ts +5 -2
- package/package.json +1 -1
- package/wizishop-img-manager-15.2.7.tgz +0 -0
- package/wizishop-img-manager-15.2.5.tgz +0 -0
package/README.md
CHANGED
|
@@ -104,12 +104,12 @@ In your `index.html` file add the following balise.
|
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
## Add package dependencies
|
|
107
|
-
In your `app.module.ts` :
|
|
107
|
+
In your module like `app.module.ts` :
|
|
108
108
|
```
|
|
109
109
|
import { BrowserModule } from '@angular/platform-browser';
|
|
110
110
|
import { NgModule } from '@angular/core';
|
|
111
111
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
112
|
-
import { WzImgManagerModule } from '@wizishop/img-manager';
|
|
112
|
+
import { WzImgManagerModule, ApiService } from '@wizishop/img-manager';
|
|
113
113
|
import { AppComponent } from './app.component';
|
|
114
114
|
import { TranslateModule, TranslateLoader} from '@ngx-translate/core';
|
|
115
115
|
import { HttpClient } from '@angular/common/http';
|
|
@@ -130,7 +130,10 @@ export function HttpLoaderFactory(http: HttpClient) {
|
|
|
130
130
|
imports: [
|
|
131
131
|
BrowserModule,
|
|
132
132
|
BrowserAnimationsModule,
|
|
133
|
-
WzImgManagerModule
|
|
133
|
+
WzImgManagerModule.withConfig({
|
|
134
|
+
provide: ApiService,
|
|
135
|
+
useClass: ImageManagerApiService,
|
|
136
|
+
}),
|
|
134
137
|
TranslateModule.forRoot({
|
|
135
138
|
defaultLanguage: 'fr',
|
|
136
139
|
loader: {
|
|
@@ -146,151 +149,150 @@ export function HttpLoaderFactory(http: HttpClient) {
|
|
|
146
149
|
export class AppModule { }
|
|
147
150
|
```
|
|
148
151
|
|
|
149
|
-
###
|
|
150
|
-
|
|
152
|
+
### Provide the ApiService
|
|
153
|
+
You must provide the ApiService needed to fetch images, upload new images...
|
|
154
|
+
Your service should extends ApiService from `@wizishop/img-manager` in order to implements all needed properties and methods.
|
|
151
155
|
|
|
152
|
-
|
|
153
|
-
It should look like that :
|
|
154
|
-
`npm i tslib @angular/core @ngx-translate @angular/common rxjs @wizishop/ng-wizi-bulma @angular/common @angular/forms ngx-scrollbar ngx-scrollbar/reached-event ngx-image-cropper @angular/cdk/table`
|
|
156
|
+
Example:
|
|
155
157
|
|
|
156
|
-
## Image Manager setup
|
|
157
|
-
### Image Manager Set External And Display config
|
|
158
|
-
Ts file :
|
|
159
158
|
```
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
externalConfig: ImgManagerConfigDto;
|
|
159
|
+
@Injectable()
|
|
160
|
+
export class ImageManagerApiService implements ApiService {
|
|
163
161
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
){}
|
|
162
|
+
SHOP_ID_KEY = "shopIdKey";
|
|
163
|
+
SHOP_TOKEN_KEY = "shopTokenKey";
|
|
167
164
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
165
|
+
get shopId(): number {
|
|
166
|
+
return Number(localStorage.getItem(this.SHOP_ID_KEY)) || 0;
|
|
167
|
+
}
|
|
172
168
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
169
|
+
get shopToken(): string {
|
|
170
|
+
return localStorage.getItem(this.SHOP_TOKEN_KEY) || '';
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
CONFIG = {
|
|
174
|
+
image_manager_route: `https://api.wizilocal.com/v3/image-manager/shops/${this.shopId}`,
|
|
175
|
+
canva_token: 'wdByHayF5v57nj2ZSLvu055O',
|
|
176
|
+
canva_url: 'https://sdk.canva.com/designbutton/v2/api.js',
|
|
177
|
+
pexels_token: '563492ad6f91700001000001e39215727d8b42c1b08498a9ce1e6b94',
|
|
178
|
+
pexels_route: 'https://api.pexels.com/v1',
|
|
179
|
+
assets_route: 'assets/img-manager/'
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
IMG_SIZE = {
|
|
183
|
+
url_raw_image: `https://mepdia.wizilocal.com/_i/${this.shopId}/RAW-`,
|
|
184
|
+
url_100_image: `https://media.wizilocal.com/_i/${this.shopId}/m100-`,
|
|
185
|
+
url_200_image: `https://media.wizilocal.com/_i/${this.shopId}/cs200-`,
|
|
186
|
+
url_400_image: `https://media.wizilocal.com/_i/${this.shopId}/cs400-`,
|
|
187
|
+
url_800_image: `https://media.wizilocal.com/_i/${this.shopId}/cs800-`
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
constructor(private http: HttpClient) {
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
getShopCategory(): string {
|
|
194
|
+
return 'other';
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
private getOptionsHeaders(params?: ParamsImgManagerDTO) {
|
|
198
|
+
const header = { headers: new HttpHeaders({
|
|
199
|
+
Authorization: 'Bearer ' + this.shopToken
|
|
200
|
+
})
|
|
201
|
+
};
|
|
202
|
+
if (params) {
|
|
203
|
+
header['params'] = params
|
|
204
|
+
}
|
|
205
|
+
return header;
|
|
206
|
+
}
|
|
197
207
|
|
|
198
|
-
|
|
208
|
+
getShopImgList(params?: ParamsImgManagerDTO): Observable<ImgPicturesDTO> {
|
|
209
|
+
return this.http.get<ImgPicturesDTO>(`${this.CONFIG.image_manager_route}/images`, this.getOptionsHeaders(params));
|
|
210
|
+
}
|
|
199
211
|
|
|
200
|
-
|
|
212
|
+
getShopTotalImgList(params?: ParamsImgManagerDTO) {
|
|
213
|
+
return this.http.get<{totalRecords: string}>(`${this.CONFIG.image_manager_route}/total/image`, this.getOptionsHeaders(params)).pipe(map(data => Number(data.totalRecords)));
|
|
214
|
+
}
|
|
201
215
|
|
|
202
|
-
|
|
203
|
-
this.
|
|
204
|
-
|
|
216
|
+
getShopImg(idFile: string): Observable<ImgPictureDTO> {
|
|
217
|
+
return this.http.get<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${idFile}`, this.getOptionsHeaders());
|
|
218
|
+
}
|
|
205
219
|
|
|
220
|
+
uploadFile(formData: FormData) {
|
|
221
|
+
return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, formData, this.getOptionsHeaders());
|
|
222
|
+
}
|
|
206
223
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
[externalConfig]="imgExternalConfig"
|
|
216
|
-
(imgManagerClosed)="onImgManagerClosed()">
|
|
217
|
-
</wz-img-manager>
|
|
218
|
-
```
|
|
219
|
-
### Image Manager - Wizi-block and Canva
|
|
220
|
-
<!-- TODO ADD provider -->
|
|
221
|
-
TS file :
|
|
222
|
-
```
|
|
223
|
-
id_shop: number;
|
|
224
|
-
token: string;
|
|
225
|
-
openImgManager: boolean = false;
|
|
226
|
-
waitForImage: boolean = false;
|
|
227
|
-
imgExternalConfig: ImgManagerConfigDto;
|
|
228
|
-
|
|
229
|
-
constructor(
|
|
230
|
-
private imgSelectionService: ImgSelectionService,
|
|
231
|
-
private canvaService: CanvaService
|
|
232
|
-
){}
|
|
233
|
-
|
|
234
|
-
ngOnInit() {
|
|
235
|
-
// Config img manager
|
|
236
|
-
this.imgManagerDisplayConfig = this.imgManagerService.getImgManagerDisplayConfig('wizi-block');
|
|
237
|
-
this.setImgExternalConfig();
|
|
238
|
-
this.mediaConnectorService
|
|
239
|
-
.bindEventImage()
|
|
240
|
-
.pipe(takeUntil(this.unsubscribe))
|
|
241
|
-
.subscribe((mediaDto: MediaDto) => {
|
|
242
|
-
this.imgSelectionService.setImgSelection(null); // Reset last img selected
|
|
243
|
-
this.canvaService.expectedImgSizesChange(mediaDto);
|
|
244
|
-
if (this.waitForImage) {
|
|
245
|
-
return;
|
|
224
|
+
uploadFileByUrl(url: string, fileName?: string) {
|
|
225
|
+
return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, { url, fileName }, this.getOptionsHeaders());
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
replaceImg(imageBase64: string, id_file: string) {
|
|
229
|
+
const body = {
|
|
230
|
+
imageBase64,
|
|
231
|
+
type : "RAW"
|
|
246
232
|
}
|
|
247
|
-
this.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
this.imgSelectionService
|
|
251
|
-
.getImgSelectionChange()
|
|
252
|
-
.pipe(first(data => !!data))
|
|
253
|
-
.subscribe(imgSelectionList => {
|
|
254
|
-
if (imgSelectionList && imgSelectionList.length) {
|
|
255
|
-
this.setImgInWiziBlock(imgSelectionList[0].file_name, imgSelectionList[0].id_file);
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
...
|
|
261
|
-
}
|
|
233
|
+
return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}/replace`, body, this.getOptionsHeaders());
|
|
234
|
+
}
|
|
262
235
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
this.waitForImage = false;
|
|
267
|
-
}
|
|
236
|
+
changeImgName(fileName: string, id_file: string) {
|
|
237
|
+
return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());
|
|
238
|
+
}
|
|
268
239
|
|
|
269
|
-
|
|
270
|
-
|
|
240
|
+
removeImg(id_file: string) {
|
|
241
|
+
return this.http.delete<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}`, this.getOptionsHeaders());
|
|
242
|
+
}
|
|
271
243
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
244
|
+
removeMultipleImg(id_array: string[]) {
|
|
245
|
+
return this.http.post<ImgPictureDTO[]>(`${this.CONFIG.image_manager_route}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());
|
|
246
|
+
}
|
|
275
247
|
|
|
276
|
-
// Send img to wiziblock
|
|
277
|
-
this.mediaConnectorService.image = imgSelected;
|
|
278
248
|
}
|
|
279
249
|
```
|
|
280
250
|
|
|
251
|
+
|
|
252
|
+
### Install external package dependencies
|
|
253
|
+
The list of all external package required by the image manager is listed at at the end of the installation.
|
|
254
|
+
|
|
255
|
+
Install all the dependencies packages.
|
|
256
|
+
It should look like that :
|
|
257
|
+
`npm i tslib @angular/core @ngx-translate @angular/common rxjs @wizishop/ng-wizi-bulma @angular/common @angular/forms ngx-scrollbar ngx-scrollbar/reached-event ngx-image-cropper @angular/cdk/table`
|
|
258
|
+
|
|
259
|
+
## Image Manager setup
|
|
260
|
+
### Choose the image manager display
|
|
261
|
+
You can choose the display config with the parameter passed in the getImgManagerDisplayConfig method.
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
imgManagerDisplayConfig = this.imgManagerService.getImgManagerDisplayConfig('wizi-block');
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
|
|
281
268
|
Html file :
|
|
282
269
|
```
|
|
283
270
|
<wz-img-manager
|
|
284
|
-
#wzImgManager
|
|
285
271
|
[stateDisplayed]="imgManagerDisplayConfig.stateDisplayed"
|
|
286
272
|
[multipleImgMode]="imgManagerDisplayConfig.multipleImgMode"
|
|
287
273
|
[showImgManagerModule]="imgManagerDisplayConfig.showImgManagerModule && openImgManager"
|
|
288
274
|
[showSelection]="imgManagerDisplayConfig.showSelection"
|
|
289
|
-
[externalConfig]="imgExternalConfig"
|
|
290
275
|
(imgManagerClosed)="onImgManagerClosed()"
|
|
276
|
+
(imgSelectionChange)="onImageSelected($event)"
|
|
277
|
+
(imageUploaded)="onImgUploaded($event)"
|
|
291
278
|
>
|
|
292
279
|
</wz-img-manager>
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
### Detect when an image is selected
|
|
283
|
+
|
|
284
|
+
TS file :
|
|
285
|
+
```
|
|
286
|
+
onImageSelected(imgPictures: ImgPictureDTO[]) {
|
|
287
|
+
if (!this.waitForImage) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
if (imgPictures && imgPictures.length) {
|
|
291
|
+
this.setImgInWiziBlock(imgPictures[0].file_name, imgPictures[0].id_file);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
293
294
|
```
|
|
295
|
+
### Set Canva expected image size
|
|
294
296
|
The `this.canvaService.expectedImgSizesChange(mediaDto);` send the expected size of the image asked by the wizi block. It is optional.
|
|
295
297
|
|
|
296
298
|
## Config the translations
|
|
@@ -337,7 +339,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
337
339
|
})
|
|
338
340
|
```
|
|
339
341
|
|
|
340
|
-
And somewhere in the project or in a custom
|
|
342
|
+
And somewhere in the project or in a custom translate loader :
|
|
341
343
|
|
|
342
344
|
```
|
|
343
345
|
import { TranslateService } from '@ngx-translate/core';
|
package/assets/i18n/en.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"ImgManager.CanvaBtn.bigSquare":"Big","ImgManager.CanvaBtn.createImg":"Create an image with","ImgManager.CanvaBtn.createImg.title":"Create an image with Canva","ImgManager.CanvaBtn.errorRenameCanvaImg":"Error: the title of the image from Canva could not be retrieved.","ImgManager.CanvaBtn.errorUploadCanvaImg":"Error: the image from Canva could not be uploaded.","ImgManager.CanvaBtn.info":"Select a format","ImgManager.CanvaBtn.mediumSquare":"Medium","ImgManager.CanvaBtn.publish":"Import","ImgManager.CanvaBtn.recommanded":"Recommended","ImgManager.CanvaBtn.smallSquare":"Small","ImgManager.CanvaBtn.successImport":"Your image has been imported
|
|
1
|
+
{"ImgManager.CanvaBtn.bigSquare":"Big","ImgManager.CanvaBtn.createImg":"Create an image with","ImgManager.CanvaBtn.createImg.title":"Create an image with Canva","ImgManager.CanvaBtn.errorRenameCanvaImg":"Error: the title of the image from Canva could not be retrieved.","ImgManager.CanvaBtn.errorUploadCanvaImg":"Error: the image from Canva could not be uploaded.","ImgManager.CanvaBtn.info":"Select a format","ImgManager.CanvaBtn.mediumSquare":"Medium","ImgManager.CanvaBtn.publish":"Import","ImgManager.CanvaBtn.recommanded":"Recommended","ImgManager.CanvaBtn.smallSquare":"Small","ImgManager.CanvaBtn.successImport":"Your image has been imported","ImgManager.CanvaBtn.uploadingImg":"Image loading.","ImgManager.ImgCard.confirmDeleteImg":"Are you sure you want to delete this image?","ImgManager.ImgCard.del":"Delete","ImgManager.ImgCard.download":"Download","ImgManager.ImgCard.edit":"Edit","ImgManager.ImgCard.select":"Select","ImgManager.ImgCard.validImgSmall":"Select","ImgManager.ImgEditor.config.AntiSchedule":"Anti-clockwise","ImgManager.ImgEditor.config.dezoom":"Zoom less","ImgManager.ImgEditor.config.flipHoriz":"Turn horizontally","ImgManager.ImgEditor.config.flipVert":"Vertical Reversal","ImgManager.ImgEditor.config.free":"Free size","ImgManager.ImgEditor.config.landscape":"Landscape","ImgManager.ImgEditor.config.origin":"Original format","ImgManager.ImgEditor.config.Portrait":"Portrait","ImgManager.ImgEditor.config.schedule":"Clockwise","ImgManager.ImgEditor.config.square":"Square","ImgManager.ImgEditor.config.zoom":"Zoom more","ImgManager.ImgEditor.copytoClipBoard":"Copied!","ImgManager.ImgEditor.crop":"Crop","ImgManager.ImgEditor.display":"Zoom","ImgManager.ImgEditor.msgFailLoad":"Error: please start again.","ImgManager.ImgEditor.msgFailSave":"Error: The image could not be saved.<br/>Please try again.","ImgManager.ImgEditor.nameEx":"Ex: Black T-shirt","ImgManager.ImgEditor.NameInfo":"The name of the image is used to define the alt attribute.","ImgManager.ImgEditor.restart":"Refresh","ImgManager.ImgEditor.rotation":"Rotate","ImgManager.ImgEditor.saveBtn":"Save and close","ImgManager.ImgEditor.Valid":"Confirm","ImgManager.ImgEditor.ValidtToolTip":"Click here to crop the image","ImgManager.ImgLib.cancel":"Cancel","ImgManager.ImgLib.confirm":"Confirm","ImgManager.ImgLib.confirmSupQuestion":"{{nbImage}} image to delete: Are you sure?","ImgManager.ImgLib.confirmSupQuestions":"{{nbImage}} images to delete: Are you sure?","ImgManager.ImgLib.delMlt":"Delete","ImgManager.ImgLib.errorGetAllImg":"Error: Your images could not be recovered.","ImgManager.ImgLib.errorGetCanvaImg":"Error: the image from Canva could not be retrieved.","ImgManager.ImgLib.errorGetTotalImg":"Error: The total number of images has not been recovered.","ImgManager.ImgLib.imgNameSaved":"Image name saved.","ImgManager.ImgLib.lastImgs":"Your last images","ImgManager.ImgLib.nbImg":"Number of images","ImgManager.ImgLib.noImgFound":"No images found.<br/>Display free images.","ImgManager.ImgLib.savingImgName":"Backup in progress...","ImgManager.ImgLib.select":"Select","ImgManager.ImgList.download":"Download","ImgManager.ImgList.edit":"Edit","ImgManager.ImgList.errorAlreadyUsed":"This image can not be deleted as it is being used.","ImgManager.ImgList.errorRemoveImg":"Error: Some images could not be deleted.","ImgManager.ImgList.errorRenameImg":"Error: Some images could not be renamed.","ImgManager.ImgList.remove":"Delete","ImgManager.ImgList.titleImgName":"Image name","ImgManager.ImgList.titleResolution":"Resolution","ImgManager.ImgSelection.deleteImg":"Delete","ImgManager.ImgSelection.tooltips":"Use the Drag & Drop to change the order of the images","ImgManager.ImgSelection.unselect":"Drag the image here to remove it from the selection","ImgManager.ImgUpload.dropImg":"Drag and drop your image here","ImgManager.ImgUpload.ErrorImgSize":"The image: {{fileName}} is too big ({{fileSize}}ko). Maximum size accepted: {{maxFileSize}}ko","ImgManager.ImgUpload.errorNotImg":"Error: Only images can be imported","ImgManager.ImgUpload.errorUploadingImg":"Error: An image could not be imported","ImgManager.ImgUpload.loading":"Loading...","ImgManager.ImgUpload.or":"or","ImgManager.ImgUpload.selectImg":"Select the images to be imported","ImgManager.PexelLib.errorRetrievePhotos":"Error: The Pexel images have not been recovered.","ImgManager.PexelLib.errorUploadPhoto":"Error: the image could not be imported","ImgManager.PexelLib.import":"Import","ImgManager.PexelLib.importation":"Import","ImgManager.PexelLib.landscape":"Landscape","ImgManager.PexelLib.nbImgFound":"Number if images found","ImgManager.PexelLib.noResult":"No image found.","ImgManager.PexelLib.original":"Original.","ImgManager.PexelLib.portrait":"Portrait","ImgManager.PexelLib.successImport":"Your image has been imported into the image manager","ImgManager.PexelLib.untitled":"No title","ImgManager.PexelLib.uploadingImg":"Loading the current image.","ImgManager.SearchBar.placeholder":"Name of the image to search","ImgManager.snackBar.action":"View image","ImgManager.Tabs.addImg":"Add an image","ImgManager.Tabs.Editor":"Image editor","ImgManager.Tabs.freeImgLib":"Free image library","ImgManager.Tabs.imgLib":"Your images","ImgManager.UploadList.imgSuccessImport":"images successfully imported and optimized for SEO","ImgManager.UploadList.imgSuccessImportOne":"imported image optimized for SEO","ImgManager.UploadList.properties.imgName":"Image name","ImgManager.UploadList.properties.imgSize":"Size of original image","ImgManager.UploadList.properties.imgURL":"Image URL","ImgManager.UploadList.properties.imgWeight":"Size of original file","ImgManager.UploadList.seo.cdn":"Addition in the CDN.","ImgManager.UploadList.seo.cdnTooltips":"The images you add to your website are sent directly to our CDN (Content Delivery Network). This allows the visuals to be loaded from the servers closest to the user.","ImgManager.UploadList.seo.lazyloading":"Automatic lazyloading.","ImgManager.UploadList.seo.lazyloadingTooltips":"With lazyloading, the content is loaded as the user scrolls down the page. This allows to load only the visible content.","ImgManager.UploadList.seo.rezise":"Resizing and compression.","ImgManager.UploadList.seo.reziseTooltips":"When importing your image on WiziShop, more than 22 formats are created to adapt to different screen sizes. This optimization allows us to send a different size of visual and compressed according to the support of the Internet user.","ImgManager.UploadList.seo.title":"SEO Optimizations","ImgManager.UploadList.seo.webp":"Webp generation","ImgManager.UploadList.seo.webpTooltips":"As soon as you add an image to your site, it will be accessible in the standard format, but it will also be automatically converted to the WebP format for Google. This format allows you to compress, as much as possible, the images present on your store to load them very quickly.","ImgManager.webElement.infoBulle":"The image manager allows you to <strong>download</strong> images, <strong> select them </strong> and apply some <strong>effects</strong> (crop, rotations...).<br/><br/>We recommend using <strong>several photos</strong> of the product (3 or 4) in various positions or environments.","ImgManager.webElement.OpenBtn":"Add photos","ImgManager.webElement.photosTitle":"Photos","no":"no","PaginationComponent.on":"{{low}}-{{high}} on {{total}}","PaginationComponent.page":"Go to page","wac.datatable.noresult":"There are no results for this search","yes":"yes"}
|
package/assets/i18n/fr.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"ImgManager.CanvaBtn.bigSquare":"Grand","ImgManager.CanvaBtn.createImg":"Créer une image avec","ImgManager.CanvaBtn.createImg.title":"Créer une image avec Canva","ImgManager.CanvaBtn.errorRenameCanvaImg":"Erreur : le titre de l'image provenant de Canva n'a pas pu être récupéré.","ImgManager.CanvaBtn.errorUploadCanvaImg":"Erreur : l'image provenant de Canva n'a pas pu être téléchargée.","ImgManager.CanvaBtn.info":"Sélectionner un format","ImgManager.CanvaBtn.mediumSquare":"Moyen","ImgManager.CanvaBtn.publish":"Importer","ImgManager.CanvaBtn.recommanded":"Recommandé","ImgManager.CanvaBtn.smallSquare":"Petit","ImgManager.CanvaBtn.successImport":"Votre image a bien été importée
|
|
1
|
+
{"ImgManager.CanvaBtn.bigSquare":"Grand","ImgManager.CanvaBtn.createImg":"Créer une image avec","ImgManager.CanvaBtn.createImg.title":"Créer une image avec Canva","ImgManager.CanvaBtn.errorRenameCanvaImg":"Erreur : le titre de l'image provenant de Canva n'a pas pu être récupéré.","ImgManager.CanvaBtn.errorUploadCanvaImg":"Erreur : l'image provenant de Canva n'a pas pu être téléchargée.","ImgManager.CanvaBtn.info":"Sélectionner un format","ImgManager.CanvaBtn.mediumSquare":"Moyen","ImgManager.CanvaBtn.publish":"Importer","ImgManager.CanvaBtn.recommanded":"Recommandé","ImgManager.CanvaBtn.smallSquare":"Petit","ImgManager.CanvaBtn.successImport":"Votre image a bien été importée","ImgManager.CanvaBtn.uploadingImg":"Chargement de l'image en cours.","ImgManager.ImgCard.confirmDeleteImg":"Êtes-vous sûr(e) de supprimer cette image ?","ImgManager.ImgCard.del":"Supprimer","ImgManager.ImgCard.download":"Télécharger","ImgManager.ImgCard.edit":"Éditer","ImgManager.ImgCard.select":"Sélectionner","ImgManager.ImgCard.validImgSmall":"Sélectionner","ImgManager.ImgEditor.config.AntiSchedule":"Sens anti-horaire","ImgManager.ImgEditor.config.dezoom":"Zoomer moins","ImgManager.ImgEditor.config.flipHoriz":"Retournement Horizontal","ImgManager.ImgEditor.config.flipVert":"Retournement Vertical","ImgManager.ImgEditor.config.free":"Format libre","ImgManager.ImgEditor.config.landscape":"Paysage","ImgManager.ImgEditor.config.origin":"Format d'origine","ImgManager.ImgEditor.config.Portrait":"Portrait","ImgManager.ImgEditor.config.schedule":"Sens horaire","ImgManager.ImgEditor.config.square":"Carré","ImgManager.ImgEditor.config.zoom":"Zoomer plus","ImgManager.ImgEditor.copytoClipBoard":"Copié !","ImgManager.ImgEditor.crop":"Recadrer","ImgManager.ImgEditor.display":"Affichage","ImgManager.ImgEditor.msgFailLoad":"Erreur : Veuillez recommencer.","ImgManager.ImgEditor.msgFailSave":"Erreur : L'image n'a pu être sauvegardée.<br/>Veuillez recommencer.","ImgManager.ImgEditor.nameEx":"Par ex: T-shirt noir","ImgManager.ImgEditor.NameInfo":"Le nom de l'image est utilisé pour définir l'attribut alt.","ImgManager.ImgEditor.restart":"Réinitialiser","ImgManager.ImgEditor.rotation":"Rotation","ImgManager.ImgEditor.saveBtn":"Enregistrer et Fermer","ImgManager.ImgEditor.Valid":"Valider","ImgManager.ImgEditor.ValidtToolTip":"Cliquez ici pour rogner l'image","ImgManager.ImgLib.cancel":"Annuler","ImgManager.ImgLib.confirm":"Confirmer","ImgManager.ImgLib.confirmSupQuestion":"{{nbImage}} image à supprimer : Confirmez-vous ce choix ?","ImgManager.ImgLib.confirmSupQuestions":"{{nbImage}} images à supprimer : Confirmez-vous ce choix ?","ImgManager.ImgLib.delMlt":"Supprimer","ImgManager.ImgLib.errorGetAllImg":"Erreur : Vos images n'ont pas pu être récupérées.","ImgManager.ImgLib.errorGetCanvaImg":"Erreur : Votre image Canva n'a pas pu être récupérée.","ImgManager.ImgLib.errorGetTotalImg":"Erreur : Le nombre total d'images n'a pas été récupéré.","ImgManager.ImgLib.imgNameSaved":"Nom de l'image sauvegardé.","ImgManager.ImgLib.lastImgs":"Vos dernières images","ImgManager.ImgLib.nbImg":"Nombre d'images","ImgManager.ImgLib.noImgFound":"Aucune image trouvée.<br/>Affichage d'images gratuites.","ImgManager.ImgLib.savingImgName":"Sauvegarde en cours...","ImgManager.ImgLib.select":"Sélectionner","ImgManager.ImgList.download":"Télécharger","ImgManager.ImgList.edit":"Éditer","ImgManager.ImgList.errorAlreadyUsed":"Cette image ne peut pas être supprimée, car elle est déjà utilisée.","ImgManager.ImgList.errorRemoveImg":"Erreur : Certaines images n'ont pas pu être supprimées.","ImgManager.ImgList.errorRenameImg":"Erreur : Certaines images n'ont pas pu être renommées.","ImgManager.ImgList.remove":"Supprimer","ImgManager.ImgList.titleImgName":"Nom de l'image","ImgManager.ImgList.titleResolution":"Résolution","ImgManager.ImgSelection.deleteImg":"Retirer","ImgManager.ImgSelection.tooltips":"Utilisez le Drag & Drop pour changer l'ordre de l'image","ImgManager.ImgSelection.unselect":"Glissez l'image ici pour la retirer de la sélection","ImgManager.ImgUpload.dropImg":"Glisser-déposer votre image ici","ImgManager.ImgUpload.ErrorImgSize":"L'image : {{fileName}} est trop grande ({{fileSize}}ko). Taille maximum acceptée: {{maxFileSize}}ko","ImgManager.ImgUpload.errorNotImg":"Erreur : Seules les images peuvent être importées","ImgManager.ImgUpload.errorUploadingImg":"Erreur : Une image n'a pas pu être importée","ImgManager.ImgUpload.loading":"Chargement en cours.","ImgManager.ImgUpload.or":"ou","ImgManager.ImgUpload.selectImg":"Choisir les images à importer","ImgManager.PexelLib.errorRetrievePhotos":"Erreur : Les images Pexel n'ont pas été récupérées.","ImgManager.PexelLib.errorUploadPhoto":"Erreur : L'image n'a pas pu être importée","ImgManager.PexelLib.import":"Importer","ImgManager.PexelLib.importation":"Importation","ImgManager.PexelLib.landscape":"Paysage","ImgManager.PexelLib.nbImgFound":"Nombre d'images gratuites trouvées","ImgManager.PexelLib.noResult":"Aucune image trouvée.","ImgManager.PexelLib.original":"Original","ImgManager.PexelLib.portrait":"Portrait","ImgManager.PexelLib.successImport":"Votre image a été importée dans le gestionnaire d'images","ImgManager.PexelLib.untitled":"Sans titre","ImgManager.PexelLib.uploadingImg":"Chargement de l'image en cours.","ImgManager.SearchBar.placeholder":"Nom de l'image à rechercher","ImgManager.snackBar.action":"Voir l'image","ImgManager.Tabs.addImg":"Ajouter une image","ImgManager.Tabs.Editor":"Editeur d'image","ImgManager.Tabs.freeImgLib":"Bibliothèque d’images gratuites","ImgManager.Tabs.imgLib":"Vos images","ImgManager.UploadList.imgSuccessImport":"images importées et optimisées pour le SEO","ImgManager.UploadList.imgSuccessImportOne":"image importée et optimisée pour le SEO","ImgManager.UploadList.properties.imgName":"Nom de l'image","ImgManager.UploadList.properties.imgSize":"Taille de l'image originale","ImgManager.UploadList.properties.imgURL":"Url de l'image","ImgManager.UploadList.properties.imgWeight":"Taille du fichier original","ImgManager.UploadList.seo.cdn":"Ajout dans le CDN.","ImgManager.UploadList.seo.cdnTooltips":"Les images que vous ajoutez sur votre site marchand sont envoyées directement vers notre CDN (Content Delivery Network). Cela permet de charger les visuels depuis les serveurs les plus proches de l'utilisateur.","ImgManager.UploadList.seo.lazyloading":"Lazyloading automatique.","ImgManager.UploadList.seo.lazyloadingTooltips":"Avec le lazyloading, le contenu se charge au fur et à mesure que l’internaute descend (scroll) dans la page. Ceci permet de charger uniquement le contenu visible.","ImgManager.UploadList.seo.rezise":"Redimensionnement et compression.","ImgManager.UploadList.seo.reziseTooltips":"Lors de l’import de votre image sur WiziShop, ce sont plus de 22 formats qui sont créés pour s’adapter aux différentes tailles d’écran. Cette optimisation nous permet d’envoyer une taille de visuel différente et compressée selon le support de l’internaute.","ImgManager.UploadList.seo.title":"Optimisations SEO","ImgManager.UploadList.seo.webp":"Génération des Webp.","ImgManager.UploadList.seo.webpTooltips":"Dès lors que vous ajoutez une image sur votre site, elle va être accessible au format standard, mais aussi se convertir automatiquement au format WebP pour Google. Ce format permet de compresser, au maximum, les images présentes sur votre boutique pour les charger très rapidement.","ImgManager.webElement.infoBulle":"Le gestionnaire d'image vous permet de <strong>télécharger</strong> des images, les <strong>sélectionner </strong>et appliquer certains <strong>effets</strong>(recadrage, rotations...).\n<br/><br/>\nIl est conseillé d'avoir <strong>plusieurs photos</strong> du produit (3 ou 4) dans divers positions ou situations.","ImgManager.webElement.OpenBtn":"Ajouter des photos","ImgManager.webElement.photosTitle":"Photos","no":"non","PaginationComponent.on":"{{low}}-{{high}} sur {{total}}","PaginationComponent.page":"Aller à la page","wac.datatable.noresult":"Il n'y a aucun résultat pour cette recherche","yes":"oui"}
|