@dev.smartpricing/message-composer-layer 4.2.6 → 4.2.7-maizzle.0

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.
@@ -1,622 +1,251 @@
1
1
  export default {
2
- language: {
3
- en: 'English',
4
- de: 'German',
5
- fr: 'French',
6
- it: 'Italian',
7
- es: 'Spanish',
8
- },
9
- message: {
10
- render_type: {
11
- whatsapp_v1: 'Whatsapp',
12
- email_v1: 'Email',
13
- },
14
- },
15
- status: {
16
- pending: 'Pending',
17
- draft: 'Draft',
18
- rejected: 'Rejected',
19
- approved: 'Approved',
20
- },
21
2
  categories: {
22
3
  marketing: 'Marketing',
23
4
  utility: 'Utility',
24
5
  },
25
6
  common: {
26
- search: 'Search...',
27
- all: 'All',
28
- view_less: 'View less',
29
- view_more: 'View more',
30
- copy: 'Copy',
31
- success: 'Success',
32
- error: 'Error',
33
- errore: 'Error',
34
- mobile: 'Mobile',
35
- desktop: 'Desktop',
36
7
  actions: {
37
- edit: 'Edit',
8
+ cancel: 'Cancel',
38
9
  delete: 'Delete',
39
10
  duplicate: 'Duplicate',
40
- cancel: 'Cancel',
11
+ edit: 'Edit',
41
12
  publish: 'Publish',
42
- unpublish: 'Unpublish',
43
- save: 'Save',
44
13
  remove: 'Remove',
45
14
  reset_defaults: 'Reset to defaults',
15
+ save: 'Save',
16
+ unpublish: 'Unpublish',
46
17
  },
47
- internal: 'Internal',
18
+ all: 'All',
19
+ copy: 'Copy',
20
+ copy_of: 'Copy of {name}',
21
+ desktop: 'Desktop',
22
+ error: 'Error',
23
+ errore: 'Error',
48
24
  imageUpload: {
49
- upload: 'Upload',
50
- uploading: 'Uploading...',
51
- selectFromLibrary: 'Select from library',
52
- selectImage: 'Select an image',
53
- searchPlaceholder: 'Search by name...',
54
- noImages: 'No images available',
55
- noResults: 'No images match your search',
56
- videoMp4Only: 'Only MP4 and 3GPP video files are supported.',
57
25
  imageJpgPngOnly: 'Only JPG and PNG image files are supported.',
58
26
  mediaFileTooLarge: 'File is too large. Maximum size: {maxSize}MB.',
59
27
  mediaInvalidType: 'Unsupported file type.',
60
28
  mediaLimitations: {
29
+ document: 'PDF only. Max {maxSize}MB.',
61
30
  image: 'JPG, PNG only. Max {maxSize}MB.',
62
31
  video: 'MP4, 3GPP only. Max {maxSize}MB.',
63
- document: 'PDF only. Max {maxSize}MB.',
64
32
  },
33
+ noImages: 'No images available',
34
+ noResults: 'No images match your search',
35
+ searchPlaceholder: 'Search by name...',
36
+ selectFromLibrary: 'Select from library',
37
+ selectImage: 'Select an image',
38
+ upload: 'Upload',
39
+ uploading: 'Uploading...',
40
+ videoMp4Only: 'Only MP4 and 3GPP video files are supported.',
65
41
  },
66
- copy_of: 'Copy of {name}',
42
+ internal: 'Internal',
43
+ mobile: 'Mobile',
67
44
  preview: 'Preview',
45
+ search: 'Search...',
46
+ success: 'Success',
68
47
  translation_failed: 'Translation failed',
69
- },
70
- documentation: {
71
- whatsapp_category: {
72
- category: 'Message',
73
- title: 'Choose the correct category',
74
- description:
75
- 'To ensure effective and efficient conversations, whatsapp has <b>defined specific guidelines</b> for the messages businesses can send to their customers.',
76
- info: 'Any message that combines marketing and utility content will be classified as a marketing message.',
77
- content: {
78
- marketing: `
79
- # Marketing
80
-
81
- Marketing messages offer maximum flexibility: they’re not tied to a specific transaction but can **promote the business**, its **products**, or **services**.
82
-
83
- &nbsp;
84
-
85
- They may include, for example:
86
- - promotional offers or commercial messages;
87
- - welcome or follow-up messages;
88
- - invitations, updates, or personalized suggestions;
89
- - requests for interaction or to start a new transaction
90
- `,
91
- utility: `
92
- # Utility
93
-
94
- Utility messages are designed to support operational interactions between a business and its customers, related to existing transactions or services.
95
-
96
- &nbsp;
97
-
98
- They may include, for example:
99
- - confirmations, suspensions, or changes to an existing booking or subscription;
100
- - notifications related to accounts, billing, or payments.
101
-
102
- &nbsp;
103
-
104
- These messages must be functional, not promotional.
105
- `,
106
- },
107
- },
48
+ view_less: 'View less',
49
+ view_more: 'View more',
108
50
  },
109
51
  dialogs: {
110
- unsaved_changes: {
111
- title: 'You have unsaved changes',
112
- category: 'Message',
113
- message:
114
- 'Are you sure you want to leave this page? You will lose all the changes made so far.',
115
- cancel: 'Cancel',
116
- leave: 'Yes, leave this page',
52
+ delete_message: {
53
+ message: "This action can't be undone. Are you sure you want to delete {name}?",
54
+ success: '{name} has been successfully deleted.',
55
+ title: 'Delete',
117
56
  },
118
57
  delete_message_group: {
119
- title: 'Delete',
120
58
  message: "This action can't be undone. Are you sure you want to delete {name}?",
121
59
  success: '{name} has been successfully deleted.',
60
+ title: 'Delete',
122
61
  },
123
- publish_message_group: {
124
- title: 'Publish message',
125
- message: 'Publish "{name}" to make it visible to clients?',
126
- success: '"{name}" has been published.',
127
- },
128
- unpublish_message_group: {
129
- title: 'Unpublish message',
130
- message: 'Unpublish "{name}"? It will no longer be visible to clients.',
131
- success: '"{name}" has been unpublished.',
62
+ email_change_brand: {
63
+ cancel: 'Cancel',
64
+ confirm: 'Change to {0}',
65
+ message:
66
+ "Changing brand will reset email colors, fonts, header logo and button styles to the new brand's defaults. Custom overrides will be lost.",
67
+ title: 'Change brand',
132
68
  },
133
- delete_message: {
134
- title: 'Delete',
135
- message: "This action can't be undone. Are you sure you want to delete {name}?",
136
- success: '{name} has been successfully deleted.',
69
+ grid_reduce_columns: {
70
+ confirm: 'Confirm',
71
+ message: 'Some elements may be lost and cannot be recovered.',
72
+ title: 'Edit number of columns',
137
73
  },
138
74
  incomplete_translations: {
139
- title: 'Missing translations',
140
75
  description:
141
76
  'You are about to save a message that contains missing translations. To use it correctly, we recommend completing the missing translations.',
142
- note: 'If you no longer need certain languages, you can remove them from the list in the left panel using the dedicated button.',
143
77
  go_to_translations: 'Go to translations',
78
+ note: 'If you no longer need certain languages, you can remove them from the list in the left panel using the dedicated button.',
144
79
  save_without_translating: 'Save without translating',
80
+ title: 'Missing translations',
145
81
  translate_and_save: 'Translate automatically and save',
146
82
  },
83
+ publish_message_group: {
84
+ message: 'Publish "{name}" to make it visible to clients?',
85
+ success: '"{name}" has been published.',
86
+ title: 'Publish message',
87
+ },
88
+ unpublish_message_group: {
89
+ message: 'Unpublish "{name}"? It will no longer be visible to clients.',
90
+ success: '"{name}" has been unpublished.',
91
+ title: 'Unpublish message',
92
+ },
93
+ unsaved_changes: {
94
+ cancel: 'Cancel',
95
+ category: 'Message',
96
+ leave: 'Yes, leave this page',
97
+ message:
98
+ 'Are you sure you want to leave this page? You will lose all the changes made so far.',
99
+ title: 'You have unsaved changes',
100
+ },
147
101
  whatsapp_change_category: {
148
- title: 'Change category',
102
+ cancel: 'Cancel',
149
103
  category: 'Message',
150
- message: 'You are about to change the category from {0} to <b>{1}</b>.',
104
+ change_to: 'Change to {0}',
151
105
  fields_may_change:
152
106
  'By changing the category, <b>some fields may change</b>. The category change will be applied to all languages.',
153
- cancel: 'Cancel',
154
- change_to: 'Change to {0}',
155
- },
156
- email_change_brand: {
157
- title: 'Change brand',
158
- message:
159
- "Changing brand will reset email colors, fonts, header logo and button styles to the new brand's defaults. Custom overrides will be lost.",
160
- confirm: 'Change to {0}',
161
- cancel: 'Cancel',
162
- },
163
- grid_reduce_columns: {
164
- title: 'Edit number of columns',
165
- message: 'Some elements may be lost and cannot be recovered.',
166
- confirm: 'Confirm',
107
+ message: 'You are about to change the category from {0} to <b>{1}</b>.',
108
+ title: 'Change category',
167
109
  },
168
110
  },
169
- modals: {
170
- dynamic_data_modal: {
171
- category: 'Body content',
172
- title: 'Add dynamic field',
173
- description:
174
- 'There is no limit to how many you can use. If you end a sentence with a dynamic value, make sure to add a dot (“.”) at the end.',
175
- select_value: 'Select a value',
176
- will_display: 'The text field will display &#123;&#123;{value}&#125;&#125;',
177
- search_placeholder: 'Search fields...',
178
- info: 'Dynamic fields are placeholders that will be replaced with real data (e.g., guest name) when the message is sent. If a field has no data, it will be skipped.',
179
- no_values: 'No dynamic values available for this product.',
180
- tabs: {
181
- newsletter: 'Newsletter',
182
- 'guest-automation': 'Guest Automation',
183
- 'reservation-automation': 'Reservation Automation',
184
- default: 'Default',
111
+ documentation: {
112
+ whatsapp_category: {
113
+ category: 'Message',
114
+ content: {
115
+ marketing:
116
+ '\n# Marketing\n\nMarketing messages offer maximum flexibility: they’re not tied to a specific transaction but can **promote the business**, its **products**, or **services**.\n\n&nbsp;\n\nThey may include, for example:\n- promotional offers or commercial messages;\n- welcome or follow-up messages;\n- invitations, updates, or personalized suggestions;\n- requests for interaction or to start a new transaction\n ',
117
+ utility:
118
+ '\n# Utility\n\nUtility messages are designed to support operational interactions between a business and its customers, related to existing transactions or services.\n\n&nbsp;\n\nThey may include, for example:\n- confirmations, suspensions, or changes to an existing booking or subscription;\n- notifications related to accounts, billing, or payments.\n\n&nbsp;\n\nThese messages must be functional, not promotional.\n ',
185
119
  },
120
+ description:
121
+ 'To ensure effective and efficient conversations, whatsapp has <b>defined specific guidelines</b> for the messages businesses can send to their customers.',
122
+ info: 'Any message that combines marketing and utility content will be classified as a marketing message.',
123
+ title: 'Choose the correct category',
186
124
  },
187
125
  },
188
- pages: {
189
- message_library: {
190
- add_message_group: 'New message',
191
- title: 'Messages',
192
- search_placeholder: 'Search',
193
- category_placeholder: 'Select category',
194
- status_placeholder: 'Select status',
195
- tags_placeholder: 'Filter by tags',
196
- render_type_placeholder: 'Select render type',
197
- headers: {
198
- name: 'Name',
199
- category: 'Category',
200
- preview: 'Preview',
201
- status: 'Status',
202
- tags: 'Tags',
203
- updated_at: 'Updated at',
204
- },
205
- },
206
- whatsapp: {
207
- tabs: {
208
- content: 'Message',
209
- translations: 'Translations',
210
- },
211
- create_message_group: {
212
- title: 'Create message',
213
- save_draft: 'Save draft',
214
- save_as_new: 'Save as new',
215
- request_approval: 'Request approval',
216
- name: 'Name',
217
- name_placeholder: 'Message name',
218
- category: 'Category',
219
- category_placeholder: 'Select category',
220
- message_content: 'Message content',
221
- add_language: 'Add language',
222
- },
223
- edit_message_group: {
224
- title: 'Edit whatsapp message',
225
- save_draft: 'Save draft',
226
- save_as_new: 'Save as new',
227
- request_approval: 'Request approval',
228
- name: 'Name',
229
- name_placeholder: 'Message name',
230
- category: 'Category',
231
- category_placeholder: 'Select category',
232
- message_content: 'Message content',
233
- add_language: 'Add language',
234
- },
126
+ editor: {
127
+ actions: {
128
+ generate_text: 'Generate',
129
+ improve_text: 'Improve message',
130
+ refining: 'We are improving your text...',
235
131
  },
236
132
  email: {
237
- send_test: 'Send test',
238
- send_test_success: 'Test email sent successfully.',
239
- test_email_to: 'To',
240
- test_email_to_placeholder: 'Recipient email(s), separated by ;',
241
- sender_name_label: 'Sender name',
242
- sender_name_placeholder: 'Sender name',
243
- test_email_from: 'From',
244
- test_email_from_placeholder: 'Sender email address',
245
- create_message_group: {
246
- title: 'Create message',
247
- save: 'Save',
248
- save_as_draft: 'Save draft',
249
- save_message: 'Save',
250
- name: 'Name',
251
- name_placeholder: 'Message name',
252
- subject: 'Subject',
253
- subject_placeholder: 'Email subject line',
254
- tab_content: 'Message',
255
- tab_translations: 'Translations',
256
- },
257
- edit_message_group: {
258
- title: 'Edit email message',
259
- save: 'Save',
260
- save_as_draft: 'Save draft',
261
- save_message: 'Save',
262
- save_as_new: 'Save as new',
263
- name: 'Name',
264
- name_placeholder: 'Message name',
265
- subject: 'Subject',
266
- subject_placeholder: 'Email subject line',
267
- tab_content: 'Message',
268
- tab_translations: 'Translations',
269
- },
270
- },
271
- brands: {
272
- title: 'Brands',
273
- new_brand: 'New brand',
274
- edit_brand: 'Edit brand',
275
- no_brands: 'No brands created yet',
276
- search_placeholder: 'Search brands...',
277
- column_name: 'Name',
278
- column_created: 'Created',
279
- column_actions: 'Actions',
280
- delete_confirm_title: 'Delete brand',
281
- delete_confirm_message: 'Are you sure you want to delete "{name}"? This cannot be undone.',
282
- brand_deleted: '"{name}" has been deleted.',
283
- brand_created: 'Brand created successfully.',
284
- brand_updated: 'Brand updated successfully.',
285
- save_error: 'Failed to save brand. Please try again.',
286
- steps: {
287
- general: 'General',
288
- visual_style: 'Visual style',
289
- socials: 'Socials',
290
- },
291
- fields: {
292
- name: 'Brand name',
293
- name_placeholder: 'E.g. Smartness',
294
- properties: 'Properties',
295
- properties_placeholder: 'Select properties',
296
- logo: 'Logo',
297
- upload_logo: 'Upload logo',
298
- change_logo: 'Change logo',
299
- colors: 'Brand colors',
300
- add_color: 'Add color',
301
- extracting_colors: 'Extracting colors from logo...',
302
- default_email_colors: 'Default email colors',
303
- email_bg_color: 'Background',
304
- email_content_bg_color: 'Content background',
305
- email_text_color: 'Text',
306
- default_button_colors: 'Default button colors',
307
- button_text_color: 'Text',
308
- button_bg_color: 'Background',
309
- default_font: 'Default font',
310
- },
311
- actions: {
312
- back: 'Back',
313
- next: 'Next',
314
- create: 'Create brand',
315
- },
316
- validation: {
317
- name_required: 'Brand name is required',
318
- invalid_social_url: 'One or more social URLs are invalid',
319
- invalid_url_format: 'Invalid URL format',
320
- },
321
- preview: {
322
- title: 'Preview',
323
- empty: 'Preview will appear here',
324
- },
325
- },
326
- images: {
327
- title: 'Images',
328
- no_images_uploaded: 'No images uploaded',
329
- meta_access_token_not_configured: 'Meta access token not configured',
330
- image_uploaded_to_meta: 'Image uploaded to meta',
331
- image_deleted: 'Image deleted',
332
- delete_confirm: 'Delete {name}?',
333
- meta: 'Meta',
334
- no_meta: 'No meta',
335
- type_label: 'Type:',
336
- created_label: 'Created:',
337
- handle_label: 'Handle:',
338
- upload_to_meta: 'Upload to meta',
339
- },
340
- },
341
- editor: {
342
- actions: {
343
- improve_text: 'Improve message',
344
- refining: 'We are improving your text...',
345
- generate_text: 'Generate',
346
- },
347
- generate: {
348
- title: 'Generate content',
349
- description: 'Provide a clear and concise description for the best results.',
350
- placeholder: 'Start typing here...',
351
- disclaimer: 'Artificial intelligence can produce inaccurate content.',
352
- cancel: 'Cancel',
353
- submit: 'Generate content',
354
- your_request: 'Your request',
355
- choose_option: 'Choose an option',
356
- use_it: 'Use it',
357
- create_new: 'Create new content',
358
- loading: 'Generating suggestions...',
359
- error: 'Failed to generate content. Please try again.',
360
- retry: 'Try again',
361
- char_count: '{count}/{max}',
362
- },
363
- toolbar: {
364
- bold: 'Bold',
365
- italic: 'Italic',
366
- underline: 'Underline',
367
- bullet_list: 'Bullet list',
368
- ordered_list: 'Ordered list',
369
- text_align: 'Text align',
370
- align_left: 'Align left',
371
- align_center: 'Align center',
372
- align_right: 'Align right',
373
- align_justify: 'Justify',
374
- link: 'Link',
375
- link_placeholder: 'Paste a link...',
376
- link_apply: 'Apply link',
377
- link_open: 'Open in new window',
378
- link_remove: 'Remove link',
379
- horizontal_rule: 'Horizontal line',
380
- emoji: 'Emoji',
381
- dynamic_data: 'Dynamic data',
382
- },
383
- placeholder: {
384
- insert_text: 'Insert text',
385
- },
386
- validation: {
387
- character_limit: 'This field has a character limit.',
388
- invalid_phone_number: 'Invalid phone number',
389
- error: {
390
- title: 'Please fix the following errors',
391
- invalidRenderType: 'Invalid message type',
392
- bodyRequired: 'Message body is required',
393
- bodyEmpty: 'Message body cannot be empty',
394
- maxButtons: 'Maximum 10 buttons allowed',
395
- maxLinkButtons: 'Maximum 1 link button allowed',
396
- maxPhoneButtons: 'Maximum 1 phone button allowed',
397
- maxUnsubscribeButtons: 'Maximum 1 unsubscribe button allowed',
398
- maxQuickReplyButtons: 'Maximum 3 quick reply buttons allowed',
399
- phoneRequired: 'Phone number is required for phone button',
400
- phoneInvalid: 'Invalid phone number format. Use international format (e.g., +1234567890)',
401
- urlRequired: 'Url is required for link button',
402
- urlInvalid: 'Invalid url format. Use https:// or http:// at the beginning.',
403
- emailInvalid: "Invalid email format. Use email format (e.g., example{'@'}example.com)",
404
- emailRequired: 'Please enter a valid email address',
405
- nameRequired: 'Name is required',
406
- messageRequired: 'At least one language is required',
407
- headerTooLong: 'Header text exceeds 60 characters',
408
- headerMediaRequired: 'Header media file is required',
409
- bodyTooLong: 'Body text exceeds 1024 characters',
410
- footerTooLong: 'Footer text exceeds 60 characters',
411
- buttonTextTooLong: 'Button text exceeds 20 characters',
412
- textTooLong: 'Text exceeds maximum length',
413
- // Email validation errors
414
- subjectRequired: 'Email subject is required',
415
- atLeastOneBlockRequired: 'At least one content block is required',
416
- spacerHeightInvalid: 'Spacer height must be between 8 and 200 pixels',
417
- dividerThicknessInvalid: 'Divider thickness must be between 1 and 20 pixels',
418
- dividerWidthInvalid: 'Divider width must be between 10% and 100%',
419
- headingFontSizeInvalid: 'Heading font size must be between 16 and 48 pixels',
420
- paragraphFontSizeInvalid: 'Paragraph font size must be between 10 and 32 pixels',
421
- imageWidthInvalid: 'Image width must be between 50 and 600 pixels',
422
- buttonFontSizeInvalid: 'Button font size must be between 12 and 32 pixels',
423
- discountFontSizeInvalid: 'Discount font size must be between 12 and 48 pixels',
424
- unsubscribeBlockMissing: 'An unsubscribe link block is required',
425
- unsubscribeLinkRequired: 'Unsubscribe block must contain the unsubscribe dynamic value',
426
- imageSourceRequired: 'Image block requires an image',
427
- headerLogoRequired: 'Header block requires a logo',
428
- socialsNoEnabled: 'At least one social link must be enabled',
429
- socialsUrlRequired: 'Enabled social links must have a URL or a brand default',
430
- topProductsStoreIdRequired: 'Top products block requires a store ID',
431
- buttonTextRequired: 'Button text is required',
432
- gridColumnEmpty: 'Grid column cannot be empty',
433
- htmlMaxLength: 'HTML block exceeds maximum character limit',
434
- },
435
- },
436
- whatsapp: {
437
- header: {
438
- title: 'Header',
439
-
440
- type_placeholder: 'Select type',
441
- types: {
442
- none: 'None',
443
- text: 'Text',
444
- video: 'Video',
445
- document: 'Document',
446
- image: 'Image',
447
- },
448
- },
449
- body: {
450
- title: 'Body',
451
- description_main:
452
- 'It is the <b>main part of the message</b>, the content you want to communicate to the customer. You can include in the text:',
453
- description_link:
454
- '<b>links</b> by pasting the full url directly. To make them clickable, make sure to include https:// or http:// at the beginning. Avoid shortened links (e.g. bit.ly, tinyurl) as they might look like spam and cause the message to be rejected.',
455
- description_dynamic_values:
456
- '<b>Dynamic values</b>, with no limit on how many you use. If you end a sentence with a dynamic value, make sure to add a period at the end.',
457
- },
458
- footer: {
459
- title: 'Footer (optional)',
460
- description_main:
461
- "It's meant to provide <b>context and support</b> without interfering with the main message.",
462
- placeholder: 'Footer',
463
- },
464
- buttons: {
465
- title: 'Buttons (optional)',
466
- description_main:
467
- 'Some guidelines <b>to ensure your message gets approved</b> and works properly:',
468
- description_unsubscribe:
469
- "<b>Unsubscribe</b> button lets users opt out of receiving future messages from your business. It's strongly recommended for marketing messages.",
470
- description_phone:
471
- '<b>Phone</b> button allows users to start a phone call from their device with a single tap. Only one button is allowed per message',
472
- description_link:
473
- '<b>Link</b> button lets users open an external link directly from the chat interface. You can include up to two link buttons per message',
474
- description_quick_reply:
475
- '<b>Quick reply</b> button lets users choose between one or more predefined options without having to type text, making the conversation more fluid and guided.',
476
- add_button: 'Add',
477
- button_types: {
478
- phone: 'Phone',
479
- unsubscribe: 'Unsubscribe',
480
- link: 'Link',
481
- quick_reply: 'Quick reply',
482
- },
483
- placeholders: {
484
- text: 'Button text',
485
- phone: 'Phone number',
486
- url: 'Url',
487
- },
488
- default_text: {
489
- phone: 'Call us',
490
- link: '',
491
- unsubscribe: 'Unsubscribe',
492
- },
493
- },
494
- translations: {
495
- placeholder: 'Add translation',
496
- },
497
- translator: {
498
- header: 'Header',
499
- body: 'Body',
500
- footer: 'Footer',
501
- button: 'Button',
502
- reset_to_main: 'Reset to main language',
503
- },
504
- preview: {
505
- header_image_alt: 'Header image',
506
- document_link: 'Document',
507
- },
508
- },
509
- languages: {
510
- title: 'Language',
511
- add: 'Add new',
512
- recommended: 'Recommended languages',
513
- all_languages: 'All languages',
514
- },
515
- email: {
516
- common: {
517
- reset: 'Reset',
518
- },
519
- canvas: {
520
- title: 'Email canvas',
521
- empty: 'No blocks yet',
522
- emptyHint: 'Drag blocks from the library to start building your email',
523
- blockNotImplemented: 'Block type "{type}" not yet implemented',
524
- dropHere: 'Drop blocks here to add them to your email',
525
- },
526
- sidebar: {
527
- elementsTab: 'Elements',
528
- generalStyleTab: 'General style',
529
- library: 'Block library',
530
- settings: 'Block settings',
531
- backToLibrary: 'Back to library',
532
- settingsPlaceholder: 'Select a block to edit its settings',
533
- settingsNotAvailable: 'Settings not available for block type: {type}',
534
- },
535
- generalStyle: {
536
- instruction: 'Customize page elements',
537
- brandSection: 'Brand',
538
- selectBrand: 'Select a brand',
539
- fromColorList: 'From color list',
540
- typographySection: 'Typography',
541
- font: 'Font',
542
- colorsSection: 'Colors',
543
- textColor: 'Text',
544
- backgroundColor: 'Background',
545
- bodyColor: 'Body',
546
- spacingSection: 'Spacing',
547
- verticalSpacing: 'Vertical',
548
- horizontalSpacing: 'Horizontal',
549
- reset: 'Reset all to defaults',
133
+ actions: {
134
+ delete: 'Delete',
135
+ duplicate: 'Duplicate',
550
136
  },
551
137
  blockLibrary: {
552
138
  description: 'Drag and combine elements to create content and customize your email.',
553
139
  },
554
140
  blocks: {
555
- text_types: {
556
- p: 'Paragraph',
557
- h1: 'Heading 1',
558
- h2: 'Heading 2',
559
- h3: 'Heading 3',
560
- h4: 'Heading 4',
561
- h5: 'Heading 5',
562
- h6: 'Heading 6',
141
+ button: {
142
+ description: 'Call-to-action button',
143
+ link_types: {
144
+ email: 'Email',
145
+ phone: 'Phone',
146
+ web: 'Web',
147
+ },
148
+ name: 'Button',
149
+ placeholder: 'Add text button',
150
+ settings: {
151
+ background: 'Background',
152
+ background_block: 'Background block',
153
+ colors: 'Colors',
154
+ content: 'Content',
155
+ font: 'Font',
156
+ link_type: 'Link type',
157
+ size: 'Size',
158
+ style: 'Style',
159
+ text: 'Text',
160
+ text_type: 'Text type',
161
+ },
162
+ shapes: {
163
+ pill: 'Pill',
164
+ rounded: 'Rounded',
165
+ square: 'Square',
166
+ },
167
+ widths: {
168
+ fit_to_text: 'Fit to text',
169
+ full_width: 'Full width',
170
+ },
563
171
  },
564
- spacer: {
565
- name: 'Spacer',
566
- description: 'Add vertical spacing between blocks',
567
- label: '{height}px spacer',
172
+ discount: {
173
+ description: 'Promo code display',
174
+ name: 'Discount code',
175
+ placeholder: 'Add your discount code',
568
176
  settings: {
177
+ background_block: 'Background block',
178
+ background_component: 'Background component',
179
+ colors: 'Colors',
180
+ discount_code: 'Discount code',
181
+ font: 'Font',
569
182
  size: 'Size',
570
- customSize: 'Custom Size',
571
- height: 'Height',
572
- heightHint: 'Height between {min}px and {max}px',
573
- backgroundColor: 'Color',
574
- sizePresets: {
575
- small: 'Small',
576
- medium: 'Medium',
577
- large: 'Large',
578
- extra_large: 'Extra Large',
579
- },
183
+ style: 'Style',
184
+ text: 'Text',
185
+ text_type: 'Text type',
186
+ type: 'Type',
187
+ },
188
+ styles: {
189
+ pill: 'Pill',
190
+ rounded: 'Rounded',
191
+ square: 'Square',
580
192
  },
581
193
  },
582
194
  divider: {
583
- name: 'Divider',
584
195
  description: 'Add a horizontal line to separate content',
196
+ name: 'Divider',
585
197
  settings: {
198
+ backgroundColor: 'Background color',
199
+ color: 'Color',
586
200
  style: 'Style',
587
201
  thickness: 'Thickness',
588
202
  thicknessHint: 'Thickness between {min}px and {max}px',
589
203
  width: 'Width',
590
204
  widthHint: 'Width as percentage (10-100%)',
205
+ },
206
+ },
207
+ footer: {
208
+ description: 'Legal & contact info',
209
+ name: 'Footer',
210
+ },
211
+ grid: {
212
+ add_element: 'Add element',
213
+ description: 'Multi-column layout',
214
+ name: 'Grid',
215
+ settings: {
216
+ background_block: 'Background block',
591
217
  color: 'Color',
592
- backgroundColor: 'Background color',
218
+ columns: 'Columns',
593
219
  },
594
220
  },
595
- paragraph: {
596
- name: 'Paragraph',
597
- description: 'Add rich text content with formatting',
221
+ header: {
222
+ description: 'Add your property logo',
223
+ name: 'Header',
224
+ no_logo: 'No logo selected',
598
225
  settings: {
599
- type: 'Type',
600
- fontFamily: 'Font family',
601
- fontSize: 'Font size',
602
- fontSizeHint: 'Font size between {min}px and {max}px',
603
- textColor: 'Text color',
604
- backgroundColor: 'Background color',
226
+ alignment: 'Alignment',
227
+ alt: 'Alt text',
228
+ alt_placeholder: 'Describe the logo...',
229
+ background: 'Background color',
230
+ reset: 'Reset to default',
231
+ source: 'Logo',
232
+ style: 'Style',
233
+ width: 'Logo width',
605
234
  },
606
235
  },
607
236
  heading: {
608
- name: 'Heading',
609
237
  description: 'Title and section headers',
238
+ name: 'Heading',
610
239
  settings: {
240
+ alignment: 'Alignment',
241
+ backgroundBlock: 'Background block',
242
+ color: 'Color',
611
243
  content: 'Content',
612
- textStyle: 'Text style',
613
- type: 'Type',
614
244
  font: 'Font',
615
245
  size: 'Size',
616
- alignment: 'Alignment',
617
- color: 'Color',
618
246
  text: 'Text',
619
- backgroundBlock: 'Background block',
247
+ textStyle: 'Text style',
248
+ type: 'Type',
620
249
  },
621
250
  types: {
622
251
  heading_1: 'Heading 1',
@@ -627,213 +256,558 @@ These messages must be functional, not promotional.
627
256
  heading_6: 'Heading 6',
628
257
  },
629
258
  },
630
- raw_html: {
631
- name: 'Html',
632
- description: 'Custom HTML code',
633
- placeholder: 'Insert html code',
634
- settings: {
635
- html: 'Html content',
636
- characterCount: '{count} / {max} characters',
637
- },
638
- warning: {
639
- title: 'Note:',
640
- message:
641
- "Most email clients only support basic html. Interactive elements like javascript or flash won't be saved.",
642
- learnMore: 'Learn more about HTML in content blocks',
643
- },
644
- },
645
259
  image: {
646
- name: 'Image',
260
+ alt_help: 'Alternative text improves accessibility',
261
+ alt_placeholder: 'Describe the image...',
647
262
  description: 'Add photos and graphics',
263
+ href_help: 'Optional link when image is clicked',
264
+ name: 'Image',
648
265
  no_image: 'No image selected',
649
- upload: 'Upload',
266
+ no_images: 'No images available',
650
267
  select_from_library: 'Select from library',
651
268
  select_image: 'Select an image',
652
- no_images: 'No images available',
653
- alt_placeholder: 'Describe the image...',
654
- alt_help: 'Alternative text improves accessibility',
655
- href_help: 'Optional link when image is clicked',
656
269
  settings: {
657
- source: 'Image source',
658
- alt: 'Alt text',
659
- size_layout: 'Size & layout',
660
- width_mode: 'Width mode',
661
- width: 'Width',
662
270
  align: 'Alignment',
271
+ alt: 'Alt text',
663
272
  border_radius: 'Border radius',
664
- link: 'Link',
665
273
  href_placeholder: 'https://example.com',
274
+ link: 'Link',
666
275
  padding: 'Padding',
667
- padding_top: 'Top',
668
- padding_right: 'Right',
669
276
  padding_bottom: 'Bottom',
670
277
  padding_left: 'Left',
278
+ padding_right: 'Right',
279
+ padding_top: 'Top',
280
+ size_layout: 'Size & layout',
281
+ source: 'Image source',
282
+ width: 'Width',
283
+ width_mode: 'Width mode',
671
284
  },
285
+ upload: 'Upload',
672
286
  },
673
- button: {
674
- name: 'Button',
675
- description: 'Call-to-action button',
676
- placeholder: 'Add text button',
677
- settings: {
678
- content: 'Content',
679
- link_type: 'Link type',
680
- text_type: 'Text type',
681
- font: 'Font',
682
- size: 'Size',
683
- style: 'Style',
684
- colors: 'Colors',
685
- text: 'Text',
686
- background: 'Background',
687
- background_block: 'Background block',
688
- },
689
- link_types: {
690
- web: 'Web',
691
- email: 'Email',
692
- phone: 'Phone',
693
- },
694
- shapes: {
695
- square: 'Square',
696
- rounded: 'Rounded',
697
- pill: 'Pill',
698
- },
699
- widths: {
700
- fit_to_text: 'Fit to text',
701
- full_width: 'Full width',
702
- },
703
- },
704
- discount: {
705
- name: 'Discount code',
706
- description: 'Promo code display',
707
- placeholder: 'Add your discount code',
287
+ paragraph: {
288
+ description: 'Add rich text content with formatting',
289
+ name: 'Paragraph',
708
290
  settings: {
709
- discount_code: 'Discount code',
710
- text_type: 'Text type',
291
+ backgroundColor: 'Background color',
292
+ fontFamily: 'Font family',
293
+ fontSize: 'Font size',
294
+ fontSizeHint: 'Font size between {min}px and {max}px',
295
+ textColor: 'Text color',
711
296
  type: 'Type',
712
- font: 'Font',
713
- size: 'Size',
714
- style: 'Style',
715
- colors: 'Colors',
716
- text: 'Text',
717
- background_component: 'Background component',
718
- background_block: 'Background block',
719
- },
720
- styles: {
721
- square: 'Square',
722
- rounded: 'Rounded',
723
- pill: 'Pill',
724
- },
725
- },
726
- grid: {
727
- name: 'Grid',
728
- description: 'Multi-column layout',
729
- add_element: 'Add element',
730
- settings: {
731
- columns: 'Columns',
732
- color: 'Color',
733
- background_block: 'Background block',
734
- },
735
- },
736
- header: {
737
- name: 'Header',
738
- description: 'Add your property logo',
739
- no_logo: 'No logo selected',
740
- settings: {
741
- source: 'Logo',
742
- alt: 'Alt text',
743
- alt_placeholder: 'Describe the logo...',
744
- style: 'Style',
745
- width: 'Logo width',
746
- alignment: 'Alignment',
747
- background: 'Background color',
748
- reset: 'Reset to default',
749
297
  },
750
298
  },
751
- footer: {
752
- name: 'Footer',
753
- description: 'Legal & contact info',
754
- },
755
- unsubscribe_link: {
756
- name: 'Unsubscribe link',
757
- description: 'Opt-out link for recipients',
299
+ raw_html: {
300
+ description: 'Custom HTML code',
301
+ name: 'Html',
302
+ placeholder: 'Insert html code',
303
+ settings: {
304
+ characterCount: '{count} / {max} characters',
305
+ html: 'Html content',
306
+ },
307
+ warning: {
308
+ learnMore: 'Learn more about HTML in content blocks',
309
+ message:
310
+ "Most email clients only support basic html. Interactive elements like javascript or flash won't be saved.",
311
+ title: 'Note:',
312
+ },
758
313
  },
759
314
  socials: {
760
- name: 'Socials',
761
315
  description: 'Social media links',
316
+ name: 'Socials',
762
317
  placeholder: 'Configure social links in settings',
763
- settings: {
764
- links: 'Social links',
765
- from_brand: 'Using {url} from brand',
766
- },
767
318
  platforms: {
768
319
  facebook: 'Facebook',
320
+ google: 'Google',
769
321
  instagram: 'Instagram',
770
- tripadvisor: 'Tripadvisor',
771
322
  tiktok: 'Tiktok',
772
- google: 'Google',
323
+ tripadvisor: 'Tripadvisor',
324
+ },
325
+ settings: {
326
+ from_brand: 'Using {url} from brand',
327
+ links: 'Social links',
328
+ },
329
+ },
330
+ spacer: {
331
+ description: 'Add vertical spacing between blocks',
332
+ label: '{height}px spacer',
333
+ name: 'Spacer',
334
+ settings: {
335
+ backgroundColor: 'Color',
336
+ customSize: 'Custom Size',
337
+ height: 'Height',
338
+ heightHint: 'Height between {min}px and {max}px',
339
+ size: 'Size',
340
+ sizePresets: {
341
+ extra_large: 'Extra Large',
342
+ large: 'Large',
343
+ medium: 'Medium',
344
+ small: 'Small',
345
+ },
773
346
  },
774
347
  },
348
+ text_types: {
349
+ h1: 'Heading 1',
350
+ h2: 'Heading 2',
351
+ h3: 'Heading 3',
352
+ h4: 'Heading 4',
353
+ h5: 'Heading 5',
354
+ h6: 'Heading 6',
355
+ p: 'Paragraph',
356
+ },
775
357
  top_products: {
776
- name: 'Top Products',
777
358
  description: 'Display upselling products from the API',
359
+ name: 'Top Products',
778
360
  no_store_id: 'Set a store ID to display products',
779
361
  settings: {
362
+ background: 'Background color',
363
+ max_products: 'Max products',
780
364
  store_id: 'Store ID',
781
365
  store_id_help:
782
366
  'Your Smartconnect store ID, the part after commerce.smartness.com/ (e.g. abhotel)',
783
367
  store_id_placeholder: 'Enter store ID',
784
368
  style: 'Style',
785
- max_products: 'Max products',
786
- background: 'Background color',
787
369
  },
788
370
  },
371
+ unsubscribe_link: {
372
+ description: 'Opt-out link for recipients',
373
+ name: 'Unsubscribe link',
374
+ },
375
+ },
376
+ canvas: {
377
+ blockNotImplemented: 'Block type "{type}" not yet implemented',
378
+ dropHere: 'Drop blocks here to add them to your email',
379
+ empty: 'No blocks yet',
380
+ emptyHint: 'Drag blocks from the library to start building your email',
381
+ title: 'Email canvas',
382
+ },
383
+ common: {
384
+ reset: 'Reset',
385
+ },
386
+ generalStyle: {
387
+ backgroundColor: 'Background',
388
+ bodyColor: 'Body',
389
+ brandSection: 'Brand',
390
+ colorsSection: 'Colors',
391
+ font: 'Font',
392
+ fromColorList: 'From color list',
393
+ horizontalSpacing: 'Horizontal',
394
+ instruction: 'Customize page elements',
395
+ reset: 'Reset all to defaults',
396
+ selectBrand: 'Select a brand',
397
+ spacingSection: 'Spacing',
398
+ textColor: 'Text',
399
+ typographySection: 'Typography',
400
+ verticalSpacing: 'Vertical',
401
+ },
402
+ sidebar: {
403
+ backToLibrary: 'Back to library',
404
+ elementsTab: 'Elements',
405
+ generalStyleTab: 'General style',
406
+ library: 'Block library',
407
+ settings: 'Block settings',
408
+ settingsNotAvailable: 'Settings not available for block type: {type}',
409
+ settingsPlaceholder: 'Select a block to edit its settings',
410
+ },
411
+ },
412
+ generate: {
413
+ cancel: 'Cancel',
414
+ char_count: '{count}/{max}',
415
+ choose_option: 'Choose an option',
416
+ create_new: 'Create new content',
417
+ description: 'Provide a clear and concise description for the best results.',
418
+ disclaimer: 'Artificial intelligence can produce inaccurate content.',
419
+ error: 'Failed to generate content. Please try again.',
420
+ loading: 'Generating suggestions...',
421
+ placeholder: 'Start typing here...',
422
+ retry: 'Try again',
423
+ submit: 'Generate content',
424
+ title: 'Generate content',
425
+ use_it: 'Use it',
426
+ your_request: 'Your request',
427
+ },
428
+ languages: {
429
+ add: 'Add new',
430
+ all_languages: 'All languages',
431
+ recommended: 'Recommended languages',
432
+ title: 'Language',
433
+ },
434
+ placeholder: {
435
+ insert_text: 'Insert text',
436
+ },
437
+ toolbar: {
438
+ align_center: 'Align center',
439
+ align_justify: 'Justify',
440
+ align_left: 'Align left',
441
+ align_right: 'Align right',
442
+ bold: 'Bold',
443
+ bullet_list: 'Bullet list',
444
+ dynamic_data: 'Dynamic data',
445
+ emoji: 'Emoji',
446
+ horizontal_rule: 'Horizontal line',
447
+ italic: 'Italic',
448
+ link: 'Link',
449
+ link_apply: 'Apply link',
450
+ link_open: 'Open in new window',
451
+ link_placeholder: 'Paste a link...',
452
+ link_remove: 'Remove link',
453
+ ordered_list: 'Ordered list',
454
+ text_align: 'Text align',
455
+ underline: 'Underline',
456
+ },
457
+ validation: {
458
+ character_limit: 'This field has a character limit.',
459
+ error: {
460
+ atLeastOneBlockRequired: 'At least one content block is required',
461
+ bodyEmpty: 'Message body cannot be empty',
462
+ bodyRequired: 'Message body is required',
463
+ bodyTooLong: 'Body text exceeds 1024 characters',
464
+ buttonFontSizeInvalid: 'Button font size must be between 12 and 32 pixels',
465
+ buttonTextRequired: 'Button text is required',
466
+ buttonTextTooLong: 'Button text exceeds 20 characters',
467
+ discountFontSizeInvalid: 'Discount font size must be between 12 and 48 pixels',
468
+ dividerThicknessInvalid: 'Divider thickness must be between 1 and 20 pixels',
469
+ dividerWidthInvalid: 'Divider width must be between 10% and 100%',
470
+ emailInvalid: "Invalid email format. Use email format (e.g., example{'@'}example.com)",
471
+ emailRequired: 'Please enter a valid email address',
472
+ footerTooLong: 'Footer text exceeds 60 characters',
473
+ gridColumnEmpty: 'Grid column cannot be empty',
474
+ headerLogoRequired: 'Header block requires a logo',
475
+ headerMediaRequired: 'Header media file is required',
476
+ headerTooLong: 'Header text exceeds 60 characters',
477
+ headingFontSizeInvalid: 'Heading font size must be between 16 and 48 pixels',
478
+ htmlMaxLength: 'HTML block exceeds maximum character limit',
479
+ imageSourceRequired: 'Image block requires an image',
480
+ imageWidthInvalid: 'Image width must be between 50 and 600 pixels',
481
+ invalidRenderType: 'Invalid message type',
482
+ maxButtons: 'Maximum 10 buttons allowed',
483
+ maxLinkButtons: 'Maximum 1 link button allowed',
484
+ maxPhoneButtons: 'Maximum 1 phone button allowed',
485
+ maxQuickReplyButtons: 'Maximum 3 quick reply buttons allowed',
486
+ maxUnsubscribeButtons: 'Maximum 1 unsubscribe button allowed',
487
+ messageRequired: 'At least one language is required',
488
+ nameRequired: 'Name is required',
489
+ paragraphFontSizeInvalid: 'Paragraph font size must be between 10 and 32 pixels',
490
+ phoneInvalid: 'Invalid phone number format. Use international format (e.g., +1234567890)',
491
+ phoneRequired: 'Phone number is required for phone button',
492
+ socialsNoEnabled: 'At least one social link must be enabled',
493
+ socialsUrlRequired: 'Enabled social links must have a URL or a brand default',
494
+ spacerHeightInvalid: 'Spacer height must be between 8 and 200 pixels',
495
+ subjectRequired: 'Email subject is required',
496
+ textTooLong: 'Text exceeds maximum length',
497
+ title: 'Please fix the following errors',
498
+ topProductsStoreIdRequired: 'Top products block requires a store ID',
499
+ unsubscribeBlockMissing: 'An unsubscribe link block is required',
500
+ unsubscribeLinkRequired: 'Unsubscribe block must contain the unsubscribe dynamic value',
501
+ urlInvalid: 'Invalid url format. Use https:// or http:// at the beginning.',
502
+ urlRequired: 'Url is required for link button',
503
+ },
504
+ invalid_phone_number: 'Invalid phone number',
505
+ },
506
+ whatsapp: {
507
+ body: {
508
+ description_dynamic_values:
509
+ '<b>Dynamic values</b>, with no limit on how many you use. If you end a sentence with a dynamic value, make sure to add a period at the end.',
510
+ description_link:
511
+ '<b>links</b> by pasting the full url directly. To make them clickable, make sure to include https:// or http:// at the beginning. Avoid shortened links (e.g. bit.ly, tinyurl) as they might look like spam and cause the message to be rejected.',
512
+ description_main:
513
+ 'It is the <b>main part of the message</b>, the content you want to communicate to the customer. You can include in the text:',
514
+ title: 'Body',
515
+ },
516
+ buttons: {
517
+ add_button: 'Add',
518
+ button_types: {
519
+ link: 'Link',
520
+ phone: 'Phone',
521
+ quick_reply: 'Quick reply',
522
+ unsubscribe: 'Unsubscribe',
523
+ },
524
+ default_text: {
525
+ link: '',
526
+ phone: 'Call us',
527
+ unsubscribe: 'Unsubscribe',
528
+ },
529
+ description_link:
530
+ '<b>Link</b> button lets users open an external link directly from the chat interface. You can include up to two link buttons per message',
531
+ description_main:
532
+ 'Some guidelines <b>to ensure your message gets approved</b> and works properly:',
533
+ description_phone:
534
+ '<b>Phone</b> button allows users to start a phone call from their device with a single tap. Only one button is allowed per message',
535
+ description_quick_reply:
536
+ '<b>Quick reply</b> button lets users choose between one or more predefined options without having to type text, making the conversation more fluid and guided.',
537
+ description_unsubscribe:
538
+ "<b>Unsubscribe</b> button lets users opt out of receiving future messages from your business. It's strongly recommended for marketing messages.",
539
+ placeholders: {
540
+ phone: 'Phone number',
541
+ text: 'Button text',
542
+ url: 'Url',
543
+ },
544
+ title: 'Buttons (optional)',
545
+ },
546
+ footer: {
547
+ description_main:
548
+ "It's meant to provide <b>context and support</b> without interfering with the main message.",
549
+ placeholder: 'Footer',
550
+ title: 'Footer (optional)',
551
+ },
552
+ header: {
553
+ title: 'Header',
554
+ type_placeholder: 'Select type',
555
+ types: {
556
+ document: 'Document',
557
+ image: 'Image',
558
+ none: 'None',
559
+ text: 'Text',
560
+ video: 'Video',
561
+ },
562
+ },
563
+ preview: {
564
+ document_link: 'Document',
565
+ header_image_alt: 'Header image',
789
566
  },
790
- actions: {
791
- duplicate: 'Duplicate',
792
- delete: 'Delete',
567
+ translations: {
568
+ placeholder: 'Add translation',
569
+ },
570
+ translator: {
571
+ body: 'Body',
572
+ button: 'Button',
573
+ footer: 'Footer',
574
+ header: 'Header',
575
+ reset_to_main: 'Reset to main language',
793
576
  },
794
577
  },
795
578
  },
796
- translation_action_bar: {
797
- search_placeholder: 'Search text...',
798
- show_missing: 'Show missing translations',
799
- show_changes: 'Show changes',
800
- auto_translate: 'Auto translate',
801
- auto_translate_button: 'Auto translate',
802
- preview: 'Preview',
803
- preview_button: 'Preview',
804
- translating: 'Translating...',
805
- translation_success: 'Translation completed successfully',
806
- translation_error: 'Failed to translate. Please try again.',
807
- no_sections_found: 'No sections match the current filters',
808
- clear_filters: 'Clear filters',
809
- email_preview_coming_soon: 'Email preview coming soon',
810
- unsupported_preview_type: 'Unsupported preview type',
811
- render_type: 'Render type',
812
- no_message_to_preview: 'No message to preview',
579
+ email_preview: {
580
+ no_preview: 'No preview available',
581
+ subject: 'Subject',
582
+ },
583
+ language: {
584
+ de: 'German',
585
+ en: 'English',
586
+ es: 'Spanish',
587
+ fr: 'French',
588
+ it: 'Italian',
813
589
  },
814
590
  language_list: {
815
- unsaved_changes: 'This translation has unsaved changes',
816
- changes_count: '{count} changes',
817
591
  change: 'change',
818
592
  changes: 'changes',
593
+ changes_count: '{count} changes',
819
594
  translated_percentage: '{percentage}% translated',
595
+ unsaved_changes: 'This translation has unsaved changes',
596
+ },
597
+ message: {
598
+ render_type: {
599
+ email_v1: 'Email',
600
+ whatsapp_v1: 'Whatsapp',
601
+ },
820
602
  },
821
603
  meta_submission: {
822
- success: 'Messages submitted to Meta',
823
604
  error: 'Meta submission completed with errors',
824
605
  failed_count: 'Failed messages: {count}',
606
+ success: 'Messages submitted to Meta',
825
607
  },
826
- email_preview: {
827
- no_preview: 'No preview available',
828
- subject: 'Subject',
608
+ modals: {
609
+ dynamic_data_modal: {
610
+ category: 'Body content',
611
+ description:
612
+ 'There is no limit to how many you can use. If you end a sentence with a dynamic value, make sure to add a dot (“.”) at the end.',
613
+ info: 'Dynamic fields are placeholders that will be replaced with real data (e.g., guest name) when the message is sent. If a field has no data, it will be skipped.',
614
+ no_values: 'No dynamic values available for this product.',
615
+ search_placeholder: 'Search fields...',
616
+ select_value: 'Select a value',
617
+ tabs: {
618
+ default: 'Default',
619
+ 'guest-automation': 'Guest Automation',
620
+ newsletter: 'Newsletter',
621
+ 'reservation-automation': 'Reservation Automation',
622
+ },
623
+ title: 'Add dynamic field',
624
+ will_display: 'The text field will display &#123;&#123;{value}&#125;&#125;',
625
+ },
626
+ },
627
+ pages: {
628
+ brands: {
629
+ actions: {
630
+ back: 'Back',
631
+ create: 'Create brand',
632
+ next: 'Next',
633
+ },
634
+ brand_created: 'Brand created successfully.',
635
+ brand_deleted: '"{name}" has been deleted.',
636
+ brand_updated: 'Brand updated successfully.',
637
+ column_actions: 'Actions',
638
+ column_created: 'Created',
639
+ column_name: 'Name',
640
+ delete_confirm_message: 'Are you sure you want to delete "{name}"? This cannot be undone.',
641
+ delete_confirm_title: 'Delete brand',
642
+ edit_brand: 'Edit brand',
643
+ fields: {
644
+ add_color: 'Add color',
645
+ button_bg_color: 'Background',
646
+ button_text_color: 'Text',
647
+ change_logo: 'Change logo',
648
+ colors: 'Brand colors',
649
+ default_button_colors: 'Default button colors',
650
+ default_email_colors: 'Default email colors',
651
+ default_font: 'Default font',
652
+ email_bg_color: 'Background',
653
+ email_content_bg_color: 'Content background',
654
+ email_text_color: 'Text',
655
+ extracting_colors: 'Extracting colors from logo...',
656
+ logo: 'Logo',
657
+ name: 'Brand name',
658
+ name_placeholder: 'E.g. Smartness',
659
+ properties: 'Properties',
660
+ properties_placeholder: 'Select properties',
661
+ upload_logo: 'Upload logo',
662
+ },
663
+ new_brand: 'New brand',
664
+ no_brands: 'No brands created yet',
665
+ preview: {
666
+ empty: 'Preview will appear here',
667
+ title: 'Preview',
668
+ },
669
+ save_error: 'Failed to save brand. Please try again.',
670
+ search_placeholder: 'Search brands...',
671
+ steps: {
672
+ general: 'General',
673
+ socials: 'Socials',
674
+ visual_style: 'Visual style',
675
+ },
676
+ title: 'Brands',
677
+ validation: {
678
+ invalid_social_url: 'One or more social URLs are invalid',
679
+ invalid_url_format: 'Invalid URL format',
680
+ name_required: 'Brand name is required',
681
+ },
682
+ },
683
+ email: {
684
+ create_message_group: {
685
+ name: 'Name',
686
+ name_placeholder: 'Message name',
687
+ save: 'Save',
688
+ save_as_draft: 'Save draft',
689
+ save_message: 'Save',
690
+ subject: 'Subject',
691
+ subject_placeholder: 'Email subject line',
692
+ tab_content: 'Message',
693
+ tab_translations: 'Translations',
694
+ title: 'Create message',
695
+ },
696
+ edit_message_group: {
697
+ name: 'Name',
698
+ name_placeholder: 'Message name',
699
+ save: 'Save',
700
+ save_as_draft: 'Save draft',
701
+ save_as_new: 'Save as new',
702
+ save_message: 'Save',
703
+ subject: 'Subject',
704
+ subject_placeholder: 'Email subject line',
705
+ tab_content: 'Message',
706
+ tab_translations: 'Translations',
707
+ title: 'Edit email message',
708
+ },
709
+ send_test: 'Send test',
710
+ send_test_success: 'Test email sent successfully.',
711
+ sender_name_label: 'Sender name',
712
+ sender_name_placeholder: 'Sender name',
713
+ test_email_from: 'From',
714
+ test_email_from_placeholder: 'Sender email address',
715
+ test_email_to: 'To',
716
+ test_email_to_placeholder: 'Recipient email(s), separated by ;',
717
+ },
718
+ images: {
719
+ created_label: 'Created:',
720
+ delete_confirm: 'Delete {name}?',
721
+ handle_label: 'Handle:',
722
+ image_deleted: 'Image deleted',
723
+ image_uploaded_to_meta: 'Image uploaded to meta',
724
+ meta: 'Meta',
725
+ meta_access_token_not_configured: 'Meta access token not configured',
726
+ no_images_uploaded: 'No images uploaded',
727
+ no_meta: 'No meta',
728
+ title: 'Images',
729
+ type_label: 'Type:',
730
+ upload_to_meta: 'Upload to meta',
731
+ },
732
+ message_library: {
733
+ add_message_group: 'New message',
734
+ category_placeholder: 'Select category',
735
+ headers: {
736
+ category: 'Category',
737
+ name: 'Name',
738
+ preview: 'Preview',
739
+ status: 'Status',
740
+ tags: 'Tags',
741
+ updated_at: 'Updated at',
742
+ },
743
+ render_type_placeholder: 'Select render type',
744
+ search_placeholder: 'Search',
745
+ status_placeholder: 'Select status',
746
+ tags_placeholder: 'Filter by tags',
747
+ title: 'Messages',
748
+ },
749
+ whatsapp: {
750
+ create_message_group: {
751
+ add_language: 'Add language',
752
+ category: 'Category',
753
+ category_placeholder: 'Select category',
754
+ message_content: 'Message content',
755
+ name: 'Name',
756
+ name_placeholder: 'Message name',
757
+ request_approval: 'Request approval',
758
+ save_as_new: 'Save as new',
759
+ save_draft: 'Save draft',
760
+ title: 'Create message',
761
+ },
762
+ edit_message_group: {
763
+ add_language: 'Add language',
764
+ category: 'Category',
765
+ category_placeholder: 'Select category',
766
+ message_content: 'Message content',
767
+ name: 'Name',
768
+ name_placeholder: 'Message name',
769
+ request_approval: 'Request approval',
770
+ save_as_new: 'Save as new',
771
+ save_draft: 'Save draft',
772
+ title: 'Edit whatsapp message',
773
+ },
774
+ tabs: {
775
+ content: 'Message',
776
+ translations: 'Translations',
777
+ },
778
+ },
829
779
  },
830
780
  public: {
831
781
  select_message: {
832
- choose_message: 'Choose a message...',
833
- search_placeholder: 'Search by name or category...',
834
782
  choose_language: 'Choose a language...',
783
+ choose_message: 'Choose a message...',
835
784
  enter_field: 'Enter {field}',
785
+ search_placeholder: 'Search by name or category...',
836
786
  send_message: 'Send message',
837
787
  },
838
788
  },
789
+ status: {
790
+ approved: 'Approved',
791
+ draft: 'Draft',
792
+ pending: 'Pending',
793
+ rejected: 'Rejected',
794
+ },
795
+ translation_action_bar: {
796
+ auto_translate: 'Auto translate',
797
+ auto_translate_button: 'Auto translate',
798
+ clear_filters: 'Clear filters',
799
+ email_preview_coming_soon: 'Email preview coming soon',
800
+ no_message_to_preview: 'No message to preview',
801
+ no_sections_found: 'No sections match the current filters',
802
+ preview: 'Preview',
803
+ preview_button: 'Preview',
804
+ render_type: 'Render type',
805
+ search_placeholder: 'Search text...',
806
+ show_changes: 'Show changes',
807
+ show_missing: 'Show missing translations',
808
+ translating: 'Translating...',
809
+ translation_error: 'Failed to translate. Please try again.',
810
+ translation_success: 'Translation completed successfully',
811
+ unsupported_preview_type: 'Unsupported preview type',
812
+ },
839
813
  } as const