@bigbinary/neeto-form-frontend 3.13.9 → 3.14.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.
Files changed (86) hide show
  1. package/README.md +131 -81
  2. package/app/javascript/src/translations/ar.json +9 -1
  3. package/app/javascript/src/translations/bg.json +207 -0
  4. package/app/javascript/src/translations/ca.json +207 -0
  5. package/app/javascript/src/translations/cs.json +9 -1
  6. package/app/javascript/src/translations/da.json +207 -0
  7. package/app/javascript/src/translations/de.json +9 -1
  8. package/app/javascript/src/translations/en.json +10 -1
  9. package/app/javascript/src/translations/es-MX.json +207 -0
  10. package/app/javascript/src/translations/es.json +9 -1
  11. package/app/javascript/src/translations/et.json +207 -0
  12. package/app/javascript/src/translations/fi.json +207 -0
  13. package/app/javascript/src/translations/fil.json +207 -0
  14. package/app/javascript/src/translations/fr.json +9 -1
  15. package/app/javascript/src/translations/hi.json +207 -0
  16. package/app/javascript/src/translations/hr.json +207 -0
  17. package/app/javascript/src/translations/id.json +207 -0
  18. package/app/javascript/src/translations/it.json +9 -1
  19. package/app/javascript/src/translations/ja.json +207 -0
  20. package/app/javascript/src/translations/ko.json +207 -0
  21. package/app/javascript/src/translations/nl.json +9 -1
  22. package/app/javascript/src/translations/pl.json +9 -1
  23. package/app/javascript/src/translations/pt-BR.json +207 -0
  24. package/app/javascript/src/translations/pt.json +9 -1
  25. package/app/javascript/src/translations/ro.json +9 -1
  26. package/app/javascript/src/translations/ru.json +9 -1
  27. package/app/javascript/src/translations/sk.json +207 -0
  28. package/app/javascript/src/translations/sl.json +207 -0
  29. package/app/javascript/src/translations/sv.json +207 -0
  30. package/app/javascript/src/translations/th.json +207 -0
  31. package/app/javascript/src/translations/tr.json +207 -0
  32. package/app/javascript/src/translations/uk.json +207 -0
  33. package/app/javascript/src/translations/vi.json +207 -0
  34. package/app/javascript/src/translations/zh-CN.json +207 -0
  35. package/app/javascript/src/translations/zh-TW.json +207 -0
  36. package/dist/BuildForm.js +32 -7
  37. package/dist/BuildForm.js.map +1 -1
  38. package/dist/ExternalForm.js +39 -32
  39. package/dist/ExternalForm.js.map +1 -1
  40. package/dist/Submission.js +1 -1
  41. package/dist/UrlBuilder.js +10 -6
  42. package/dist/UrlBuilder.js.map +1 -1
  43. package/dist/{buildForm-miMj_S28.js → buildForm-CXy5L1RP.js} +2 -2
  44. package/dist/{buildForm-miMj_S28.js.map → buildForm-CXy5L1RP.js.map} +1 -1
  45. package/dist/{buildForm-DQ2wgwuW.js → buildForm-DNCW7prR.js} +2 -2
  46. package/dist/{buildForm-DQ2wgwuW.js.map → buildForm-DNCW7prR.js.map} +1 -1
  47. package/dist/cjs/BuildForm.js +32 -7
  48. package/dist/cjs/BuildForm.js.map +1 -1
  49. package/dist/cjs/ExternalForm.js +38 -31
  50. package/dist/cjs/ExternalForm.js.map +1 -1
  51. package/dist/cjs/Submission.js +1 -1
  52. package/dist/cjs/UrlBuilder.js +10 -6
  53. package/dist/cjs/UrlBuilder.js.map +1 -1
  54. package/dist/cjs/hooks.js +4 -4
  55. package/dist/cjs/index.js +8 -7
  56. package/dist/cjs/index.js.map +1 -1
  57. package/dist/{constants-Dq9-rvtB.js → constants-BVZZfXua.js} +5 -1
  58. package/dist/constants-BVZZfXua.js.map +1 -0
  59. package/dist/{constants-R6y-Scns.js → constants-Bw2NSI7-.js} +5 -4
  60. package/dist/constants-Bw2NSI7-.js.map +1 -0
  61. package/dist/{constants-CDhYxmSQ.js → constants-VzpftVgP.js} +5 -3
  62. package/dist/constants-VzpftVgP.js.map +1 -0
  63. package/dist/{constants-DBuFEVFA.js → constants-b1EQ6-AS.js} +4 -2
  64. package/dist/constants-b1EQ6-AS.js.map +1 -0
  65. package/dist/hooks.js +4 -4
  66. package/dist/{index-CAtNQTCZ.js → index-BARvqe7c.js} +2 -2
  67. package/dist/{index-CAtNQTCZ.js.map → index-BARvqe7c.js.map} +1 -1
  68. package/dist/{index-BGEdOqsc.js → index-BkNaYmLc.js} +2 -2
  69. package/dist/{index-BGEdOqsc.js.map → index-BkNaYmLc.js.map} +1 -1
  70. package/dist/index.js +8 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/{useFormSubmission-Bor3TuEO.js → useFormSubmission-CYqHLtkA.js} +2 -2
  73. package/dist/{useFormSubmission-Bor3TuEO.js.map → useFormSubmission-CYqHLtkA.js.map} +1 -1
  74. package/dist/{useFormSubmission-D3Bxhy6g.js → useFormSubmission-DMoyM44A.js} +2 -2
  75. package/dist/{useFormSubmission-D3Bxhy6g.js.map → useFormSubmission-DMoyM44A.js.map} +1 -1
  76. package/dist/{utils-BThu7JWp.js → utils-BjgmM0Qs.js} +521 -55
  77. package/dist/utils-BjgmM0Qs.js.map +1 -0
  78. package/dist/{utils-1blEk5zb.js → utils-DdrUdmyb.js} +512 -45
  79. package/dist/utils-DdrUdmyb.js.map +1 -0
  80. package/package.json +15 -15
  81. package/dist/constants-CDhYxmSQ.js.map +0 -1
  82. package/dist/constants-DBuFEVFA.js.map +0 -1
  83. package/dist/constants-Dq9-rvtB.js.map +0 -1
  84. package/dist/constants-R6y-Scns.js.map +0 -1
  85. package/dist/utils-1blEk5zb.js.map +0 -1
  86. package/dist/utils-BThu7JWp.js.map +0 -1
package/README.md CHANGED
@@ -1,22 +1,30 @@
1
1
  # neeto-form-nano
2
2
 
3
- The `neeto-form-nano` allows us to build forms within neeto applications. This nano exports `@bigbinary/neeto-form-frontend` NPM package and `neeto-form-engine` Rails engine.
3
+ The `neeto-form-nano` allows us to build forms within neeto applications. This
4
+ nano exports `@bigbinary/neeto-form-frontend` NPM package and
5
+ `neeto-form-engine` Rails engine.
4
6
 
5
- See [this page](https://github.com/search?q=org%3Abigbinary+%22neeto-form-engine+%28%22&type=code) to find host applications using this nano. Changes made in the nano should be rolled out to all of them, especially migrations.
7
+ See
8
+ [this page](https://github.com/search?q=org%3Abigbinary+%22neeto-form-engine+%28%22&type=code)
9
+ to find host applications using this nano. Changes made in the nano should be
10
+ rolled out to all of them, especially migrations.
6
11
 
7
12
  # Contents
8
- 1. [Development with Host Application](#development-with-host-application)
9
- - [Engine](#engine)
10
- - [Frontend package](#frontend-package)
11
- - [Installation](#installation-1)
12
- - [Instructions for development](#instructions-for-development)
13
- - [Usage](#usage)
14
- 2. [Instructions for Publishing](#instructions-for-publishing)
13
+
14
+ 1. [Development with Host Application](#development-with-host-application)
15
+ - [Engine](#engine)
16
+ - [Frontend package](#frontend-package)
17
+ - [Installation](#installation-1)
18
+ - [Instructions for development](#instructions-for-development)
19
+ - [Usage](#usage)
20
+ 2. [Instructions for Publishing](#instructions-for-publishing)
15
21
 
16
22
  # Development with Host Application
17
23
 
18
24
  ## Engine
19
- The engine adds setup for form on backend and allows us to attach forms to any model. It also stores submissions.
25
+
26
+ The engine adds setup for form on backend and allows us to attach forms to any
27
+ model. It also stores submissions.
20
28
 
21
29
  ### Installation
22
30
 
@@ -48,13 +56,15 @@ The engine adds setup for form on backend and allows us to attach forms to any m
48
56
  bundle exec rails db:migrate
49
57
  ```
50
58
 
51
- 5. Add this line to your application's `config/routes.rb` file (replace `at` to your desired route):
59
+ 5. Add this line to your application's `config/routes.rb` file (replace `at` to
60
+ your desired route):
52
61
 
53
62
  ```ruby
54
63
  mount NeetoFormEngine::Engine, at: "/neeto_form_engine"
55
64
  ```
56
65
 
57
- 6. Create file `neeto_form_engine.rb` under `config/initializers` to provide the `owner_class` information
66
+ 6. Create file `neeto_form_engine.rb` under `config/initializers` to provide the
67
+ `owner_class` information
58
68
 
59
69
  ```ruby
60
70
  NeetoFormEngine.owner_class = "Organization"
@@ -66,7 +76,8 @@ The engine adds setup for form on backend and allows us to attach forms to any m
66
76
  has_many :forms, class_name: "::NeetoFormEngine::Form", as: :owner
67
77
  ```
68
78
 
69
- 8. Configure models to add below association to scope submission records (optional)
79
+ 8. Configure models to add below association to scope submission records
80
+ (optional)
70
81
 
71
82
  ```ruby
72
83
  has_one :submission, class_name: "::NeetoFormEngine::Submission", as: :record
@@ -80,83 +91,116 @@ The engine adds setup for form on backend and allows us to attach forms to any m
80
91
 
81
92
  ### Customizability
82
93
 
83
- #### `NeetoFormEngine::Customizable::Forms::Createable`
84
- The engine supports customizing the default behavior of `Forms::CreateService` by overriding the supported methods in this concern.
85
-
86
- #### Available methods:
87
- 1. `create_default_questions!`: If you want to use custom logic to create default questions, you can specify them using this method. `owner`, `form` and `params` will be available globally.
88
- 2. `additional_form_params`: If you want to include additional attributes while creating forms, you can specify them using this method. It takes one argument `params` which will be the form parameters passed from the front-end.
89
-
90
- #### `NeetoFormEngine::Customizable::Questions::Createable`
91
- The engine supports customizing the default behavior of `Questions::CreateService` by overriding the supported methods in this concern.
92
-
93
- #### Available methods:
94
- 1. `create_question!`: This method receives one argument `params` that contains the question parameters passed from the front-end.
95
- 2. `additional_question_params`: If you want to include additional attributes while creating questions, you can specify them using this method. It takes one argument `params` which will be the question parameters passed from the front-end.
96
-
97
- #### `NeetoFormEngine::Customizable::Questions::Updateable`
98
- The engine supports customizing the default behavior of `Questions::UpdateService` by overriding the supported constants in this concern.
99
-
100
- #### Available constants:
101
- 1. `EXCLUDED_UPDATE_PARAMS`: If you have included extra parameters other than `kind` for additional use cases that are not valid entity attributes, they need to be specified as `EXCLUDED_UPDATE_PARAMS`.
102
-
103
- #### `NeetoFormEngine::Customizable::QuestionResponses::Createable`
104
- The engine supports customizing the default behavior of `QuestionResponses::CreateService` by overriding the supported methods in this concern.
105
-
106
- #### Available methods:
107
- 1. `additional_initialization_logic`: If you want to initialize additional variables, you can specify them using this method.
108
- 2. `additional_process_actions`: If you want to perform any additional actions outside the transaction block, you can override this method.
109
- 3. `additional_create_submission_actions`: You can use this method to specify any additional logic that needs to be executed after creating submissions.
110
- 4. `additional_create_response_actions`: If you want to perform some additional actions on each of the responses, you can specify them using this method. This method receives `question` and `response_param` passed from the front-end as arguments.
111
-
112
- ### Set up Google reCAPTCHA
113
-
114
- 1. Sign up for an API key pair from the
115
- [official website](http://www.google.com/recaptcha/admin).
116
- 2. Configure the following `environment variables` and `secrets` with suitable
117
- values
118
-
119
- - Under `.env` file:
120
-
121
- ```yaml
122
- FORM_NANO_RECAPTCHA_V2_SITE_KEY=# Value from Google cloud console
123
- FORM_NANO_RECAPTCHA_V2_SECRET_KEY=# Value from Google cloud console
124
- ```
125
-
126
- - Under `secrets.yml` file:
127
-
128
- ```yaml
129
- form_nano:
130
- recaptcha_v2:
131
- site_key: <%= ENV["FORM_NANO_RECAPTCHA_V2_SITE_KEY"] %>
132
- secret_key: <%= ENV["FORM_NANO_RECAPTCHA_V2_SECRET_KEY"] %>
133
- ```
134
- 3. Include the site key in `global_props`
135
- ```ruby
136
- module ApplicationHelper
137
- def get_client_props
138
- # other variables
139
- custom_props = {
140
- # other props
141
- form_nano_recaptcha_v2_site_key: Rails.application.secrets.form_nano.dig(:recaptcha_v2, :site_key)
142
- }
143
- end
144
- end
145
- ```
94
+ #### `NeetoFormEngine::Customizable::Forms::Createable`
95
+
96
+ The engine supports customizing the default behavior of `Forms::CreateService`
97
+ by overriding the supported methods in this concern.
98
+
99
+ #### Available methods:
100
+
101
+ 1. `create_default_questions!`: If you want to use custom logic to create
102
+ default questions, you can specify them using this method. `owner`, `form`
103
+ and `params` will be available globally.
104
+ 2. `additional_form_params`: If you want to include additional attributes while
105
+ creating forms, you can specify them using this method. It takes one argument
106
+ `params` which will be the form parameters passed from the front-end.
107
+
108
+ #### `NeetoFormEngine::Customizable::Questions::Createable`
109
+
110
+ The engine supports customizing the default behavior of
111
+ `Questions::CreateService` by overriding the supported methods in this concern.
112
+
113
+ #### Available methods:
114
+
115
+ 1. `create_question!`: This method receives one argument `params` that contains
116
+ the question parameters passed from the front-end.
117
+ 2. `additional_question_params`: If you want to include additional attributes
118
+ while creating questions, you can specify them using this method. It takes
119
+ one argument `params` which will be the question parameters passed from the
120
+ front-end.
121
+
122
+ #### `NeetoFormEngine::Customizable::Questions::Updateable`
123
+
124
+ The engine supports customizing the default behavior of
125
+ `Questions::UpdateService` by overriding the supported constants in this
126
+ concern.
127
+
128
+ #### Available constants:
129
+
130
+ 1. `EXCLUDED_UPDATE_PARAMS`: If you have included extra parameters other than
131
+ `kind` for additional use cases that are not valid entity attributes, they
132
+ need to be specified as `EXCLUDED_UPDATE_PARAMS`.
133
+
134
+ #### `NeetoFormEngine::Customizable::QuestionResponses::Createable`
135
+
136
+ The engine supports customizing the default behavior of
137
+ `QuestionResponses::CreateService` by overriding the supported methods in this
138
+ concern.
139
+
140
+ #### Available methods:
141
+
142
+ 1. `additional_initialization_logic`: If you want to initialize additional
143
+ variables, you can specify them using this method.
144
+ 2. `additional_process_actions`: If you want to perform any additional actions
145
+ outside the transaction block, you can override this method.
146
+ 3. `additional_create_submission_actions`: You can use this method to specify
147
+ any additional logic that needs to be executed after creating submissions.
148
+ 4. `additional_create_response_actions`: If you want to perform some additional
149
+ actions on each of the responses, you can specify them using this method.
150
+ This method receives `question` and `response_param` passed from the
151
+ front-end as arguments.
152
+
153
+ ### Set up Google reCAPTCHA
154
+
155
+ 1. Sign up for an API key pair from the
156
+ [official website](http://www.google.com/recaptcha/admin).
157
+ 2. Configure the following `environment variables` and `secrets` with suitable
158
+ values
159
+
160
+ - Under `.env` file:
161
+
162
+ ```yaml
163
+ FORM_NANO_RECAPTCHA_V2_SITE_KEY=# Value from Google cloud console
164
+ FORM_NANO_RECAPTCHA_V2_SECRET_KEY=# Value from Google cloud console
165
+ ```
166
+
167
+ - Under `secrets.yml` file:
168
+
169
+ ```yaml
170
+ form_nano:
171
+ recaptcha_v2:
172
+ site_key: <%= ENV["FORM_NANO_RECAPTCHA_V2_SITE_KEY"] %>
173
+ secret_key: <%= ENV["FORM_NANO_RECAPTCHA_V2_SECRET_KEY"] %>
174
+ ```
175
+
176
+ 3. Include the site key in `global_props`
177
+ ```ruby
178
+ module ApplicationHelper
179
+ def get_client_props
180
+ # other variables
181
+ custom_props = {
182
+ # other props
183
+ form_nano_recaptcha_v2_site_key: Rails.application.secrets.form_nano.dig(:recaptcha_v2, :site_key)
184
+ }
185
+ end
186
+ end
187
+ ```
146
188
 
147
189
  ## Frontend package
190
+
148
191
  The frontend package allows us to create forms across neeto products.
149
192
 
150
193
  ### Installation
151
194
 
152
195
  1. Install the NPM package
196
+
153
197
  ```zsh
154
198
  yarn add @bigbinary/neeto-form-frontend
155
199
  ```
156
200
 
157
- 2. The frontend package has a few peer dependencies that are required for
158
- the proper functioning of the package. Install all the peer dependencies using
159
- the below command:
201
+ 2. The frontend package has a few peer dependencies that are required for the
202
+ proper functioning of the package. Install all the peer dependencies using
203
+ the below command:
160
204
 
161
205
  ```zsh
162
206
  yarn add @bigbinary/neetoui @bigbinary/neeto-icons ramda@^0.28.0 classnames@^2.3.1 formik@2.2.9 @bigbinary/neeto-commons-frontend react-google-recaptcha
@@ -170,14 +214,20 @@ the below command:
170
214
 
171
215
  ### Instructions for development
172
216
 
173
- Check the [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0) for step-by-step instructions to develop the frontend package.
217
+ Check the
218
+ [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0)
219
+ for step-by-step instructions to develop the frontend package.
174
220
 
175
221
  ### Usage
176
222
 
177
223
  You can learn more about the usage here:
224
+
178
225
  1. [Components](./docs/frontend/components.md)
179
226
  2. [Hooks](./docs/frontend/hooks.md)
227
+ 3. [Email Verification](./docs/email-verification.md)
180
228
 
181
229
  # Instructions for Publishing
182
230
 
183
- Consult the [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages) guide for details on how to publish.
231
+ Consult the
232
+ [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages)
233
+ guide for details on how to publish.
@@ -202,6 +202,14 @@
202
202
  "helpText": "اضغط على مفتاح المسافة أو تبويب أو مفتاح الإدخال بعد إضافة نطاق.",
203
203
  "removeInvalidDomains": "انقر هنا لإزالة النطاقات غير الصالحة.",
204
204
  "placeholder": "يرجى إدخال نطاقات البريد الإلكتروني"
205
+ },
206
+ "emailVerification": {
207
+ "switchLabel": "تأكيد البريد الإلكتروني",
208
+ "switchHelpText": "سيتم إرسال رمز تحقق إلى البريد الإلكتروني لحجز الاجتماع.",
209
+ "resendInSeconds": "تم إرسال رمز تحقق إلى بريدك الوارد. لم تستلم الرمز؟ أعد الإرسال خلال {{secondsLeft}} ثانية",
210
+ "resendCode": "تم إرسال رمز تحقق إلى بريدك الوارد. لم تستلم الرمز؟ <button>أعد إرسال رمز التحقق</button>",
211
+ "sendCode": "إرسال الرمز",
212
+ "verificationCode": "رمز التحقق"
205
213
  }
206
214
  }
207
- }
215
+ }
@@ -0,0 +1,207 @@
1
+ {
2
+ "neetoForm": {
3
+ "common": {
4
+ "fieldReq": "{{field}} е задължителен",
5
+ "thisFieldIsRequired": "Това поле е задължително",
6
+ "somethingWentWrong": "Нещо се обърка!",
7
+ "edit": "Редактиране",
8
+ "clone": "Копиране",
9
+ "delete": "Изтриване",
10
+ "agreeTermsAndConditions": "Съгласен съм с условията и правилата, споменати по-долу",
11
+ "agreeCondition": "Съгласен съм",
12
+ "mustAcceptTermsAndConditions": "Трябва да приемете условията и правилата",
13
+ "mustAcceptCondition": "Трябва да приемете условието, за да продължите",
14
+ "email": "Имейл",
15
+ "phone": "Телефон",
16
+ "phNo": "Телефонен номер",
17
+ "name": "Име",
18
+ "text": "Текст",
19
+ "rate": "Оценка",
20
+ "submit": "Изпрати",
21
+ "reset": "Нулиране",
22
+ "cancel": "Отмяна",
23
+ "singleChoice": "Единствен избор",
24
+ "company": "Компания",
25
+ "select": "Изберете",
26
+ "selectOne": "Изберете един",
27
+ "required": "Задължително",
28
+ "hideQuestion": "Скрий въпроса",
29
+ "readOnly": "Само за четене",
30
+ "responseVisibleOnlyToHost": "Отговорът е видим само за хоста",
31
+ "invalidURL": "Невалидно URL",
32
+ "generateLink": "Генериране на линк",
33
+ "paragraphCantBeEmpty": "Параграфът не може да бъде празен",
34
+ "fillTheFormToChat": "Моля, попълнете формуляра, за да започнете чат.",
35
+ "phoneNumberValidation": "Телефонен номер, започващ с код на държавата",
36
+ "yes": "Да",
37
+ "count": "Брой",
38
+ "shape": "Форма",
39
+ "good": "Добър",
40
+ "okay": "Добре",
41
+ "bad": "Лош",
42
+ "no": "Не",
43
+ "addAdditionalGuests": "Добавете допълнителни гости",
44
+ "unanswered": "Без отговор",
45
+ "hobbies": "Хобита",
46
+ "country": "Държава",
47
+ "addGuests": "Добавете гости",
48
+ "addGuestsHelper": "Въведете имейли, разделени с запетая.",
49
+ "start": "Начало",
50
+ "end": "Край",
51
+ "settings": "Настройки",
52
+ "advancedProperties": "Разширени свойства",
53
+ "clonedElementLabel": "Копие на {{label, anyCase}}",
54
+ "option": "Опция",
55
+ "rating": "Оценка",
56
+ "captchaType": "Тип captcha",
57
+ "reCaptchaV2": "reCAPTCHA v2",
58
+ "mathCaptcha": "Математическа captcha",
59
+ "remainingItemsCount": "{{count}} повече",
60
+ "domain": "Домейн",
61
+ "domains": "Домейни",
62
+ "viewHelpArticle": "Прегледайте статията за помощ",
63
+ "splitAsFirstAndLastNames": "Разделете на \"Име\" и \"Фамилия\""
64
+ },
65
+ "fields": {
66
+ "mcf": "Множествен избор",
67
+ "scf": "Единствен избор",
68
+ "def": "Параграф",
69
+ "drf": "Падащо меню",
70
+ "qif": "Текст с множество редове",
71
+ "nif": "Име",
72
+ "tif": "Текст в един ред",
73
+ "eif": "Имейл",
74
+ "pif": "Телефонен номер",
75
+ "rif": "Оценка",
76
+ "tcf": "Условия и правила",
77
+ "date": "Дата",
78
+ "fbf": "Обратна връзка",
79
+ "agif": "Допълнителни гости",
80
+ "rtf": "Поле за рибок текст",
81
+ "cf": "Условие",
82
+ "iif": "Цяло число",
83
+ "dif": "Десетично",
84
+ "fileUpload": "Качване на файл",
85
+ "captcha": "Captcha",
86
+ "smsReminder": "SMS напомняне"
87
+ },
88
+ "toasts": {
89
+ "formSubmitted": "Формулярът е подаден успешно!"
90
+ },
91
+ "callouts": {
92
+ "submitError": "Не можа да се подаде формулярът",
93
+ "hiddenQuestion": "Това е скрито поле. Хората, попълващи този формуляр, няма да виждат това поле.",
94
+ "responseVisibleOnlyToHost": "Тази поле е видимо за всички. Но отговорът му ще е видим само за хоста."
95
+ },
96
+ "successPage": {
97
+ "title1": "Благодаря ви.",
98
+ "title2": "Вашият отговор е получен."
99
+ },
100
+ "emptyState": {
101
+ "noData": "Не са намерени данни."
102
+ },
103
+ "questions": {
104
+ "deleteAlert": {
105
+ "title": "Изтриване на полето?",
106
+ "message_one": "Вие изтривате полето <strong>{{label}}</strong>. Това ще изтрие и всякакви свързани данни.",
107
+ "message_other": "Вие изтривате полето <strong>{{label}}</strong> за всички езици. Това ще изтрие и всякакви свързани данни."
108
+ },
109
+ "common": {
110
+ "noData": "Няма въпроси за показване.",
111
+ "helpText": {
112
+ "learnAbout": "Научете за",
113
+ "howToAddNewQuestions": "как да добавите нови въпроси"
114
+ },
115
+ "primaryPanel": {
116
+ "addQuestion": "Добавете въпрос",
117
+ "noQuestionLeft": "Няма повече полета за въпроси за добавяне"
118
+ },
119
+ "editQuestion": "Редактирайте въпрос",
120
+ "cloneBtn": "Копиране",
121
+ "questionFields": {
122
+ "field": {
123
+ "question": "Въпрос",
124
+ "firstNameQuestion": "Въпрос за име",
125
+ "lastNameQuestion": "Въпрос за фамилия",
126
+ "placeholder": "Текст на място",
127
+ "firstNamePlaceholder": "Място за име",
128
+ "lastNamePlaceholder": "Място за фамилия",
129
+ "required": "Задължително",
130
+ "addOption": "Добавете нова опция",
131
+ "option": "Опция",
132
+ "numberedOption": "Опция {{number}}",
133
+ "options": "Опции",
134
+ "labelExample": "Пример: {{what}}",
135
+ "label": "Етикет",
136
+ "fieldCodeTitle": "Разширени настройки",
137
+ "fieldCode": "Полева код",
138
+ "fieldCodeHelpDescription": "Ако промените кода на полето, всички съществуващи споделени линкове, съдържащи стария код на полето като параметър за заявка, няма да работят правилно. <Link>Прегледайте статията за помощ</Link> за повече информация.",
139
+ "questionType": "Тип на въпроса",
140
+ "hideQuestionHelpDescription": "Когато е активирано, този въпрос няма да е видим в създадения формуляр. Може да се използва за проследяване на \"идентификатори за справка\" и UTM параметри.",
141
+ "responseVisibleOnlyToHostHelpDescription": "Когато е активирано, отговорът на този въпрос ще бъде видим само за хоста",
142
+ "readOnlyHelpDescription": "Когато е активирано, клиентът ще може да вижда само отговора на този въпрос, но няма да може да променя отговора на този въпрос. Тъй като отбелязвате този въпрос като \"само за четене\", трябва предварително да попълните въпроса с отговор.",
143
+ "verifyHuman": "Потвърдете, че сте човек"
144
+ }
145
+ }
146
+ },
147
+ "changeLanguage": "Смена на езика"
148
+ },
149
+ "error": {
150
+ "invalidField": "Моля, въведете валиден {{label}}",
151
+ "invalidFieldCode": "Този полев код не може да се използва",
152
+ "requiredField": "Моля, въведете {{label}}",
153
+ "selectMin": "Моля, изберете {{min}} {{entity}}",
154
+ "invalidType": "{{label}} трябва да бъде валиден {{type}}",
155
+ "fieldCantBeEmpty": "{{field, anyCase}} не може да бъде празен",
156
+ "incompleteCaptcha": "Моля, завършете captcha",
157
+ "captchaVerificationFailed": "Потвърждаването на captcha не успя. Моля, опитайте отново.",
158
+ "invalidDomain": "Името на домейна е невалидно",
159
+ "minOneEntity": "Моля, добавете поне една {{entity}}",
160
+ "emailFromRestrictedDomain": "Имейли с домейн {{domain}} не се приемат."
161
+ },
162
+ "fileTypes": {
163
+ "documents": "Документи",
164
+ "images": "Изображения",
165
+ "audioVideo": "Аудио/Видео"
166
+ },
167
+ "fileUpload": {
168
+ "enableMultipleFilesUpload": "Разрешете качването на множество файлове",
169
+ "fileTypes": "Типове файлове",
170
+ "validations": {
171
+ "waitForUpload": "Моля, изчакайте, докато качването свърши",
172
+ "atLeastOneFileRequired": "Моля, качете поне един файл",
173
+ "removeDuplicates": "Моля, премахнете дублиращите се записи",
174
+ "fileIsRequired": "Моля, качете файл"
175
+ },
176
+ "dropzone": {
177
+ "errors": {
178
+ "fileTooLarge": "Файлът '{{fileName, anyCase}}' е по-голям от {{maxSize}} MB",
179
+ "fileInvalidType": "Типът файл {{fileType}} не е разрешен",
180
+ "tooManyFiles": "Можете да качите само един файл",
181
+ "defaultError": "Нещо се обърка при качването на {{fileName, anyCase}}"
182
+ },
183
+ "maxFileSize": "Максимално допустимият размер е {{size}} {{unit, anyCase}}",
184
+ "allowedFileTypes": "Разрешените типове файлове са {{types}}",
185
+ "oneFileAllowed": "Моля, качете само 1 файл",
186
+ "chooseOrDragFile": "<typography>Изберете файл <span>или</span> плъзнете тук.</typography>"
187
+ },
188
+ "fileSizeInMb": "{{fileSize}} MB",
189
+ "mb": "MB"
190
+ },
191
+ "domainRestriction": {
192
+ "whitelistedDomains": {
193
+ "label": "Разрешете имейл домейни",
194
+ "description": "Имейли с следните домейни ще бъдат приети.",
195
+ "popoverDescription": "Въведете домейни, които трябва да бъдат разрешени. Само имейли с тези домейни ще бъдат приети."
196
+ },
197
+ "blacklistedDomains": {
198
+ "label": "Откажете имейл домейни",
199
+ "description": "Имейли с следните домейни ще бъдат отхвърлени.",
200
+ "popoverDescription": "Въведете домейни, които трябва да бъдат ограничени. Имейли с тези домейни няма да бъдат приети."
201
+ },
202
+ "helpText": "Натиснете интервал, таб или клавиш Enter след добавяне на домейн.",
203
+ "removeInvalidDomains": "Натиснете тук, за да премахнете невалидни домейни.",
204
+ "placeholder": "Моля, въведете имейл домейни"
205
+ }
206
+ }
207
+ }