@abtnode/ux 1.17.8-beta-20260104-120132-cb5b1914 → 1.17.8-beta-20260108-021819-e099f0ca

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,14 +1,18 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
3
3
  import SwitchControl from '@arcblock/ux/lib/Switch';
4
- import { Box, Button, Stack } from '@mui/material';
4
+ import { Box, Button, Divider, Stack } from '@mui/material';
5
5
  import { Controller, useForm } from 'react-hook-form';
6
+ import { useState } from 'react';
6
7
  import Toast from '@arcblock/ux/lib/Toast';
7
- import { useMemoizedFn } from 'ahooks';
8
+ import { useCreation, useMemoizedFn } from 'ahooks';
8
9
  import merge from 'lodash/merge';
10
+ import isEmpty from 'lodash/isEmpty';
9
11
  import Section from '../../component/section';
10
12
  import { useBlockletContext } from '../../contexts/blocklet';
11
13
  import { useNodeContext } from '../../contexts/node';
14
+ import AuthTextVisualMode from './auth-text/visual-mode';
15
+ import { defaultConfig } from './auth-text/constants';
12
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
17
  const defaultForm = {
14
18
  showDidColor: true,
@@ -31,24 +35,34 @@ export default function DIDConnectSettings() {
31
35
  } = useBlockletContext();
32
36
  const did = blocklet?.meta?.did;
33
37
  const {
34
- handleSubmit,
35
38
  control,
36
- formState,
37
39
  reset
38
40
  } = useForm({
39
41
  defaultValues: merge({}, defaultForm, blocklet?.settings?.didConnect || {})
40
42
  });
43
+
44
+ // action config is a json object
45
+ const actionConfig = useCreation(() => {
46
+ const config = blocklet?.settings?.actionConfig;
47
+ return config && !isEmpty(config) ? config : defaultConfig;
48
+ }, [blocklet?.settings?.actionConfig]);
41
49
  const {
42
50
  t
43
51
  } = useLocaleContext();
44
- const onSubmit = useMemoizedFn(async data => {
52
+ const [openDialog, setOpenDialog] = useState(false);
53
+ const handleSave = useMemoizedFn(async (fieldName, value) => {
45
54
  try {
55
+ const currentData = {
56
+ showDidColor: control._defaultValues?.showDidColor ?? defaultForm.showDidColor,
57
+ showAppInfo: control._defaultValues?.showAppInfo ?? defaultForm.showAppInfo
58
+ };
59
+ currentData[fieldName] = value;
46
60
  const {
47
61
  blocklet: blockletChanged
48
62
  } = await api.configDidConnect({
49
63
  input: {
50
64
  did,
51
- didConnect: JSON.stringify(data)
65
+ didConnect: JSON.stringify(currentData)
52
66
  }
53
67
  });
54
68
  const defaultValues = Object.assign({}, defaultForm, blockletChanged?.settings?.didConnect || {});
@@ -56,17 +70,43 @@ export default function DIDConnectSettings() {
56
70
  Toast.success(t('common.configSuccess'));
57
71
  } catch (err) {
58
72
  Toast.error(err.message);
73
+ reset(control._defaultValues);
74
+ }
75
+ });
76
+ const handleCloseDialog = useMemoizedFn(() => {
77
+ setOpenDialog(false);
78
+ });
79
+ const handleOpenDialog = useMemoizedFn(() => {
80
+ setOpenDialog(true);
81
+ });
82
+ const handleSaveCustomConfig = useMemoizedFn(async config => {
83
+ try {
84
+ await api.configDidConnectActions({
85
+ input: {
86
+ did,
87
+ actionConfig: config
88
+ }
89
+ });
90
+ Toast.success(t('common.configSuccess'));
91
+ } catch (err) {
92
+ console.error(err);
93
+ Toast.error(err.message);
59
94
  }
60
95
  });
61
- return /*#__PURE__*/_jsx(Div, {
62
- onSubmit: handleSubmit(onSubmit),
63
- children: /*#__PURE__*/_jsxs(Stack, {
96
+ return /*#__PURE__*/_jsxs(Div, {
97
+ children: [/*#__PURE__*/_jsxs(Stack, {
64
98
  direction: "column",
65
99
  sx: {
66
100
  gap: 4
67
101
  },
68
- children: [/*#__PURE__*/_jsx(Box, {
69
- children: /*#__PURE__*/_jsxs(Stack, {
102
+ children: [/*#__PURE__*/_jsxs(Box, {
103
+ children: [/*#__PURE__*/_jsx(Box, {
104
+ children: t('authentication.didConnect.basicSettings')
105
+ }), /*#__PURE__*/_jsx(Divider, {
106
+ sx: {
107
+ my: 2
108
+ }
109
+ }), /*#__PURE__*/_jsxs(Stack, {
70
110
  sx: {
71
111
  gap: 2
72
112
  },
@@ -87,7 +127,11 @@ export default function DIDConnectSettings() {
87
127
  }) => {
88
128
  return /*#__PURE__*/_jsx(Switch, {
89
129
  ...field,
90
- checked: field.value
130
+ checked: field.value,
131
+ onChange: e => {
132
+ handleSave('showDidColor', e.target.checked);
133
+ field.onChange(e);
134
+ }
91
135
  });
92
136
  }
93
137
  })
@@ -109,25 +153,45 @@ export default function DIDConnectSettings() {
109
153
  }) => {
110
154
  return /*#__PURE__*/_jsx(Switch, {
111
155
  ...field,
112
- checked: field.value
156
+ checked: field.value,
157
+ onChange: e => {
158
+ handleSave('showAppInfo', e.target.checked);
159
+ field.onChange(e);
160
+ }
113
161
  });
114
162
  }
115
163
  })
116
164
  })
117
165
  })]
118
- })
119
- }), /*#__PURE__*/_jsx(Box, {
120
- children: /*#__PURE__*/_jsx(Button, {
121
- type: "submit",
122
- variant: "contained",
123
- disabled: !formState.isDirty,
124
- children: t('common.save')
125
- })
166
+ })]
167
+ }), /*#__PURE__*/_jsxs(Box, {
168
+ children: [/*#__PURE__*/_jsx(Box, {
169
+ children: t('authentication.didConnect.customSettings')
170
+ }), /*#__PURE__*/_jsx(Divider, {
171
+ sx: {
172
+ my: 2
173
+ }
174
+ }), /*#__PURE__*/_jsx(Stack, {
175
+ direction: "row",
176
+ sx: {
177
+ gap: 2
178
+ },
179
+ children: /*#__PURE__*/_jsx(Button, {
180
+ variant: "outlined",
181
+ onClick: handleOpenDialog,
182
+ children: t('authentication.didConnect.configDialogTitle')
183
+ })
184
+ })]
126
185
  })]
127
- })
186
+ }), /*#__PURE__*/_jsx(AuthTextVisualMode, {
187
+ open: openDialog,
188
+ onClose: handleCloseDialog,
189
+ onSave: handleSaveCustomConfig,
190
+ initialConfig: actionConfig
191
+ })]
128
192
  });
129
193
  }
130
- const Div = styled.form`
194
+ const Div = styled.div`
131
195
  max-width: 1536px;
132
196
 
133
197
  .advanced-config {
package/lib/locales/ar.js CHANGED
@@ -144,7 +144,7 @@ export default {
144
144
  community: 'رابط المجتمع',
145
145
  complete: 'اكتمال',
146
146
  componentBasicInfo: 'معلومات القطعة الأساسية',
147
- components: 'مدير Blocklet',
147
+ components: 'Blocklets',
148
148
  config: 'تكوين',
149
149
  configuration: 'تكوين',
150
150
  appearance: 'المظهر',
@@ -2398,10 +2398,6 @@ export default {
2398
2398
  }
2399
2399
  },
2400
2400
  oauth: {
2401
- auth0: {},
2402
- github: {},
2403
- google: {},
2404
- apple: {},
2405
2401
  authorize: 'أذن OAuth',
2406
2402
  client: {
2407
2403
  tab: 'تطبيقات OAuth',
@@ -2499,8 +2495,7 @@ export default {
2499
2495
  listTitle: 'تمكين الوصول الآمن للجهات الخارجية باستخدام تطبيقات OAuth',
2500
2496
  tooltipTitle: 'استخدم خادم OAuth المدمج في تطبيقك لتفويض التطبيقات الخارجية باستخدام بروتوكولات قياسية في الصناعة. تمكين المستخدمين من خلال مصادقة آمنة وسلسة والتحكم في الوصول الموكّل.',
2501
2497
  empty: 'لم يتم إضافة بيانات'
2502
- },
2503
- twitter: {}
2498
+ }
2504
2499
  },
2505
2500
  expiration: {
2506
2501
  mobile: {
@@ -2898,7 +2893,15 @@ export default {
2898
2893
  },
2899
2894
  didConnect: {
2900
2895
  showDidColor: 'عرض لون DID Connect',
2901
- showAppInfo: 'عرض معلومات Blocklet'
2896
+ showAppInfo: 'عرض معلومات Blocklet',
2897
+ basicSettings: 'الإعدادات الأساسية',
2898
+ customSettings: 'إعدادات مخصصة',
2899
+ configDialogTitle: 'نص نافذة المصادقة للتكوين',
2900
+ addNewAction: 'إضافة إجراء',
2901
+ addLanguage: 'إضافة لغة',
2902
+ selectLanguage: 'اختر لغتك...',
2903
+ actionNameError: 'يسمح فقط بالحروف الصغيرة والشرطات؛ لا يجوز البدء بشرطة.',
2904
+ actionNameDuplicate: 'اسم الإجراء موجود بالفعل'
2902
2905
  }
2903
2906
  }
2904
2907
  };
package/lib/locales/de.js CHANGED
@@ -2398,10 +2398,6 @@ export default {
2398
2398
  }
2399
2399
  },
2400
2400
  oauth: {
2401
- auth0: {},
2402
- github: {},
2403
- google: {},
2404
- apple: {},
2405
2401
  authorize: 'OAuth-Autorisierung',
2406
2402
  client: {
2407
2403
  tab: 'OAuth-Apps',
@@ -2499,8 +2495,7 @@ export default {
2499
2495
  listTitle: 'Aktiviere sicheren Drittanbieterzugriff mit OAuth Apps',
2500
2496
  tooltipTitle: 'Autorisieren Sie externe Anwendungen mit Industriestandardprotokollen über den integrierten OAuth-Server Ihrer App. Ermöglichen Sie Benutzern sichere, nahtlose Authentifizierung und delegierte Zugriffssteuerung.',
2501
2497
  empty: 'Keine Daten hinzugefügt'
2502
- },
2503
- twitter: {}
2498
+ }
2504
2499
  },
2505
2500
  expiration: {
2506
2501
  mobile: {
@@ -2898,7 +2893,15 @@ export default {
2898
2893
  },
2899
2894
  didConnect: {
2900
2895
  showDidColor: 'Zeige DID Connect Farbe',
2901
- showAppInfo: 'Zeige Blocklet-Informationen'
2896
+ showAppInfo: 'Zeige Blocklet-Informationen',
2897
+ basicSettings: 'Grundeinstellungen',
2898
+ customSettings: 'Benutzerdefinierte Einstellungen',
2899
+ configDialogTitle: 'Konfig Auth Popup-Text',
2900
+ addNewAction: 'Aktion hinzufügen',
2901
+ addLanguage: 'Sprache Hinzufügen',
2902
+ selectLanguage: 'Wähle eine Sprache...',
2903
+ actionNameError: 'Nur Kleinbuchstaben und Bindestriche sind erlaubt; es darf nicht mit einem Bindestrich beginnen.',
2904
+ actionNameDuplicate: 'Aktionsname existiert bereits'
2902
2905
  }
2903
2906
  }
2904
2907
  };
package/lib/locales/en.js CHANGED
@@ -2588,7 +2588,15 @@ export default {
2588
2588
  },
2589
2589
  didConnect: {
2590
2590
  showDidColor: 'Show DID Connect color',
2591
- showAppInfo: 'Show blocklet information'
2591
+ showAppInfo: 'Show blocklet information',
2592
+ basicSettings: 'Basic Settings',
2593
+ customSettings: 'Custom Settings',
2594
+ configDialogTitle: 'Config Auth Popup Text',
2595
+ addNewAction: 'Add Action',
2596
+ addLanguage: 'Add Language',
2597
+ selectLanguage: 'Select a language...',
2598
+ actionNameError: 'Only lowercase letters and hyphens allowed, cannot start with hyphen',
2599
+ actionNameDuplicate: 'Action name already exists'
2592
2600
  }
2593
2601
  },
2594
2602
  expiration: {
package/lib/locales/es.js CHANGED
@@ -144,7 +144,7 @@ export default {
144
144
  community: 'URL de la comunidad',
145
145
  complete: 'Completo',
146
146
  componentBasicInfo: 'Información básica del componente',
147
- components: 'Gestor de Blocklet',
147
+ components: 'Blocklets',
148
148
  config: 'Configurar',
149
149
  configuration: 'Configuración',
150
150
  appearance: 'Apariencia',
@@ -2398,10 +2398,6 @@ export default {
2398
2398
  }
2399
2399
  },
2400
2400
  oauth: {
2401
- auth0: {},
2402
- github: {},
2403
- google: {},
2404
- apple: {},
2405
2401
  authorize: 'Autorización OAuth',
2406
2402
  client: {
2407
2403
  tab: 'Aplicaciones OAuth',
@@ -2499,8 +2495,7 @@ export default {
2499
2495
  listTitle: 'Habilitar acceso seguro de terceros con aplicaciones OAuth',
2500
2496
  tooltipTitle: 'Utilice el servidor OAuth integrado de su app para autorizar aplicaciones externas con protocolos estándar del sector. Faculte a los usuarios con una autenticación segura y fluida y un control de acceso delegado.',
2501
2497
  empty: 'No se agregaron datos'
2502
- },
2503
- twitter: {}
2498
+ }
2504
2499
  },
2505
2500
  expiration: {
2506
2501
  mobile: {
@@ -2898,7 +2893,15 @@ export default {
2898
2893
  },
2899
2894
  didConnect: {
2900
2895
  showDidColor: 'Mostrar color DID Connect',
2901
- showAppInfo: 'Mostrar información de Blocklet'
2896
+ showAppInfo: 'Mostrar información de Blocklet',
2897
+ basicSettings: 'Configuración básica',
2898
+ customSettings: 'Ajustes personalizados',
2899
+ configDialogTitle: 'Texto emergente de configuración de autenticación',
2900
+ addNewAction: 'Agregar acción',
2901
+ addLanguage: 'Agregar idioma',
2902
+ selectLanguage: 'Selecciona un idioma...',
2903
+ actionNameError: 'Solo letras minúsculas y guiones permitidos; no puede empezar con un guión.',
2904
+ actionNameDuplicate: 'El nombre de acción ya existe'
2902
2905
  }
2903
2906
  }
2904
2907
  };
package/lib/locales/fr.js CHANGED
@@ -144,7 +144,7 @@ export default {
144
144
  community: 'URL de la communauté',
145
145
  complete: 'Compléter',
146
146
  componentBasicInfo: 'Informations de base sur le composant',
147
- components: 'Gestionnaire de Blocklet',
147
+ components: 'Blocklets',
148
148
  config: 'Configurer',
149
149
  configuration: 'Configuration',
150
150
  appearance: 'Apparence',
@@ -2398,10 +2398,6 @@ export default {
2398
2398
  }
2399
2399
  },
2400
2400
  oauth: {
2401
- auth0: {},
2402
- github: {},
2403
- google: {},
2404
- apple: {},
2405
2401
  authorize: 'Autorisation OAuth',
2406
2402
  client: {
2407
2403
  tab: 'Applications OAuth',
@@ -2499,8 +2495,7 @@ export default {
2499
2495
  listTitle: "Activer l'accès sécurisé tiers avec les applications OAuth",
2500
2496
  tooltipTitle: "Utilisez le serveur OAuth intégré de votre application pour autoriser les applications externes avec des protocoles standards. Donnez aux utilisateurs une authentification sécurisée et transparente, ainsi qu'un contrôle d'accès délégué.",
2501
2497
  empty: 'Aucune donnée ajoutée'
2502
- },
2503
- twitter: {}
2498
+ }
2504
2499
  },
2505
2500
  expiration: {
2506
2501
  mobile: {
@@ -2898,7 +2893,15 @@ export default {
2898
2893
  },
2899
2894
  didConnect: {
2900
2895
  showDidColor: 'Afficher la couleur DID Connect',
2901
- showAppInfo: 'Afficher les informations du Blocklet'
2896
+ showAppInfo: 'Afficher les informations du Blocklet',
2897
+ basicSettings: 'Paramètres de base',
2898
+ customSettings: 'Paramètres personnalisés',
2899
+ configDialogTitle: 'Texte du popup d’authentification de configuration',
2900
+ addNewAction: 'Ajouter une action',
2901
+ addLanguage: 'Ajouter une langue',
2902
+ selectLanguage: 'Choisissez une langue...',
2903
+ actionNameError: 'Seules les lettres minuscules et les tirets sont autorisés; il ne peut pas commencer par un tiret.',
2904
+ actionNameDuplicate: 'Le nom de l’action existe déjà'
2902
2905
  }
2903
2906
  }
2904
2907
  };
package/lib/locales/hi.js CHANGED
@@ -144,7 +144,7 @@ export default {
144
144
  community: 'समुदाय URL',
145
145
  complete: 'पूरा',
146
146
  componentBasicInfo: 'घटक मूलभूत जानकारी',
147
- components: 'Blocklet प्रबंधक',
147
+ components: 'Blocklets',
148
148
  config: 'कॉन्फ़िगर करें',
149
149
  configuration: 'विन्यास',
150
150
  appearance: 'दृश्य',
@@ -2398,10 +2398,6 @@ export default {
2398
2398
  }
2399
2399
  },
2400
2400
  oauth: {
2401
- auth0: {},
2402
- github: {},
2403
- google: {},
2404
- apple: {},
2405
2401
  authorize: 'OAuth प्राधिकरण',
2406
2402
  client: {
2407
2403
  tab: 'OAuth ऐप्स',
@@ -2499,8 +2495,7 @@ export default {
2499
2495
  listTitle: 'OAuth Apps के साथ सुरक्षित तृतीय-पक्ष पहुँच सक्षम करें',
2500
2496
  tooltipTitle: 'अपने ऐप के अंतर्निहित OAuth सर्वर का उपयोग करके उद्योग-मानक प्रोटोकॉल के साथ बाहरी अनुप्रयोगों को अधिकृत करें। उपयोगकर्ताओं को सुरक्षित, सहज प्रमाणीकरण और प्रत्यायोजित पहुँच नियंत्रण प्रदान करें।',
2501
2497
  empty: 'कोई डेटा नहीं जोड़ा गया'
2502
- },
2503
- twitter: {}
2498
+ }
2504
2499
  },
2505
2500
  expiration: {
2506
2501
  mobile: {
@@ -2898,7 +2893,15 @@ export default {
2898
2893
  },
2899
2894
  didConnect: {
2900
2895
  showDidColor: 'DID कनेक्ट रंग दिखाएँ',
2901
- showAppInfo: 'ब्लॉकलेट जानकारी दिखाएँ'
2896
+ showAppInfo: 'ब्लॉकलेट जानकारी दिखाएँ',
2897
+ basicSettings: 'बुनियादी सेटिंग्स',
2898
+ customSettings: 'कस्टम सेटिंग्स',
2899
+ configDialogTitle: 'कॉन्फ़िग ऑथ पॉपअप टेक्स्ट',
2900
+ addNewAction: 'क्रिया जोड़ें',
2901
+ addLanguage: 'भाषा जोड़ें',
2902
+ selectLanguage: 'भाषा चुनें...',
2903
+ actionNameError: 'केवल छोटे अक्षर और हाइफन ही स्वीकृत हैं; हाइफन से शुरू नहीं हो सकता.',
2904
+ actionNameDuplicate: 'क्रिया का नाम पहले से मौजूद है'
2902
2905
  }
2903
2906
  }
2904
2907
  };
@@ -45599,26 +45599,6 @@
45599
45599
  "th": "ธีม"
45600
45600
  }
45601
45601
  },
45602
- "common.components": {
45603
- "en": "Blocklet Manager",
45604
- "value": {
45605
- "en": "Blocklet Manager",
45606
- "es": "Gestor de Blocklet",
45607
- "zh": "Blocklet 管理器",
45608
- "zh-TW": "Blocklet 管理員",
45609
- "ja": "Blocklet マネージャー",
45610
- "ko": "Blocklet 관리자",
45611
- "de": "Blocklet Manager",
45612
- "hi": "Blocklet प्रबंधक",
45613
- "fr": "Gestionnaire de Blocklet",
45614
- "ar": "مدير Blocklet",
45615
- "ru": "Менеджер Blocklet",
45616
- "pt": "Gerenciador de Blocklet",
45617
- "id": "Manajer Blocklet",
45618
- "vi": "Trình quản lý Blocklet",
45619
- "th": "ผู้จัดการ Blocklet"
45620
- }
45621
- },
45622
45602
  "common.issued": {
45623
45603
  "en": "Issued",
45624
45604
  "value": {
@@ -47538,5 +47518,185 @@
47538
47518
  "vi": "Thời gian chờ sao lưu",
47539
47519
  "th": "หมดเวลาสำรองข้อมูล"
47540
47520
  }
47521
+ },
47522
+ "common.components": {
47523
+ "en": "Blocklets",
47524
+ "value": {
47525
+ "en": "Blocklets",
47526
+ "es": "Blocklets",
47527
+ "zh": "Blocklets",
47528
+ "zh-TW": "Blocklets",
47529
+ "ja": "Blocklets",
47530
+ "ko": "Blocklets",
47531
+ "de": "Blocklets",
47532
+ "hi": "Blocklets",
47533
+ "fr": "Blocklets",
47534
+ "ar": "Blocklets",
47535
+ "ru": "Blocklets",
47536
+ "pt": "Blocklets",
47537
+ "id": "Blocklets",
47538
+ "vi": "Blocklets",
47539
+ "th": "Blocklets"
47540
+ }
47541
+ },
47542
+ "authentication.didConnect.basicSettings": {
47543
+ "en": "Basic Settings",
47544
+ "value": {
47545
+ "en": "Basic Settings",
47546
+ "es": "Configuración básica",
47547
+ "zh": "基本设置",
47548
+ "zh-TW": "基本設定",
47549
+ "ja": "基本設定",
47550
+ "ko": "기본 설정",
47551
+ "de": "Grundeinstellungen",
47552
+ "hi": "बुनियादी सेटिंग्स",
47553
+ "fr": "Paramètres de base",
47554
+ "ar": "الإعدادات الأساسية",
47555
+ "ru": "Основные настройки",
47556
+ "pt": "Configurações básicas",
47557
+ "id": "Pengaturan dasar",
47558
+ "vi": "Cài đặt cơ bản",
47559
+ "th": "การตั้งค่าพื้นฐาน"
47560
+ }
47561
+ },
47562
+ "authentication.didConnect.customSettings": {
47563
+ "en": "Custom Settings",
47564
+ "value": {
47565
+ "en": "Custom Settings",
47566
+ "es": "Ajustes personalizados",
47567
+ "zh": "自定义设置",
47568
+ "zh-TW": "自訂設定",
47569
+ "ja": "カスタム設定",
47570
+ "ko": "사용자 정의 설정",
47571
+ "de": "Benutzerdefinierte Einstellungen",
47572
+ "hi": "कस्टम सेटिंग्स",
47573
+ "fr": "Paramètres personnalisés",
47574
+ "ar": "إعدادات مخصصة",
47575
+ "ru": "Настройки по умолчанию",
47576
+ "pt": "Configurações Personalizadas",
47577
+ "id": "Pengaturan Kustom",
47578
+ "vi": "Cài đặt Tùy Chỉnh",
47579
+ "th": "การตั้งค่าแบบกำหนดเอง"
47580
+ }
47581
+ },
47582
+ "authentication.didConnect.configDialogTitle": {
47583
+ "en": "Config Auth Popup Text",
47584
+ "value": {
47585
+ "en": "Config Auth Popup Text",
47586
+ "es": "Texto emergente de configuración de autenticación",
47587
+ "zh": "配置身份验证弹出文本",
47588
+ "zh-TW": "設定身份驗證彈出文字",
47589
+ "ja": "認証ポップアップのテキスト設定",
47590
+ "ko": "인증 팝업 텍스트 설정",
47591
+ "de": "Konfig Auth Popup-Text",
47592
+ "hi": "कॉन्फ़िग ऑथ पॉपअप टेक्स्ट",
47593
+ "fr": "Texte du popup d’authentification de configuration",
47594
+ "ar": "نص نافذة المصادقة للتكوين",
47595
+ "ru": "Текст всплывающего окна аутентификации конфигурации",
47596
+ "pt": "Configurar texto de popup de autenticação",
47597
+ "id": "Konfigurasi teks popup autentikasi",
47598
+ "vi": "Cấu hình văn bản popup xác thực",
47599
+ "th": "กำหนดข้อความป๊อปอัปการยืนยัน"
47600
+ }
47601
+ },
47602
+ "authentication.didConnect.addNewAction": {
47603
+ "en": "Add Action",
47604
+ "value": {
47605
+ "en": "Add Action",
47606
+ "es": "Agregar acción",
47607
+ "zh": "添加动作",
47608
+ "zh-TW": "新增動作",
47609
+ "ja": "アクションを追加",
47610
+ "ko": "액션 추가",
47611
+ "de": "Aktion hinzufügen",
47612
+ "hi": "क्रिया जोड़ें",
47613
+ "fr": "Ajouter une action",
47614
+ "ar": "إضافة إجراء",
47615
+ "ru": "Добавить действие",
47616
+ "pt": "Adicionar Ação",
47617
+ "id": "Tambahkan Tindakan",
47618
+ "vi": "Thêm Hành Động",
47619
+ "th": "เพิ่มการกระทำ"
47620
+ }
47621
+ },
47622
+ "authentication.didConnect.addLanguage": {
47623
+ "en": "Add Language",
47624
+ "value": {
47625
+ "en": "Add Language",
47626
+ "es": "Agregar idioma",
47627
+ "zh": "添加语言",
47628
+ "zh-TW": "新增語言",
47629
+ "ja": "言語を追加",
47630
+ "ko": "언어 추가",
47631
+ "de": "Sprache Hinzufügen",
47632
+ "hi": "भाषा जोड़ें",
47633
+ "fr": "Ajouter une langue",
47634
+ "ar": "إضافة لغة",
47635
+ "ru": "Добавить язык",
47636
+ "pt": "Adicionar idioma",
47637
+ "id": "Tambahkan bahasa",
47638
+ "vi": "Thêm ngôn ngữ",
47639
+ "th": "เพิ่มภาษา"
47640
+ }
47641
+ },
47642
+ "authentication.didConnect.selectLanguage": {
47643
+ "en": "Select a language...",
47644
+ "value": {
47645
+ "en": "Select a language...",
47646
+ "es": "Selecciona un idioma...",
47647
+ "zh": "选择语言...",
47648
+ "zh-TW": "選擇語言...",
47649
+ "ja": "言語を選択...",
47650
+ "ko": "언어를 선택...",
47651
+ "de": "Wähle eine Sprache...",
47652
+ "hi": "भाषा चुनें...",
47653
+ "fr": "Choisissez une langue...",
47654
+ "ar": "اختر لغتك...",
47655
+ "ru": "Выберите язык...",
47656
+ "pt": "Selecione um idioma...",
47657
+ "id": "Pilih bahasa...",
47658
+ "vi": "Chọn một ngôn ngữ...",
47659
+ "th": "เลือกภาษา..."
47660
+ }
47661
+ },
47662
+ "authentication.didConnect.actionNameError": {
47663
+ "en": "Only lowercase letters and hyphens allowed, cannot start with hyphen",
47664
+ "value": {
47665
+ "en": "Only lowercase letters and hyphens allowed, cannot start with hyphen",
47666
+ "es": "Solo letras minúsculas y guiones permitidos; no puede empezar con un guión.",
47667
+ "zh": "只允许使用小写字母和连字符;不能以连字符开头。",
47668
+ "zh-TW": "只允許使用小寫字母和連字號;不能以連字號開頭。",
47669
+ "ja": "小文字の英字とハイフンのみが許可されます。先頭をハイフンにすることはできません。",
47670
+ "ko": "소문자와 하이픈만 허용되며, 하이픈으로 시작할 수 없습니다.",
47671
+ "de": "Nur Kleinbuchstaben und Bindestriche sind erlaubt; es darf nicht mit einem Bindestrich beginnen.",
47672
+ "hi": "केवल छोटे अक्षर और हाइफन ही स्वीकृत हैं; हाइफन से शुरू नहीं हो सकता.",
47673
+ "fr": "Seules les lettres minuscules et les tirets sont autorisés; il ne peut pas commencer par un tiret.",
47674
+ "ar": "يسمح فقط بالحروف الصغيرة والشرطات؛ لا يجوز البدء بشرطة.",
47675
+ "ru": "Разрешены только строчные латинские буквы и дефисы; строка не может начинаться с дефиса.",
47676
+ "pt": "Apenas letras minúsculas e hífens são permitidos, não pode começar com hífen",
47677
+ "id": "Hanya huruf kecil dan tanda hubung yang diperbolehkan, tidak boleh memulai dengan tanda hubung",
47678
+ "vi": "Chỉ cho phép chữ cái thường và dấu gạch ngang, không được bắt đầu bằng dấu gạch ngang",
47679
+ "th": "อนุญาตเฉพาะตัวอักษรพิมพ์เล็กและสัญลักษณ์ขีดตรึง ไม่สามารถขึ้นต้นด้วยสัญลักษณ์ขีด"
47680
+ }
47681
+ },
47682
+ "authentication.didConnect.actionNameDuplicate": {
47683
+ "en": "Action name already exists",
47684
+ "value": {
47685
+ "en": "Action name already exists",
47686
+ "es": "El nombre de acción ya existe",
47687
+ "zh": "操作名已存在",
47688
+ "zh-TW": "動作名稱已存在",
47689
+ "ja": "アクション名がすでに存在します",
47690
+ "ko": "액션 이름이 이미 존재합니다",
47691
+ "de": "Aktionsname existiert bereits",
47692
+ "hi": "क्रिया का नाम पहले से मौजूद है",
47693
+ "fr": "Le nom de l’action existe déjà",
47694
+ "ar": "اسم الإجراء موجود بالفعل",
47695
+ "ru": "Имя действия уже существует",
47696
+ "pt": "O nome da ação já existe",
47697
+ "id": "Nama aksi sudah ada",
47698
+ "vi": "Tên hành động đã tồn tại",
47699
+ "th": "ชื่อการกระทำมีอยู่แล้ว"
47700
+ }
47541
47701
  }
47542
- }
47702
+ }