@chat21/chat21-ionic 3.0.65 → 3.0.66

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # chat21-ionic ver 3.0
2
2
 
3
+ ### 3.0.66 in PROD
4
+ - added: control to 'foregroundCount' locale storage variable from dashboard
5
+ - added: uk translations
6
+
3
7
  ### 3.0.65 in PROD
4
8
  - bug-fixed: icons in sidebar were not alignet correctly on Safari
5
9
  - bug-fixed: missing translations on sidebar-detail component and login-modal page on start when user logged in for the first time
@@ -16,7 +16,7 @@ cp -p src/chat-config.json platforms/browser/www/
16
16
 
17
17
  cd platforms/browser/www
18
18
  aws s3 sync . s3://tiledesk-console/v2/chat/
19
- # aws s3 sync . s3://tiledesk-console/v2/chat/$version/
19
+ aws s3 sync . s3://tiledesk-console/v2/chat/$version/
20
20
  # aws s3 sync . s3://tiledesk-console/v2/chat/latest/
21
21
  cd ../../../
22
22
  # aws cloudfront create-invalidation --distribution-id E36UIP90GOSFPM --paths "/*"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chat21/chat21-ionic",
3
3
  "author": "Tiledesk SRL",
4
- "version": "3.0.65",
4
+ "version": "3.0.66",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://tiledesk.com/",
7
7
  "repository": {
@@ -99,6 +99,7 @@ export class AppComponent implements OnInit {
99
99
  private hadBeenCalledOpenModal: boolean = false;
100
100
  public missingConnectionToast: any
101
101
  public executedInitializeAppByWatchConnection: boolean = false;
102
+ // private isInitialized: boolean = false;
102
103
  private version: string;
103
104
  IS_ONLINE: boolean;
104
105
  IS_ON_MOBILE_DEVICE: boolean;
@@ -849,6 +850,7 @@ export class AppComponent implements OnInit {
849
850
  }, 1000);
850
851
  this.soundMessage()
851
852
  }
853
+ // if(this.isInitialized) this.soundMessage()
852
854
  }
853
855
 
854
856
  soundMessage() {
@@ -1143,33 +1145,6 @@ export class AppComponent implements OnInit {
1143
1145
  }
1144
1146
 
1145
1147
 
1146
- // listenToLogoutEvent() {
1147
- // this.events.subscribe('profileInfoButtonClick:logout', (hasclickedlogout) => {
1148
- // this.logger.debug('[APP-COMP] hasclickedlogout', hasclickedlogout);
1149
- // if (hasclickedlogout === true) {
1150
- // // ----------------------------------------------
1151
- // // PUSH NOTIFICATIONS
1152
- // // ----------------------------------------------
1153
- // const that = this;
1154
- // const pushEngine = this.appConfigProvider.getConfig().pushEngine
1155
- // if( pushEngine && pushEngine !== 'none'){
1156
- // this.notificationsService.removeNotificationsInstance(function (res) {
1157
- // that.logger.debug('[APP-COMP] FIREBASE-NOTIFICATION >>>> removeNotificationsInstance > CALLBACK RES', res);
1158
-
1159
- // if (res === 'success') {
1160
- // that.removePresenceAndLogout();
1161
- // } else {
1162
- // that.removePresenceAndLogout();
1163
- // that.presentToast();
1164
- // }
1165
- // })
1166
- // }
1167
-
1168
- // }
1169
- // });
1170
- // }
1171
-
1172
-
1173
1148
  async presentToast() {
1174
1149
  const toast = await this.toastController.create({
1175
1150
  message: this.toastMsgErrorWhileUnsubscribingFromNotifications,
@@ -1209,12 +1184,13 @@ export class AppComponent implements OnInit {
1209
1184
 
1210
1185
  private updateConversationsOnStorage(){
1211
1186
  const that = this
1212
- //reset timer and save conversation on storage after 2s
1213
- // clearTimeout(this.setTimeoutConversationsEvent);
1214
- // this.setTimeoutConversationsEvent = setTimeout(() => {
1215
- // this.logger.debug('[APP-COMP] updateConversationsOnStorage: reset timer and save conversations -> ', this.conversationsHandlerService.conversations.length)
1216
- // that.appStorageService.setItem('conversations', JSON.stringify(this.conversationsHandlerService.conversations))
1217
- // }, 2000);
1187
+ // reset timer and save conversation on storage after 2s
1188
+ // clearTimeout(this.setTimeoutConversationsEvent);
1189
+ // this.setTimeoutConversationsEvent = setTimeout(() => {
1190
+ // that.logger.debug('[APP-COMP] updateConversationsOnStorage: reset timer and save conversations -> ', this.conversationsHandlerService.conversations.length)
1191
+ // that.appStorageService.setItem('conversations', JSON.stringify(that.conversationsHandlerService.conversations))
1192
+ // that.isInitialized = true;
1193
+ // }, 2000);
1218
1194
  }
1219
1195
 
1220
1196
  private initArchivedConversationsHandler(userId: string) {
@@ -1,18 +1,63 @@
1
1
  <div class="status-message">
2
2
  <!-- c21-ico-schedule -->
3
3
  <div *ngIf="!status" class="icon">
4
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><style>.cls-1{fill:none;}</style></defs><title>ic_schedule</title><g id="Livello_2" data-name="Livello 2"><g id="Livello_1-2" data-name="Livello 1"><path d="M9,1.5A7.5,7.5,0,1,0,16.5,9,7.5,7.5,0,0,0,9,1.5ZM9,15a6,6,0,1,1,6-6A6,6,0,0,1,9,15Z"/><path class="cls-1" d="M0,0H18V18H0Z"/><path d="M9.38,5.25H8.25v4.5l3.94,2.36.56-.92-3.37-2Z"/></g></g></svg>
4
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
5
+ <defs>
6
+ <style>.cls-1{fill:none;}</style>
7
+ </defs>
8
+ <!-- <title>ic_schedule</title> -->
9
+ <g id="Livello_2" data-name="Livello 2">
10
+ <g id="Livello_1-2" data-name="Livello 1">
11
+ <path d="M9,1.5A7.5,7.5,0,1,0,16.5,9,7.5,7.5,0,0,0,9,1.5ZM9,15a6,6,0,1,1,6-6A6,6,0,0,1,9,15Z"/>
12
+ <path class="cls-1" d="M0,0H18V18H0Z"/>
13
+ <path d="M9.38,5.25H8.25v4.5l3.94,2.36.56-.92-3.37-2Z"/>
14
+ </g>
15
+ </g>
16
+ </svg>
5
17
  </div>
6
18
  <!-- c21-ico-done -->
7
19
  <div *ngIf="status == MSG_STATUS_SENT" class="icon">
8
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><style>.cls-1{fill:none;}</style></defs><title>ic_done</title><g id="Livello_2" data-name="Livello 2"><g id="Livello_1-2" data-name="Livello 1"><path class="cls-1" d="M0,0H18V18H0Z"/><path d="M6.75,12.15,3.6,9,2.55,10l4.2,4.2,9-9-1-1.05Z"/></g></g></svg>
20
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
21
+ <defs>
22
+ <style>.cls-1{fill:none;}</style>
23
+ </defs>
24
+ <!-- <title>ic_done</title> -->
25
+ <g id="Livello_2" data-name="Livello 2">
26
+ <g id="Livello_1-2" data-name="Livello 1">
27
+ <path class="cls-1" d="M0,0H18V18H0Z"/>
28
+ <path d="M6.75,12.15,3.6,9,2.55,10l4.2,4.2,9-9-1-1.05Z"/>
29
+ </g>
30
+ </g>
31
+ </svg>
9
32
  </div>
10
33
  <!-- c21-ico-done -->
11
34
  <div *ngIf="status == MSG_STATUS_SENT_SERVER" class="icon">
12
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><style>.cls-1{fill:none;}</style></defs><title>ic_done</title><g id="Livello_2" data-name="Livello 2"><g id="Livello_1-2" data-name="Livello 1"><path class="cls-1" d="M0,0H18V18H0Z"/><path d="M6.75,12.15,3.6,9,2.55,10l4.2,4.2,9-9-1-1.05Z"/></g></g></svg>
35
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
36
+ <defs>
37
+ <style>.cls-1{fill:none;}</style>
38
+ </defs>
39
+ <!-- <title>ic_done</title> -->
40
+ <g id="Livello_2" data-name="Livello 2">
41
+ <g id="Livello_1-2" data-name="Livello 1">
42
+ <path class="cls-1" d="M0,0H18V18H0Z"/>
43
+ <path d="M6.75,12.15,3.6,9,2.55,10l4.2,4.2,9-9-1-1.05Z"/>
44
+ </g>
45
+ </g>
46
+ </svg>
13
47
  </div>
14
48
  <!-- c21-ico-done_all -->
15
49
  <div *ngIf="status == MSG_STATUS_RETURN_RECEIPT" class="icon">
16
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><style>.cls-1{fill:none;}</style></defs><title>ic_done_all</title><g id="Livello_2" data-name="Livello 2"><g id="Livello_1-2" data-name="Livello 1"><path class="cls-1" d="M0,0H18V18H0Z"/><path d="M13.5,5.25,12.44,4.19,7.69,8.95,8.74,10Zm3.18-1.06L8.74,12.13,5.61,9,4.55,10.06l4.19,4.19,9-9ZM.31,10.06,4.5,14.25l1.06-1.06L1.37,9Z"/></g></g></svg>
50
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
51
+ <defs>
52
+ <style>.cls-1{fill:none;}</style>
53
+ </defs>
54
+ <!-- <title>ic_done_all</title> -->
55
+ <g id="Livello_2" data-name="Livello 2">
56
+ <g id="Livello_1-2" data-name="Livello 1">
57
+ <path class="cls-1" d="M0,0H18V18H0Z"/>
58
+ <path d="M13.5,5.25,12.44,4.19,7.69,8.95,8.74,10Zm3.18-1.06L8.74,12.13,5.61,9,4.55,10.06l4.19,4.19,9-9ZM.31,10.06,4.5,14.25l1.06-1.06L1.37,9Z"/>
59
+ </g>
60
+ </g>
61
+ </svg>
17
62
  </div>
18
63
  </div>
@@ -127,6 +127,7 @@ export class SidebarComponent implements OnInit {
127
127
  this.photo_profile_URL = this.imageRepoService.getImagePhotoUrl(this.currentUser.uid)
128
128
  this.logger.log('[SIDEBAR] photo_profile_URL ', this.photo_profile_URL)
129
129
  this.checkIfExistPhotoProfile(this.photo_profile_URL)
130
+ this.checkAndRemoveDashboardForegroundCount()
130
131
  }
131
132
  } else {
132
133
  this.logger.error('[SIDEBAR] BSAuthStateChanged current user not found in storage')
@@ -149,6 +150,18 @@ export class SidebarComponent implements OnInit {
149
150
  })
150
151
  }
151
152
 
153
+ checkAndRemoveDashboardForegroundCount(){
154
+ try {
155
+ const dashboardForegroundCount = localStorage.getItem('dshbrd----foregroundcount')
156
+ this.logger.log('[SIDEBAR] - THERE IS DASHBOARD FOREGROUND COUNT', dashboardForegroundCount)
157
+ if (dashboardForegroundCount && dashboardForegroundCount !== 'undefined') {
158
+ localStorage.setItem('dshbrd----foregroundcount', '0')
159
+ }
160
+ } catch (err) {
161
+ this.logger.error('Get local storage dshbrd----foregroundcount ', err)
162
+ }
163
+ }
164
+
152
165
  createUserAvatar(currentUser) {
153
166
  this.logger.log('[SIDEBAR] - createProjectUserAvatar ', currentUser)
154
167
  let fullname = ''
@@ -230,50 +243,43 @@ export class SidebarComponent implements OnInit {
230
243
  }
231
244
 
232
245
  getConversationsTranslation() {
233
- this.translate.get('Conversations')
234
- .subscribe((text: string) => {
246
+ this.translate.get('Conversations').subscribe((text: string) => {
235
247
  this.conversations_lbl = text
236
248
  });
237
249
  }
238
250
 
239
251
  getContactsTranslation() {
240
- this.translate.get('LABEL_CONTACTS')
241
- .subscribe((text: string) => {
252
+ this.translate.get('LABEL_CONTACTS').subscribe((text: string) => {
242
253
  this.contacts_lbl = text
243
254
  });
244
255
  }
245
256
 
246
257
  getAppsTranslation() {
247
- this.translate.get('Apps')
248
- .subscribe((text: string) => {
258
+ this.translate.get('Apps').subscribe((text: string) => {
249
259
  this.apps_lbl = text
250
260
  });
251
261
  }
252
262
 
253
263
  getAnalyticsTranslation() {
254
- this.translate.get('Analytics')
255
- .subscribe((text: string) => {
264
+ this.translate.get('Analytics').subscribe((text: string) => {
256
265
  this.analytics_lbl = text
257
266
  });
258
267
  }
259
268
 
260
269
  getActivitiesTranslation() {
261
- this.translate.get('Activities')
262
- .subscribe((text: string) => {
270
+ this.translate.get('Activities').subscribe((text: string) => {
263
271
  this.activities_lbl = text
264
272
  });
265
273
  }
266
274
 
267
275
  getHistoryTranslation() {
268
- this.translate.get('History')
269
- .subscribe((text: string) => {
276
+ this.translate.get('History').subscribe((text: string) => {
270
277
  this.history_lbl = text
271
278
  });
272
279
  }
273
280
 
274
281
  getSettingsTranslation() {
275
- this.translate.get('Settings')
276
- .subscribe((text: string) => {
282
+ this.translate.get('Settings').subscribe((text: string) => {
277
283
  this.settings_lbl = text
278
284
  });
279
285
  }
@@ -0,0 +1,266 @@
1
+ {
2
+ "LABEL_TU": "ти: ",
3
+ "LABEL_MSG_PUSH_START_CHAT": "Розмови ще немає",
4
+ "LABEL_MSG_START_CHAT": "Почніть спілкуватися",
5
+ "LABEL_ACTIVE_NOW": "доступний",
6
+ "LABEL_AVAILABLE": "доступний",
7
+ "LABEL_NOT_AVAILABLE": "недоступний",
8
+ "LABEL_NO_MSG_HERE": "Тут досі немає повідомлення...",
9
+ "LABEL_TODAY": "сьогодні",
10
+ "LABEL_TOMORROW": "вчора",
11
+ "LABEL_LAST_ACCESS": "останній доступ",
12
+ "LABEL_TO": "на",
13
+ "ARRAY_DAYS": [
14
+ "понеділок",
15
+ "вівторок",
16
+ "середа",
17
+ "четвер",
18
+ "п'ятниця",
19
+ "субота",
20
+ "неділя"
21
+ ],
22
+ "LABEL_SEND": "Надіслати",
23
+ "ID_CONVERSATION": "Розмова з ідентифікатором",
24
+ "LABEL_CREATED_THE": "група створена на",
25
+ "LABEL_INFO_ATTRIBUTE": "Атрибути",
26
+ "LABEL_INFO_ADVANCED": "Розширений",
27
+ "LABEL_CLIENT": "Клієнт ",
28
+ "LABEL_SOURCEPAGE": "Джерело ",
29
+ "LABEL_DEPARTMENT_ID": "Ідентифікатор відділу ",
30
+ "LABEL_DEPARTMENT_NAME": "відділ ",
31
+ "requester_id": "Ідентифікатор запитувача",
32
+ "projectId": "Ідентифікатор проекту ",
33
+ "LABEL_NAME": "Ім'я користувача ",
34
+ "LABEL_EMAIL": "Електронна пошта ",
35
+ "LABEL_MEMBERS": "Учасники",
36
+ "LABEL_INFO_MESSAGE": "Інформаційне повідомлення",
37
+ "LABEL_READ_BY": "Читає",
38
+ "LABEL_STATUS_MESSAGE": "держава",
39
+ "LABEL_SENT_THE": "відправлено далі",
40
+ "LABEL_SENT_BY": "від",
41
+ "LABEL_GUEST": "Гість",
42
+ "LABEL_CREATE_TICKET": "Створіть квиток",
43
+ "LABEL_SEND_BY_EMAIL": "Надіслати електронною поштою",
44
+ "LABEL_VIDEO_CHAT": "Відеодзвінок",
45
+ "LABEL_LEAVE_GROUP": "Вийти з групи",
46
+ "LABEL_CLOSE_GROUP": "Закрити",
47
+ "ALERT_TITLE": "Увага!",
48
+ "CLOSE_ALERT_CONFIRM_LABEL": "добре",
49
+ "CLOSE_ALERT_CANCEL_LABEL": "СКАСУВАТИ",
50
+ "LEAVE_ALERT_MSG": "Вийти з групи?",
51
+ "CLOSE_ALERT_MSG": "Закрити бесіду?",
52
+ "VIDEOCHAT_ALERT_MSG": "Послуга недоступна",
53
+ "CLOSING_CONVERSATION_SPINNER_MSG": "Будь ласка, зачекайте.<br> Ми закриваємо розмову",
54
+ "CONVERSATION_CLOSED_ALERT_MSG": "Розмову було успішно закрито.",
55
+ "CANNOT_CLOSE_CONVERSATION_ALERT_MSG": "Неможливо закрити бесіду",
56
+ "LEAVING_GROUP_SPINNER_MSG": "Будь ласка, зачекайте.<br> Ви залишаєте групу",
57
+ "CONVERSATION_LEFT_ALERT_MSG": "Групу успішно покинули.",
58
+ "CANNOT_LEAVE_GROUP_ALERT_MSG": "Групу не можна було покинути",
59
+ "GREETING": "Привіт, {{ значення}}",
60
+ "ARCHIVED_CONVERSATIONS_PAGE_NO_CONVERSATIONS_ARCHIVED": "Розмови в архіві немає",
61
+ "INFO_SUPPORT_USER_ADDED_SUBJECT": "ти",
62
+ "INFO_SUPPORT_USER_ADDED_YOU_VERB": "були додані до ",
63
+ "INFO_SUPPORT_USER_ADDED_VERB": "приєднався",
64
+ "INFO_SUPPORT_USER_ADDED_COMPLEMENT": "чат",
65
+ "INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ предмет }} {{ дієслово} {{ доповнення}}",
66
+ "INFO_SUPPORT_CHAT_REOPENED": "Чат знову відкрився",
67
+ "INFO_SUPPORT_CHAT_CLOSED": "Чат закритий",
68
+ "INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Вам призначено новий запит на підтримку",
69
+ "LABEL_PROFILE": "Профіль",
70
+ "LABEL_CLOSE": "зачинено",
71
+ "LABEL_DISCONNECT": "Від’єднати",
72
+ "LABEL_NEW_CHAT": "Новий чат",
73
+ "LABEL_FORGOT_PASSWORD": "Ви забули свій пароль?",
74
+ "LABEL_SIGNIN": "Увійти",
75
+ "LABEL_SIGNIN_TO": "Увійдіть до",
76
+ "LABEL_SIGNIN_ERROR": "Помилка входу",
77
+ "LABEL_PASSWORD": "Пароль",
78
+ "LABEL_ERROR_EMAIL": "Введіть дійсну адресу електронної пошти.",
79
+ "LABEL_ERROR_PASSWORD": "Пароль має містити не менше 6 символів.",
80
+ "LABEL_LOGIN": "Увійти",
81
+ "LABEL_LOGOUT": "Вийти",
82
+ "LABEL_WELCOME_TO": "Ласкаво просимо до",
83
+ "LABEL_SIGNUP": "зареєструватися",
84
+ "LABEL_ALREDY_HAVE_AN_ACCOUNT": "Вже є аккаунт?",
85
+ "LABEL_DONT_HAVE_AN_ACCOUNT_YET": "Ще не маєте облікового запису?",
86
+ "LABEL_FORGOT_YOUR_PASSWORD": "Забули свій пароль?",
87
+ "LABEL_CLICK_HERE": "Натисніть тут",
88
+ "LABEL_REGISTRATION": "Реєстрація",
89
+ "LABEL_PLACEHOLDER_EMAIL": "Ваша електронна адреса",
90
+ "LABEL_PLACEHOLDER_PASSWORD": "Ваш пароль",
91
+ "LABEL_PLACEHOLDER_NAME": "Твоє ім'я",
92
+ "LABEL_PLACEHOLDER_LAST_NAME": "Ваше прізвище",
93
+ "LABEL_LAST_NAME": "Прізвище",
94
+ "LABEL_FIELD_NOT_EMPTY": "Поле не може бути порожнім.",
95
+ "LABEL_NEW_PASSWORD": "Згенеруйте новий пароль",
96
+ "LABEL_CLOSED": "зачинено",
97
+ "LABEL_INFO": "Інформація",
98
+ "ALERT_NOTIFICATION": "Попередження: надсилання сповіщень вимкнено, змінює налаштування браузера, щоб дозволити надсилання сповіщень.",
99
+ "LABEL_EXTERNAL_ID": "Зовнішній ідентифікатор",
100
+ "LABEL_IAT": "Iat",
101
+ "LABEL_REQUEST_DETAIL": "Деталі запиту",
102
+ "LABEL_ENTER_MSG": "Введіть повідомлення або натисніть / для стандартних відповідей",
103
+ "LABEL_ENTER_MSG_SHORT": "Введіть повідомлення",
104
+ "LABEL_ENTER_MSG_SHORTER": "Введіть...",
105
+ "LABEL_MSG_LOGIN_TILEDESK": "Перейдіть до входу, щоб почати спілкуватися",
106
+ "LABEL_ARCHIVED": "Заархівовано",
107
+ "LABEL_INFO_CONVERSATION": "Інформаційна розмова",
108
+ "LABEL_INFO_USER": "Інформація користувача",
109
+ "LABEL_IS_WRITING": "введення тексту",
110
+ "LABEL_VERSION": "версія",
111
+ "LABEL_CONTACTS": "Контакти",
112
+ "LABEL_PLACEHOLDER": "введіть своє повідомлення..",
113
+ "LABEL_START_NW_CONV": "Нова розмова",
114
+ "LABEL_FIRST_MSG": "Коротко опишіть вашу проблему, з вами зв’яжеться агент.",
115
+ "LABEL_FIRST_MSG_NO_AGENTS": "🤔 Усі оператори на даний момент офлайн. Ви все одно можете описати свою проблему. Його буде призначено команді підтримки, яка відповість вам якомога швидше.",
116
+ "LABEL_SELECT_TOPIC": "Виберіть тему",
117
+ "LABEL_COMPLETE_FORM": "Заповніть форму, щоб почати розмову з наступним доступним агентом.",
118
+ "LABEL_FIELD_NAME": "Ім'я",
119
+ "LABEL_ERROR_FIELD_NAME": "Обов’язкове поле (мінімум 5 символів).",
120
+ "LABEL_FIELD_EMAIL": "Електронна пошта",
121
+ "LABEL_ERROR_FIELD_EMAIL": "Введіть дійсну адресу електронної пошти.",
122
+ "LABEL_WRITING": "пише...",
123
+ "AGENT_NOT_AVAILABLE": " Офлайн",
124
+ "AGENT_AVAILABLE": " Онлайн",
125
+ "GUEST_LABEL": "Гість",
126
+ "ALL_AGENTS_OFFLINE_LABEL": "На даний момент всі оператори офлайн",
127
+ "LABEL_LOADING": "Завантаження...",
128
+ "CALLOUT_TITLE_PLACEHOLDER": "Потрібна допомога?",
129
+ "CALLOUT_MSG_PLACEHOLDER": "Натисніть тут і почніть спілкуватися з нами!",
130
+ "CUSTOMER_SATISFACTION": "Задоволеності клієнтів",
131
+ "YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "ваша думка про наше обслуговування клієнтів",
132
+ "DOWNLOAD_TRANSCRIPT": "Завантажити стенограму",
133
+ "BACK": "Назад",
134
+ "YOUR_RATING": "ваш рейтинг",
135
+ "WRITE_YOUR_OPINION": "Напишіть свою думку ... (необов'язково)",
136
+ "SUBMIT": "Подати",
137
+ "THANK_YOU_FOR_YOUR_EVALUATION": "Дякуємо за оцінку",
138
+ "YOUR_RATING_HAS_BEEN_RECEIVED": "вашу оцінку отримано",
139
+ "ALERT_LEAVE_CHAT": "Ви хочете вийти з чату?",
140
+ "YES": "Так",
141
+ "NO": "Немає",
142
+ "BUTTON_CLOSE_TO_ICON": "Мінімізуйте чат",
143
+ "BUTTON_EDIT_PROFILE": "Оновити профіль",
144
+ "RATE_CHAT": "Оцініть чат",
145
+ "WELLCOME_TITLE": "Привіт, ласкаво просимо до Tiledesk 👋",
146
+ "WELLCOME_MSG": "Як ми можемо допомогти?",
147
+ "WELLCOME": "Ласкаво просимо",
148
+ "OPTIONS": "варіанти",
149
+ "SOUND_OFF": "звук вимкнено",
150
+ "SOUND_ON": "звук увімкнено",
151
+ "LOGOUT": "вийти",
152
+ "CLOSE": "закрити",
153
+ "PREV_CONVERSATIONS": "Ваші розмови",
154
+ "YOU": "ти",
155
+ "SHOW_ALL_CONV": "Покажи все",
156
+ "START_A_CONVERSATION": "Почніть розмову",
157
+ "NO_CONVERSATION": "Без розмови",
158
+ "SEE_PREVIOUS": "див. попереднє",
159
+ "WAITING_TIME_FOUND": "Команда зазвичай відповідає $ час відповіді",
160
+ "WAITING_TIME_NOT_FOUND": "Команда відповість якомога швидше",
161
+ "CLOSED": "ЗАЧИНЕНО",
162
+ "PleaseSelectChatToStartMessaging": "Виберіть чат, щоб почати обмін повідомленнями",
163
+ "FromThisAreNew": "------------------",
164
+ "Preview": "Попередній перегляд",
165
+ "AddACaption": "Додайте підпис",
166
+ "AnErrorOccurredWhileUnsubscribingFromNotifications": "Ой! Під час скасування підписки на сповіщення сталася помилка",
167
+ "SIGNIN_ERROR_USER_NOT_FOUND": "Помилка автентифікації. Користувач не знайдений.",
168
+ "SIGNIN_ERROR_USER_WRONG_PSW": "Помилка автентифікації. Неправильний пароль.",
169
+ "Email is required": "Електронна адреса обов’язкова.",
170
+ "Email must be a valid email": "Електронна адреса має бути дійсною.",
171
+ "Password is required": "Потрібен пароль.",
172
+ "Password must be at least 6 characters long": "Пароль має містити не менше 6 символів.",
173
+ "UPLOAD_FILE_ERROR": "Під час завантаження файлу сталася неочікувана помилка",
174
+ "DROP_IMAGE_HERE_TO_SEND_IT": "Перетягніть зображення сюди, щоб надіслати його",
175
+ "ONLY_IMAGE_FILES_ARE_ALLOWED_TO_PASTE": "Дозволено вставляти лише файли зображень і текст",
176
+ "FAILED_TO_UPLOAD_THE_FORMAT_IS_NOT_SUPPORTED": "Не вдалося завантажити: формат не підтримується",
177
+ "SENT_AN_IMAGE": "надіслав зображення",
178
+ "SENT_AN_ATTACHMENT": "надіслав вкладений файл",
179
+ "NO_INFORMATION_AVAILABLE": "Інформація відсутня",
180
+ "CONTACT_ID": "Ідентифікатор контакту",
181
+ "USER_ID": "ідентифікатор користувача",
182
+ "CLOSE_TOAST": "Закрити",
183
+ "WAITING_FOR_NETWORK": "Очікування мережі",
184
+ "Available": "Доступний",
185
+ "Unavailable": "Недоступно",
186
+ "Busy": "Зайняте",
187
+ "YouAreAboutToJoinThisChat": "Ви збираєтеся приєднатися до цього чату",
188
+ "Cancel": "Скасувати",
189
+ "AreYouSure": "Ти впевнений?",
190
+ "UnassignedConversations": "Непризначені бесіди",
191
+ "NewConversations": "Нові розмови",
192
+ "UPLOAD": "Завантажити",
193
+ "CANNED_RESPONSES": "Консервовані відповіді",
194
+ "NO_CANNED_RESPONSES": "Немає готових відповідей",
195
+ "THERE_ARE_NO_CANNED_RESPONSES_AVAILABLE": "Немає готових відповідей",
196
+ "TO_CREATE_THEM_GO_TO_THE_PROJECT": "Щоб створити їх, перейдіть до проекту (ви можете натиснути на назву проекту, доступну на правій бічній панелі) і під пунктом меню «Налаштування» на бічній панелі інформаційної панелі клацніть на «Консервовані відповіді», а потім на кнопку «Створити відповідь».",
197
+ "YES_CANNED_RESPONSES": "Перегляньте готові відповіді, натиснувши кнопку ⚡️ або ввівши / у текстовій області, ви також можете відфільтрувати список, ввівши після /",
198
+ "VIEW_ALL_CONVERSATIONS": "Переглянути всі розмови",
199
+ "CONVERSATIONS_IN_QUEUE": "розмови в черзі, виберіть одну",
200
+ "CONVERSATION_IN_QUEUE": "розмова в черзі, виберіть її",
201
+ "NO_CONVERSATION_IN_QUEUE": "немає розмови в черзі",
202
+ "PIN_A_PROJECT": "Закріпити проект",
203
+ "PINNED_PROJECT": "Закріплений проект",
204
+ "CHANGE_PINNED_PROJECT": "Змінити закріплений проект",
205
+ "CHANGE_TO_AVAILABLE_UNAVAILABLE": "змінити на доступний/недоступний",
206
+ "CHANGE_TO_YOUR_STATUS_TO_AVAILABLE": "Змініть свій статус на доступний",
207
+ "CHANGE_TO_YOUR_STATUS_TO_UNAVAILABLE": "Змініть свій статус на недоступний",
208
+ "ALL_CONVS_SERVED": "Чи всі розмови обслуговувалися? Хороша робота!",
209
+ "PaydPlanName": "{{ проект компанії}} План",
210
+ "PaydPlanNamePro": "Про план",
211
+ "PaydPlanNameEnterprise": "План підприємства",
212
+ "ProPlanTrial": "Професійний план (пробна версія)",
213
+ "FreePlan": "Безкоштовний план",
214
+ "SubscriptionPaymentProblem": "Проблема оплати передплати",
215
+ "ThePlanHasExpired": "Термін дії плану закінчився",
216
+ "owner": "Власник",
217
+ "admin": "Адміністратор",
218
+ "agent": "Агент",
219
+ "Conversations": "Бесіди",
220
+ "Apps": "Програми",
221
+ "Analytics": "Аналітика",
222
+ "Activities": "Діяльність",
223
+ "History": "Історія",
224
+ "Settings": "Налаштування",
225
+ "Resolve": "Вирішити",
226
+ "Archive": "Архів",
227
+ "ActionNotAllowed": "Дія не дозволена",
228
+ "YouAreNoLongerAmongTheTeammatesManagingThisConversation": "Ви більше не серед товаришів по команді, які керують цією розмовою",
229
+ "TicketSuccessfullyCreated": "Квиток успішно створено",
230
+ "Continue": "Продовжуйте",
231
+ "ViewArchivedConversations": "Архівні бесіди",
232
+ "ViewContactsList": "Список контактів",
233
+ "AddAsCannedResponse": "Додати як стандартну відповідь",
234
+ "AddNewCannedResponse": "Додайте нову готову відповідь",
235
+ "TitleIsRequired": "Заголовок обов’язковий",
236
+ "MessageIsRequired": "Повідомлення обов’язкове",
237
+ "Already_present_in_the_dashboard_json": "........",
238
+ "CreateTicket": "Створити квиток",
239
+ "Requester": "Запитувач",
240
+ "ViewRequesterDetails": "Переглянути деталі запитувача",
241
+ "Priority": "Пріоритет",
242
+ "urgent": "Терміново",
243
+ "high": "Високий",
244
+ "medium": "Середній",
245
+ "low": "Низька",
246
+ "SelectRequester": "Виберіть запитувача",
247
+ "AddRequester": "Додати запитувача",
248
+ "Subject": "Тема",
249
+ "SelectAssignee": "Виберіть правонаступника",
250
+ "Message": "повідомлення",
251
+ "CreateNewRequester": "Створити новий запитувач",
252
+ "Name": "Ім'я",
253
+ "NameIsRequired": "Укажіть ім’я",
254
+ "EnterValidEmail": "Введіть дійсну адресу електронної пошти",
255
+ "Title": "Назва",
256
+ "Add": "Додати",
257
+ "AddCustomization": "Додайте персоналізацію",
258
+ "SelectACustomizationToAddToYourMessage": "Виберіть значення персоналізації, яке потрібно додати до повідомлення",
259
+ "recipient_name_desc": "Ім’я особи, якій відповідає агент, буде додано до повідомлення.",
260
+ "agent_name_desc": "Ім’я агента, який відповідає, буде додано до повідомлення.",
261
+ "First_name_of_recipient": "Ім'я одержувача",
262
+ "First_name_of_agent": "Ім'я агента",
263
+ "EnterCannedResponseTitle": "Введіть назву готової відповіді",
264
+ "WriteMsgToSendToYourVisitors": "Напишіть готове повідомлення-відповідь, щоб надіслати його відвідувачам",
265
+ "EditProfile": "Редагувати профіль"
266
+ }
@@ -110,7 +110,7 @@ export const LogLevel = {
110
110
  'DEBUG': 3
111
111
  }
112
112
 
113
- export const tranlatedLanguage = ['it', 'en', 'de', 'es', 'pt', 'fr', 'ru', 'tr', 'sr', 'ar']
113
+ export const tranlatedLanguage = ['it', 'en', 'de', 'es', 'pt', 'fr', 'ru', 'tr', 'sr', 'ar', 'uk']
114
114
 
115
115
 
116
116