From 3050bd1c694401d4dffb1da2779a6b21d704a7cf Mon Sep 17 00:00:00 2001 From: Bram Date: Mon, 9 Feb 2026 19:00:13 +0100 Subject: [PATCH] Latest translations from Weblate (#4708) --- .../database/locale/uk/LC_MESSAGES/django.po | 217 +- .../core/locale/uk/LC_MESSAGES/django.po | 34 +- .../locale/uk/LC_MESSAGES/django.po | 60 +- .../baserow_enterprise/locales/es.json | 317 ++- .../baserow_enterprise/locales/it.json | 3 + .../baserow_enterprise/locales/ko.json | 3 + .../baserow_enterprise/locales/uk.json | 699 ++++- .../locale/uk/LC_MESSAGES/django.po | 16 +- .../modules/baserow_premium/locales/es.json | 80 +- .../modules/baserow_premium/locales/uk.json | 454 +++- web-frontend/locales/es.json | 1283 +++++----- web-frontend/locales/fr.json | 2 +- web-frontend/locales/it.json | 74 +- web-frontend/locales/ko.json | 6 +- web-frontend/locales/uk.json | 981 ++++--- web-frontend/modules/builder/locales/es.json | 2139 +++++++++------- web-frontend/modules/builder/locales/uk.json | 1079 +++++++- web-frontend/modules/core/locales/es.json | 2208 ++++++++-------- web-frontend/modules/core/locales/ko.json | 10 +- web-frontend/modules/core/locales/uk.json | 289 ++- web-frontend/modules/database/locales/es.json | 2258 +++++++++-------- web-frontend/modules/database/locales/uk.json | 1368 ++++++---- .../modules/integrations/locales/es.json | 257 +- .../modules/integrations/locales/uk.json | 313 ++- 24 files changed, 9333 insertions(+), 4817 deletions(-) diff --git a/backend/src/baserow/contrib/database/locale/uk/LC_MESSAGES/django.po b/backend/src/baserow/contrib/database/locale/uk/LC_MESSAGES/django.po index d8ba471f52..bc6a597415 100644 --- a/backend/src/baserow/contrib/database/locale/uk/LC_MESSAGES/django.po +++ b/backend/src/baserow/contrib/database/locale/uk/LC_MESSAGES/django.po @@ -8,20 +8,22 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-31 17:04+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2026-01-29 07:02+0000\n" +"Last-Translator: Bram \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.16-dev\n" #: src/baserow/contrib/database/action/scopes.py:9 #, python-format msgid "in database \"%(database_name)s\" (%(database_id)s)." -msgstr "" +msgstr "у базі даних \"%(database_name)s\" (%(database_id)s)." #: src/baserow/contrib/database/action/scopes.py:13 #, python-format @@ -29,6 +31,8 @@ msgid "" "in table \"%(table_name)s\" (%(table_id)s) of database \"%(database_name)s" "\" (%(database_id)s)." msgstr "" +"у таблиці \"%(table_name)s\" (%(table_id)s) бази даних \"%(database_name)s\" " +"(%(database_id)s)." #: src/baserow/contrib/database/action/scopes.py:19 #, python-format @@ -36,10 +40,12 @@ msgid "" "in view \"%(view_name)s\" (%(view_id)s) of table \"%(table_name)s" "\" (%(table_id)s) in database \"%(database_name)s\" (%(database_id)s)." msgstr "" +"у представленні \"%(view_name)s\" (%(view_id)s) таблиці \"%(table_name)s\" (%" +"(table_id)s) у базі даних \"%(database_name)s\" (%(database_id)s)." #: src/baserow/contrib/database/airtable/actions.py:19 msgid "Import database from Airtable" -msgstr "" +msgstr "Імпорт бази даних з Airtable" #: src/baserow/contrib/database/airtable/actions.py:21 #, python-format @@ -48,55 +54,60 @@ msgid "" "\" (%(installed_application_id)s) from Airtable share ID " "\"%(airtable_share_id)s\"" msgstr "" +"Імпортовано базу даних \"%(installed_application_name)s\" (%" +"(installed_application_id)s) з Airtable за ID спільного доступу \"%" +"(airtable_share_id)s\"" #: src/baserow/contrib/database/application_types.py:190 msgid "Table" -msgstr "" +msgstr "Таблиця" #: src/baserow/contrib/database/export/actions.py:20 msgid "Export Table" -msgstr "" +msgstr "Експорт таблиці" #: src/baserow/contrib/database/export/actions.py:21 #, python-format msgid "View \"%(view_name)s\" (%(view_id)s) exported to %(export_type)s" msgstr "" +"Представлення \"%(view_name)s\" (%(view_id)s) експортовано до %(export_type)s" #: src/baserow/contrib/database/export/actions.py:82 #, python-format msgid "Table \"%(table_name)s\" (%(table_id)s) exported to %(export_type)s" msgstr "" +"Таблицю \"%(table_name)s\" (%(table_id)s) експортовано до %(export_type)s" #: src/baserow/contrib/database/fields/actions.py:35 msgid "Update field" -msgstr "" +msgstr "Оновити поле" #: src/baserow/contrib/database/fields/actions.py:36 #, python-format msgid "Field \"%(field_name)s\" (%(field_id)s) updated" -msgstr "" +msgstr "Поле \"%(field_name)s\" (%(field_id)s) оновлено" #: src/baserow/contrib/database/fields/actions.py:325 msgid "Create field" -msgstr "" +msgstr "Створити поле" #: src/baserow/contrib/database/fields/actions.py:326 #, python-format msgid "Field \"%(field_name)s\" (%(field_id)s) created" -msgstr "" +msgstr "Поле \"%(field_name)s\" (%(field_id)s) створено" #: src/baserow/contrib/database/fields/actions.py:418 msgid "Delete field" -msgstr "" +msgstr "Видалити поле" #: src/baserow/contrib/database/fields/actions.py:419 #, python-format msgid "Field \"%(field_name)s\" (%(field_id)s) deleted" -msgstr "" +msgstr "Поле \"%(field_name)s\" (%(field_id)s) видалено" #: src/baserow/contrib/database/fields/actions.py:486 msgid "Duplicate field" -msgstr "" +msgstr "Дублювати поле" #: src/baserow/contrib/database/fields/actions.py:488 #, python-format @@ -104,163 +115,165 @@ msgid "" "Field \"%(field_name)s\" (%(field_id)s) duplicated (with_data=%(with_data)s) " "from field \"%(original_field_name)s\" (%(original_field_id)s)" msgstr "" +"Поле \"%(field_name)s\" (%(field_id)s) дубльовано (with_data=%(with_data)s) " +"з поля \"%(original_field_name)s\" (%(original_field_id)s)" #: src/baserow/contrib/database/plugins.py:63 #, python-format msgid "%(first_name)s's company" -msgstr "" +msgstr "Компанія %(first_name)s" #: src/baserow/contrib/database/plugins.py:70 msgid "Customers" -msgstr "" +msgstr "Клієнти" #: src/baserow/contrib/database/plugins.py:72 #: src/baserow/contrib/database/plugins.py:94 #: src/baserow/contrib/database/table/handler.py:333 #: src/baserow/contrib/database/table/handler.py:346 msgid "Name" -msgstr "" +msgstr "Назва" #: src/baserow/contrib/database/plugins.py:73 msgid "Last name" -msgstr "" +msgstr "Прізвище" #: src/baserow/contrib/database/plugins.py:74 #: src/baserow/contrib/database/table/handler.py:334 msgid "Notes" -msgstr "" +msgstr "Нотатки" #: src/baserow/contrib/database/plugins.py:75 #: src/baserow/contrib/database/plugins.py:96 #: src/baserow/contrib/database/table/handler.py:335 msgid "Active" -msgstr "" +msgstr "Активний" #: src/baserow/contrib/database/plugins.py:92 msgid "Projects" -msgstr "" +msgstr "Проєкти" #: src/baserow/contrib/database/plugins.py:95 msgid "Started" -msgstr "" +msgstr "Розпочато" #: src/baserow/contrib/database/plugins.py:101 msgid "Calculator" -msgstr "" +msgstr "Калькулятор" #: src/baserow/contrib/database/plugins.py:102 msgid "Turing machine" -msgstr "" +msgstr "Машина Тюрінга" #: src/baserow/contrib/database/plugins.py:103 msgid "Computer architecture" -msgstr "" +msgstr "Архітектура комп'ютера" #: src/baserow/contrib/database/plugins.py:104 msgid "Cellular Automata" -msgstr "" +msgstr "Клітинні автомати" #: src/baserow/contrib/database/rows/actions.py:33 msgid "Create row" -msgstr "" +msgstr "Створити рядок" #: src/baserow/contrib/database/rows/actions.py:33 #, python-format msgid "Row (%(row_id)s) created" -msgstr "" +msgstr "Рядок (%(row_id)s) створено" #: src/baserow/contrib/database/rows/actions.py:111 msgid "Create rows" -msgstr "" +msgstr "Створити рядки" #: src/baserow/contrib/database/rows/actions.py:111 #, python-format msgid "Rows (%(row_ids)s) created" -msgstr "" +msgstr "Рядки (%(row_ids)s) створено" #: src/baserow/contrib/database/rows/actions.py:190 msgid "Import rows" -msgstr "" +msgstr "Імпорт рядків" #: src/baserow/contrib/database/rows/actions.py:190 #, python-format msgid "Rows (%(row_ids)s) imported" -msgstr "" +msgstr "Рядки (%(row_ids)s) імпортовано" #: src/baserow/contrib/database/rows/actions.py:272 msgid "Delete row" -msgstr "" +msgstr "Видалити рядок" #: src/baserow/contrib/database/rows/actions.py:272 #, python-format msgid "Row (%(row_id)s) deleted" -msgstr "" +msgstr "Рядок (%(row_id)s) видалено" #: src/baserow/contrib/database/rows/actions.py:333 msgid "Delete rows" -msgstr "" +msgstr "Видалити рядки" #: src/baserow/contrib/database/rows/actions.py:333 #, python-format msgid "Rows (%(row_ids)s) deleted" -msgstr "" +msgstr "Рядки (%(row_ids)s) видалено" #: src/baserow/contrib/database/rows/actions.py:473 msgid "Move row" -msgstr "" +msgstr "Перемістити рядок" #: src/baserow/contrib/database/rows/actions.py:473 #, python-format msgid "Row (%(row_id)s) moved" -msgstr "" +msgstr "Рядок (%(row_id)s) переміщено" #: src/baserow/contrib/database/rows/actions.py:581 msgid "Update row" -msgstr "" +msgstr "Оновити рядок" #: src/baserow/contrib/database/rows/actions.py:581 #, python-format msgid "Row (%(row_id)s) updated" -msgstr "" +msgstr "Рядок (%(row_id)s) оновлено" #: src/baserow/contrib/database/rows/actions.py:681 msgid "Update rows" -msgstr "" +msgstr "Оновити рядки" #: src/baserow/contrib/database/rows/actions.py:681 #, python-format msgid "Rows (%(row_ids)s) updated" -msgstr "" +msgstr "Рядки (%(row_ids)s) оновлено" #: src/baserow/contrib/database/table/actions.py:26 msgid "Create table" -msgstr "" +msgstr "Створити таблицю" #: src/baserow/contrib/database/table/actions.py:27 #, python-format msgid "Table \"%(table_name)s\" (%(table_id)s) created" -msgstr "" +msgstr "Таблицю \"%(table_name)s\" (%(table_id)s) створено" #: src/baserow/contrib/database/table/actions.py:100 msgid "Delete table" -msgstr "" +msgstr "Видалити таблицю" #: src/baserow/contrib/database/table/actions.py:101 #, python-format msgid "Table \"%(table_name)s\" (%(table_id)s) deleted" -msgstr "" +msgstr "Таблицю \"%(table_name)s\" (%(table_id)s) видалено" #: src/baserow/contrib/database/table/actions.py:150 msgid "Order tables" -msgstr "" +msgstr "Впорядкувати таблиці" #: src/baserow/contrib/database/table/actions.py:151 msgid "Tables order changed" -msgstr "" +msgstr "Порядок таблиць змінено" #: src/baserow/contrib/database/table/actions.py:210 msgid "Update table" -msgstr "" +msgstr "Оновити таблицю" #: src/baserow/contrib/database/table/actions.py:212 #, python-format @@ -268,10 +281,12 @@ msgid "" "Table (%(table_id)s) name changed from \"%(original_table_name)s\" to " "\"%(table_name)s\"" msgstr "" +"Назву таблиці (%(table_id)s) змінено з \"%(original_table_name)s\" на \"%" +"(table_name)s\"" #: src/baserow/contrib/database/table/actions.py:276 msgid "Duplicate table" -msgstr "" +msgstr "Дублювати таблицю" #: src/baserow/contrib/database/table/actions.py:278 #, python-format @@ -279,29 +294,31 @@ msgid "" "Table \"%(table_name)s\" (%(table_id)s) duplicated from " "\"%(original_table_name)s\" (%(original_table_id)s) " msgstr "" +"Таблицю \"%(table_name)s\" (%(table_id)s) дубльовано з \"%" +"(original_table_name)s\" (%(original_table_id)s) " #: src/baserow/contrib/database/table/handler.py:237 msgid "Grid" -msgstr "" +msgstr "Сітка" #: src/baserow/contrib/database/table/handler.py:295 #, python-format msgid "Field %d" -msgstr "" +msgstr "Поле %d" #: src/baserow/contrib/database/tokens/actions.py:18 msgid "Create DB token" -msgstr "" +msgstr "Створити токен БД" #: src/baserow/contrib/database/tokens/actions.py:20 #, python-format msgid "" "A Database Token with name \"%(token_name)s\" (%(token_id)s) has been created" -msgstr "" +msgstr "Токен бази даних з назвою \"%(token_name)s\" (%(token_id)s) створено" #: src/baserow/contrib/database/tokens/actions.py:51 msgid "Update DB token name" -msgstr "" +msgstr "Оновити назву токена БД" #: src/baserow/contrib/database/tokens/actions.py:53 #, python-format @@ -309,135 +326,141 @@ msgid "" "The Database Token (%(token_name)s) name changed from " "\"%(original_token_name)s\" to \"%(token_name)s\"" msgstr "" +"Назву токена бази даних (%(token_name)s) змінено з \"%(original_token_name)" +"s\" на \"%(token_name)s\"" #: src/baserow/contrib/database/tokens/actions.py:89 msgid "Update DB token permissions" -msgstr "" +msgstr "Оновити дозволи токена БД" #: src/baserow/contrib/database/tokens/actions.py:91 #, python-format msgid "" "The Database Token \"%(token_name)s\" (%(token_id)s) permissions has been " "updated" -msgstr "" +msgstr "Дозволи токена бази даних \"%(token_name)s\" (%(token_id)s) оновлено" #: src/baserow/contrib/database/tokens/actions.py:144 msgid "Rotate DB token key" -msgstr "" +msgstr "Ротація ключа токена БД" #: src/baserow/contrib/database/tokens/actions.py:145 #, python-format msgid "The Database Token \"%(token_name)s\" (%(token_id)s) has been rotated" -msgstr "" +msgstr "Токен бази даних \"%(token_name)s\" (%(token_id)s) ротовано" #: src/baserow/contrib/database/tokens/actions.py:178 msgid "Delete DB token" -msgstr "" +msgstr "Видалити токен БД" #: src/baserow/contrib/database/tokens/actions.py:179 #, python-format msgid "The Database Token \"%(token_name)s\" (%(token_id)s) has been deleted" -msgstr "" +msgstr "Токен бази даних \"%(token_name)s\" (%(token_id)s) видалено" #: src/baserow/contrib/database/views/actions.py:39 msgid "Create a view filter" -msgstr "" +msgstr "Створити фільтр представлення" #: src/baserow/contrib/database/views/actions.py:40 #, python-format msgid "View filter created on field \"%(field_name)s\" (%(field_id)s)" msgstr "" +"Фільтр представлення створено для поля \"%(field_name)s\" (%(field_id)s)" #: src/baserow/contrib/database/views/actions.py:133 msgid "Update a view filter" -msgstr "" +msgstr "Оновити фільтр представлення" #: src/baserow/contrib/database/views/actions.py:134 #, python-format msgid "View filter updated on field \"%(field_name)s\" (%(field_id)s)" msgstr "" +"Фільтр представлення оновлено для поля \"%(field_name)s\" (%(field_id)s)" #: src/baserow/contrib/database/views/actions.py:255 msgid "Delete a view filter" -msgstr "" +msgstr "Видалити фільтр представлення" #: src/baserow/contrib/database/views/actions.py:256 #, python-format msgid "View filter deleted from field \"%(field_name)s\" (%(field_id)s)" -msgstr "" +msgstr "Фільтр представлення видалено з поля \"%(field_name)s\" (%(field_id)s)" #: src/baserow/contrib/database/views/actions.py:352 msgid "Create a view sort" -msgstr "" +msgstr "Створити сортування представлення" #: src/baserow/contrib/database/views/actions.py:353 #, python-format msgid "View sorted on field \"%(field_name)s\" (%(field_id)s)" -msgstr "" +msgstr "Представлення відсортовано за полем \"%(field_name)s\" (%(field_id)s)" #: src/baserow/contrib/database/views/actions.py:429 msgid "Update a view sort" -msgstr "" +msgstr "Оновити сортування представлення" #: src/baserow/contrib/database/views/actions.py:430 #, python-format msgid "View sort updated on field \"%(field_name)s\" (%(field_id)s)" msgstr "" +"Сортування представлення оновлено для поля \"%(field_name)s\" (%(field_id)s)" #: src/baserow/contrib/database/views/actions.py:528 msgid "Delete a view sort" -msgstr "" +msgstr "Видалити сортування представлення" #: src/baserow/contrib/database/views/actions.py:529 #, python-format msgid "View sort deleted from field \"%(field_name)s\" (%(field_id)s)" msgstr "" +"Сортування представлення видалено з поля \"%(field_name)s\" (%(field_id)s)" #: src/baserow/contrib/database/views/actions.py:606 msgid "Order views" -msgstr "" +msgstr "Впорядкувати представлення" #: src/baserow/contrib/database/views/actions.py:606 msgid "Views order changed" -msgstr "" +msgstr "Порядок представлень змінено" #: src/baserow/contrib/database/views/actions.py:669 msgid "Update view field options" -msgstr "" +msgstr "Оновити параметри полів представлення" #: src/baserow/contrib/database/views/actions.py:670 msgid "ViewFieldOptions updated" -msgstr "" +msgstr "Параметри полів представлення оновлено" #: src/baserow/contrib/database/views/actions.py:765 msgid "View slug URL updated" -msgstr "" +msgstr "Slug URL представлення оновлено" #: src/baserow/contrib/database/views/actions.py:766 msgid "View changed public slug URL" -msgstr "" +msgstr "Публічний slug URL представлення змінено" #: src/baserow/contrib/database/views/actions.py:834 msgid "Update view" -msgstr "" +msgstr "Оновити представлення" #: src/baserow/contrib/database/views/actions.py:835 #, python-format msgid "View \"%(view_name)s\" (%(view_id)s) updated" -msgstr "" +msgstr "Представлення \"%(view_name)s\" (%(view_id)s) оновлено" #: src/baserow/contrib/database/views/actions.py:919 msgid "Create view" -msgstr "" +msgstr "Створити представлення" #: src/baserow/contrib/database/views/actions.py:920 #, python-format msgid "View \"%(view_name)s\" (%(view_id)s) created" -msgstr "" +msgstr "Представлення \"%(view_name)s\" (%(view_id)s) створено" #: src/baserow/contrib/database/views/actions.py:988 msgid "Duplicate view" -msgstr "" +msgstr "Дублювати представлення" #: src/baserow/contrib/database/views/actions.py:990 #, python-format @@ -445,46 +468,48 @@ msgid "" "View \"%(view_name)s\" (%(view_id)s) duplicated from view " "\"%(original_view_name)s\" (%(original_view_id)s)" msgstr "" +"Представлення \"%(view_name)s\" (%(view_id)s) дубльовано з представлення \"%" +"(original_view_name)s\" (%(original_view_id)s)" #: src/baserow/contrib/database/views/actions.py:1058 msgid "Delete view" -msgstr "" +msgstr "Видалити представлення" #: src/baserow/contrib/database/views/actions.py:1059 #, python-format msgid "View \"%(view_name)s\" (%(view_id)s) deleted" -msgstr "" +msgstr "Представлення \"%(view_name)s\" (%(view_id)s) видалено" #: src/baserow/contrib/database/views/actions.py:1116 msgid "Create decoration" -msgstr "" +msgstr "Створити декорацію" #: src/baserow/contrib/database/views/actions.py:1117 #, python-format msgid "View decoration %(decorator_id)s created" -msgstr "" +msgstr "Декорацію представлення %(decorator_id)s створено" #: src/baserow/contrib/database/views/actions.py:1212 msgid "Update decoration" -msgstr "" +msgstr "Оновити декорацію" #: src/baserow/contrib/database/views/actions.py:1213 #, python-format msgid "View decoration %(decorator_id)s updated" -msgstr "" +msgstr "Декорацію представлення %(decorator_id)s оновлено" #: src/baserow/contrib/database/views/actions.py:1337 msgid "Delete decoration" -msgstr "" +msgstr "Видалити декорацію" #: src/baserow/contrib/database/views/actions.py:1338 #, python-format msgid "View decoration %(decorator_id)s deleted" -msgstr "" +msgstr "Декорацію представлення %(decorator_id)s видалено" #: src/baserow/contrib/database/webhooks/actions.py:20 msgid "Create Webhook" -msgstr "" +msgstr "Створити Webhook" #: src/baserow/contrib/database/webhooks/actions.py:22 #, python-format @@ -492,10 +517,12 @@ msgid "" "Webhook \"%(webhook_name)s\" (%(webhook_id)s) as %(webhook_request_method)s " "to %(webhook_url)s\" created" msgstr "" +"Webhook \"%(webhook_name)s\" (%(webhook_id)s) як %(webhook_request_method)s " +"до %(webhook_url)s\" створено" #: src/baserow/contrib/database/webhooks/actions.py:81 msgid "Delete Webhook" -msgstr "" +msgstr "Видалити Webhook" #: src/baserow/contrib/database/webhooks/actions.py:83 #, python-format @@ -503,10 +530,12 @@ msgid "" "Webhook \"%(webhook_name)s\" (%(webhook_id)s) as %(webhook_request_method)s " "to %(webhook_url)s\" deleted" msgstr "" +"Webhook \"%(webhook_name)s\" (%(webhook_id)s) як %(webhook_request_method)s " +"до %(webhook_url)s\" видалено" #: src/baserow/contrib/database/webhooks/actions.py:138 msgid "Update Webhook" -msgstr "" +msgstr "Оновити Webhook" #: src/baserow/contrib/database/webhooks/actions.py:140 #, python-format @@ -514,3 +543,5 @@ msgid "" "Webhook \"%(webhook_name)s\" (%(webhook_id)s) as %(webhook_request_method)s " "to %(webhook_url)s\" updated" msgstr "" +"Webhook \"%(webhook_name)s\" (%(webhook_id)s) як %(webhook_request_method)s " +"до %(webhook_url)s\" оновлено" diff --git a/backend/src/baserow/core/locale/uk/LC_MESSAGES/django.po b/backend/src/baserow/core/locale/uk/LC_MESSAGES/django.po index 594189ecbf..0624631834 100644 --- a/backend/src/baserow/core/locale/uk/LC_MESSAGES/django.po +++ b/backend/src/baserow/core/locale/uk/LC_MESSAGES/django.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-10-28 20:39+0000\n" -"PO-Revision-Date: 2024-12-16 15:08+0000\n" -"Last-Translator: Hugel \n" +"PO-Revision-Date: 2026-02-03 22:01+0000\n" +"Last-Translator: Olga Trykush \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -13,12 +13,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.9\n" +"X-Generator: Weblate 5.16-dev\n" #: src/baserow/core/emails.py:88 #, python-format msgid "%(by)s invited you to %(group_name)s - Baserow" -msgstr "" +msgstr "%(by)s запросив Вас до %(group_name)s" #: src/baserow/core/templates/baserow/core/group_invitation.html:7 msgid "Invitation" @@ -32,6 +32,9 @@ msgid "" " %(group_name)s.\n" " " msgstr "" +"\n" +" %(first_name)s запросив(ла) вас співпрацювати над %(group_name)s\n" +" " #: src/baserow/core/templates/baserow/core/group_invitation.html:20 msgid "Accept invitation" @@ -48,6 +51,12 @@ msgid "" " leaving your browser.\n" " " msgstr "" +"\n" +" Baserow — це інструмент для роботи з базами даних без коду з " +"відкритим вихідним кодом, який дозволяє співпрацювати над проєктами, " +"клієнтами та іншими даними. Він надає вам можливості розробника, не " +"залишаючи браузера.\n" +" " #: src/baserow/core/templates/baserow/core/user/reset_password.html:7 #: src/baserow/core/templates/baserow/core/user/reset_password.html:23 @@ -64,6 +73,13 @@ msgid "" " you may simply ignore this email.\n" " " msgstr "" +"\n" +" Було надіслано запит на скидання пароля для вашого облікового " +"запису (%(username)s) на\n" +"Baserow (%(public_web_frontend_hostname)s). Якщо ви не ініціювали цей " +"запит,\n" +"ви можете просто проігнорувати цей лист.\n" +" " #: src/baserow/core/templates/baserow/core/user/reset_password.html:16 #, python-format @@ -75,12 +91,18 @@ msgid "" " %(hours)s hours.\n" " " msgstr "" +"\n" +" Щоб продовжити скидання пароля, просто натисніть кнопку нижче, і " +"ви\n" +"зможете змінити свій пароль. Це посилання стане недійсним через\n" +"%(hours)s годин.\n" +" " #: src/baserow/core/user/emails.py:16 msgid "Reset password - Baserow" -msgstr "Скинути пароль - Базеров" +msgstr "Скинути пароль - Baserow" #: src/baserow/core/user/handler.py:155 #, python-format msgid "%(name)s's group" -msgstr "" +msgstr "%(name)s група" diff --git a/enterprise/backend/src/baserow_enterprise/locale/uk/LC_MESSAGES/django.po b/enterprise/backend/src/baserow_enterprise/locale/uk/LC_MESSAGES/django.po index 495e53e9e1..75b081a5e3 100644 --- a/enterprise/backend/src/baserow_enterprise/locale/uk/LC_MESSAGES/django.po +++ b/enterprise/backend/src/baserow_enterprise/locale/uk/LC_MESSAGES/django.po @@ -8,63 +8,65 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-31 17:08+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2026-01-29 07:02+0000\n" +"Last-Translator: Marat Dospolov \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.16-dev\n" #: baserow_enterprise/audit_log/job_types.py:143 msgid "User Email" -msgstr "" +msgstr "Email користувача" #: baserow_enterprise/audit_log/job_types.py:144 msgid "User ID" -msgstr "" +msgstr "ID користувача" #: baserow_enterprise/audit_log/job_types.py:145 msgid "Group Name" -msgstr "" +msgstr "Назва групи" #: baserow_enterprise/audit_log/job_types.py:146 msgid "Group ID" -msgstr "" +msgstr "ID групи" #: baserow_enterprise/audit_log/job_types.py:147 msgid "Action Type" -msgstr "" +msgstr "Тип дії" #: baserow_enterprise/audit_log/job_types.py:148 msgid "Description" -msgstr "" +msgstr "Опис" #: baserow_enterprise/audit_log/job_types.py:149 msgid "Timestamp" -msgstr "" +msgstr "Мітка часу" #: baserow_enterprise/audit_log/job_types.py:150 msgid "IP Address" -msgstr "" +msgstr "IP-адреса" #: baserow_enterprise/audit_log/models.py:30 msgid "DONE" -msgstr "" +msgstr "ВИКОНАНО" #: baserow_enterprise/audit_log/models.py:31 msgid "UNDONE" -msgstr "" +msgstr "СКАСОВАНО" #: baserow_enterprise/audit_log/models.py:32 msgid "REDONE" -msgstr "" +msgstr "ПОВТОРЕНО" #: baserow_enterprise/role/actions.py:30 msgid "Assign role" -msgstr "" +msgstr "Призначити роль" #: baserow_enterprise/role/actions.py:32 #, python-format @@ -72,53 +74,55 @@ msgid "" "Role %(role_uid)s assigned to %(subject_type)s %(subject_id)s on " "%(scope_type)s %(scope_id)s" msgstr "" +"Роль %(role_uid)s призначено для %(subject_type)s %(subject_id)s на %" +"(scope_type)s %(scope_id)s" #: baserow_enterprise/teams/actions.py:21 #, python-format msgid "in team \"%(team_name)s\" (%(team_id)s) " -msgstr "" +msgstr "у команді \"%(team_name)s\" (%(team_id)s) " #: baserow_enterprise/teams/actions.py:27 msgid "Create team" -msgstr "" +msgstr "Створити команду" #: baserow_enterprise/teams/actions.py:28 #, python-format msgid "Team \"%(name)s\" (%(team_id)s) created." -msgstr "" +msgstr "Команду \"%(name)s\" (%(team_id)s) створено." #: baserow_enterprise/teams/actions.py:101 msgid "Update team" -msgstr "" +msgstr "Оновити команду" #: baserow_enterprise/teams/actions.py:102 #, python-format msgid "Team \"%(name)s\" (%(team_id)s) updated." -msgstr "" +msgstr "Команду \"%(name)s\" (%(team_id)s) оновлено." #: baserow_enterprise/teams/actions.py:193 msgid "Delete team" -msgstr "" +msgstr "Видалити команду" #: baserow_enterprise/teams/actions.py:194 #, python-format msgid "Team \"%(team_name)s\" (%(team_id)s) deleted." -msgstr "" +msgstr "Команду \"%(team_name)s\" (%(team_id)s) видалено." #: baserow_enterprise/teams/actions.py:240 msgid "Create team subject" -msgstr "" +msgstr "Створити суб'єкт команди" #: baserow_enterprise/teams/actions.py:240 #, python-format msgid "Subject (%(subject_id)s) created" -msgstr "" +msgstr "Суб'єкт (%(subject_id)s) створено" #: baserow_enterprise/teams/actions.py:320 msgid "Delete team subject" -msgstr "" +msgstr "Видалити суб'єкт команди" #: baserow_enterprise/teams/actions.py:321 #, python-format msgid "Subject (%(subject_id)s) deleted" -msgstr "" +msgstr "Суб'єкт (%(subject_id)s) видалено" diff --git a/enterprise/web-frontend/modules/baserow_enterprise/locales/es.json b/enterprise/web-frontend/modules/baserow_enterprise/locales/es.json index fefb59d82b..81ee438e8c 100644 --- a/enterprise/web-frontend/modules/baserow_enterprise/locales/es.json +++ b/enterprise/web-frontend/modules/baserow_enterprise/locales/es.json @@ -97,7 +97,8 @@ "password": "Autenticación de correo electrónico y contraseña", "saml": "Proveedor SAML SSO", "ssoSamlProviderName": "SSO SAML: {domain}", - "ssoSamlProviderNameUnconfigured": "SSO SAML no configurado" + "ssoSamlProviderNameUnconfigured": "SSO SAML no configurado", + "ssoOIDCProviderNameUnconfigured": "No se ha configurado el OpenID Connect" }, "editAuthProviderMenuContext": { "edit": "Editar", @@ -258,7 +259,18 @@ "baseUrl": "URL", "baseUrlPlaceholder": "URL base del proveedor", "invalidBaseUrl": "La URL introducida no es una URL de proveedor válida", - "callbackUrl": "URL de devolución de llamada" + "callbackUrl": "URL de devolución de llamada", + "firstNameAttrKey": "Nombre", + "duplicateBaseUrl": "La URL ingresada ya existe en otro proveedor", + "useIdToken": "Utiliza el «token id» para obtener información del usuario", + "responseSettings": "Atributos de respuesta OIDC", + "defaultAttrs": "Predeterminado", + "customAttrs": "Personalizado", + "emailAttrKey": "Correo electrónico", + "emailAttrKeyHelper": "La dirección de correo electrónico que se usará como nombre de usuario para el usuario. ", + "lastNameAttrKey": "Apellidos", + "firstNameAttrKeyHelper": "El primer nombre del usuario, o el nombre completo si no se indica los 'Apellidos'.", + "lastNameAttrKeyHelper": "Apellido del usuario (opcional). Borra este valor para proporcionar el nombre completo mediante ‘Nombre’." }, "manageTeamModals": { "subheading": "Los equipos permiten conceder o restringir permisos en bloque a varias personas." @@ -283,7 +295,25 @@ "auditLogs": "Registros de auditoría", "coBranding": "Sustitución del logotipo de marca compartida", "support": "Apoyo directo", - "dataSync": "Sincronizar datos" + "dataSync": "Sincronizar datos", + "ssoContent": "Habilita inicios de sesión seguros y sin interrupciones con SAML, Google, Facebook, GitHub, GitLab o OpenID Connect. Admite varios proveedores a la vez. Ten en cuenta que tanto Baserow como herramienta, como el sistema de autenticación del creador de aplicaciones, soportan SSO.", + "rbacContent": "Gestiona permisos con precisión. Asigna roles como administrador, creador, editor, comentarista o espectador a nivel de espacio de trabajo, base de datos o tabla. También puedes gestionar el acceso por equipo.", + "auditLogsContent": "Rastrea todo lo que ocurre. Visualiza un historial completo de acciones en tu instancia o espacio de trabajo, filtrable por usuario, acción y más.", + "dataSyncContent": "Mantén automáticamente las tablas actualizadas sincronizándolas con otras tablas de Baserow o con fuentes externas como Jira, GitHub, GitLab o HubSpot. También permite sincronizar de forma periódica y habilita la sincronización bidireccional de datos para los tipos de sincronización compatibles.", + "coBrandingContent": "Personaliza la interfaz de Baserow con tu propio logo. Ten en cuenta que se añade “powered by Baserow”.", + "supportContent": "Obtén ayuda cuando la necesites. Contacta al equipo de Baserow directamente desde la plataforma.", + "advancedWebhooks": "Webhooks avanzados", + "advancedWebhooksContent": "Activar webhooks cuando una fila entra en una vista específica — ideal para automatizar flujos de trabajo basados en condiciones de filtro.", + "fieldLevelPermissions": "Permisos a nivel de campo", + "fieldLevelPermissionsContent": "Controla quién puede editar campos específicos en una tabla. Establece permisos para editores, creadores, administradores o desactiva por completo las modificaciones de los valores de los campos.", + "builderBranding": "Marca de la aplicación", + "builderBrandingContent": "Aplica marca blanca a la identidad de tu aplicación eliminando la marca «Hecho con Baserow» del pie de página de tu aplicación.", + "builderFileInputElement": "Elemento de entrada de archivo", + "builderFileInputElementContent": "El elemento de entrada de archivo te permite añadir un campo a las páginas de tu aplicación para subir archivos. Da a tus usuarios la posibilidad de almacenar documentos importantes o imágenes.", + "builderCustomCode": "Código personalizado para aplicaciones", + "builderCustomCodeContent": "Puedes añadir código CSS/JavaScript personalizado para personalizar aún más el aspecto y el comportamiento de tu aplicación. Por ejemplo, puedes integrar servicios externos como analítica o redes sociales.", + "dateDependency": "Dependencia de fecha", + "dateDependencyContent": "Puedes definir una dependencia entre dos fechas y una duración como fecha de inicio/final y duración. Con dependencia de fecha, si un valor cambia, los demás valores se ajustarán en consecuencia." }, "chatwootSupportSidebarWorkspace": { "directSupport": "Apoyo directo" @@ -316,7 +346,8 @@ }, "appAuthProviderType": { "localBaserowPassword": "Correo electrónico/contraseña", - "commonSaml": "SAML SSO" + "commonSaml": "SAML SSO", + "openIdConnect": "Conexión OpenID" }, "localBaserowPasswordAppAuthProviderForm": { "passwordFieldLabel": "Seleccionar campo de contraseña", @@ -329,7 +360,7 @@ "showBaserowHelpMessage": "Mostrar un mensaje de ayuda", "showBaserowHelpMessageDescription": "Indica si el mensaje de la solicitud de ayuda debe mostrarse en el panel.", "coBrandingLogo": "Logotipo", - "coBrandingLogoDescription": "Reemplaza el logotipo de Baserow por una alternativa personalizada de un logotipo de una marca (176x29)." + "coBrandingLogoDescription": "Reemplaza el logo de Baserow por una alternativa personalizada de marca (176×29). Si está configurado, también elimina la descripción de Baserow en el pie de página de todos los correos electrónicos." }, "enterpriseModal": { "title": "Actualiza para utilizar el {name}", @@ -355,7 +386,9 @@ "authorizing": "Está autorizando a su cuenta a seleccionar los datos de la tabla de origen.", "database": "Base de datos", "table": "Tabla", - "workspace": "Espacio de trabajo" + "workspace": "Espacio de trabajo", + "view": "Vista", + "viewHelper": "Solo los campos y filas visibles que coinciden con los filtros se sincronizan." }, "enterpriseDataSyncType": { "localBaserowTable": "Sincronizar tabla Baserow", @@ -372,7 +405,11 @@ "jiraUsername": "Nombre de usuario de Jira", "usernameHelper": "El nombre de usuario de la cuenta de Jira utilizada para autenticarse. Este es el correo electrónico que se utiliza para iniciar sesión.", "apiToken": "Token API de Jira", - "apiTokenHelper": "El token de API de la cuenta de Jira utilizada para la autenticación. Puede crearse en https://id.atlassian.com/manage-profile/security/api-tokens." + "apiTokenHelper": "El token de API de la cuenta de Jira utilizada para la autenticación. Puede crearse en https://id.atlassian.com/manage-profile/security/api-tokens.", + "authenticationLabel": "Autenticación", + "authenticationHelper": "Elige cómo autenticarte con Jira.", + "personalAccessToken": "Token de acceso personal de Jira", + "personalAccessTokenHelper": "El token API de la cuenta de Jira usado para la autenticación. Puede crearse en https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html." }, "githubIssuesDataSync": { "repo": "Repositorio", @@ -410,6 +447,270 @@ "acsTitle": "URL de inicio de sesión único por dominio (Haz clic para copiar)" }, "commonSamlSettingForm": { - "authProviderInError": "Por favor, edita este proveedor para corregir el error." + "authProviderInError": "Por favor, edita este proveedor para corregir el error.", + "relayStateTitle": "URL de estado de retransmisión predeterminada (Haz clic para copiar)", + "acsTitle": "Enlace de inicio de sesión único [SSO] (Haz clic para copiar)", + "addDomainNotice": "Disponible cuando se haya añadido uno o más dominios" + }, + "advanced": { + "license": "Avanzado" + }, + "commonOidcSettingForm": { + "preview": "Vista previa", + "callbackTitle": "URLs de retorno (Haz clic para copiar)", + "callbackHelperText": "Añade estas URLs a la configuración de «Redirect URI» de tu proveedor de conexión «OpenID»." + }, + "enterpriseTwoWaySyncStrategyType": { + "realtimePushDescription": "Permite editar los valores de las celdas directamente en Baserow y los envía en tiempo real a la fuente de sincronización de datos. Ten en cuenta que los cambios no se extraen en tiempo real porque dependen de la acción de sincronización (periódica) para completarse. Se recomienda encarecidamente crear copias de seguridad de la base de datos PostgreSQL para evitar modificaciones accidentales." + }, + "assistantPanel": { + "close": "Cerrar asistente de IA", + "title": "Asistente IA", + "history": "Historial de chat", + "back": "Atrás" + }, + "assistantSidebarItem": { + "title": "Kuma IA" + }, + "assistantWelcomeMessage": { + "greet": "Hola {name}", + "question": "¡Mi nombre es Kuma!", + "subtitle": "Te ayudaré a soportar la carga para que nunca se sienta pesada. Elige entre los prompts a continuación o simplemente ¡dime lo que necesitas!", + "subtitleWithoutSuggestions": "Te ayudaré a soportar la carga para que nunca se sienta pesada. ¡Solo dime lo que necesitas!", + "promptCreateDatabaseTitle": "Crea una base de datos", + "promptCreateDatabasePrompt": "Construye una base de datos de gestión de proyectos.", + "promptCreateAutomationTitle": "Crea una automatización", + "promptCreateAutomationPrompt": "Crea una automatización que cada martes por la mañana pregunte en el canal de desarrolladores de Slack si hay algo para demostrar.", + "promptInviteUsersTitle": "Invitar usuarios", + "promptInviteUsersPrompt": "¿Cómo invito a los usuarios a mi espacio de trabajo?", + "promptCreateTableTitle": "Crear una tabla", + "promptCreateTablePrompt": "Crea una tabla nueva llamada «tareas».", + "promptWhichTablesTitle": "Cuáles tablas", + "promptWhichTablesPrompt": "¿Qué tablas tengo en esta base de datos?", + "promptCreateFormTitle": "Crear un formulario", + "promptCreateFormPrompt": "Crear un formulario para esta tabla.", + "promptCreateFilterTitle": "Crear un filtro", + "promptCreateFilterPrompt": "Mostrar solo las filas donde el campo principal está vacío." + }, + "assistantInputMessage": { + "statusWaiting": "El asistente está listo para ayudar", + "statusRunning": "Ejecutándose…", + "placeholder": "Pregúntame lo que quieras…", + "send": "Enviar mensaje", + "stop": "Detener la generación" + }, + "assistant": { + "statusThinking": "Pensando...", + "statusAnswering": "Respondiendo…", + "statusCancelling": "Cancelando...", + "messageCancelled": "Mensaje cancelado" + }, + "assistantChatHistoryContext": { + "empty": "No hay historial de chat disponible", + "loading": "Cargando historial de chat…" + }, + "assistantMessageSources": { + "sources": "{count} fuente | {count} fuentes" + }, + "assistantMessageList": { + "disclaimer": "Kuma puede cometer errores, por favor verifica las respuestas" + }, + "assistantMessageActions": { + "feedbackContextTitle": "Ayúdanos a mejorar", + "copiedToClipboard": "Copiado al portapapeles", + "feedbackContextPlaceholder": "¿En qué podemos mejorar? (opcional)", + "copiedContentToast": "El contenido de la respuesta del Asistente se ha copiado en tu portapapeles", + "copyFailed": "Error al copiar al portapapeles" + }, + "configureDataSyncModal": { + "periodicInterval": "Configuración periódica" + }, + "configureDataSyncPeriodicInterval": { + "title": "Configuración periódica", + "saved": "Guardado", + "deactivatedTitle": "Sincronización de datos periódica desactivada", + "deactivatedText": "La sincronización de datos periódica se desactivó porque falló demasiadas veces consecutivas. Por favor, intenta sincronizar manualmente y, si funciona como se espera, haz clic en el botón de activar.", + "activate": "Activar sincronización periódica", + "enterprise": "La sincronización de datos periódica es una función avanzada/enterprise.", + "more": "Más información" + }, + "dataSyncPeriodicIntervalForm": { + "manual": "Manual", + "daily": "Diario", + "intervalLabel": "Intervalo", + "intervalHelper": "Con qué frecuencia debe sincronizarse automáticamente la sincronización de datos.", + "hourly": "Horario", + "whenHelper": "Indica la hora, minuto y segundo exactos en los que la sincronización de datos debe ejecutarse.", + "whenHourlyHelper": "Indica el minuto y segundo exactos en los que la sincronización de datos debe ejecutarse.", + "hour": "Hora", + "minute": "Minuto", + "second": "Segundo" + }, + "oidcAuthLink": { + "placeholderWithOIDC": "{login} con {provider}" + }, + "chartWidget": { + "name": "Gráfico", + "bar": "Gráfico de barras", + "line": "Gráfico de líneas" + }, + "pieChartWidget": { + "name": "Gráfico de pastel", + "pie": "Gráfico de pastel", + "doughnut": "Gráfico de dona", + "polarArea": "Gráfico polar de áreas" + }, + "groupedAggregateRowsDataSourceForm": { + "series": "Series", + "addSeries": "Añadir series", + "data": "Datos", + "sourceFieldLabel": "Fuente", + "viewFieldLabel": "Vista", + "notSelected": "No seleccionado" + }, + "aggregationSeriesForm": { + "aggregationFieldLabel": "Campo", + "aggregationTypeLabel": "Resumen", + "deleteSeries": "Eliminar series", + "chartType": "Tipo de gráfico", + "barChart": "Barra", + "lineChart": "Línea", + "pieChart": "Pastel", + "doughnutChart": "Dona", + "polarAreaChart": "Área polar" + }, + "aggregationGroupByForm": { + "groupByFieldLabel": "Agrupar por", + "groupByNone": "Ninguno", + "groupByRowId": "Id de fila" + }, + "aggregationSortByForm": { + "none": "Ninguno", + "sortByFieldLabel": "Ordenar por", + "ascending": "Ascendente", + "descending": "Descendente" + }, + "periodicDataSyncDeactivatedNotification": { + "failure": "{name} sincronización periódica de datos ha sido desactivada porque falló demasiadas veces consecutivas.", + "licenseUnavailable": "{name} la sincronización periódica de datos ha sido deshabilitada porque el espacio de trabajo ya no tiene una licencia válida. Por favor, actualiza tu licencia para restaurar la sincronización automática." + }, + "twoWaySyncUpdateFailed": { + "title": "{name} actualización de sincronización bidireccional falló: {error}" + }, + "twoWaySyncDeactivated": { + "title": "{name} sincronización bidireccional desactivada porque una actualización falló demasiadas veces consecutivas. Por favor, sincroniza manualmente y reactiva cuando el problema se haya resuelto." + }, + "webhook": { + "rowsEnterVieweventType": "Filas que se muestran en la vista" + }, + "webhookForm": { + "triggerWhenRowsEnterView": "Se activa cuando las filas que se muestran en la vista.", + "helpTriggerWhenRowsEnterView": "Solo se activa cuando se selecciona «Filas que se muestran en la vista» y las filas que ahora cumplen los filtros que se muestran en la vista." + }, + "fileInputElementForm": { + "defaultNameTitle": "Nombre de archivo inicial|Nombres de archivo iniciales", + "defaultNamePlaceholder": "Introduce un nombre de archivo...|Introduce los nombres de archivo...", + "defaultNameHelp": "El número de nombres debe coincidir con el número de URLs.", + "defaultUrlTitle": "URL de archivo inicial|URLs de archivos iniciales", + "defaultUrlPlaceholder": "Introduce una URL predeterminada...|Introduce URLs predeterminadas...", + "helpTextTitle": "Texto de ayuda", + "helpTextPlaceholder": "Dejar vacío para usar el valor predeterminado…", + "multiple": "¿Múltiples archivos?", + "required": "Obligatorio", + "fileTypes": "Tipos de archivo", + "preview": "¿Previsualizar imágenes?", + "maxFileSize": "Tamaño máximo de archivo", + "maxFileSizePlaceholder": "Introduce un número…", + "addFileType": "Añadir tipo de archivo", + "fileTypesHelper": "Elige qué extensiones de archivo se permiten (una por línea) en la entrada de archivo (ej. jpg, png, svg, pdf). puedes especificar «image/*», «video/*» o «audio/*» para permitir todos los archivos de estos tipos. Déjalo vacío para permitir todos los tipos de archivo." + }, + "fileInputElement": { + "defaultHelpText": "Arrastrar y soltar archivos aquí o hacer clic para seleccionar", + "fileSizeExceeded": "Archivo demasiado grande. Máximo {max}MB." + }, + "fieldPermissionModal": { + "title": "Editar permisos de campo", + "description": "Elige quién puede editar valores en {fieldName}.", + "question": "¿Quién puede editar este campo?", + "editorTitle": "Editores y niveles superiores (predeterminado)", + "editorDescription": "Usuarios con roles de Editor, Creador y Administrador", + "builderTitle": "Creadores y niveles superiores", + "builderDescription": "Usuarios con roles Creador y Administrador", + "adminTitle": "Solo administradores", + "adminDescription": "Usuarios con roles Administrador", + "nobodyTitle": "Nadie", + "nobodyDescription": "Ningún usuario", + "allowInForms": "Permitir que este campo se establezca en filas creadas mediante formularios", + "linkRowWarning": "Este es un campo «Enlace a la tabla». Para asegurarte de que los valores no puedan cambiarse desde la tabla vinculada, por favor asegúrate de establecer también los permisos correctos en la tabla vinculada." + }, + "builderSettingTypes": { + "customCode": "CSS/JS personalizados" + }, + "customCodeSettingForm": { + "customCSS": "CSS personalizado", + "customJS": "JavaScript personalizado", + "customCSSPlaceholder": "Introduce algún código CSS personalizado…", + "customJSPlaceholder": "Introduce algún código JS personalizado…", + "externalScripts": "Scripts / hojas de estilo externos", + "customCodeTitle": "Código personalizado", + "noScript": "Mejora tu aplicación con scripts u hojas de estilo externas", + "customCodeHelp": "El código personalizado solo es visible en vistas previas o aplicaciones publicadas, los resultados no son visibles en el editor.", + "addExternalScript": "Agregar un script externo" + }, + "customCodeSettingScriptForm": { + "loadType": "Tipo de carga", + "type": "Tipo", + "url": "URL", + "urlPlaceholder": "Introduce la URL del script…", + "crossorigin": "Origen cruzado", + "includeCredentials": "Incluye credenciales", + "typeCSS": "CSS", + "typeJS": "Javascript", + "loadTypeNone": "Normal", + "loadTypeDefer": "Aplazar (Defer)", + "crossoriginTypeNone": "Normal", + "loadTypeAsync": "Asíncrono", + "crossoriginTypeAnonymous": "Anónimo", + "crossoriginTypeCredentials": "Usa credenciales" + }, + "elementType": { + "errorUserSourceHasNoLoginOption": "La fuente de usuario seleccionada no tiene opción de inicio de sesión", + "errorUserSourceMissing": "No se ha seleccionado ninguna fuente de usuario" + }, + "fieldPermissionsMenuItem": { + "label": "Editar permisos de campo" + }, + "dateDependencyModal": { + "errorTitle": "Dependencia de fecha", + "dependencyFieldTooltip": "Configura dependencias de fecha", + "dependencyFieldTooltipError": "Una regla de campo contiene un error", + "contextMenuItemLabel": "Configura las dependencias de fecha", + "title": "Dependencia de fecha para {tableName}", + "description": "Especifica qué filas dependen de otras. Cuando una fila se reprograma, sus filas dependientes se ajustan automáticamente.", + "enableDateDependency": "Habilita las dependencias de fecha para «Proyectos»", + "startDateFieldLabel": "Fecha de inicio", + "endDateFieldLabel": "Fecha de fin", + "durationFieldLabel": "Duración", + "durationFieldHint": "Este campo debe usar el formato «d h».", + "dependencyLinkrowFieldLabel": "Predecesores", + "dependencyLinkrowFieldHint": "Utiliza un campo «Enlace a la tabla» para conectar una fila con sus predecesores.", + "dependencyBufferTypeLabel": "Lógica de reprogramación", + "durationBufferLabel": "'Buffer' de tiempo", + "dependencyConnectionTypeLabel": "Tipo", + "advancedSettingsLabel": "Configuración avanzada", + "includeWeekendsLabel": "Incluye los fines de semana al calcular duraciones", + "dependencyFieldForReaderTooltip": "Este campo está incluido en la regla de campo de dependencia de fecha", + "fieldInvalidTitle": "Error de campo en la dependencia de fecha" + }, + "dateDependency": { + "invalidChildRow": "La fila sucesora es inválida", + "invalidParentRow": "La fila predecesora es inválida", + "invalidParentEndDateAfterChildStartDate": "La fecha de fin de la fila predecesora es posterior a la fecha de inicio de la fila sucesora", + "invalidStartDateEmpty": "La fecha de inicio está vacía", + "invalidEndDateEmpty": "La fecha de fin está vacía", + "invalidEndDateBeforeStartDate": "La fecha de fin es anterior a la fecha de inicio", + "invalidDurationValue": "El valor de duración no es válido", + "invalidDurationEmpty": "La duración está vacía", + "invalidDurationMismatch": "Desajuste de valor de duración" } } diff --git a/enterprise/web-frontend/modules/baserow_enterprise/locales/it.json b/enterprise/web-frontend/modules/baserow_enterprise/locales/it.json index 39d4a2d52a..b3c9e47112 100644 --- a/enterprise/web-frontend/modules/baserow_enterprise/locales/it.json +++ b/enterprise/web-frontend/modules/baserow_enterprise/locales/it.json @@ -348,5 +348,8 @@ "authorizing": "Stai abilitando il tuo account per prelevare i dati dalla tabella sorgente.", "workspace": "Workspace", "database": "Database" + }, + "assistantMessageSources": { + "sources": "{count} sorgente | {count} sorgenti" } } diff --git a/enterprise/web-frontend/modules/baserow_enterprise/locales/ko.json b/enterprise/web-frontend/modules/baserow_enterprise/locales/ko.json index 9585048e43..61a14b7519 100644 --- a/enterprise/web-frontend/modules/baserow_enterprise/locales/ko.json +++ b/enterprise/web-frontend/modules/baserow_enterprise/locales/ko.json @@ -711,5 +711,8 @@ "invalidDurationEmpty": "기간이 비어 있습니다", "invalidDurationValue": "기간 값이 유효하지 않습니다", "invalidDurationMismatch": "기간 값 불일치" + }, + "assistantMessageList": { + "disclaimer": "쿠마는 실수를 할 수 있으니 답변을 다시 한번 확인해 주세요" } } diff --git a/enterprise/web-frontend/modules/baserow_enterprise/locales/uk.json b/enterprise/web-frontend/modules/baserow_enterprise/locales/uk.json index 0967ef424b..579f1e1d0a 100644 --- a/enterprise/web-frontend/modules/baserow_enterprise/locales/uk.json +++ b/enterprise/web-frontend/modules/baserow_enterprise/locales/uk.json @@ -1 +1,698 @@ -{} +{ + "assistantMessageSources": { + "sources": "{count} джерело | {count} джерел" + }, + "clientHandler": { + "cannotDisableAllAuthProvidersTitle": "Останній увімкнений провайдер", + "cannotDisableAllAuthProvidersDescription": "Неможливо вимкнути або видалити останнього увімкненого провайдера." + }, + "advanced": { + "license": "Розширена" + }, + "enterprise": { + "license": "Enterprise", + "sidebarTooltip": "Ваш обліковий запис має глобальний доступ до функцій Enterprise", + "rbac": "RBAC", + "sso": "SSO", + "licenseDescription": "Роль глядача безкоштовна в Baserow Enterprise. Якщо користувач має будь-яку іншу роль у будь-якому робочому просторі, він автоматично займе платне місце.", + "overflowWarning": "У вас занадто багато користувачів, які не є глядачами, і ви використали всі платні місця. Змініть користувачів на глядачів на сторінці учасників кожного робочого простору.", + "deactivated": "Доступно у версії Advanced/Enterprise" + }, + "trashType": { + "team": "команда" + }, + "createTeamModal": { + "title": "Створити команду", + "invalidNameTitle": "Будь ласка, використайте іншу назву", + "invalidNameMessage": "Ця назва команди вже використовується у вказаному робочому просторі." + }, + "updateTeamModal": { + "title": "Оновити {teamName}", + "invalidNameTitle": "Будь ласка, використайте іншу назву", + "invalidNameMessage": "Ця назва команди вже використовується у вказаному робочому просторі." + }, + "manageTeamModals": { + "subheading": "Команди дозволяють надавати або обмежувати дозволи для кількох людей одночасно." + }, + "manageTeamForm": { + "submit": "Зберегти", + "nameTitle": "Назва", + "roleTitle": "Роль за замовчуванням", + "inviteMembers": "Додати учасників", + "membersTitle": "Учасники", + "noSubjectsSelected": "Натисніть '{buttonLabel}', щоб додати користувачів до команди.", + "roleHelpText": "Індивідуальні ролі користувачів завжди переважають ролі команди." + }, + "editTeamContext": { + "edit": "Редагувати команду", + "remove": "Видалити команду" + }, + "teamsTable": { + "title": "{teamCount} команд у {workspaceName}", + "createNew": "Створити команду", + "nameColumn": "Назва", + "createdColumn": "Дата створення", + "subjectsColumn": "Учасники", + "roleColumn": "Роль за замовчуванням", + "roleHelpText": "Може бути перевизначено ролями на базах даних і таблицях." + }, + "subjectSampleField": { + "titleAttr": "{subjectCount} учасників у цій команді." + }, + "teamsSettings": { + "teamsTabTitle": "Команди" + }, + "adminType": { + "AuditLog": "Журнал аудиту", + "Authentication": "Автентифікація" + }, + "auditLog": { + "adminTitle": "Журнал аудиту", + "workspaceTitle": "Журнал аудиту - {workspaceName}", + "filterUserTitle": "Користувач", + "filterWorkspaceTitle": "Робочий простір", + "filterActionTypeTitle": "Тип події", + "filterFromTimestampTitle": "З дати", + "filterFromTimestamp": "З дати", + "filterToTimestampTitle": "До дати", + "filterToTimestamp": "До дати", + "user": "Користувач", + "workspace": "Робочий простір", + "actionType": "Тип події", + "description": "Опис", + "timestamp": "Мітка часу", + "ip_address": "IP-адреса", + "exportToCsv": "Експортувати в CSV", + "exportModalTitle": "Експортувати в CSV", + "clearFilters": "Очистити", + "allUsers": "Всі користувачі", + "allWorkspaces": "Всі робочі простори", + "allActionTypes": "Всі типи подій" + }, + "auditLogExportModal": { + "title": "Експортувати в CSV", + "exportFilename": "Експорт журналу аудиту адміністратора - {date}", + "exportWorkspaceFilename": " Експорт журналу аудиту робочого простору ({workspaceId}) - {date}", + "cancelledTitle": "Помилка експорту", + "cancelledDescription": "Виникла помилка під час експорту журналу аудиту. Будь ласка, спробуйте ще раз." + }, + "authProviders": { + "title": "Провайдери автентифікації", + "noProviders": "Провайдери автентифікації ще не налаштовані.", + "addProvider": "Додати провайдера" + }, + "authProviderTypes": { + "password": "Автентифікація за допомогою email та пароля", + "saml": "SSO SAML провайдер", + "ssoSamlProviderName": "SSO SAML: {domain}", + "ssoSamlProviderNameUnconfigured": "Неналаштований SSO SAML", + "ssoOIDCProviderNameUnconfigured": "Неналаштований OpenID Connect" + }, + "editAuthProviderMenuContext": { + "edit": "Редагувати", + "delete": "Видалити" + }, + "samlSettingsForm": { + "domain": "SAML домен", + "domainPlaceholder": "Введіть доменне ім'я компанії...", + "invalidDomain": "Недійсне доменне ім'я", + "domainAlreadyExists": "SAML провайдер для цього домену вже існує", + "metadata": "Метадані", + "metadataPlaceholder": "Вставте метадані провайдера ідентифікації...", + "invalidMetadata": "Недійсні XML метадані для провайдера ідентифікації", + "relayStateUrl": "URL Relay State за замовчуванням", + "acsUrl": "URL єдиного входу", + "providerIsVerified": "Провайдера перевірено", + "samlResponseSettings": "Атрибути відповіді SAML", + "defaultAttrs": "За замовчуванням", + "customAttrs": "Користувацькі", + "emailAttrKey": "Email", + "emailAttrKeyHelper": "Адреса електронної пошти, яка буде використовуватися як ім'я користувача.", + "firstNameAttrKey": "Ім'я", + "firstNameAttrKeyHelper": "Ім'я користувача або повне ім'я, якщо \"Прізвище\" не вказано.", + "lastNameAttrKey": "Прізвище", + "lastNameAttrKeyHelper": "Прізвище користувача (необов'язково). Очистіть це значення, щоб вказати повне ім'я через поле \"Ім'я\"." + }, + "createSettingsAuthProviderModal": { + "title": "Додати новий {type}" + }, + "updateSettingsAuthProviderModal": { + "title": "Редагувати {name}" + }, + "deleteAuthProviderModal": { + "title": "Видалити {name}", + "comment": "Ви дійсно хочете видалити цей {type}?" + }, + "loginWithSaml": { + "signInWithSaml": "Увійти через SAML SSO", + "redirecting": "Перенаправлення до провайдера ідентифікації...", + "continueWithSaml": "Продовжити з SAML SSO провайдером", + "requestError": "Цей домен не налаштований для SAML SSO", + "loginText": "Вже маєте пароль?" + }, + "loginError": { + "title": "Щось пішло не так:", + "loginText": "Вже маєте обліковий запис?", + "help": "Зверніться до адміністратора за допомогою.", + "defaultErrorMessage": "не вдалося завершити процес входу через SSO.", + "errorSsoFeatureNotActive": "Функція SSO неактивна. Зверніться до адміністратора.", + "errorInvalidSamlRequest": "SAML запит недійсний.", + "errorInvalidSamlResponse": "SAML відповідь недійсна.", + "errorUserDeactivated": "користувача деактивовано.", + "errorProviderDoesNotExist": "цей провайдер автентифікації не існує або недоступний.", + "errorAuthFlowError": "виникла помилка під час автентифікації з обраним провайдером.", + "errorDifferentProvider": "будь ласка, використовуйте провайдера, з яким ви спочатку зареєструвалися.", + "errorWorkspaceInvitationEmailMismatch": "ваша адреса електронної пошти не відповідає запрошенню.", + "errorSignupDisabled": "реєстрацію вимкнено адміністратором." + }, + "roles": { + "admin": { + "name": "Адміністратор", + "description": "Може повністю налаштовувати та редагувати робочі простори та застосунки." + }, + "builder": { + "name": "Розробник", + "description": "Може повністю налаштовувати та редагувати застосунки." + }, + "editor": { + "name": "Редактор", + "description": "Може повністю редагувати дані, але не може налаштовувати застосунки або робочі простори." + }, + "commenter": { + "name": "Коментатор", + "description": "Може лише читати та коментувати дані." + }, + "viewer": { + "name": "Глядач", + "description": "Може лише читати дані." + }, + "noAccess": { + "name": "Без доступу", + "description": "Не має доступу ні до чого." + }, + "noRoleLowPriority": { + "name": "Без ролі", + "description": "Отримує роль робочого простору за замовчуванням від своїх команд." + } + }, + "memberRolesModal": { + "memberRolesDatabaseTabTitle": "База даних", + "memberRolesTableTabTitle": "Поточна таблиця", + "error": { + "title": "Не вдалося отримати дані", + "description": "Виникла помилка під час отримання даних учасників." + } + }, + "memberRolesTab": { + "database": { + "title": "База даних {name}", + "selectMembers": "Вибрати учасників", + "everyoneHasAccess": "Усі учасники робочого простору {name} мають доступ до цієї бази даних.", + "onlyYouHaveAccess": "Лише ви маєте доступ до цієї бази даних.", + "warningTitle": "Інші користувачі можуть успадкувати доступ!", + "warningMessage": "Інші користувачі можуть успадкувати доступ через свої ролі в батьківському робочому просторі.", + "headerTooltip": "Ролі бази даних перевизначають ролі робочого простору." + }, + "table": { + "title": "Таблиця {name}", + "selectMembers": "Вибрати учасників", + "everyoneHasAccess": "Усі учасники робочого простору {name} мають доступ до цієї таблиці.", + "onlyYouHaveAccess": "Лише ви маєте доступ до цієї таблиці.", + "warningTitle": "Інші користувачі можуть успадкувати доступ!", + "warningMessage": "Інші користувачі можуть успадкувати доступ через свої ролі в батьківській базі даних або робочому просторі.", + "headerTooltip": "Ролі таблиці перевизначають ролі робочого простору та бази даних." + } + }, + "memberRolesShareToggle": { + "label": "Поділитися з усіма в {name}", + "subLabel": "{totalUserAmount} учасників робочого простору" + }, + "memberRolesDatabaseContexItem": { + "label": "Керувати учасниками", + "additionalRoles": "Додаткові ролі" + }, + "memberRolesTableContexItem": { + "label": "Керувати учасниками", + "additionalRoles": "Додаткові ролі" + }, + "memberRolesMembersList": { + "remove": "Видалити", + "teamMembersCount": "{count} учасників команди", + "adminHelpText": "Адміністратори можуть обмежувати ролі інших адміністраторів.", + "noMembers": "Учасників не вибрано. Використовуйте кнопку вибору, щоб додати." + }, + "roleAssignmentModal": { + "membersTab": "Учасники", + "teamsTab": "Команди", + "subjectTypeNameMembers": "учасників", + "subjectTypeNameTeams": "команд" + }, + "selectMembersList": { + "searchPlaceholder": "Знайти учасників...", + "selectedAmountLabel": "{count} учасників вибрано" + }, + "selectTeamsList": { + "searchPlaceholder": "Знайти команди...", + "selectedAmountLabel": "{count} команд вибрано" + }, + "selectSubjectsListFooter": { + "invite": "Запросити {count} {type}", + "types": { + "members": "учасників", + "teams": "команд" + }, + "helpTooltip": "Призначення ролей учасників перевизначають призначення ролей команд." + }, + "membersRoleField": { + "noAccessHelpText": "Цьому користувачу потрібен явний доступ до ресурсів.", + "adminHelpText": "Адміністратори можуть обмежувати ролі інших адміністраторів." + }, + "membersPagePlugin": { + "roleHelpText": "Може бути перевизначено ролями на базах даних і таблицях." + }, + "oauthSettingsForm": { + "providerName": "Назва", + "providerNamePlaceholder": "Назва користувацького провайдера", + "clientId": "Client ID", + "clientIdPlaceholder": "Client ID провайдера", + "secret": "Секрет", + "secretPlaceholder": "Секрет провайдера", + "baseUrl": "URL", + "baseUrlPlaceholder": "Базовий URL провайдера", + "duplicateBaseUrl": "Введений URL вже існує в іншого провайдера", + "invalidBaseUrl": "Введений URL не є дійсним URL провайдера", + "useIdToken": "Використовувати id token для отримання інформації про користувача", + "responseSettings": "Атрибути відповіді OIDC", + "defaultAttrs": "За замовчуванням", + "customAttrs": "Користувацькі", + "emailAttrKey": "Email", + "emailAttrKeyHelper": "Адреса електронної пошти, яка буде використовуватися як ім'я користувача. ", + "firstNameAttrKey": "Ім'я", + "lastNameAttrKey": "Прізвище", + "firstNameAttrKeyHelper": "Ім'я користувача або повне ім'я, якщо \"Прізвище\" не вказано.", + "lastNameAttrKeyHelper": "Прізвище користувача (необов'язково). Очистіть це значення, щоб вказати повне ім'я через поле \"Ім'я\".", + "callbackUrl": "URL зворотного виклику" + }, + "loginButton": { + "continueWith": "Продовжити з" + }, + "enterpriseFeatures": { + "sso": "Єдиний вхід (SSO)", + "ssoContent": "Увімкніть безпечний та безперебійний вхід через SAML, Google, Facebook, GitHub, GitLab або OpenID Connect. Підтримує кілька провайдерів одночасно. Зверніть увагу, що як Baserow як інструмент, так і система автентифікації конструктора застосунків підтримують SSO.", + "rbac": "Контроль доступу на основі ролей", + "rbacContent": "Керуйте дозволами з точністю. Призначайте ролі, такі як адміністратор, розробник, редактор, коментатор або глядач на рівні робочого простору, бази даних або таблиці. Ви також можете керувати доступом за командами.", + "auditLogs": "Журнали аудиту", + "auditLogsContent": "Відстежуйте все, що відбувається. Переглядайте повну історію дій у вашому екземплярі або робочому просторі з можливістю фільтрації за користувачем, дією тощо.", + "dataSync": "Синхронізація даних", + "dataSyncContent": "Автоматично підтримуйте таблиці в актуальному стані, синхронізуючи з іншими таблицями Baserow або зовнішніми джерелами, такими як Jira, GitHub, GitLab або HubSpot. Також дозволяє періодичну синхронізацію та двосторонню синхронізацію даних для підтримуваних типів.", + "coBranding": "Заміна логотипу для кобрендингу", + "coBrandingContent": "Налаштуйте інтерфейс Baserow за допомогою власного логотипу. Зверніть увагу, що додається напис \"powered by Baserow\".", + "support": "Пряма підтримка", + "supportContent": "Отримуйте допомогу, коли вона вам потрібна. Зв'яжіться з командою Baserow безпосередньо з платформи.", + "advancedWebhooks": "Розширені вебхуки", + "advancedWebhooksContent": "Запускайте вебхуки, коли рядок потрапляє до певного представлення — чудово підходить для автоматизації робочих процесів на основі умов фільтрації.", + "fieldLevelPermissions": "Дозволи на рівні полів", + "fieldLevelPermissionsContent": "Контролюйте, хто може редагувати певні поля в таблиці. Встановлюйте дозволи для редакторів, розробників, адміністраторів або повністю вимикайте можливість зміни значень полів.", + "builderBranding": "Брендування застосунку", + "builderBrandingContent": "Створіть застосунок під власним брендом, видаливши напис \"Made with Baserow\" у нижньому колонтитулі вашого застосунку.", + "builderFileInputElement": "Елемент введення файлу", + "builderFileInputElementContent": "Елемент введення файлу дозволяє додати поле на сторінки вашого застосунку для завантаження файлів. Надайте користувачам можливість зберігати важливі документи або зображення.", + "builderCustomCode": "Користувацький код для застосунків", + "builderCustomCodeContent": "Ви можете додати користувацький CSS/JavaScript код для подальшого налаштування вигляду та поведінки вашого застосунку. Наприклад, ви можете інтегрувати зовнішні сервіси, такі як аналітика або соціальні мережі.", + "dateDependency": "Залежність дат", + "dateDependencyContent": "Ви можете визначити залежність між двома датами та тривалістю як дата початку/закінчення та тривалість. При залежності дат, якщо одне значення змінюється, інші значення будуть відповідно скориговані." + }, + "assistantSidebarItem": { + "title": "Kuma AI" + }, + "assistantPanel": { + "title": "AI-асистент", + "close": "Закрити AI-асистента", + "history": "Історія чату", + "back": "Назад" + }, + "assistantWelcomeMessage": { + "greet": "Привіт, {name}", + "question": "мене звати Kuma!", + "promptCreateDatabaseTitle": "Створити базу даних", + "promptCreateDatabasePrompt": "Створити базу даних для управління проєктами.", + "promptCreateAutomationTitle": "Створити автоматизацію", + "promptCreateAutomationPrompt": "Створити автоматизацію, яка кожного вівторка вранці запитує в Slack-каналі розробників, чи є що продемонструвати.", + "promptInviteUsersTitle": "Запросити користувачів", + "promptInviteUsersPrompt": "Як запросити користувачів до мого робочого простору?", + "promptCreateTableTitle": "Створити таблицю", + "promptCreateTablePrompt": "Створити нову таблицю з назвою \"завдання\".", + "promptWhichTablesTitle": "Які таблиці", + "promptWhichTablesPrompt": "Які таблиці є в цій базі даних?", + "promptCreateFormTitle": "Створити форму", + "promptCreateFormPrompt": "Створити форму для цієї таблиці.", + "promptCreateFilterTitle": "Створити фільтр", + "promptCreateFilterPrompt": "Показати лише рядки, де основне поле порожнє.", + "subtitle": "Я допоможу вам нести навантаження, щоб воно ніколи не здавалося важким. Оберіть з підказок нижче або просто скажіть, що вам потрібно!", + "subtitleWithoutSuggestions": "Я допоможу вам нести навантаження, щоб воно ніколи не здавалося важким. Просто скажіть, що вам потрібно!" + }, + "assistantInputMessage": { + "statusWaiting": "Асистент готовий допомогти", + "statusRunning": "Виконується...", + "placeholder": "Запитайте мене про що завгодно...", + "send": "Надіслати повідомлення", + "stop": "Зупинити генерацію" + }, + "assistant": { + "statusThinking": "Думаю...", + "statusAnswering": "Відповідаю...", + "statusCancelling": "Скасовую...", + "messageCancelled": "Повідомлення скасовано" + }, + "assistantChatHistoryContext": { + "empty": "Історія чату недоступна", + "loading": "Завантаження історії чату..." + }, + "assistantMessageList": { + "disclaimer": "Kuma може помилятися, будь ласка, перевіряйте відповіді" + }, + "assistantMessageActions": { + "feedbackContextTitle": "Допоможіть нам покращитись", + "feedbackContextPlaceholder": "Що ми могли б покращити? (необов'язково)", + "copiedToClipboard": "Скопійовано до буфера обміну", + "copiedContentToast": "Відповідь асистента скопійовано до буфера обміну", + "copyFailed": "Не вдалося скопіювати до буфера обміну" + }, + "chatwootSupportSidebarWorkspace": { + "directSupport": "Пряма підтримка" + }, + "userTeamsField": { + "no_records": "Немає команд" + }, + "snapshotModalWarning": { + "message": "Зверніть увагу, що знімок включатиме всі дозволи, встановлені для застосунку та його таблиць." + }, + "exportWorkspaceModalWarning": { + "message": "Зверніть увагу, що експорт не включатиме дозволи, встановлені для застосунку та його таблиць." + }, + "auditLogSidebarWorkspace": { + "title": "Журнал аудиту" + }, + "localBaserowUserSourceType": { + "notConfigured": "Не налаштовано" + }, + "localBaserowUserSourceForm": { + "description": "Кожен рядок у таблиці є обліковим записом користувача. Виберіть відповідні поля в таблиці. Поле email буде використовуватися для ідентифікації.", + "emailFieldLabel": "Виберіть поле email", + "emailFieldLabelPlaceholder": "Виберіть поле...", + "noFields": "Немає полів", + "nameFieldLabel": "Виберіть поле імені", + "nameFieldPlaceholder": "Виберіть поле...", + "roleFieldLabel": "Виберіть поле ролі", + "roleFieldPlaceholder": "Виберіть поле..." + }, + "appAuthProviderType": { + "localBaserowPassword": "Email/Пароль", + "commonSaml": "SAML SSO", + "openIdConnect": "OpenID Connect" + }, + "localBaserowPasswordAppAuthProviderForm": { + "passwordFieldLabel": "Виберіть поле пароля", + "noFields": "Немає сумісних полів" + }, + "commonSamlSettingForm": { + "relayStateTitle": "URL Relay State за замовчуванням (Натисніть, щоб скопіювати)", + "acsTitle": "URL єдиного входу (Натисніть, щоб скопіювати)", + "addDomainNotice": "Доступно після додавання одного або кількох доменів" + }, + "commonOidcSettingForm": { + "callbackTitle": "URL зворотних викликів (Натисніть, щоб скопіювати)", + "callbackHelperText": "Додайте ці URL до налаштувань URI перенаправлення вашого провайдера OpenID Connect.", + "preview": "Попередній перегляд" + }, + "enterpriseSettings": { + "branding": "Брендування", + "showBaserowHelpMessage": "Показувати повідомлення довідки", + "showBaserowHelpMessageDescription": "Вказує, чи потрібно показувати повідомлення запиту допомоги на панелі керування.", + "deactivated": "Доступно в Enterprise", + "coBrandingLogo": "Логотип", + "coBrandingLogoDescription": "Замінює логотип Baserow на користувацький кобрендовий альтернативний варіант (176x29). Якщо встановлено, також видаляє опис Baserow у нижньому колонтитулі всіх листів.", + "uploadFileButton": "Завантажити зображення" + }, + "authFormElementForm": { + "userSource": "Джерело користувачів", + "loginButtonLabel": "Текст кнопки входу", + "loginButtonLabelPlaceholder": "Введіть текст..." + }, + "authFormElement": { + "email": "Email", + "password": "Пароль", + "emailPlaceholder": "Введіть ваш email...", + "passwordPlaceholder": "Введіть ваш пароль...", + "selectOrConfigureUserSourceFirst": "Виберіть джерело користувачів, щоб почати використовувати цей елемент входу." + }, + "enterpriseDataSyncType": { + "localBaserowTable": "Синхронізувати таблицю Baserow", + "jiraIssues": "Синхронізувати задачі Jira", + "githubIssues": "Синхронізувати задачі GitHub", + "gitlabIssues": "Синхронізувати задачі GitLab", + "hubspotContacts": "Синхронізувати контакти HubSpot" + }, + "localBaserowTableDataSync": { + "name": "ID вихідної таблиці", + "authorizing": "Ви авторизуєте свій обліковий запис для вибору даних з вихідної таблиці.", + "workspace": "Робочий простір", + "database": "База даних", + "table": "Таблиця", + "view": "Представлення", + "viewHelper": "Синхронізуються лише видимі поля та рядки, що відповідають фільтрам." + }, + "jiraIssuesDataSync": { + "jiraUrl": "URL екземпляра Jira", + "urlHelper": "Базовий URL вашого екземпляра Jira (напр., https://your-domain.atlassian.net).", + "authenticationLabel": "Автентифікація", + "authenticationHelper": "Виберіть спосіб автентифікації з Jira.", + "projectKey": "Ключ проєкту Jira (необов'язково)", + "projectKeyHelper": "Ключ проєкту Jira (напр., PROJ). Можна знайти, натиснувши `Налаштування проєкту` в Jira. Якщо не вказано, буде повернуто всі задачі.", + "jiraUsername": "Ім'я користувача Jira", + "usernameHelper": "Ім'я користувача облікового запису Jira для автентифікації. Це email, який ви використовуєте для входу.", + "apiToken": "API токен Jira", + "apiTokenHelper": "API токен облікового запису Jira для автентифікації. Можна створити за адресою https://id.atlassian.com/manage-profile/security/api-tokens.", + "personalAccessToken": "Персональний токен доступу Jira", + "personalAccessTokenHelper": "API токен облікового запису Jira для автентифікації. Можна створити за адресою https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html." + }, + "githubIssuesDataSync": { + "owner": "Власник", + "ownerHelper": "Ім'я користувача або власник репозиторію. Зазвичай у верхньому лівому куті `власник / репо`", + "repo": "Репозиторій", + "repoHelper": "Назва репозиторію. Зазвичай у верхньому лівому куті `власник / репо`", + "apiToken": "API токен", + "apiTokenHelper": "Можна згенерувати тут https://github.com/settings/tokens, натиснувши `Generate new token`, виберіть `All repositories`, потім у `Repository permissions` встановіть `Issues` на `read-only`." + }, + "gitlabIssuesDataSync": { + "url": "Базовий URL", + "urlHelper": "Базовий URL вашого екземпляра GitLab. (напр. https://gitlab.com)", + "projectId": "ID проєкту", + "projectIdHelper": "ID проєкту, з якого потрібно синхронізувати задачі. Можна знайти, перейшовши на сторінку проєкту (напр. https://gitlab.com/baserow/baserow), натиснувши на три крапки у верхньому правому куті, а потім на \"Copy project ID: 12345678\".", + "accessToken": "Токен доступу", + "accessTokenHelper": "Можна згенерувати тут https://gitlab.com/-/user_settings/personal_access_tokens, натиснувши `Add new token`, виберіть `read_api`." + }, + "hubspotContactsDataSync": { + "accessToken": "Токен доступу приватного застосунку", + "accessTokenHelper": "Щоб згенерувати токен доступу приватного застосунку в HubSpot, натисніть Налаштування у верхній панелі, перейдіть до Інтеграції > Приватні застосунки та створіть новий приватний застосунок. Призначте наступні області: crm.objects.contacts.read, crm.schemas.contacts.read та crm.objects.custom.read. Нарешті, натисніть Створити застосунок, щоб згенерувати токен." + }, + "samlAuthLink": { + "placeholderWithSaml": "{login} через SAML", + "provideEmail": "Вкажіть email вашого облікового запису SAML", + "emailPlaceholder": "Введіть ваш email..." + }, + "configureDataSyncModal": { + "periodicInterval": "Налаштування періодичності" + }, + "configureDataSyncPeriodicInterval": { + "title": "Налаштування періодичності", + "saved": "Збережено", + "deactivatedTitle": "Періодичну синхронізацію даних деактивовано", + "deactivatedText": "Періодичну синхронізацію даних було деактивовано через занадто багато послідовних помилок. Спробуйте синхронізувати вручну, і якщо все працює як очікувалося, натисніть кнопку активації.", + "activate": "Активувати періодичну синхронізацію", + "enterprise": "Періодична синхронізація даних є функцією Advanced/Enterprise.", + "more": "Більше інформації" + }, + "dataSyncPeriodicIntervalForm": { + "intervalLabel": "Інтервал", + "intervalHelper": "Як часто синхронізація даних повинна виконуватися автоматично.", + "manual": "Вручну", + "daily": "Щоденно", + "hourly": "Щогодини", + "whenHelper": "Вкажіть точну годину, хвилину та секунду, коли має виконуватися синхронізація даних.", + "whenHourlyHelper": "Вкажіть точну хвилину та секунду, коли має виконуватися синхронізація даних.", + "hour": "Година", + "minute": "Хвилина", + "second": "Секунда" + }, + "oidcAuthLink": { + "placeholderWithOIDC": "{login} через {provider}" + }, + "chartWidget": { + "name": "Діаграма", + "bar": "Стовпчикова діаграма", + "line": "Лінійна діаграма" + }, + "pieChartWidget": { + "name": "Кругова діаграма", + "pie": "Кругова діаграма", + "doughnut": "Кільцева діаграма", + "polarArea": "Полярна діаграма" + }, + "groupedAggregateRowsDataSourceForm": { + "series": "Серія", + "addSeries": "Додати серію", + "data": "Дані", + "sourceFieldLabel": "Джерело", + "viewFieldLabel": "Представлення", + "notSelected": "Не вибрано" + }, + "aggregationSeriesForm": { + "aggregationFieldLabel": "Поле", + "aggregationTypeLabel": "Підсумок", + "deleteSeries": "Видалити серію", + "chartType": "Тип діаграми", + "barChart": "Стовпчики", + "lineChart": "Лінія", + "pieChart": "Кругова", + "doughnutChart": "Кільцева", + "polarAreaChart": "Полярна" + }, + "aggregationGroupByForm": { + "groupByFieldLabel": "Групувати за", + "groupByNone": "Без групування", + "groupByRowId": "ID рядка" + }, + "aggregationSortByForm": { + "sortByFieldLabel": "Сортувати за", + "none": "Без сортування", + "ascending": "За зростанням", + "descending": "За спаданням" + }, + "periodicDataSyncDeactivatedNotification": { + "failure": "Періодичну синхронізацію даних {name} деактивовано через занадто багато послідовних помилок.", + "licenseUnavailable": "Періодичну синхронізацію даних {name} вимкнено, оскільки робочий простір більше не має дійсної ліцензії. Оновіть ліцензію для відновлення автоматичної синхронізації." + }, + "twoWaySyncUpdateFailed": { + "title": "Помилка оновлення двосторонньої синхронізації {name}: {error}" + }, + "twoWaySyncDeactivated": { + "title": "Двосторонню синхронізацію {name} деактивовано через занадто багато послідовних помилок оновлення. Синхронізуйте вручну та повторно активуйте після вирішення проблеми." + }, + "webhook": { + "rowsEnterVieweventType": "Рядки потрапляють до представлення" + }, + "webhookForm": { + "triggerWhenRowsEnterView": "Запускається, коли рядки потрапляють до представлення.", + "helpTriggerWhenRowsEnterView": "Запускається лише коли вибрано `Рядки потрапляють до представлення` та рядки, що тепер відповідають фільтрам, потрапляють до представлення." + }, + "fileInputElementForm": { + "defaultNameTitle": "Початкова назва файлу|Початкові назви файлів", + "defaultNamePlaceholder": "Введіть назву файлу...|Введіть назви файлів...", + "defaultNameHelp": "Кількість назв повинна відповідати кількості URL.", + "defaultUrlTitle": "Початковий URL файлу|Початкові URL файлів", + "defaultUrlPlaceholder": "Введіть URL за замовчуванням...|Введіть URL за замовчуванням...", + "helpTextTitle": "Текст довідки", + "helpTextPlaceholder": "Залиште порожнім для значення за замовчуванням...", + "multiple": "Кілька файлів?", + "required": "Обов'язкове", + "fileTypes": "Типи файлів", + "fileTypesHelper": "Виберіть дозволені розширення файлів (по одному на рядок) для поля введення файлу (напр. jpg, png, svg, pdf). Можна вказати image/*, video/* або audio/*, щоб дозволити всі файли цих типів. Залиште порожнім, щоб дозволити всі типи файлів.", + "preview": "Попередній перегляд зображень?", + "maxFileSize": "Максимальний розмір файлу", + "maxFileSizePlaceholder": "Введіть число...", + "addFileType": "Додати тип файлу" + }, + "fileInputElement": { + "defaultHelpText": "Перетягніть файли сюди або натисніть, щоб вибрати", + "fileSizeExceeded": "Файл занадто великий. Максимум {max}МБ." + }, + "fieldPermissionModal": { + "title": "Редагувати дозволи поля", + "description": "Виберіть, хто може редагувати значення в {fieldName}.", + "question": "Хто може редагувати це поле?", + "editorTitle": "Редактори та вище (за замовчуванням)", + "editorDescription": "Користувачі з ролями Редактор, Розробник та Адміністратор", + "builderTitle": "Розробники та вище", + "builderDescription": "Користувачі з ролями Розробник та Адміністратор", + "adminTitle": "Лише адміністратори", + "adminDescription": "Користувачі з роллю Адміністратор", + "nobodyTitle": "Ніхто", + "nobodyDescription": "Жодних користувачів", + "allowInForms": "Дозволити встановлювати це поле в рядках, створених через форми", + "linkRowWarning": "Це поле \"Посилання на таблицю\". Щоб переконатися, що значення не можуть бути змінені з пов'язаної таблиці, встановіть відповідні дозволи також на пов'язаній таблиці." + }, + "builderSettingTypes": { + "customCode": "Користувацький CSS/JS" + }, + "customCodeSettingForm": { + "customCSS": "Користувацький CSS", + "customJS": "Користувацький JavaScript", + "customCSSPlaceholder": "Введіть користувацький CSS код...", + "customJSPlaceholder": "Введіть користувацький JS код...", + "externalScripts": "Зовнішні скрипти / стилі", + "noScript": "Покращуйте свій застосунок за допомогою зовнішніх скриптів або стилів", + "customCodeTitle": "Користувацький код", + "customCodeHelp": "Користувацький код видимий лише в попередньому перегляді або опублікованих застосунках. Результати не відображаються в редакторі.", + "addExternalScript": "Додати зовнішній скрипт" + }, + "customCodeSettingScriptForm": { + "type": "Тип", + "loadType": "Тип завантаження", + "url": "URL", + "urlPlaceholder": "Введіть URL скрипта...", + "crossorigin": "Cross origin", + "includeCredentials": "Включити облікові дані", + "typeCSS": "CSS", + "typeJS": "Javascript", + "loadTypeNone": "Звичайний", + "loadTypeDefer": "Відкладений", + "loadTypeAsync": "Асинхронний", + "crossoriginTypeNone": "Звичайний", + "crossoriginTypeAnonymous": "Анонімний", + "crossoriginTypeCredentials": "Використовувати облікові дані" + }, + "elementType": { + "errorUserSourceHasNoLoginOption": "Вибране джерело користувачів не має опції входу", + "errorUserSourceMissing": "Джерело користувачів не вибрано" + }, + "fieldPermissionsMenuItem": { + "label": "Редагувати дозволи поля" + }, + "enterpriseTwoWaySyncStrategyType": { + "realtimePushDescription": "Дозволяє редагувати значення комірок безпосередньо в Baserow та передавати їх у реальному часі до джерела синхронізації даних. Зверніть увагу, що зміни не витягуються в реальному часі, оскільки вони залежать від завершення (періодичної) дії синхронізації. Настійно рекомендується створювати резервні копії бази даних PostgreSQL, щоб уникнути випадкових змін." + }, + "dateDependencyModal": { + "errorTitle": "Залежність дат", + "dependencyFieldTooltip": "Налаштувати залежності дат", + "dependencyFieldTooltipError": "Правило поля містить помилку", + "contextMenuItemLabel": "Налаштувати залежності дат", + "title": "Залежність дат для {tableName}", + "description": "Вкажіть, які рядки залежать від інших. Коли рядок переплановано, залежні рядки автоматично коригуються.", + "enableDateDependency": "Увімкнути залежності дат для проєктів", + "startDateFieldLabel": "Дата початку", + "endDateFieldLabel": "Дата завершення", + "durationFieldLabel": "Тривалість", + "dependencyLinkrowFieldLabel": "Попередники", + "dependencyLinkrowFieldHint": "Використовуйте поле \"Посилання на таблицю\", щоб з'єднати рядок з його попередниками.", + "dependencyBufferTypeLabel": "Логіка перепланування", + "durationBufferLabel": "Часовий буфер", + "dependencyConnectionTypeLabel": "Тип", + "advancedSettingsLabel": "Розширені налаштування", + "includeWeekendsLabel": "Включати вихідні при обчисленні тривалості", + "dependencyFieldForReaderTooltip": "Це поле включено до правила залежності дат", + "fieldInvalidTitle": "Помилка поля залежності дат", + "durationFieldHint": "Це поле повинно використовувати формат \"д г\"." + }, + "dateDependency": { + "invalidChildRow": "Рядок-наступник недійсний", + "invalidParentRow": "Рядок-попередник недійсний", + "invalidParentEndDateAfterChildStartDate": "Дата завершення рядка-попередника пізніше дати початку наступника", + "invalidStartDateEmpty": "Дата початку порожня", + "invalidEndDateEmpty": "Дата завершення порожня", + "invalidEndDateBeforeStartDate": "Дата завершення раніше дати початку", + "invalidDurationEmpty": "Тривалість порожня", + "invalidDurationValue": "Значення тривалості недійсне", + "invalidDurationMismatch": "Невідповідність значення тривалості" + } +} diff --git a/premium/backend/src/baserow_premium/locale/uk/LC_MESSAGES/django.po b/premium/backend/src/baserow_premium/locale/uk/LC_MESSAGES/django.po index 8564f4a69a..d49d8f459c 100644 --- a/premium/backend/src/baserow_premium/locale/uk/LC_MESSAGES/django.po +++ b/premium/backend/src/baserow_premium/locale/uk/LC_MESSAGES/django.po @@ -8,21 +8,23 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-31 17:07+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2026-01-29 07:03+0000\n" +"Last-Translator: Marat Dospolov \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.16-dev\n" #: baserow_premium/row_comments/actions.py:20 msgid "Create row comment" -msgstr "" +msgstr "Створити коментар до рядка" #: baserow_premium/row_comments/actions.py:21 #, python-format msgid "Comment (%(comment_id)s) has been added to row (%(row_id)s)" -msgstr "" +msgstr "Коментар (%(comment_id)s) додано до рядка (%(row_id)s)" diff --git a/premium/web-frontend/modules/baserow_premium/locales/es.json b/premium/web-frontend/modules/baserow_premium/locales/es.json index b2c3e996f3..b1ae006002 100644 --- a/premium/web-frontend/modules/baserow_premium/locales/es.json +++ b/premium/web-frontend/modules/baserow_premium/locales/es.json @@ -11,7 +11,8 @@ "exporterType": { "json": "Exportar a JSON", "xml": "Exportar a XML", - "excel": "Exportar a Excel" + "excel": "Exportar a Excel", + "file": "Exportar archivos" }, "deactivated": "Disponible en el plan Premium" }, @@ -110,7 +111,8 @@ "expired": "Expirado", "validity": "Válido desde {start} hasta {end}", "seats": "asientos", - "premiumFeatures": "Características premium" + "premiumFeatures": "Características premium", + "applicationUsers": "Usuarios de la aplicación" }, "license": { "title": "{name} plan", @@ -144,7 +146,10 @@ "automaticSeatsProgressBarStatus": "{asientos_ocupados} / {asientos} asientos pagados y {recuento_de_usuarios_libres} asientos libres en uso", "premiumFeatureName": "De primera calidad", "enterpriseFeatureName": "Empresa", - "supportFeatureName": "Soporte" + "supportFeatureName": "Soporte", + "applicationUsers": "Usuarios de la aplicación", + "applicationUsersDescription": "El número total de usuarios de la aplicación en las fuentes de usuarios del constructor de aplicaciones publicadas.", + "advancedFeatureName": "Avanzado" }, "conditionalColorValueProviderForm": { "addCondition": "Añadir condición", @@ -190,15 +195,29 @@ "premiumFeatures": { "rowComments": "Comentarios de la fila", "kanbanView": "Vista de Kanban", - "exports": "Exportación JSON y XML", + "exports": "Exportación de tabla", "rowColoring": "Coloración de las filas", "admin": "Funciones de administración", "surveyForm": "Formulario de encuesta", "publicLogoRemoval": "Eliminación del logo público", "personalViews": "Vistas personales", "calendarView": "Vista del calendario", - "aiFeatures": "Campo de IA", - "timelineView": "Vista cronológica" + "aiFeatures": "Funciones de IA", + "timelineView": "Vista cronológica", + "rowCommentsContent": "Colabora directamente en tu tabla. Añade comentarios a filas individuales, menciona a los miembros del equipo y mantén la conversación en contexto.", + "kanbanViewContent": "Organiza tus datos visualmente en un tablero Kanban. Las tarjetas se agrupan en columnas según un campo de selección única, y puedes arrastrarlas y soltarlas fácilmente entre las columnas.", + "calendarViewContent": "Visualiza fácilmente tus filas en un calendario, usando el campo de fecha que prefieras. Es ideal para seguir plazos, eventos y horarios de un vistazo.", + "timelineViewContent": "Muestra las filas a lo largo de una línea de tiempo horizontal usando fechas de inicio y fin. Es ideal para la planificación de proyectos y hojas de ruta.", + "exportsContent": "Exporta tus datos fácilmente en formatos adicionales como Excel, JSON y XML, o descarga en bloque todos los archivos de una tabla, ideal para copias de seguridad, informes y compartir con otros.", + "rowColoringContent": "Resalta filas con colores según un campo de selección única o condiciones personalizadas. Así podrás identificar patrones y prioridades más fácilmente.", + "rowNotifications": "Notificaciones de fila", + "rowNotificationsContent": "Mantente al tanto con notificaciones personalizables de comentarios en filas. Elige entre recibir alertas de todos los comentarios o sólo cuando se te mencione.", + "aiFeaturesContent": "Utiliza IA para automatizar y mejorar tus flujos de trabajo. Con el tipo de campo de aviso de IA puedes generar texto, resúmenes o ideas directamente en las celdas a partir de avisos dinámicos que pueden hacer referencia a otros campos. Por separado, también puedes pedir a la IA que cree fórmulas para ti.", + "surveyFormContent": "Recopila respuestas pregunta por pregunta mediante el modo encuesta. Una versión simplificada de la vista de formulario, optimizada para la concentración y la facilidad de uso.", + "publicLogoRemovalContent": "Quita el logotipo de Baserow de las vistas públicas para que tu contenido compartido tenga un aspecto más limpio y con una imagen de marca más clara.", + "personalViewsContent": "Crea vistas que solo el autor pueda ver. Esto te da espacio para experimentar, filtrar y ordenar datos sin afectar el espacio de trabajo de los demás.", + "chartWidget": "Widget de gráfico", + "chartWidgetContent": "Visualiza tus datos con gráficos en paneles. Usa cualquier tabla como fuente de datos, añade varias series y agrupa o ordena por campos con opciones avanzadas de resumen." }, "formViewModeType": { "surveyDescription": "Un campo es visible al mismo tiempo.", @@ -214,7 +233,8 @@ "baserowLogo": { "label": "Esconder el logo de Baserow en la vista compartida", "premiumModalName": "eliminación del logo público" - } + }, + "allowPublicExportLabel": "Permitir exportación en vista compartida" }, "viewsContext": { "personal": "Personal" @@ -276,7 +296,10 @@ "promptPlaceholder": "¿Qué es Baserow?", "outputType": "Tipo de salida", "outputTypeTooltip": "Selecciona el formato de salida que desees para guiar al LLM en la generación de respuestas que se ajusten a tus opciones deseadas.", - "outputTypeChangedWarning": "Borra los valores de celda generados." + "outputTypeChangedWarning": "Borra los valores de celda generados.", + "autoUpdate": "Actualización automática", + "autoUpdateHelp": "Cuando esté habilitado, el valor del campo IA se regenerará automáticamente cuando cualquiera de los campos referenciados en el prompt se actualice.", + "autoUpdateDescription": "Regenerar cuando cambien los campos referenciados" }, "rowEditFieldAI": { "generate": "Generar", @@ -291,14 +314,14 @@ }, "aiFormulaModal": { "generate": "Generar", - "noModels": "Tu instancia de Baserow y tu espacio de trabajo no tienen ningún modelo AI configurado. Haz clic en los tres puntos junto a tu espacio de trabajo y luego en configuración para configurarlos.", + "noModels": "Tu instancia de Baserow y tu espacio de trabajo no tienen ningún modelo de IA configurado. Navega a la página de inicio, haz clic en el nombre de tu espacio de trabajo y, luego, en «Ajustes» para configurarlos.", "title": "Generar fórmulas con IA", "description": "Ten en cuenta que las fórmulas generadas pueden no funcionar siempre como se espera. Estamos construyendo un indicador para el modelo, y cargamos la salida en la entrada de la fórmula. Funciona mejor con un modelo de parámetros altos como gpt-4-turbo-preview.", "label": "Pregunta", "labelDescription": "Describe la fórmula que deseas generar" }, "formulaFieldAI": { - "generateWithAI": "Generar con IA", + "generateWithAI": "Generar usando IA", "featureName": "Generar fórmulas con IA" }, "calendarViewType": { @@ -339,7 +362,7 @@ "day": "Día", "week": "Semana", "month": "Mes", - "quarter": "Trimestral", + "quarter": "Trimestre", "year": "Año", "disabledTooltip": "Esta opción solo está disponible para campos de fecha con la opción `incluir hora` activada." }, @@ -351,5 +374,40 @@ }, "tableExcelExporter": { "includeHeader": "Incluir nombres de campos como encabezado" + }, + "paidFeaturesModal": { + "description": "Esta función está disponible con el plan {plan}. Para acceder a ella, por favor actualiza tu cuenta suscribiéndote. Haz clic en el botón de abajo para ver nuestras opciones de precios.", + "viewPricing": "Ver precios" + }, + "tableFileExporter": { + "organizeFiles": "Agrupa archivos por ID de fila" + }, + "kanbanView": { + "addStack": "Añadir una pila" + }, + "publicViewExport": { + "export": "Exportar" + }, + "chart": { + "true": "verdadero", + "false": "falso", + "other": "Otro" + }, + "generateAIValuesModal": { + "title": "Generar todos los valores de IA" + }, + "generateAIValuesForm": { + "scopeLabel": "Alcance", + "entireTable": "Tabla completa", + "skipPopulated": "Generar solo valores para celdas vacías", + "warningTitle": "Advertencia de uso de token", + "warningMessage": "Generar todos los valores de IA consumirá tokens de API y puede tomar un tiempo considerable dependiendo del número de filas." + }, + "generateAIValuesFormFooter": { + "generate": "Generar con IA", + "close": "Cerrar" + }, + "jobType": { + "generateAIValues": "Regenerar los valores del campo IA" } } diff --git a/premium/web-frontend/modules/baserow_premium/locales/uk.json b/premium/web-frontend/modules/baserow_premium/locales/uk.json index b0df8b9141..db2cd0ff49 100644 --- a/premium/web-frontend/modules/baserow_premium/locales/uk.json +++ b/premium/web-frontend/modules/baserow_premium/locales/uk.json @@ -10,16 +10,20 @@ "dashboard": "", "users": "", "workspaces": "", - "licenses": "" + "licenses": "Керувати ліцензіями" }, "viewType": { - "kanban": "" + "kanban": "Kanban", + "timeline": "Часова шкала", + "calendar": "Календар" }, "exporterType": { - "json": "", - "xml": "" + "json": "Експорт у JSON", + "xml": "Експорт у XML", + "excel": "Експорт у Excel", + "file": "Експорт файлів" }, - "deactivated": "" + "deactivated": "Доступно в преміум версії" }, "premiumModal": { "title": "", @@ -27,41 +31,51 @@ "viewPricing": "" }, "rowCommentSidebar": { - "onlyPremium": "", - "readOnlyNoComment": "", - "noComment": "", - "comment": "", - "more": "", - "name": "" + "onlyPremium": "Коментарі до рядків доступні в преміум версії.", + "readOnlyNoComment": "Немає коментарів для цього рядка.", + "noComment": "Ще немає коментарів для цього рядка. Використовуйте форму нижче, щоб додати коментар.", + "comment": "Коментар", + "more": "Більше інформації", + "name": "Коментарі" }, "rowComment": { - "you": "", - "anonymous": "" + "you": "Ви", + "anonymous": "Анонім", + "creating": "створення", + "updating": "оновлення", + "deleting": "видалення", + "created": "створено", + "edited": "відредаговано", + "commentTrashed": "Цей коментар було видалено.", + "errorUserNotCommentAuthorTitle": "Неможливо оновити або видалити.", + "errorUserNotCommentAuthor": "Лише автор коментаря може оновити або видалити його.", + "errorInvalidCommentMentionTitle": "Недійсне згадування", + "errorInvalidCommentMention": "Згаданий користувач не існує." }, "registerLicenseModal": { - "titleRegisterLicense": "", - "registerLicense": "", - "viewPricing": "", - "licenseDescription": "", + "titleRegisterLicense": "Зареєструвати ліцензію", + "registerLicense": "Зареєструвати ліцензію", + "viewPricing": "Переглянути тарифи", + "licenseDescription": "Ліцензію можна отримати лише на baserow.io. Якщо ви вже придбали ліцензію, її буде надіслано вам електронною поштою, і ви зможете отримати доступ до неї у вашому обліковому записі. Скопіюйте та вставте ключ ліцензії у поле нижче та натисніть кнопку, щоб зареєструвати ліцензійний ключ для цієї інстанції. Використовувати один і той же ключ на двох різних установках неможливо. {pricingLink} якщо у вас ще немає ключа.", "licenseError": { - "invalidTitle": "", - "invalid": "", - "unsupportedTitle": "", - "unsupported": "", - "expiredTitle": "", - "expired": "", - "duplicateTitle": "", - "duplicate": "", - "instanceMismatchTitle": "", - "instanceMismatch": "" + "invalidTitle": "Недійсна", + "invalid": "Надана ліцензія недійсна.", + "unsupportedTitle": "Не підтримується", + "unsupported": "Надана ліцензія несумісна з вашою версією Baserow. Оновіть до останньої версії та спробуйте знову.", + "expiredTitle": "Термін дії закінчився", + "expired": "Термін дії наданої ліцензії закінчився.", + "duplicateTitle": "Дублікат", + "duplicate": "Надана ліцензія вже зареєстрована для цього екземпляра.", + "instanceMismatchTitle": "Невідповідність екземпляра", + "instanceMismatch": "Надана ліцензія не належить цьому екземпляру." } }, "disconnectLicenseModal": { - "disconnectLicense": "", - "disconnectDescription": "" + "disconnectLicense": "Від'єднати ліцензію", + "disconnectDescription": "Ви впевнені, що хочете від’єднати цю ліцензію? Якщо ви від’єднаєте ліцензію, поки вона активна, пов’язані користувачі більше не матимуть доступу до плану. Це фактично видалить ліцензію. Будь ласка, зверніться до нашої служби підтримки за адресою {contact}, якщо ви хочете використовувати цю ліцензію на іншій самостійно розміщеній інстанції." }, "registerLicenseForm": { - "licenseKey": "" + "licenseKey": "Ключ ліцензії" }, "workspacesAdminTable": { "allWorkspaces": "", @@ -135,33 +149,33 @@ "edit": "" }, "tableJSONExporter": { - "encoding": "" + "encoding": "Кодування" }, "tableXMLExporter": { - "encoding": "" + "encoding": "Кодування" }, "kanbanViewStackContext": { - "createCard": "", - "editStack": "", - "deleteStack": "", - "delete": "", - "deleteDescription": "" + "createCard": "Створити картку", + "editStack": "Редагувати колонку", + "deleteStack": "Видалити колонку", + "delete": "Видалити {name}", + "deleteDescription": "Ви впевнені, що хочете видалити колонку {name}? Видалення колонки призводить до видалення опції вибору поля одиночного вибору, що може призвести до втрати даних, оскільки значення рядків будуть встановлені як порожні." }, "kanbanViewHeader": { - "stackBy": "", - "stackedBy": "", - "customizeCards": "" + "stackBy": "Групувати за", + "stackedBy": "Згруповано за {fieldName}", + "customizeCards": "Налаштувати картки" }, "kanbanViewOptionForm": { - "selectOption": "" + "selectOption": "Виберіть опцію" }, "kanbanViewStakedBy": { - "title": "", - "chooseField": "" + "title": "Поле групування", + "chooseField": "За яким полем одиночного вибору мають групуватися картки?" }, "kanbanViewStack": { - "uncategorized": "", - "tryAgain": "", + "uncategorized": "Без категорії", + "tryAgain": "Спробувати знову", "new": "" }, "dashboard": { @@ -181,110 +195,302 @@ "viewAll": "" }, "premiumFeatures": { - "rowComments": "", - "kanbanView": "", - "exports": "", + "rowComments": "Коментарі до рядків", + "kanbanView": "Представлення Kanban", + "exports": "Експорт таблиці", "admin": "", - "rowColoring": "", - "surveyForm": "", - "publicLogoRemoval": "", - "personalViews": "" + "rowColoring": "Забарвлення рядків", + "surveyForm": "Форма опитування", + "publicLogoRemoval": "Видалення публічного логотипу", + "personalViews": "Особисті представлення", + "rowCommentsContent": "Співпрацюйте безпосередньо у вашій таблиці. Додавайте коментарі до окремих рядків, згадуйте членів команди та підтримуйте контекст розмови.", + "kanbanViewContent": "Організовуйте свої дані візуально на дошці Kanban. Картки групуються в колонки на основі поля одиночного вибору, і ви можете легко перетягувати їх між колонками.", + "calendarView": "Представлення Календар", + "calendarViewContent": "Легко переглядайте свої рядки в календарі, використовуючи обране поле дати. Ідеально підходить для відстеження дедлайнів, подій та розкладів одним поглядом.", + "timelineView": "Представлення Часова шкала", + "timelineViewContent": "Відображайте рядки вздовж горизонтальної часової шкали, використовуючи дати початку та завершення. Ідеально підходить для планування проєктів та дорожніх карт.", + "exportsContent": "Легко експортуйте свої дані в додаткових форматах, таких як Excel, JSON та XML, або масово завантажуйте всі файли з таблиці - ідеально підходить для резервних копій, звітів та обміну з іншими.", + "rowColoringContent": "Виділяйте рядки кольорами на основі поля одиночного вибору або власних умов. Це полегшує виявлення закономірностей та пріоритетів.", + "rowNotifications": "Сповіщення про рядки", + "rowNotificationsContent": "Будьте в курсі завдяки налаштовуваним сповіщенням про коментарі до рядків. Виберіть отримання сповіщень про всі коментарі або лише коли вас згадують.", + "surveyFormContent": "Збирайте відповіді по одному питанню за раз у режимі опитування. Спрощена версія представлення форми, оптимізована для зосередженості та зручності використання.", + "publicLogoRemovalContent": "Видаліть логотип Baserow з публічних представлень, щоб надати вашому спільному контенту чистіший, більш брендований вигляд.", + "personalViewsContent": "Створюйте представлення, які бачить лише автор. Це дає вам простір для експериментів, фільтрації та сортування даних, не впливаючи на робочий простір інших.", + "aiFeatures": "Функції ШІ", + "aiFeaturesContent": "Використовуйте ШІ для автоматизації та покращення ваших робочих процесів. За допомогою типу поля ШІ-промпт ви можете генерувати текст, резюме або аналітику безпосередньо в комірках на основі динамічних промптів, які можуть посилатися на інші поля. Окремо ви також можете попросити ШІ створити для вас формули.", + "chartWidget": "Віджет діаграми", + "chartWidgetContent": "Візуалізуйте свої дані за допомогою діаграм на інформаційних панелях. Використовуйте будь-яку таблицю як джерело даних, додавайте кілька серій та групуйте або сортуйте за полями з багатими параметрами підсумків." }, "licenses": { - "titleNoLicenses": "", - "titleLicenses": "", - "noLicensesDescription": "", - "getLicense": "", - "baserowInstanceId": "", - "registerLicense": "", - "licenceId": "", - "premium": "", - "expired": "", - "validity": "", - "seats": "" + "titleNoLicenses": "Ліцензій не знайдено", + "titleLicenses": "Ліцензії", + "noLicensesDescription": "У вашій інстанції Baserow немає зареєстрованих ліцензій. Преміум-ліцензія надає миттєвий доступ до всіх додаткових функцій. Якщо у вас уже є ліцензія, ви можете зареєструвати її тут. Або ви можете отримати ліцензію, натиснувши кнопку нижче.", + "getLicense": "Отримати ліцензію", + "baserowInstanceId": "ID вашого екземпляра Baserow:", + "registerLicense": "Зареєструвати ліцензію", + "licenceId": "ID ліцензії", + "premium": "Преміум", + "expired": "Термін дії закінчився", + "validity": "Дійсна з {start} по {end}", + "seats": "місць", + "applicationUsers": "Користувачі застосунку" }, "license": { - "title": "", - "users": "", - "description": "", - "seatLeft": "", - "fillSeats": "", - "removeAll": "", - "licenseId": "", - "addUser": "", - "plan": "", - "premium": "", - "expired": "", - "validFrom": "", - "validThrough": "", - "validThroughDescription": "", - "lastCheck": "", - "lastCheckDescription": "", - "checkNow": "", - "seats": "", - "licensedTo": "", - "applications": "", - "unlimited": "", - "rowUsage": "", - "storeUsage": "", - "disconnectLicense": "", - "disconnectDescription": "", - "moreSeatsNeededTitle": "", - "contactSalesMoreSeats": "", - "automaticSeatsProgressBarStatus": "", - "premiumFeatureName": "", - "enterpriseFeatureName": "", - "supportFeatureName": "" + "title": "План {name}", + "users": "Користувачі", + "description": "Виберіть користувачів, які можуть використовувати план {product_code}. Ця ліцензія дозволяє надати {product_code} максимум {seats} користувачам.", + "seatLeft": "У вас не залишилося місць|У вас залишилося одне місце|У вас залишилося {count} місць", + "fillSeats": "Заповнити місця користувачами, які не мають плану", + "removeAll": "Видалити всіх користувачів", + "licenseId": "ID ліцензії", + "addUser": "Додати користувача", + "plan": "План", + "premium": "преміум", + "expired": "Термін дії закінчився", + "validFrom": "Дійсна з", + "validThrough": "Дійсна до", + "validThroughDescription": "Після закінчення терміну дії ліцензії ви та всі призначені користувачі більше не зможете використовувати додатковий функціонал, наданий ліцензією.", + "lastCheck": "Остання перевірка", + "lastCheckDescription": "Ліцензія періодично перевіряється на зміни. Якщо ви, наприклад, поновили або оновили ліцензію, зміни стануть активними після перевірки.", + "checkNow": "перевірити зараз", + "seats": "Місця (кількість користувачів)", + "licensedTo": "Ліцензовано для", + "applications": "Застосунки / бази даних", + "unlimited": "Необмежено", + "rowUsage": "Використання рядків", + "storeUsage": "Використання сховища", + "disconnectLicense": "Від'єднати ліцензію", + "disconnectDescription": "Якщо ви від’єднаєте цю ліцензію під час її активності, пов’язані користувачі більше не матимуть доступу до плану. Це фактично видалить ліцензію. Будь ласка, зверніться до нашої служби підтримки за адресою {contact}, якщо ви хочете використовувати цю ліцензію в іншій самостійно розміщеній інстанції.", + "moreSeatsNeededTitle": "Потрібно більше місць", + "contactSalesMoreSeats": "Зв'яжіться з відділом продажів для отримання більшої кількості місць", + "automaticSeatsProgressBarStatus": "{seats_taken} / {seats} платних місць та {free_users_count} безкоштовних місць використовується", + "premiumFeatureName": "Преміум", + "enterpriseFeatureName": "Enterprise", + "supportFeatureName": "Підтримка", + "applicationUsers": "Користувачі застосунку", + "applicationUsersDescription": "Загальна кількість користувачів застосунку в опублікованих джерелах користувачів конструктора застосунків.", + "advancedFeatureName": "Розширений" }, "viewDecoratorType": { - "leftBorderColor": "", - "leftBorderColorDescription": "", - "backgroundColor": "", - "backgroundColorDescription": "", - "onlyForPremium": "", - "onlyOneDecoratorPerView": "" + "leftBorderColor": "Ліва межа", + "leftBorderColorDescription": "Забарвити ліву межу рядка", + "backgroundColor": "Колір фону", + "backgroundColorDescription": "Забарвити фон рядка", + "onlyForPremium": "Доступно в преміум версії", + "onlyOneDecoratorPerView": "Ви можете мати лише одне оформлення цього типу для представлення" }, "decoratorValueProviderType": { - "singleSelectColor": "", - "singleSelectColorDescription": "", - "conditionalColor": "", - "conditionalColorDescription": "" + "singleSelectColor": "Одиночний вибір", + "singleSelectColorDescription": "Забарвлювати рядки так само, як значення одиночного вибору", + "conditionalColor": "Умови", + "conditionalColorDescription": "Забарвлювати рядки, коли вони відповідають умовам" }, "singleSelectColorValueProviderForm": { - "chooseAColor": "" + "chooseAColor": "За яким полем одиночного вибору має забарвлюватися рядок?" }, "conditionalColorValueProviderForm": { - "addCondition": "", - "colorAlwaysApply": "", - "addColor": "" + "addCondition": "Додати умову", + "colorAlwaysApply": "Ви можете додати умови, натиснувши кнопку \"Додати умову\".", + "addColor": "Додати колір", + "addConditionGroup": "Додати групу умов", + "colorAlwaysApplyTitle": "Цей колір застосовується за замовчуванням.", + "deleteColor": "Видалити колір", + "title": "Кольори" }, "redirectToBaserowModal": { - "title": "", - "content": "" + "title": "Перенаправлення на https://baserow.io", + "content": "Ви залишаєте свій власний екземпляр і вас перенаправляють на https://baserow.io." }, "premiumTopSidebar": { - "impersonateDescription": "", - "impersonateStop": "", - "premium": "", - "premiumDescription": "" + "impersonateDescription": "Цей обліковий запис імітується. Оновлення сторінки припинить це.", + "impersonateStop": "Зупинити", + "premium": "Преміум", + "premiumDescription": "Ваш обліковий запис має глобальний доступ до преміум функцій" }, "formViewModeType": { - "survey": "", - "surveyDescription": "", - "onlyForPremium": "" + "survey": "Опитування", + "surveyDescription": "Одночасно видно одне поле.", + "onlyForPremium": "Доступно в преміум версії" }, "formViewModePreviewSurvey": { - "orderFields": "", - "deactivated": "", - "more": "" + "orderFields": "Порядок полів", + "deactivated": "Форма опитування доступна в преміум версії.", + "more": "Більше інформації" }, "shareLinkOptions": { "baserowLogo": { - "label": "", - "premiumModalName": "" - } + "label": "Приховати логотип Baserow на спільному представленні", + "premiumModalName": "видалення публічного логотипу" + }, + "allowPublicExportLabel": "Дозволити експорт на спільному представленні" }, "viewsContext": { - "personal": "" + "personal": "Особисте" + }, + "paidFeaturesModal": { + "description": "Ця функція доступна з планом {plan}. Щоб отримати доступ, оновіть свій обліковий запис, оформивши підписку. Натисніть кнопку нижче, щоб переглянути варіанти тарифів.", + "viewPricing": "Переглянути тарифи" + }, + "rowCommentContext": { + "edit": "Редагувати коментар", + "delete": "Видалити коментар" + }, + "rowCommentMentionNotification": { + "title": "{sender} згадав вас у рядку {row} таблиці {table}", + "deletedUser": "Видалений користувач" + }, + "rowCommentNotification": { + "title": "{sender} опублікував коментар у рядку {row} таблиці {table}", + "deletedUser": "Видалений користувач" + }, + "trashType": { + "row_comment": "коментар до рядка" + }, + "tableExcelExporter": { + "includeHeader": "Включити назви полів як заголовок" + }, + "tableFileExporter": { + "organizeFiles": "Групувати файли за ID рядка" + }, + "kanbanView": { + "addStack": "Додати колонку" + }, + "calendarViewType": { + "sharedViewText": "Дозволити будь-кому переглядати дані в цьому представленні або синхронізувати події із зовнішнім календарем.", + "sharedViewEnableSyncToExternalCalendar": "Синхронізувати із зовнішнім календарем", + "sharedViewDisableSyncToExternalCalendar": "Вимкнути зовнішню синхронізацію", + "sharedViewDescription": "Вставте це посилання у ваш календарний застосунок", + "sharedViewTitle": "Синхронізувати із зовнішнім календарем" + }, + "calendarViewHeader": { + "displayBy": "Відображати за", + "labels": "Мітки", + "displayedBy": "Відображається у полі “{fieldName}”" + }, + "timelineViewHeader": { + "dateSettings": "Налаштування дати", + "labels": "Мітки" + }, + "selectDateFieldContext": { + "save": "Зберегти" + }, + "timelineDateSettingsForm": { + "startDateField": "Дата початку", + "endDateField": "Дата завершення", + "noCompatibleDateFields": "У таблиці відсутні поля дати. Спочатку створіть поля дати початку та завершення в таблиці.", + "incompatibleFieldsErrorTitle": "Несумісні поля", + "incompatibleFieldsErrorMessage": "Поля несумісні. Виберіть два дійсних поля дати в таблиці, які використовують однакові налаштування для \"включати час\" та однаковий часовий пояс для всіх співробітників.", + "forceTimezone": "{timezone}", + "includeTime": "дата і час", + "dateOnly": "лише дата" + }, + "timelineTimescaleContext": { + "hour": "Година", + "day": "День", + "week": "Тиждень", + "month": "Місяць", + "quarter": "Квартал", + "year": "Рік", + "disabledTooltip": "Ця опція доступна лише для полів дати з увімкненою опцією \"включати час\"." + }, + "initTimelineViewSettings": { + "settings": "Налаштування дати" + }, + "viewDateSelector": { + "today": "Сьогодні" + }, + "calendarMonthDay": { + "hiddenRowsCount": "0 | ще 1... | ще {hiddenRowsCount}..." + }, + "calendarMonthDayExpanded": { + "tryAgain": "спробувати знову" + }, + "timelineGridRow": { + "days": "0 | 1 день | {count} днів" + }, + "dateFieldSelectForm": { + "dateField": "Яке поле ви хочете використовувати для цього представлення?", + "noCompatibleDateFields": "У цій таблиці немає полів дати, спочатку створіть одне." + }, + "selectDateFieldModal": { + "chooseDateField": "Виберіть поле дати", + "save": "Зберегти" + }, + "RowEditModalCommentNotificationMode": { + "modeMentionsTitle": "Лише згадування", + "modeMentionsDesc": "Ви отримуватимете сповіщення лише коли вас згадують.", + "modeAllTitle": "Всі коментарі", + "modeAllDesc": "Ви отримуватимете сповіщення про всі коментарі в цьому рядку." + }, + "premiumFieldType": { + "ai": "ШІ-промпт", + "aiDescription": "Поле лише для читання, яке містить текст, згенерований ШІ на основі промпту поля." + }, + "functionalGridViewFieldAI": { + "generate": "Згенерувати" + }, + "gridViewFieldAI": { + "generate": "Згенерувати", + "regenerate": "Перегенерувати" + }, + "fieldAISubForm": { + "prompt": "Промпт", + "promptPlaceholder": "Що таке Baserow?", + "premiumFeature": "Поле ШІ є преміум функцією", + "emptyFileField": "Немає", + "fileFieldHelp": "Перший сумісний файл у полі буде використано як базу знань для промпту. Файл має бути текстовим файлом з підтримуваним розширенням, наприклад .txt, .md, .pdf, .docx.", + "outputType": "Тип виводу", + "outputTypeTooltip": "Виберіть бажаний формат виводу, щоб спрямувати LLM на генерацію відповідей, що відповідають вашим бажаним параметрам.", + "outputTypeChangedWarning": "Очищає згенеровані значення комірок.", + "autoUpdate": "Автооновлення", + "autoUpdateHelp": "Коли увімкнено, значення поля ШІ буде автоматично перегенеровано при оновленні будь-якого з полів, на які посилається промпт.", + "autoUpdateDescription": "Перегенерувати при зміні полів, на які є посилання" + }, + "rowEditFieldAI": { + "generate": "Згенерувати", + "createRowBefore": "Значення ШІ може бути згенеровано після створення рядка." + }, + "aiFormulaModal": { + "title": "Згенерувати формулу за допомогою ШІ", + "description": "Зверніть увагу, що згенеровані формули не завжди можуть працювати як очікувалося. Ми створюємо промпт для моделі та завантажуємо вивід у поле введення формули. Найкраще працює з моделлю з великою кількістю параметрів, наприклад gpt-4-turbo-preview.", + "label": "Промпт", + "labelDescription": "Опишіть формулу, яку ви хочете згенерувати", + "generate": "Згенерувати", + "noModels": "У вашому екземплярі Baserow та робочому просторі не налаштовано жодних моделей ШІ. Перейдіть на головну сторінку, натисніть на назву вашого робочого простору, потім на налаштування, щоб налаштувати їх." + }, + "formulaFieldAI": { + "generateWithAI": "Згенерувати за допомогою ШІ", + "featureName": "Згенерувати формулу за допомогою ШІ" + }, + "aiOutputType": { + "text": "Текст", + "textDescription": "Генерує вільний текст на основі промпту.", + "choice": "Вибір", + "choiceDescription": "Вибирає лише одну з опцій поля." + }, + "publicViewExport": { + "export": "Експорт" + }, + "chart": { + "true": "істина", + "false": "хибність", + "other": "Інше" + }, + "generateAIValuesModal": { + "title": "Згенерувати всі значення ШІ" + }, + "generateAIValuesForm": { + "scopeLabel": "Область", + "entireTable": "Вся таблиця", + "skipPopulated": "Генерувати значення лише для порожніх комірок", + "warningTitle": "Попередження про використання токенів", + "warningMessage": "Генерація всіх значень ШІ споживатиме токени API і може зайняти значний час залежно від кількості рядків." + }, + "generateAIValuesFormFooter": { + "generate": "Згенерувати за допомогою ШІ", + "close": "Закрити" + }, + "jobType": { + "generateAIValues": "Перегенерувати значення поля ШІ" } } diff --git a/web-frontend/locales/es.json b/web-frontend/locales/es.json index 841ff95cdf..b30f59dab6 100644 --- a/web-frontend/locales/es.json +++ b/web-frontend/locales/es.json @@ -1,583 +1,706 @@ { - "common": { - "yes": "sí", - "no": "no", - "wrong": "Algo salió mal", - "none": "Ninguno", - "free": "Gratis", - "comingSoon": "Pronto...", - "link": "Enlace", - "table": "Tabla", - "billable": "Facturable", - "all": "Todos", - "beta": "Beta", - "enabled": "Activado", - "disabled": "Desactivado", - "summarize": "Resumir", - "or": "o", - "and": "y" - }, - "action": { - "upload": "Subir", - "back": "Atrás", - "backToLogin": "Atrás para iniciar sesión", - "signUp": "Inscribirse", - "signIn": "Iniciar sesión", - "createNew": "Añadir nuevo", - "create": "Crear", - "edit": "Editar", - "change": "Cambiar", - "delete": "Eliminar", - "rename": "Renombrar", - "add": "Agregar", - "makeChoice": "Tomar una decisión", - "cancel": "Cancelar", - "save": "Guardar", - "retry": "Volver a intentar", - "search": "Buscar", - "copy": "Copiar", - "activate": "Activar", - "deactivate": "Desactivar", - "paste": "Pegar", - "duplicate": "Duplicar", - "remove": "Quitar", - "login": "Iniciar sesión", - "download": "Descargar", - "copyToClipboard": "Copiar al portapapeles", - "reset": "Restablecer", - "logout": "Cerrar la sesión", - "set": "Establecer", - "backToHome": "Volver al inicio", - "getStarted": "Empezar", - "close": "Cerrar", - "hide": "Ocultar" - }, - "adminType": { - "settings": "Ajustes", - "health": "Salud" - }, - "applicationType": { - "database": "Base de datos", - "cantSelectTableTitle": "No se pudo seleccionar la base de datos.", - "cantSelectTableDescription": "No se pudo seleccionar la base de datos porque no tiene tablas. Usa la barra lateral para crear uno.", - "databaseDefaultName": "Base de datos sin título", - "builder": "Aplicación", - "builderDefaultName": "Aplicación sin título", - "cantSelectPageTitle": "No se pudo seleccionar la aplicación.", - "cantSelectPageDescription": "No se ha podido seleccionar al creador de las aplicaciones porque no tiene ninguna página. Utilice la barra lateral para crear una.", - "databaseDesc": "Crear una colección organizada de datos estructurados.", - "builders": "Aplicaciones", - "databases": "Bases de datos", - "builderDesc": "Crea fácilmente sitios web, aplicaciones web y portales sin código.", - "dashboards": "Paneles de control", - "dashboardDefaultName": "Tablero sin título", - "dashboard": "Tablero", - "dashboardDesc": "Visualice sus datos y métricas con gráficos, tablas o gráficos." - }, - "settingType": { - "account": "Cuenta", - "password": "Contraseña", - "tokens": "Fichas de la base de datos", - "deleteAccount": "Borrar cuenta", - "emailNotifications": "Notificaciones por correo electrónico" - }, - "userFileUploadType": { - "file": "mi dispositivo", - "url": "una URL" - }, - "field": { - "emailAddress": "Correo electrónico" - }, - "error": { - "invalidEmail": "Por favor, introduce un correo electrónico válido.", - "notMatchingPassword": "Este campo debe coincidir con su campo de contraseña.", - "minLength": "Se requiere un mínimo de {min} caracteres aquí.", - "maxLength": "Aquí se permite un máximo de {max} caracteres.", - "minMaxLength": "Aquí se permite un mínimo de {min} y un máximo de {max} caracteres.", - "requiredField": "Este campo es requerido.", - "integerField": "El campo debe ser un número entero.", - "minValueField": "El campo debe ser mayor o igual que {min}.", - "maxValueField": "El campo debe ser menor o igual que {max}.", - "minMaxValueField": "El valor del campo debe estar comprendido entre {min} y {max}.", - "invalidNumber": "El campo debe ser un número.", - "email": "El campo debe ser un correo electrónico.", - "invalidURL": "Por favor, introduce una URL válida.", - "alreadyInUse": "Este nombre de campo ya está en uso.", - "decimalField": "El campo debe ser un decimal.", - "invalidCharacters": "Este campo contiene caracteres inválidos." - }, - "permission": { - "admin": "Admin", - "adminDescription": "Puede configurar y editar completamente los espacios de trabajo y las aplicaciones.", - "member": "Miembro", - "memberDescription": "Puede configurar y editar aplicaciones completamente." - }, - "fieldType": { - "singleLineText": "Texto de una sola línea", - "longText": "Texto largo", - "linkToTable": "Enlace a la tabla", - "number": "Número", - "rating": "Clasificación", - "boolean": "Booleano", - "date": "Fecha", - "lastModified": "Última modificación", - "createdOn": "Creado en", - "url": "URL", - "email": "Correo electrónico", - "file": "Expediente", - "singleSelect": "Selección única", - "multipleSelect": "Selección múltiple", - "phoneNumber": "Número de teléfono", - "formula": "Fórmula", - "lookup": "Buscar", - "multipleCollaborators": "Colaboradores", - "count": "Cuenta", - "rollup": "Enrollable", - "linkRowMultiple": "Múltiples", - "defaultFormViewComponent": "Por defecto", - "linkRowSingle": "Único", - "multipleSelectDropdown": "Desplegable", - "uuid": "UUID", - "singleSelectDropdown": "Desplegable", - "autonumber": "Autonúmero", - "createdBy": "Creado por", - "singleSelectRadios": "Radios", - "lastModifiedBy": "Última modificación por", - "multipleSelectCheckboxes": "Casillas", - "duration": "Duración", - "password": "Contraseña", - "ai": "Aviso de IA" - }, - "fieldErrors": { - "invalidNumber": "Número invalido", - "maxDigits": "Max {max} dígitos permitidos.", - "invalidUrl": "URL invalida", - "max254Chars": "Max 254 caract", - "invalidEmail": "Email inválido", - "invalidPhoneNumber": "Número de teléfono invalido", - "invalidDuration": "Formato no válido ({durationFormat}).", - "overflowDuration": "El valor está fuera de los límites.", - "maxChars": "Máximo {max} caracteres.", - "minChars": "Mínimo {min} caracteres." - }, - "fieldDocs": { - "readOnly": "Este es un campo de sólo lectura.", - "text": "Acepta texto de una sola línea.", - "longText": "Acepta el texto en varias líneas. Si el formato de texto enriquecido está activado, puede utilizar Markdown para dar formato al texto.", - "linkRow": "Acepta una matriz que contiene los identificadores o los valores de texto del campo principal de las filas relacionadas del id de tabla {table}. Deben proporcionarse todos los identificadores cada vez que se actualicen las relaciones. Si se proporciona una matriz vacía, se eliminarán todas las relaciones. En caso de que se proporcione un valor de texto en lugar de un identificador, se buscará una fila con el valor coincidente para su campo principal. Si se encuentra más de una coincidencia, se seleccionará la primera en el orden de la tabla. Puedes enviar una cadena con nombres separados por coma, en cuyo caso la cadena se convierte en una matriz de nombres de fila. También se puede enviar sólo el ID de una fila.", - "number": "Acepta un número.", - "numberPositive": "Acepta un número positivo.", - "decimal": "Acepta un decimal con {places} decimales después del punto.", - "decimalPositive": "Acepta un decimal positivo con {places} decimales después del punto.", - "rating": "Acepta un número.", - "boolean": "Acepta un booleano.", - "date": "Acepta una fecha y hora en formato ISO.", - "dateTime": "Acepta una fecha en formato ISO.", - "dateResponse": "La respuesta será una fecha y hora en formato ISO.", - "dateTimeResponse": "La respuesta será una fecha en formato ISO.", - "lastModifiedReadOnly": "El último campo modificado es un campo de solo lectura.", - "createdOnReadOnly": "El campo creado en un campo de sólo lectura.", - "url": "Acepta una cadena que debe ser una URL.", - "email": "Acepta una cadena que debe ser una dirección de correo electrónico.", - "file": "Acepta una matriz de objetos que contenga al menos el nombre del archivo de usuario. También puedes proporcionar una lista de nombres de archivo separados por comas o una matriz de nombres de archivo. Puedes utilizar los endpoints «Subida de archivos» para subir el archivo. La respuesta de esas llamadas puede proporcionarse directamente como objeto aquí. Los puntos finales se encuentran en la barra lateral izquierda.", - "singleSelect": "Acepta un número entero o un valor de texto que representa el ID de la opción seleccionada o el valor de la opción. Un valor nulo significa que no se ha seleccionado ninguno. En el caso de un valor de texto, se selecciona la primera opción coincidente.", - "multipleSelect": "Acepta una matriz de enteros mixtos o valores de texto, cada uno de los cuales representa el id o el valor de la opción de selección elegida. En el caso de un valor de texto, se selecciona la primera opción que coincida. Puedes enviar una cadena con nombres separados por comas como valor, en cuyo caso la cadena se convierte en una matriz de nombres de opciones.", - "phoneNumber": "Acepta un número de teléfono que tenga una longitud máxima de 100 caracteres que consista únicamente en dígitos, espacios y los siguientes caracteres: Nx,._+*()#=;/- .", - "formula": "Un campo de solo lectura definido por una fórmula escrita en el lenguaje de fórmulas de Baserow.", - "lookup": "Un campo de sólo lectura conectado a un campo de enlace a tabla que devuelve una matriz de valores e ids de fila del campo de búsqueda elegido en la tabla enlazada.", - "multipleCollaborators": "Acepta una matriz de objetos donde cada objeto contiene el ID de un usuario.", - "count": "Campo de sólo lectura conectado a un campo de enlace a tabla que devuelve el número de relaciones.", - "rollup": "Campo de sólo lectura conectado a un campo vinculado a una tabla que devuelve los valores del campo de búsqueda elegido en la tabla vinculada.", - "lastModifiedBy": "El campo \"Última modificación por\" es un campo de sólo lectura.", - "autonumber": "Campo de sólo lectura que incrementa automáticamente un número por cada nueva fila.", - "uuid": "Un UUID único y persistente de sólo lectura.", - "createdBy": "El campo \"Creado por\" es un campo de sólo lectura que muestra el usuario que creó la fila.", - "duration": "Acepta una duración basada en el tiempo como una cadena con el formato {formato} o como un número que representa el número total de segundos.", - "password": "Un campo de sólo escritura que contiene una contraseña con hash. El valor será \"nulo\" si no se ha establecido, o \"verdadero\" si se ha establecido. Acepta una cadena para establecerla." - }, - "viewFilter": { - "contains": "contiene", - "containsNot": "no contenga", - "filenameContains": "el nombre del archivo contiene", - "has": "tiene", - "hasNot": "no tenga", - "higherThan": "Mas alto que", - "is": "es", - "isNot": "no es", - "isEmpty": "está vacío", - "isNotEmpty": "no está vacío", - "isDate": "es fecha", - "isDayOfMonth": "día del mes es", - "isBeforeDate": "es antes de la fecha", - "isAfterDate": "es posterior a la fecha", - "isNotDate": "no es fecha", - "isToday": "es hoy", - "inThisMonth": "en este mes", - "inThisYear": "este año", - "lowerThan": "Más bajo que", - "lengthIsLowerThan": "la longitud es menor que", - "hasFileType": "tiene tipo de archivo", - "isDaysAgo": "es hace días", - "isMonthsAgo": "es hace meses", - "isYearsAgo": "es hace años", - "inThisWeek": "en esta semana", - "afterToday": "es después de hoy", - "beforeToday": "es antes de hoy", - "containsWord": "contiene palabras", - "doesntContainWord": "no contiene palabras", - "isBeforeOrEqualDate": "es antes o en la misma fecha", - "isAfterOrEqualDate": "es después o la misma fecha", - "isWithinDays": "está dentro de días", - "isWithinWeeks": "es dentro de semanas", - "isWithinMonths": "es dentro de meses", - "isEvenAndWhole": "es par y entero", - "filesLowerThan": "archivos inferiores a", - "isAfterDaysAgo": "es después de hace días", - "higherThanOrEqual": "mayor o igual que", - "lowerThanOrEqual": "menos o igual que", - "isAnyOf": "es cualquiera de", - "isNoneOf": "es ninguno de", - "tomorrow": "mañana", - "thisWeek": "esta semana", - "oneMonthAgo": "hace un mes", - "nextMonth": "el próximo mes", - "thisYear": "este año", - "nrDaysFromNow": "días desde hoy", - "isOnOrBefore": "es en o antes", - "isOnOrAfter": "es en o después", - "isWithin": "esta dentro", - "today": "hoy", - "yesterday": "ayer", - "oneWeekAgo": "hace una semana", - "nextWeek": "la próxima semana", - "thisMonth": "este mes", - "oneYearAgo": "hace un año", - "nextYear": "el próximo año", - "nrDaysAgo": "hace unos días", - "nrWeeksAgo": "hace unas semanas", - "nrMonthsAgo": "hace unos meses", - "nrYearsAgo": "hace unos años", - "nrWeeksFromNow": "semanas desde hoy", - "nrMonthsFromNow": "meses desde hoy", - "nrYearsFromNow": "años desde hoy", - "exactDate": "fecha exacta", - "isBefore": "es antes", - "isAfter": "es después", - "hasEmptyValue": "tiene un valor vacío", - "hasNotEmptyValue": "no tiene un valor vacío", - "hasValueEqual": "tiene un valor igual a", - "hasNotValueEqual": "no tiene el mismo valor", - "hasValueContains": "contiene un valor", - "hasNotValueContains": "no contiene un valor", - "hasNotValueContainsWord": "el valor no contiene una palabra", - "hasValueLengthIsLowerThan": "tiene un valor inferior a", - "hasValueContainsWord": "el valor contiene una palabra", - "hasAnySelectOptionEqual": "tiene cualquier opción de selección igual", - "hasNoneSelectOptionEqual": "no tiene la opción de seleccionar una igual" - }, - "viewType": { - "grid": "Cuadrícula", - "gallery": "Galería", - "form": "Forma", - "sharing": { - "linkName": "vista", - "formLinkName": "forma" - } - }, - "premium": { - "deactivated": "Disponible en versión premium" - }, - "trashType": { - "workspace": "grupo", - "application": "aplicación", - "table": "tabla", - "field": "campo", - "row": "fila", - "view": "vista", - "rows": "filas" - }, - "webhook": { - "request": "Requerimiento", - "response": "Respuesta", - "successfullyUpdated": "Webhook actualizado con éxito.", - "status": { - "noStatus": "SIN ESTATUS", - "statusOK": "OK", - "statusNotOK": "NO ESTÁ BIEN" - }, - "eventType": { - "rowCreated": "Cuando se crea una fila", - "rowUpdated": "Cuando se actualiza una fila", - "rowDeleted": "Cuando se elimina una fila", - "rowsCreated": "Se crearon las filas", - "rowsUpdated": "Las filas fueron actualizadas", - "rowsDeleted": "Se han eliminado las filas", - "fieldUpdated": "Campo actualizado", - "viewUpdated": "Vista actualizada", - "viewDeleted": "Vista borrada", - "viewCreated": "Vista creada", - "fieldDeleted": "Campo borrado", - "fieldCreated": "Campo creado" - }, - "form": { - "invalidURLTitle": "URL inválida.", - "invalidURLDescription": "La URL del webhook no es válida, es inaccesible o está prohibida." + "common": { + "yes": "sí", + "no": "no", + "wrong": "Algo salió mal", + "none": "Ninguno", + "free": "Gratis", + "comingSoon": "Pronto...", + "link": "Enlace", + "table": "Tabla", + "billable": "Facturable", + "all": "Todos", + "beta": "Beta", + "enabled": "Activado", + "disabled": "Desactivado", + "summarize": "Resumir", + "or": "o", + "and": "y", + "alpha": "Alfa", + "optional": "Opcional", + "monday": "Lunes", + "tuesday": "Martes", + "wednesday": "Miércoles", + "thursday": "Jueves", + "friday": "Viernes", + "saturday": "Sábado", + "sunday": "Domingo", + "value": "valor" + }, + "action": { + "upload": "Subir", + "back": "Atrás", + "backToLogin": "Atrás para iniciar sesión", + "signUp": "Inscribirse", + "signIn": "Iniciar sesión", + "createNew": "Añadir nuevo", + "create": "Crear", + "edit": "Editar", + "change": "Cambiar", + "delete": "Eliminar", + "rename": "Renombrar", + "add": "Agregar", + "makeChoice": "Tomar una decisión", + "cancel": "Cancelar", + "save": "Guardar", + "retry": "Volver a intentar", + "search": "Buscar", + "copy": "Copiar", + "activate": "Activar", + "deactivate": "Desactivar", + "paste": "Pegar", + "duplicate": "Duplicar", + "remove": "Quitar", + "login": "Iniciar sesión", + "download": "Descargar", + "copyToClipboard": "Copiar al portapapeles", + "reset": "Restablecer", + "logout": "Cerrar la sesión", + "set": "Establecer", + "backToHome": "Volver al inicio", + "getStarted": "Empezar", + "close": "Cerrar", + "hide": "Ocultar" + }, + "adminType": { + "settings": "Ajustes", + "health": "Salud" + }, + "applicationType": { + "database": "Base de datos", + "cantSelectTableTitle": "No se pudo seleccionar la base de datos.", + "cantSelectTableDescription": "No se pudo seleccionar la base de datos porque no tiene tablas. Usa la barra lateral para crear uno.", + "databaseDefaultName": "Base de datos sin título", + "builder": "Aplicación", + "builderDefaultName": "Aplicación sin título", + "cantSelectPageTitle": "No se pudo seleccionar la aplicación.", + "cantSelectPageDescription": "No se ha podido seleccionar al creador de las aplicaciones porque no tiene ninguna página. Utilice la barra lateral para crear una.", + "databaseDesc": "Crear una colección organizada de datos estructurados.", + "builders": "Aplicaciones", + "databases": "Bases de datos", + "builderDesc": "Crea fácilmente sitios web, aplicaciones web y portales sin código.", + "dashboards": "Paneles de control", + "dashboardDefaultName": "Tablero sin título", + "dashboard": "Tablero", + "dashboardDesc": "Visualice sus datos y métricas con gráficos, tablas o gráficos.", + "automation": "Automatización", + "automations": "Automatizaciones", + "automationDesc": "Automatiza tareas repetitivas y flujos de trabajo.", + "automationDefaultName": "Automatización sin título", + "cantSelectAutomationWorkflowTitle": "No se pudo seleccionar la automatización.", + "cantSelectAutomationWorkflowDescription": "No se pudo seleccionar la automatización porque no tiene ningún flujo de trabajo. Usa la barra lateral para crear uno." + }, + "settingType": { + "account": "Cuenta", + "password": "Contraseña", + "tokens": "Fichas de la base de datos", + "deleteAccount": "Borrar cuenta", + "emailNotifications": "Notificaciones por correo electrónico", + "mcpEndpoint": "Servidor MCP", + "twoFactorAuth": "Autenticación de dos factores (2FA)" + }, + "userFileUploadType": { + "file": "mi dispositivo", + "url": "una URL" + }, + "field": { + "emailAddress": "Dirección de correo electrónico" + }, + "error": { + "invalidEmail": "Por favor, introduce un correo electrónico válido.", + "notMatchingPassword": "Este campo debe coincidir con su campo de contraseña.", + "minLength": "Se requiere un mínimo de {min} caracteres aquí.", + "maxLength": "Aquí se permite un máximo de {max} caracteres.", + "minMaxLength": "Aquí se permite un mínimo de {min} y un máximo de {max} caracteres.", + "requiredField": "Este campo es requerido.", + "integerField": "El campo debe ser un número entero.", + "minValueField": "El campo debe ser mayor o igual que {min}.", + "maxValueField": "El campo debe ser menor o igual que {max}.", + "minMaxValueField": "El valor del campo debe estar comprendido entre {min} y {max}.", + "invalidNumber": "El campo debe ser un número.", + "email": "El campo debe ser un correo electrónico.", + "invalidURL": "Por favor, introduce una URL válida.", + "alreadyInUse": "Este nombre de campo ya está en uso.", + "decimalField": "El campo debe ser un decimal.", + "invalidCharacters": "Este campo contiene caracteres inválidos.", + "copyFailed": "Error al copiar al portapapeles. Por favor, inténtalo de nuevo." + }, + "permission": { + "admin": "Admin", + "adminDescription": "Puede configurar y editar completamente los espacios de trabajo y las aplicaciones.", + "member": "Miembro", + "memberDescription": "Puede configurar y editar aplicaciones completamente." + }, + "fieldType": { + "singleLineText": "Texto de una sola línea", + "longText": "Texto largo", + "linkToTable": "Enlace a la tabla", + "number": "Número", + "rating": "Clasificación", + "boolean": "Booleano", + "date": "Fecha", + "lastModified": "Última modificación", + "createdOn": "Creado en", + "url": "URL", + "email": "Correo electrónico", + "file": "Expediente", + "singleSelect": "Selección única", + "multipleSelect": "Selección múltiple", + "phoneNumber": "Número de teléfono", + "formula": "Fórmula", + "lookup": "Búsqueda", + "multipleCollaborators": "Colaboradores", + "count": "Cuenta", + "rollup": "Enrollable", + "linkRowMultiple": "Múltiples", + "defaultFormViewComponent": "Por defecto", + "linkRowSingle": "Único", + "multipleSelectDropdown": "Desplegable", + "uuid": "UUID", + "singleSelectDropdown": "Desplegable", + "autonumber": "Autonúmero", + "createdBy": "Creado por", + "singleSelectRadios": "Radios", + "lastModifiedBy": "Última modificación por", + "multipleSelectCheckboxes": "Casillas", + "duration": "Duración", + "password": "Contraseña", + "ai": "Aviso de IA", + "multipleCollaboratorsDropdown": "Desplegable", + "multipleCollaboratorsCheckboxes": "Casillas de selección" + }, + "fieldErrors": { + "invalidNumber": "Número invalido", + "maxDigits": "Max {max} dígitos permitidos.", + "invalidUrl": "URL invalida", + "max254Chars": "Max 254 caract", + "invalidEmail": "Email inválido", + "invalidPhoneNumber": "Número de teléfono invalido", + "invalidDuration": "Formato no válido ({durationFormat}).", + "overflowDuration": "El valor está fuera de los límites.", + "maxChars": "Máximo {max} caracteres.", + "minChars": "Mínimo {min} caracteres." + }, + "fieldDocs": { + "readOnly": "Este es un campo de sólo lectura.", + "text": "Acepta texto de una sola línea.", + "longText": "Acepta texto multilínea. Si el formato de texto enriquecido está activado, puede utilizar «Markdown» para dar formato al texto.", + "linkRow": "Acepta una matriz que contiene los identificadores o los valores de texto del campo principal de las filas relacionadas del id de tabla {table}. Deben proporcionarse todos los identificadores cada vez que se actualicen las relaciones. Si se proporciona una matriz vacía, se eliminarán todas las relaciones. En caso de que se proporcione un valor de texto en lugar de un identificador, se buscará una fila con el valor coincidente para su campo principal. Si se encuentra más de una coincidencia, se seleccionará la primera en el orden de la tabla. Puedes enviar una cadena con nombres separados por coma, en cuyo caso la cadena se convierte en una matriz de nombres de fila. También se puede enviar sólo el ID de una fila.", + "number": "Acepta un número.", + "numberPositive": "Acepta un número positivo.", + "decimal": "Acepta un decimal con {places} decimales después del punto.", + "decimalPositive": "Acepta un decimal positivo con {places} decimales después del punto.", + "rating": "Acepta un número.", + "boolean": "Acepta un booleano.", + "date": "Acepta una fecha y hora en formato ISO.", + "dateTime": "Acepta una fecha en formato ISO.", + "dateResponse": "La respuesta será una fecha y hora en formato ISO.", + "dateTimeResponse": "La respuesta será una fecha en formato ISO.", + "lastModifiedReadOnly": "El último campo modificado es un campo de solo lectura.", + "createdOnReadOnly": "El campo creado en un campo de sólo lectura.", + "url": "Acepta una cadena que debe ser una URL.", + "email": "Acepta una cadena que debe ser una dirección de correo electrónico.", + "file": "Acepta una matriz de objetos que contenga al menos el nombre del archivo de usuario. También puedes proporcionar una lista de nombres de archivo separados por comas o una matriz de nombres de archivo. Puedes utilizar los endpoints «Subida de archivos» para subir el archivo. La respuesta de esas llamadas puede proporcionarse directamente como objeto aquí. Los puntos finales se encuentran en la barra lateral izquierda.", + "singleSelect": "Acepta un número entero o un valor de texto que representa el ID de la opción seleccionada o el valor de la opción. Un valor nulo significa que no se ha seleccionado ninguno. En el caso de un valor de texto, se selecciona la primera opción coincidente.", + "multipleSelect": "Acepta una matriz de enteros mixtos o valores de texto, cada uno de los cuales representa el id o el valor de la opción de selección elegida. En el caso de un valor de texto, se selecciona la primera opción que coincida. Puedes enviar una cadena con nombres separados por comas como valor, en cuyo caso la cadena se convierte en una matriz de nombres de opciones.", + "phoneNumber": "Acepta un número de teléfono que tenga una longitud máxima de 100 caracteres que consista únicamente en dígitos, espacios y los siguientes caracteres: Nx,._+*()#=;/- .", + "formula": "Un campo de solo lectura definido por una fórmula escrita en el lenguaje de fórmulas de Baserow.", + "lookup": "Un campo de sólo lectura conectado a un campo de enlace a tabla que devuelve una matriz de valores e ids de fila del campo de búsqueda elegido en la tabla enlazada.", + "multipleCollaborators": "Acepta una matriz de objetos donde cada objeto contiene el ID de un usuario.", + "count": "Campo de sólo lectura conectado a un campo de enlace a tabla que devuelve el número de relaciones.", + "rollup": "Campo de sólo lectura conectado a un campo vinculado a una tabla que devuelve los valores del campo de búsqueda elegido en la tabla vinculada.", + "lastModifiedBy": "El campo \"Última modificación por\" es un campo de sólo lectura.", + "autonumber": "Campo de sólo lectura que incrementa automáticamente un número por cada nueva fila.", + "uuid": "Un UUID único y persistente de sólo lectura.", + "createdBy": "El campo \"Creado por\" es un campo de sólo lectura que muestra el usuario que creó la fila.", + "duration": "Acepta una duración basada en el tiempo como una cadena con el formato {formato} o como un número que representa el número total de segundos.", + "password": "Un campo de sólo escritura que contiene una contraseña con hash. El valor será \"nulo\" si no se ha establecido, o \"verdadero\" si se ha establecido. Acepta una cadena para establecerla." + }, + "viewFilter": { + "contains": "contiene", + "containsNot": "no contenga", + "filenameContains": "el nombre del archivo contiene", + "has": "tiene", + "hasNot": "no tenga", + "higherThan": "Mas alto que", + "is": "es", + "isNot": "no es", + "isEmpty": "está vacío", + "isNotEmpty": "no está vacío", + "isDate": "es fecha", + "isDayOfMonth": "día del mes es", + "isBeforeDate": "es antes de la fecha", + "isAfterDate": "es posterior a la fecha", + "isNotDate": "no es fecha", + "isToday": "es hoy", + "inThisMonth": "en este mes", + "inThisYear": "este año", + "lowerThan": "Más bajo que", + "lengthIsLowerThan": "la longitud es menor que", + "hasFileType": "tiene tipo de archivo", + "isDaysAgo": "es hace días", + "isMonthsAgo": "es hace meses", + "isYearsAgo": "es hace años", + "inThisWeek": "en esta semana", + "afterToday": "es después de hoy", + "beforeToday": "es antes de hoy", + "containsWord": "contiene palabras", + "doesntContainWord": "no contiene palabras", + "isBeforeOrEqualDate": "es antes o en la misma fecha", + "isAfterOrEqualDate": "es después o la misma fecha", + "isWithinDays": "está dentro de días", + "isWithinWeeks": "es dentro de semanas", + "isWithinMonths": "es dentro de meses", + "isEvenAndWhole": "es par y entero", + "filesLowerThan": "archivos inferiores a", + "isAfterDaysAgo": "es después de hace días", + "higherThanOrEqual": "mayor o igual que", + "lowerThanOrEqual": "menos o igual que", + "isAnyOf": "es cualquiera de", + "isNoneOf": "es ninguno de", + "tomorrow": "mañana", + "thisWeek": "esta semana", + "oneMonthAgo": "hace un mes", + "nextMonth": "el próximo mes", + "thisYear": "este año", + "nrDaysFromNow": "días desde hoy", + "isOnOrBefore": "es en o antes", + "isOnOrAfter": "es en o después", + "isWithin": "esta dentro", + "today": "hoy", + "yesterday": "ayer", + "oneWeekAgo": "hace una semana", + "nextWeek": "la próxima semana", + "thisMonth": "este mes", + "oneYearAgo": "hace un año", + "nextYear": "el próximo año", + "nrDaysAgo": "hace unos días", + "nrWeeksAgo": "hace unas semanas", + "nrMonthsAgo": "hace unos meses", + "nrYearsAgo": "hace unos años", + "nrWeeksFromNow": "semanas desde hoy", + "nrMonthsFromNow": "meses desde hoy", + "nrYearsFromNow": "años desde hoy", + "exactDate": "fecha exacta", + "isBefore": "es antes", + "isAfter": "es después", + "hasEmptyValue": "tiene un valor vacío", + "hasNotEmptyValue": "no tiene un valor vacío", + "hasValueEqual": "tiene un valor igual a", + "hasNotValueEqual": "no tiene el mismo valor", + "hasValueContains": "contiene un valor", + "hasNotValueContains": "no contiene un valor", + "hasNotValueContainsWord": "el valor no contiene una palabra", + "hasValueLengthIsLowerThan": "tiene un valor inferior a", + "hasValueContainsWord": "el valor contiene una palabra", + "hasAnySelectOptionEqual": "tiene alguna opción de selección igual", + "hasNoneSelectOptionEqual": "no tiene ninguna opción de selección igual", + "hasAnyOf": "tiene alguno de", + "hasNotAnyOf": "no tiene ninguno de", + "hasDateEqual": "tiene fecha igual", + "hasNotDateEqual": "no tiene fecha igual", + "hasDateBefore": "tiene fecha anterior", + "hasNotDateBefore": "no tiene fecha anterior", + "hasDateOnOrBefore": "tiene fecha en o antes de", + "hasNotDateOnOrBefore": "no tiene fecha en o antes de", + "hasDateAfter": "tiene fecha posterior", + "hasNotDateAfter": "no tiene fecha posterior", + "hasDateOnOrAfter": "tiene fecha en o después de", + "hasNotDateOnOrAfter": "no tiene fecha en o después de", + "hasDateWithin": "tiene fecha dentro", + "hasNotDateWithin": "no tiene fecha dentro" + }, + "viewType": { + "grid": "Cuadrícula", + "gallery": "Galería", + "form": "Forma", + "sharing": { + "linkName": "vista", + "formLinkName": "forma" + } + }, + "premium": { + "deactivated": "Disponible en versión premium" + }, + "trashType": { + "workspace": "grupo", + "application": "aplicación", + "table": "tabla", + "field": "campo", + "row": "fila", + "view": "vista", + "rows": "filas", + "automation_workflow": "flujo de trabajo de automatización", + "automation_node": "nodo de automatización" + }, + "webhook": { + "request": "Requerimiento", + "response": "Respuesta", + "successfullyUpdated": "Webhook actualizado con éxito.", + "status": { + "noStatus": "SIN ESTATUS", + "statusOK": "OK", + "statusNotOK": "NO ESTÁ BIEN" + }, + "eventType": { + "rowCreated": "Cuando se crea una fila", + "rowUpdated": "Cuando se actualiza una fila", + "rowDeleted": "Cuando se elimina una fila", + "rowsCreated": "Se crearon las filas", + "rowsUpdated": "Las filas fueron actualizadas", + "rowsDeleted": "Se han eliminado las filas", + "fieldUpdated": "Campo actualizado", + "viewUpdated": "Vista actualizada", + "viewDeleted": "Vista borrada", + "viewCreated": "Vista creada", + "fieldDeleted": "Campo borrado", + "fieldCreated": "Campo creado" + }, + "form": { + "invalidURLTitle": "URL inválida.", + "invalidURLDescription": "La URL del webhook no es válida, es inaccesible o está prohibida." + } + }, + "clientHandler": { + "notFoundTitle": "{name} no encontrado.", + "notFoundDescription": "No se encontró el {name} seleccionado, tal vez ya se eliminó.", + "networkErrorTitle": "Error de red", + "networkErrorDescription": "No se pudo conectar con el servidor API.", + "tooManyRequestsTitle": "demasiadas solicitudes", + "tooManyRequestsDescription": "Estás enviando demasiadas solicitudes al servidor. Por favor, espere un momento.", + "notCompletedTitle": "Acción no completada.", + "notCompletedDescription": "No se pudo completar la acción porque se produjo un error desconocido.", + "userNotInWorkspaceTitle": "Acción no permitida.", + "userNotInWorkspaceDescription": "No se pudo completar la acción porque no es miembro del grupo relacionado.", + "invalidWorkspacePermissionsTitle": "Acción no permitida.", + "invalidWorkspacePermissionsDescription": "No se pudo completar la acción porque no tiene los permisos adecuados para el grupo relacionado.", + "tableDoesNotExistTitle": "La tabla no existe.", + "tableDoesNotExistDescription": "No se pudo completar la acción porque la tabla relacionada ya no existe.", + "rowDoesNotExistTitle": "La fila no existe.", + "rowDoesNotExistDescription": "No se pudo completar la acción porque la fila relacionada ya no existe.", + "fileSizeTooLargeTitle": "Fichero demasiado grande", + "fileSizeTooLargeDescription": "El archivo proporcionado es demasiado grande.", + "invalidFileTitle": "Archivo inválido", + "invalidFileDescription": "El archivo proporcionado no es un archivo válido.", + "fileUrlCouldNotBeReachedTitle": "URL invalida", + "fileUrlCouldNotBeReachedDescription": "No se pudo acceder a la URL del archivo proporcionado.", + "invalidFileUrlTitle": "URL invalida", + "invalidFileUrlDescription": "La URL del archivo proporcionada no es válida o no está permitida.", + "adminCannotDeactivateSelfTitle": "Acción no permitida.", + "adminCannotDeactivateSelfDescription": "No puede desactivar o eliminar el personal usted mismo.", + "adminCannotDeleteSelfTitle": "Acción no permitida.", + "adminCannotDeleteSelfDescription": "No puedes borrarte a ti mismo.", + "maxFieldCountExceededTitle": "No se pudo crear el campo.", + "maxFieldCountExceededDescription": "No se pudo completar la acción porque el número de campos supera el límite", + "cannotRestoreParentBeforeChildTitle": "Por favor restaure al parent primero.", + "cannotRestoreParentBeforeChildDescription": "No puede restaurar este elemento porque depende de un elemento eliminado. Primero restaure el elemento principal.", + "cannotRestoreAsRelatedTableTrashedTitle": "Primero restaure las tablas relacionadas.", + "cannotRestoreAsRelatedTableTrashedDescription": "No puede restaurar este campo porque depende de otras tablas que aún están en la papelera. Primero restaure las otras tablas relacionadas.", + "workspaceUserIsLastAdminTitle": "no puedo dejar el grupo", + "workspaceUserIsLastAdminDescription": "No es posible abandonar el grupo porque eres el último administrador. Elimine el grupo o otorgue permisos de administrador a otro usuario.", + "errorMaxJobCountExceededTitle": "No se pudo iniciar la acción.", + "errorMaxJobCountExceededDescription": "No puedes iniciar ninguna otra de estas acciones ya que tienes otras en ejecución en segundo plano. Por favor, inténtalo de nuevo una vez que las acciones anteriores se hayan completado.", + "failedToLockFieldDueToConflictTitle": "No se puede cambiar el campo", + "failedToLockFieldDueToConflictDescription": "Otra operación está actualizando o usando este campo, por favor espera hasta que termine antes de intentar de nuevo.", + "failedToLockTableDueToConflictTitle": "No se puede crear el campo", + "failedToLockTableDueToConflictDescription": "Otra operación está actualizando o usando esta tabla, por favor espera hasta que termine antes de intentar de nuevo.", + "failedToUndoRedoDueToConflictTitle": "No se puede deshacer/rehacer", + "failedToUndoRedoDueToConflictDescription": "Otra operación se está ejecutando actualmente bloqueando tu deshacer o rehacer, por favor espera hasta que termine antes de intentar de nuevo.", + "snapshotBeingCreatedTitle": "Ya se está creando una imagen", + "snapshotBeingCreatedDescription": "No es posible crear varias imágenes al mismo tiempo.", + "snapshotBeingRestoredTitle": "Se está restaurando la imagen", + "maximumSnapshotsReachedTitle": "Límite de imágenes alcanzado", + "maximumSnapshotsReachedDescription": "Se ha alcanzado el número máximo de instantáneas en un espacio de trabajo.", + "snapshotBeingRestoredDescription": "No es posible utilizar las imágenes que se están restaurando en ese momento.", + "snapshotBeingDeletedTitle": "La imagen se está borrando", + "snapshotNameNotUniqueTitle": "El nombre de la imagen debe ser único.", + "snapshotBeingDeletedDescription": "No es posible utilizar las imágenes que se están borrando.", + "snapshotNameNotUniqueDescription": "Todos los nombres de las imágenes tienen que ser únicos por aplicación.", + "snapshotOperationLimitExceededTitle": "Límite alcanzado", + "snapshotOperationLimitExceededDescription": "Se ha alcanzado el límite del número de operaciones de imagenes instantáneas en ejecución. Favor de esperar hasta que termine la operación anterior.", + "disabledPasswordProviderTitle": "La autentificación por contraseña está deshabilitada.", + "disabledPasswordProviderMessage": "Utiliza otro proveedor de autentificación.", + "lastAdminTitle": "No se puede eliminar el último administrador del espacio de trabajo", + "lastAdminMessage": "Un espacio de trabajo debe tener al menos un administrador.", + "maxLocksPerTransactionExceededTitle": "Problema detectado con PostgreSQL", + "maxLocksPerTransactionExceededDescription": "Baserow intentó eliminar permanentemente los elementos de la papelera, pero excedió los bloqueos disponibles especificados en `max_locks_per_transaction`.", + "notificationDoesNotExistTitle": "La notificación no existe.", + "notificationDoesNotExistDescription": "La acción no se ha podido completar porque lo relacionado ya no existe.", + "adminAlreadyExistsDescription": "Ese nombre de usuario no se puede utilizar porque ya existe.", + "adminAlreadyExistsTitle": "No se puede usar ese nombre de usuario", + "cannotCreateFieldTypeDescription": "El tipo de campo solicitado no puede crearse en este momento. Puede ser un problema temporal con tablas antiguas. Vuelve a intentarlo más tarde.", + "cannotCreateFieldTypeTitle": "No se puede crear el campo", + "generativeAIDoesNotExistTitle": "La IA generativa no existe", + "generativeAIDoesNotExistDescription": "El modelo de IA generativa no existe.", + "modelDoesNotBelongToTypeTitle": "El modelo seleccionado no pertenece al tipo AI", + "modelDoesNotBelongToTypeDescription": "El modelo seleccionado no pertenece al tipo de IA seleccionado.", + "outputParserTitle": "Resultado incorrecto", + "outputParserDescription": "El modelo respondió con una salida incorrecta. Por favor, inténtalo de nuevo.", + "generateAIPromptTitle": "Error de pregunta", + "generateAIPromptDescription": "Algo iba mal con el indicador construido.", + "maxNumberOfPendingWorkspaceInvitesReachedTitle": "Número máximo de invitaciones pendientes alcanzado", + "maxNumberOfPendingWorkspaceInvitesReachedDescription": "Has alcanzado el número máximo de invitaciones pendientes para este espacio de trabajo. Deja que los invitados acepten la invitación o cancela las existentes para continuar.", + "fieldIsAlreadyPrimaryTitle": "El campo ya es primario", + "incompatiblePrimaryFieldTypeTitle": "El campo no es compatible", + "fieldIsAlreadyPrimaryDescription": "El nuevo campo primario elegido ya es el campo primario.", + "incompatiblePrimaryFieldTypeDescription": "El campo elegido no puede ser el campo primario porque es incompatible.", + "cannotCreateRowsInTableTitle": "No se pueden crear filas", + "cannotCreateRowsInTableDescription": "No es posible crear filas en esta tabla.", + "databaseDeadlockTitle": "Acción falló", + "databaseDeadlockDescription": "No se pudo completar la acción debido a múltiples operaciones conflictivas sobre los datos al mismo tiempo. Por favor, inténtalo de nuevo.", + "databaseUniquePrimaryPropertyNotFoundTitle": "No se encontró una propiedad primaria única", + "databaseUniquePrimaryPropertyNotFoundDescription": "Esto suele ocurrir si la fuente de sincronización de datos no contiene ninguna propiedad de la que obtener un valor de fila único. En el caso de una tabla, podría ser que no exista una clave primaria.", + "fieldConstraintTitle": "Violación de restricción de campo", + "fieldConstraintDescription": "No se puede aplicar la restricción.", + "fieldDataConstraintTitle": "Violación de restricción de datos del campo", + "fieldDataConstraintDescription": "No se pudo completar la operación debido a violaciones de restricciones existentes." + }, + "importerType": { + "csv": "Importar un archivo CSV", + "paste": "Pegar datos de la tabla", + "xml": "Importar un archivo XML", + "json": "Importar un archivo JSON" + }, + "apiDocs": { + "intro": "Introducción", + "authent": "Autenticación", + "table": "{name} tabla", + "filters": "Filtros", + "errors": "Errores HTTP", + "fields": "Campos", + "listFields": "Campos de lista", + "listRows": "Filas de lista", + "getRow": "obtener fila", + "createRow": "Crear fila", + "updateRow": "Actualizar fila", + "moveRow": "Mover fila", + "deleteRow": "Borrar fila", + "queryParameters": "Parámetros de consulta", + "pathParameters": "Parámetros de ruta", + "requestBodySchema": "Solicitar esquema de cuerpo", + "userFieldNamesDescription": "Cuando se proporciona cualquier valor para el parámetro GET `user_field_names`, los nombres de campo devueltos por este extremo serán los nombres reales de los campos.\n\nSi no se proporciona el parámetro GET `user_field_names`, todos los nombres de campo devueltos serán `field_` seguidos de la identificación del campo. Por ejemplo, `field_1` se refiere al campo con una identificación de `1`.", + "createRows": "Crear filas", + "updateRows": "Actualizar filas", + "deleteRows": "Borrar filas", + "batchRows": "Lote", + "singleRow": "Único", + "uploadFile": "Subir archivo", + "uploadFileDescription": "La multiparte `archivo` que contiene el contenido del archivo.", + "uploadFileViaUrl": "Subir el archivo a través de la URL", + "uploadFileViaUrlDescription": "Sube un archivo a Baserow descargándolo de la URL proporcionada.", + "fileUploads": "Carga de archivos", + "sendWebhookEventsDescription": "Un parámetro de consulta de bandera que activa los webhooks después de la operación, si se configura en `y`, `yes`, `true`, `t`, `on`, `1` o se deja vacío. El valor predeterminado es `true`", + "listTables": "Listar tablas", + "apiDocs": "Listar todas las tablas" + }, + "exporterType": { + "csv": "Exportar a CSV" + }, + "previewType": { + "imageBrowser": "Abierta en el navegador", + "videoBrowser": "Abierta en el navegador", + "AudioBrowser": "Abierta en el navegador", + "pdfBrowser": "Abierta en el navegador", + "googleDocs": "Abierto con Google Docs" + }, + "humanDateFormat": { + "dd/mm/yyyy": "dd/mm/aaaa", + "mm/dd/yyyy": "mm/dd/aaaa", + "yyyy-mm-dd": "aaaa-mm-dd" + }, + "formulaFunctions": { + "upperDescription": "Devuelve su argumento en mayúsculas.", + "lowerDescription": "Devuelve su argumento en minúsculas.", + "concatDescription": "Devuelve sus argumentos unidos como una sola pieza de texto.", + "addDescription": "Devuelve sus dos argumentos sumados.", + "minusDescription": "Devuelve sus dos argumentos restados.", + "multiplyDescription": "Devuelve sus dos argumentos multiplicados entre sí.", + "divideDescription": "Devuelve sus dos argumentos divididos, el primero dividido por el segundo.", + "equalDescription": "Devuelve si sus dos argumentos tienen el mismo valor.", + "ifDescription": "Si el primer argumento es verdadero, devuelve el segundo argumento; de lo contrario, devuelve el tercero.", + "toTextDescription": "Convierte la entrada en texto.", + "datetimeFormatDescription": "Convierte la fecha en texto dada una forma de formatear la fecha. Siempre está en UTC. Utilice `datetime_format_tz` para especificar una zona horaria.", + "toNumberDescription": "Convierte la entrada en un número si es posible.", + "fieldDescription": "Devuelve el campo nombrado por el argumento de texto único.", + "lookupDescription": "Busca los valores de un campo de otra tabla para las filas de un campo vinculado a la tabla. El primer argumento debe ser el nombre de un campo de enlace a tabla en la tabla actual y el segundo debe ser el nombre de un campo en la tabla enlazada.", + "isBlankDescription": "Devuelve verdadero si el argumento está vacío o no se usa; de lo contrario, devuelve falso.", + "tDescription": "Devuelve el valor de los argumentos si es texto, pero de lo contrario ''.", + "notDescription": "Devuelve falso si el argumento es verdadero y verdadero si el argumento es falso.", + "greaterThanDescription": "Devuelve verdadero si el primer argumento es mayor que el segundo; de lo contrario, devuelve falso.", + "greaterThanOrEqualDescription": "Devuelve verdadero si el primer argumento es mayor o igual que el segundo; de lo contrario, devuelve falso.", + "lessThanDescription": "Devuelve verdadero si el primer argumento es menor que el segundo, de lo contrario, es falso.", + "lessThanOrEqualDescription": "Devuelve verdadero si el primer argumento es menor o igual que el segundo; de lo contrario, devuelve falso.", + "toDateDescription": "Devuelve el primer argumento convertido en una fecha dada una cadena de formato de fecha como segundo argumento. Siempre está en UTC. Utilice `to_date_tz` para especificar una zona horaria.", + "dayDescription": "Devuelve el día del mes como un número entre 1 y 31 del argumento.", + "dateDiffDescription": "Dada una unidad de fecha para medir como primer argumento ('año', 'mes', 'semana', 'día', 'hora', 'minuto', 'segundos') calcula y devuelve el número de unidades del segundo argumento al tercero.", + "andDescription": "Devuelve el lógico del primer y segundo argumento, por lo que si ambos son verdaderos entonces el resultado es verdadero, de lo contrario es falso.", + "orDescription": "Devuelve el lógico del primer y segundo argumento, por lo que si cualquiera de los dos es verdadero, el resultado es verdadero; de lo contrario, es falso.", + "dateIntervalDescription": "Devuelve el intervalo de fechas correspondiente al argumento proporcionado.", + "replaceDescription": "Reemplaza todas las instancias del segundo argumento en el primer argumento con el tercer argumento.", + "searchDescription": "Devuelve un entero positivo a partir de 1 para la primera aparición del segundo argumento dentro del primero, o 0 si no se encuentra ninguna aparición.", + "rowIdDescription": "Devuelve el número de identificación único de las filas.", + "lengthDescription": "Devuelve el número de caracteres del primer argumento proporcionado.", + "reverseDescription": "Devuelve el texto invertido del primer argumento proporcionado.", + "notEqualDescription": "Devuelve si sus dos argumentos tienen valores diferentes.", + "countDescription": "Devuelve el número de elementos en su primer argumento.", + "containsDescription": "Devuelve verdadero si el primer fragmento de texto contiene al menos una vez el segundo.", + "leftDescription": "Extrae los caracteres más a la izquierda de la primera entrada, se detiene cuando ha extraído el número de caracteres especificado por la segunda entrada.", + "rightDescription": "Extrae los caracteres más a la derecha de la primera entrada, se detiene cuando ha extraído el número de caracteres especificado por la segunda entrada.", + "trimDescription": "Elimina todos los espacios en blanco de los lados izquierdo y derecho de la entrada.", + "regexReplaceDescription": "Reemplaza cualquier texto en la primera entrada que coincida con la expresión regular especificada por la segunda entrada con el texto en la tercera entrada. Devuelve ‘#ERROR!’ si el patrón de expresión regular es inválido.", + "greatestDescription": "Devuelve el mayor valor de las dos entradas.", + "leastDescription": "Devuelve la menor de las dos entradas.", + "monthDescription": "Devuelve el número de meses en la fecha proporcionada.", + "yearDescription": "Devuelve el número de años en la fecha proporcionada.", + "secondDescription": "Devuelve el número de segundos en la fecha proporcionada.", + "whenEmptyDescription": "Si se calcula que la primera entrada está vacía, se devolverá la segunda entrada; de lo contrario, si la primera entrada no está vacía, se devolverá la primera.", + "anyDescription": "Devuelve verdadero si alguno de los valores buscados proporcionados es verdadero, falso si todos son falsos.", + "everyDescription": "Devuelve verdadero si todos los valores buscados proporcionados son verdaderos; de lo contrario, devuelve falso.", + "maxDescription": "Devuelve el número más grande de todos los valores buscados proporcionados.", + "minDescription": "Devuelve el número más pequeño de todos los valores buscados proporcionados.", + "joinDescription": "Concatena todos los valores de la primera entrada usando los valores de la segunda entrada.", + "stddevPopDescription": "Calcula la desviación estándar de la población de los valores y devuelve el resultado. La desviación estándar de la población se debe utilizar cuando los valores proporcionados contienen un valor para cada dato de la población.", + "stddevSampleDescription": "Calcula la desviación estándar de la muestra de los valores y devuelve el resultado. La desviación de la muestra debe usarse cuando los valores proporcionados son solo para una muestra o subconjunto de valores para una población subyacente.", + "varianceSampleDescription": "Calcula la varianza muestral de los valores y devuelve el resultado. La varianza de la muestra debe usarse cuando los valores proporcionados son solo para una muestra o subconjunto de valores para una población subyacente.", + "variancePopDescription": "Calcula la varianza poblacional de los valores y devuelve el resultado. La varianza de la población debe utilizarse cuando los valores proporcionados contienen un valor para cada uno de los datos de la población.", + "avgDescription": "Promedia todos los valores y devuelve el resultado.", + "sumDescription": "Suma todos los valores y devuelve el resultado.", + "filterDescription": "Filtra una expresión que involucra una referencia de campo de búsqueda/vínculo o una llamada de función de búsqueda.", + "roundDescription": "Devuelve el primer argumento redondeado al número de dígitos especificado por el segundo argumento.", + "intDescription": "Devuelve sólo el primer argumento convertido en un entero truncando los decimales.", + "truncDescription": "Devuelve sólo el primer argumento convertido en un entero truncando los decimales.", + "linkDescription": "Crea un hipervínculo utilizando la URL proporcionada en el primer argumento.", + "buttonDescription": "Crea un botón utilizando la URL (primer argumento) y la etiqueta (segundo argumento).", + "getLinkLabelDescription": "Obtiene la etiqueta de una fórmula utilizando las funciones de enlace o botón.", + "getLinkUrlDescription": "Obtiene la URL de una fórmula utilizando las funciones de enlace o botón.", + "oddDescription": "Devuelve true si el argumento proporcionado es un número impar, false en caso contrario.", + "logDescription": "Función logaritmo: devuelve el exponente al que debe elevarse el primer argumento para obtener el segundo.", + "absDescription": "Devuelve el valor absoluto para el número de argumento proporcionado.", + "evenDescription": "Devuelve true si el argumento proporcionado es un número par, false en caso contrario.", + "modDescription": "Devuelve el resto de la división entre el primer argumento y el segundo argumento.", + "powerDescription": "Devuelve el resultado del primer argumento elevado al exponente del segundo argumento.", + "expDescription": "Devuelve el resultado de la constante e ≈ 2,718 elevado al número de argumento proporcionado.", + "lnDescription": "Función logaritmo natural: devuelve el exponente al que hay que elevar la constante e ≈ 2,718 para obtener el argumento.", + "signDescription": "Devuelve 1 si el argumento es un número positivo, -1 si el argumento es negativo, 0 en caso contrario.", + "sqrtDescription": "Devuelve la raíz cuadrada del argumento proporcionado.", + "ceilDescription": "Devuelve el número entero más pequeño que sea mayor o igual que el número de argumento proporcionado.", + "floorDescription": "Devuelve el entero más grande que es menor o igual que el número de argumento proporcionado.", + "isNanDescription": "Devuelve verdadero si el argumento es 'NaN', devuelve falso en caso contrario.", + "wheNanDescription": "Devuelve el primer argumento si no es 'NaN'. Devuelve el segundo argumento si el primer argumento es 'NaN'", + "isNullDescription": "Devuelve verdadero si el argumento es nulo, falso en caso contrario.", + "nowDescription": "Devuelve la fecha y hora actuales en utc.", + "todayDescription": "Devuelve la fecha actual en utc.", + "whenNanDescription": "Devuelve el primer argumento si no es 'NaN'. Devuelve el segundo argumento si el primer argumento es 'NaN'", + "toDateTzDescription": "Devuelve el primer argumento convertido en una fecha dada una cadena de formato de fecha como segundo argumento y la zona horaria proporcionada como tercer argumento.", + "datetimeFormatTzDescription": "Convierte la fecha en texto dada una forma de formatear la fecha en la zona horaria especificada.", + "getFileVisibleNameDescription": "Devuelve el nombre de archivo visible de un único archivo devuelto por la función index.", + "indexDescription": "Devuelve el archivo de un campo de archivo en la posición proporcionada por el segundo argumento.", + "getFileSizeDescription": "Devuelve el tamaño del archivo de un único archivo devuelto por la función de índice.", + "encodeUriComponentDescription": "Devuelve un componente de cadena URL codificado a partir del argumento proporcionado.", + "getImageWidthDescription": "Devuelve el ancho de la imagen de un único archivo devuelto por la función index.", + "getImageHeightDescription": "Devuelve la altura de la imagen de un único archivo devuelto por la función index.", + "splitPartDescription": "Extrae un segmento de una cadena delimitada basándose en un delimitador y un índice (indicador numérico que indica qué elemento de la cadena debe devolverse)", + "getFileCountDescription": "Devuelve el número de archivos en el campo de archivo referenciado", + "encodeUriDescription": "Devuelve una cadena URL codificada a partir del argumento proporcionado.", + "getIsImageDescription": "Devuelve si el archivo único devuelto por la función de índice es una imagen o no.", + "getFileMimeTypeDescription": "Devuelve el tipo mime de un único archivo devuelto por la función index.", + "hasOptionDescription": "Devuelve verdadero si el primer argumento es un campo de selección múltiple o una búsqueda en un campo de selección simple y el segundo argumento es una de las opciones.", + "secondsToDurationDescription": "Convierte el número de segundos proporcionado en una duración.", + "durationToSecondsDescription": "Convierte la duración proporcionada en el número de segundos correspondiente." + }, + "functionnalGridViewFieldLinkRow": { + "unnamed": "fila sin nombre {value}" + }, + "urlCheck": { + "invalidUrlEnvVarTitle": "{Nombre} inválido", + "invalidUrlEnvVarDescription": "La variable de entorno {name} se ha establecido en un valor no válido. El administrador de su sitio debe cambiar {name} por una URL válida que empiece por http:// o https:// y luego reiniciar Baserow para solucionar este error." + }, + "health": { + "description": "Estas comprobaciones muestran el estado actual de tu instalación Baserow.", + "title": "Chequeos de salud de Baserow" + }, + "emailTester": { + "invalidTargetEmail": "Correo electrónico inválido", + "title": "Comprobador de correo electrónico", + "targetEmailLabel": "Correo electrónico de destino", + "submit": "Enviar correo electrónico de prueba", + "success": "Correo electrónico de prueba enviado correctamente", + "configLink": "Ayuda para la configuración del correo electrónico" + }, + "fieldConstraint": { + "uniqueWithEmpty": "Único con campos vacíos" + }, + "fieldConstraintsSubform": { + "title": "Restricciones", + "description": "Define reglas que los valores del campo deben seguir.", + "addConstraint": "Añade restricción", + "noConstraintsAvailable": "No hay restricciones disponibles para este tipo de campo.", + "readonlyFieldMessage": "No se pueden aplicar restricciones a campos de solo lectura.", + "errorGenericData": "No se puede aplicar la restricción de campo debido a conflictos de datos existentes.", + "errorUniqueOrEmpty": "Algunos valores en este campo están duplicados. Elimina o edita los duplicados antes de aplicar esta restricción.", + "errorInvalidConstraint": "Esta restricción de campo no es compatible con este tipo de campo.", + "errorDoesNotSupportDefaultValue": "No se puede establecer esta restricción cuando el valor predeterminado está configurado.", + "noConstraintsCompatibleWithDefaultValue": "No se pueden aplicar restricciones cuando el valor predeterminado está habilitado." + }, + "fieldConstraintParametersText": { + "placeholder": "Introduce valor de restricción" + }, + "assistantMessageSources": { + "sources": "{count} fuente | {count} fuentes" + }, + "runtimeFormulaTypes": { + "lowerDescription": "Convierte el argumento a minúsculas.", + "capitalizeDescription": "Capitaliza la primera letra del argumento.", + "roundDescription": "Redondea el primer argumento al número de decimales especificado por el segundo argumento.", + "evenDescription": "Devuelve verdadero si el argumento es par, falso en caso contrario.", + "oddDescription": "Devuelve true si el argumento es impar, false en caso contrario.", + "dateTimeDescription": "Formatea el argumento de fecha y hora usando los argumentos de formato y zona horaria. Si la zona horaria se deja en blanco, se usará la zona horaria del navegador por defecto.", + "dayDescription": "Devuelve el día del argumento de fecha y hora.", + "monthDescription": "Devuelve el mes del argumento de fecha y hora.", + "yearDescription": "Devuelve el año del argumento de fecha y hora.", + "hourDescription": "Devuelve la hora del argumento de fecha y hora.", + "minuteDescription": "Devuelve el minuto del argumento de fecha y hora.", + "secondDescription": "Devuelve el segundo del argumento de fecha y hora.", + "todayDescription": "Devuelve la fecha actual.", + "getPropertyDescription": "Devuelve la propiedad del objeto.", + "randomIntDescription": "Devuelve un entero aleatorio del rango especificado por los argumentos.", + "randomFloatDescription": "Devuelve un número flotante aleatorio del rango especificado por los argumentos.", + "randomBoolDescription": "Devuelve un booleano aleatorio de true o false.", + "generateUUIDDescription": "Devuelve una cadena UUID4 aleatoria.", + "ifDescription": "Si el primer argumento es true, devuelve el segundo argumento; de lo contrario, devuelve el tercer argumento.", + "andDescription": "Devuelve true si todos los argumentos son true, de lo contrario devuelve false.", + "orDescription": "Devuelve true si algún argumento es true, de lo contrario devuelve false.", + "formulaTypeFormula": "Función | Funciones", + "formulaTypeOperator": "Operador | Operadores", + "formulaTypeData": "Datos", + "concatDescription": "Se concatenan los argumentos en un solo texto.", + "getDescription": "Devuelve el valor resuelto de una fórmula de Baserow.", + "addDescription": "Añade dos argumentos juntos.", + "minusDescription": "Resta el segundo argumento del primero.", + "multiplyDescription": "Multiplica los dos argumentos.", + "divideDescription": "Divide el primer argumento entre el segundo.", + "equalDescription": "Comprueba si ambos argumentos son iguales.", + "notEqualDescription": "Comprueba si ambos argumentos no son iguales.", + "greaterThanDescription": "Comprueba si el primer argumento es mayor que el segundo.", + "lessThanDescription": "Comprueba si el primer argumento es menor que el segundo.", + "greaterThanOrEqualDescription": "Comprueba si el primer argumento es mayor o igual que el segundo.", + "upperDescription": "Convierte el argumento a mayúsculas.", + "formulaTypeDataEmpty": "No hay datos disponibles", + "categoryText": "Texto", + "categoryNumber": "Número", + "categoryBoolean": "Booleano", + "categoryDate": "Fecha", + "categoryCondition": "Condición" + }, + "formulaInputContext": { + "useRegularInput": "Usa entrada regular", + "useAdvancedInput": "Usa entrada avanzada", + "useRegularInputModalTitle": "¿Cambiar a una entrada regular?", + "useAdvancedInputModalTitle": "¿Cambiar a una entrada avanzada?", + "modalMessage": "Cambiar a un modo de entrada diferente borrará la fórmula actual. ¿Estás seguro de que quieres continuar?" + }, + "nodeExplorer": { + "noResults": "No se encontraron resultados", + "resetSearch": "Restablecer búsqueda" } - }, - "clientHandler": { - "notFoundTitle": "{name} no encontrado.", - "notFoundDescription": "No se encontró el {name} seleccionado, tal vez ya se eliminó.", - "networkErrorTitle": "Error de red", - "networkErrorDescription": "No se pudo conectar con el servidor API.", - "tooManyRequestsTitle": "demasiadas solicitudes", - "tooManyRequestsDescription": "Estás enviando demasiadas solicitudes al servidor. Por favor, espere un momento.", - "notCompletedTitle": "Acción no completada.", - "notCompletedDescription": "No se pudo completar la acción porque se produjo un error desconocido.", - "userNotInWorkspaceTitle": "Acción no permitida.", - "userNotInWorkspaceDescription": "No se pudo completar la acción porque no es miembro del grupo relacionado.", - "invalidWorkspacePermissionsTitle": "Acción no permitida.", - "invalidWorkspacePermissionsDescription": "No se pudo completar la acción porque no tiene los permisos adecuados para el grupo relacionado.", - "tableDoesNotExistTitle": "La tabla no existe.", - "tableDoesNotExistDescription": "No se pudo completar la acción porque la tabla relacionada ya no existe.", - "rowDoesNotExistTitle": "La fila no existe.", - "rowDoesNotExistDescription": "No se pudo completar la acción porque la fila relacionada ya no existe.", - "fileSizeTooLargeTitle": "Fichero demasiado grande", - "fileSizeTooLargeDescription": "El archivo proporcionado es demasiado grande.", - "invalidFileTitle": "Archivo inválido", - "invalidFileDescription": "El archivo proporcionado no es un archivo válido.", - "fileUrlCouldNotBeReachedTitle": "URL invalida", - "fileUrlCouldNotBeReachedDescription": "No se pudo acceder a la URL del archivo proporcionado.", - "invalidFileUrlTitle": "URL invalida", - "invalidFileUrlDescription": "La URL del archivo proporcionada no es válida o no está permitida.", - "adminCannotDeactivateSelfTitle": "Acción no permitida.", - "adminCannotDeactivateSelfDescription": "No puede desactivar o eliminar el personal usted mismo.", - "adminCannotDeleteSelfTitle": "Acción no permitida.", - "adminCannotDeleteSelfDescription": "No puedes borrarte a ti mismo.", - "maxFieldCountExceededTitle": "No se pudo crear el campo.", - "maxFieldCountExceededDescription": "No se pudo completar la acción porque el número de campos supera el límite", - "cannotRestoreParentBeforeChildTitle": "Por favor restaure al parent primero.", - "cannotRestoreParentBeforeChildDescription": "No puede restaurar este elemento porque depende de un elemento eliminado. Primero restaure el elemento principal.", - "cannotRestoreAsRelatedTableTrashedTitle": "Primero restaure las tablas relacionadas.", - "cannotRestoreAsRelatedTableTrashedDescription": "No puede restaurar este campo porque depende de otras tablas que aún están en la papelera. Primero restaure las otras tablas relacionadas.", - "workspaceUserIsLastAdminTitle": "no puedo dejar el grupo", - "workspaceUserIsLastAdminDescription": "No es posible abandonar el grupo porque eres el último administrador. Elimine el grupo o otorgue permisos de administrador a otro usuario.", - "errorMaxJobCountExceededTitle": "No se pudo iniciar la acción.", - "errorMaxJobCountExceededDescription": "No puedes iniciar ninguna otra de estas acciones ya que tienes otras en ejecución en segundo plano. Por favor, inténtalo de nuevo una vez que las acciones anteriores se hayan completado.", - "failedToLockFieldDueToConflictTitle": "No se puede cambiar el campo", - "failedToLockFieldDueToConflictDescription": "Otra operación está actualizando o usando este campo, por favor espera hasta que termine antes de intentar de nuevo.", - "failedToLockTableDueToConflictTitle": "No se puede crear el campo", - "failedToLockTableDueToConflictDescription": "Otra operación está actualizando o usando esta tabla, por favor espera hasta que termine antes de intentar de nuevo.", - "failedToUndoRedoDueToConflictTitle": "No se puede deshacer/rehacer", - "failedToUndoRedoDueToConflictDescription": "Otra operación se está ejecutando actualmente bloqueando tu deshacer o rehacer, por favor espera hasta que termine antes de intentar de nuevo.", - "snapshotBeingCreatedTitle": "Ya se está creando una imagen", - "snapshotBeingCreatedDescription": "No es posible crear varias imágenes al mismo tiempo.", - "snapshotBeingRestoredTitle": "Se está restaurando la imagen", - "maximumSnapshotsReachedTitle": "Límite de imágenes alcanzado", - "maximumSnapshotsReachedDescription": "Se ha alcanzado el número máximo de instantáneas en un espacio de trabajo.", - "snapshotBeingRestoredDescription": "No es posible utilizar las imágenes que se están restaurando en ese momento.", - "snapshotBeingDeletedTitle": "La imagen se está borrando", - "snapshotNameNotUniqueTitle": "El nombre de la imagen debe ser único.", - "snapshotBeingDeletedDescription": "No es posible utilizar las imágenes que se están borrando.", - "snapshotNameNotUniqueDescription": "Todos los nombres de las imágenes tienen que ser únicos por aplicación.", - "snapshotOperationLimitExceededTitle": "Límite alcanzado", - "snapshotOperationLimitExceededDescription": "Se ha alcanzado el límite del número de operaciones de imagenes instantáneas en ejecución. Favor de esperar hasta que termine la operación anterior.", - "disabledPasswordProviderTitle": "La autentificación por contraseña está deshabilitada.", - "disabledPasswordProviderMessage": "Utiliza otro proveedor de autentificación.", - "lastAdminTitle": "No se puede eliminar el último administrador del espacio de trabajo", - "lastAdminMessage": "Un espacio de trabajo debe tener al menos un administrador.", - "maxLocksPerTransactionExceededTitle": "Problema detectado con PostgreSQL", - "maxLocksPerTransactionExceededDescription": "Baserow intentó eliminar permanentemente los elementos de la papelera, pero excedió los bloqueos disponibles especificados en `max_locks_per_transaction`.", - "notificationDoesNotExistTitle": "La notificación no existe.", - "notificationDoesNotExistDescription": "La acción no se ha podido completar porque lo relacionado ya no existe.", - "adminAlreadyExistsDescription": "Ese nombre de usuario no se puede utilizar porque ya existe.", - "adminAlreadyExistsTitle": "No se puede usar ese nombre de usuario", - "cannotCreateFieldTypeDescription": "El tipo de campo solicitado no puede crearse en este momento. Puede ser un problema temporal con tablas antiguas. Vuelve a intentarlo más tarde.", - "cannotCreateFieldTypeTitle": "No se puede crear el campo", - "generativeAIDoesNotExistTitle": "La IA generativa no existe", - "generativeAIDoesNotExistDescription": "El modelo de IA generativa no existe.", - "modelDoesNotBelongToTypeTitle": "El modelo seleccionado no pertenece al tipo AI", - "modelDoesNotBelongToTypeDescription": "El modelo seleccionado no pertenece al tipo de IA seleccionado.", - "outputParserTitle": "Resultado incorrecto", - "outputParserDescription": "El modelo respondió con una salida incorrecta. Por favor, inténtalo de nuevo.", - "generateAIPromptTitle": "Error de pregunta", - "generateAIPromptDescription": "Algo iba mal con el indicador construido.", - "maxNumberOfPendingWorkspaceInvitesReachedTitle": "Número máximo de invitaciones pendientes alcanzado", - "maxNumberOfPendingWorkspaceInvitesReachedDescription": "Has alcanzado el número máximo de invitaciones pendientes para este espacio de trabajo. Deja que los invitados acepten la invitación o cancela las existentes para continuar.", - "fieldIsAlreadyPrimaryTitle": "El campo ya es primario", - "incompatiblePrimaryFieldTypeTitle": "El campo no es compatible", - "fieldIsAlreadyPrimaryDescription": "El nuevo campo primario elegido ya es el campo primario.", - "incompatiblePrimaryFieldTypeDescription": "El campo elegido no puede ser el campo primario porque es incompatible.", - "cannotCreateRowsInTableTitle": "No se pueden crear filas", - "cannotCreateRowsInTableDescription": "No es posible crear filas en esta tabla." - }, - "importerType": { - "csv": "Importar un archivo CSV", - "paste": "Pegar datos de la tabla", - "xml": "Importar un archivo XML", - "json": "Importar un archivo JSON" - }, - "apiDocs": { - "intro": "Introducción", - "authent": "Autenticación", - "table": "{name} tabla", - "filters": "Filtros", - "errors": "Errores HTTP", - "fields": "Campos", - "listFields": "Campos de lista", - "listRows": "Filas de lista", - "getRow": "obtener fila", - "createRow": "Crear fila", - "updateRow": "Actualizar fila", - "moveRow": "Mover fila", - "deleteRow": "Borrar fila", - "queryParameters": "Parámetros de consulta", - "pathParameters": "Parámetros de ruta", - "requestBodySchema": "Solicitar esquema de cuerpo", - "userFieldNamesDescription": "Cuando se proporciona cualquier valor para el parámetro GET `user_field_names`, los nombres de campo devueltos por este extremo serán los nombres reales de los campos.\n\nSi no se proporciona el parámetro GET `user_field_names`, todos los nombres de campo devueltos serán `field_` seguidos de la identificación del campo. Por ejemplo, `field_1` se refiere al campo con una identificación de `1`.", - "createRows": "Crear filas", - "updateRows": "Actualizar filas", - "deleteRows": "Borrar filas", - "batchRows": "Lote", - "singleRow": "Único", - "uploadFile": "Subir archivo", - "uploadFileDescription": "La multiparte `archivo` que contiene el contenido del archivo.", - "uploadFileViaUrl": "Subir el archivo a través de la URL", - "uploadFileViaUrlDescription": "Sube un archivo a Baserow descargándolo de la URL proporcionada.", - "fileUploads": "Carga de archivos", - "sendWebhookEventsDescription": "Un parámetro de consulta de bandera que activa los webhooks después de la operación, si se configura en `y`, `yes`, `true`, `t`, `on`, `1` o se deja vacío. El valor predeterminado es `true`" - }, - "exporterType": { - "csv": "Exportar a CSV" - }, - "previewType": { - "imageBrowser": "Abierta en el navegador", - "videoBrowser": "Abierta en el navegador", - "AudioBrowser": "Abierta en el navegador", - "pdfBrowser": "Abierta en el navegador", - "googleDocs": "Abierto con Google Docs" - }, - "humanDateFormat": { - "dd/mm/yyyy": "dd/mm/aaaa", - "mm/dd/yyyy": "mm/dd/aaaa", - "yyyy-mm-dd": "aaaa-mm-dd" - }, - "formulaFunctions": { - "upperDescription": "Devuelve su argumento en mayúsculas.", - "lowerDescription": "Devuelve su argumento en minúsculas.", - "concatDescription": "Devuelve sus argumentos unidos como una sola pieza de texto.", - "addDescription": "Devuelve sus dos argumentos sumados.", - "minusDescription": "Devuelve sus dos argumentos restados.", - "multiplyDescription": "Devuelve sus dos argumentos multiplicados entre sí.", - "divideDescription": "Devuelve sus dos argumentos divididos, el primero dividido por el segundo.", - "equalDescription": "Devuelve si sus dos argumentos tienen el mismo valor.", - "ifDescription": "Si el primer argumento es verdadero, devuelve el segundo argumento; de lo contrario, devuelve el tercero.", - "toTextDescription": "Convierte la entrada en texto.", - "datetimeFormatDescription": "Convierte la fecha en texto dada una forma de formatear la fecha. Siempre está en UTC. Utilice `datetime_format_tz` para especificar una zona horaria.", - "toNumberDescription": "Convierte la entrada en un número si es posible.", - "fieldDescription": "Devuelve el campo nombrado por el argumento de texto único.", - "lookupDescription": "Busca los valores de un campo de otra tabla para las filas de un campo vinculado a la tabla. El primer argumento debe ser el nombre de un campo de enlace a tabla en la tabla actual y el segundo debe ser el nombre de un campo en la tabla enlazada.", - "isBlankDescription": "Devuelve verdadero si el argumento está vacío o no se usa; de lo contrario, devuelve falso.", - "tDescription": "Devuelve el valor de los argumentos si es texto, pero de lo contrario ''.", - "notDescription": "Devuelve falso si el argumento es verdadero y verdadero si el argumento es falso.", - "greaterThanDescription": "Devuelve verdadero si el primer argumento es mayor que el segundo; de lo contrario, devuelve falso.", - "greaterThanOrEqualDescription": "Devuelve verdadero si el primer argumento es mayor o igual que el segundo; de lo contrario, devuelve falso.", - "lessThanDescription": "Devuelve verdadero si el primer argumento es menor que el segundo, de lo contrario, es falso.", - "lessThanOrEqualDescription": "Devuelve verdadero si el primer argumento es menor o igual que el segundo; de lo contrario, devuelve falso.", - "toDateDescription": "Devuelve el primer argumento convertido en una fecha dada una cadena de formato de fecha como segundo argumento. Siempre está en UTC. Utilice `to_date_tz` para especificar una zona horaria.", - "dayDescription": "Devuelve el día del mes como un número entre 1 y 31 del argumento.", - "dateDiffDescription": "Dada una unidad de fecha para medir como primer argumento ('año', 'mes', 'semana', 'día', 'hora', 'minuto', 'segundos') calcula y devuelve el número de unidades del segundo argumento al tercero.", - "andDescription": "Devuelve el lógico del primer y segundo argumento, por lo que si ambos son verdaderos entonces el resultado es verdadero, de lo contrario es falso.", - "orDescription": "Devuelve el lógico del primer y segundo argumento, por lo que si cualquiera de los dos es verdadero, el resultado es verdadero; de lo contrario, es falso.", - "dateIntervalDescription": "Devuelve el intervalo de fechas correspondiente al argumento proporcionado.", - "replaceDescription": "Reemplaza todas las instancias del segundo argumento en el primer argumento con el tercer argumento.", - "searchDescription": "Devuelve un entero positivo a partir de 1 para la primera aparición del segundo argumento dentro del primero, o 0 si no se encuentra ninguna aparición.", - "rowIdDescription": "Devuelve el número de identificación único de las filas.", - "lengthDescription": "Devuelve el número de caracteres del primer argumento proporcionado.", - "reverseDescription": "Devuelve el texto invertido del primer argumento proporcionado.", - "notEqualDescription": "Devuelve si sus dos argumentos tienen valores diferentes.", - "countDescription": "Devuelve el número de elementos en su primer argumento.", - "containsDescription": "Devuelve verdadero si el primer fragmento de texto contiene al menos una vez el segundo.", - "leftDescription": "Extrae los caracteres más a la izquierda de la primera entrada, se detiene cuando ha extraído el número de caracteres especificado por la segunda entrada.", - "rightDescription": "Extrae los caracteres más a la derecha de la primera entrada, se detiene cuando ha extraído el número de caracteres especificado por la segunda entrada.", - "trimDescription": "Elimina todos los espacios en blanco de los lados izquierdo y derecho de la entrada.", - "regexReplaceDescription": "Reemplaza cualquier texto en la primera entrada que coincida con la expresión regular especificada por la segunda entrada con el texto en la tercera entrada.", - "greatestDescription": "Devuelve el mayor valor de las dos entradas.", - "leastDescription": "Devuelve la menor de las dos entradas.", - "monthDescription": "Devuelve el número de meses en la fecha proporcionada.", - "yearDescription": "Devuelve el número de años en la fecha proporcionada.", - "secondDescription": "Devuelve el número de segundos en la fecha proporcionada.", - "whenEmptyDescription": "Si se calcula que la primera entrada está vacía, se devolverá la segunda entrada; de lo contrario, si la primera entrada no está vacía, se devolverá la primera.", - "anyDescription": "Devuelve verdadero si alguno de los valores buscados proporcionados es verdadero, falso si todos son falsos.", - "everyDescription": "Devuelve verdadero si todos los valores buscados proporcionados son verdaderos; de lo contrario, devuelve falso.", - "maxDescription": "Devuelve el número más grande de todos los valores buscados proporcionados.", - "minDescription": "Devuelve el número más pequeño de todos los valores buscados proporcionados.", - "joinDescription": "Concatena todos los valores de la primera entrada usando los valores de la segunda entrada.", - "stddevPopDescription": "Calcula la desviación estándar de la población de los valores y devuelve el resultado. La desviación estándar de la población se debe utilizar cuando los valores proporcionados contienen un valor para cada dato de la población.", - "stddevSampleDescription": "Calcula la desviación estándar de la muestra de los valores y devuelve el resultado. La desviación de la muestra debe usarse cuando los valores proporcionados son solo para una muestra o subconjunto de valores para una población subyacente.", - "varianceSampleDescription": "Calcula la varianza muestral de los valores y devuelve el resultado. La varianza de la muestra debe usarse cuando los valores proporcionados son solo para una muestra o subconjunto de valores para una población subyacente.", - "variancePopDescription": "Calcula la varianza poblacional de los valores y devuelve el resultado. La varianza de la población debe utilizarse cuando los valores proporcionados contienen un valor para cada uno de los datos de la población.", - "avgDescription": "Promedia todos los valores y devuelve el resultado.", - "sumDescription": "Suma todos los valores y devuelve el resultado.", - "filterDescription": "Filtra una expresión que involucra una referencia de campo de búsqueda/vínculo o una llamada de función de búsqueda.", - "roundDescription": "Devuelve el primer argumento redondeado al número de dígitos especificado por el segundo argumento.", - "intDescription": "Devuelve sólo el primer argumento convertido en un entero truncando los decimales.", - "truncDescription": "Devuelve sólo el primer argumento convertido en un entero truncando los decimales.", - "linkDescription": "Crea un hipervínculo utilizando la URL proporcionada en el primer argumento.", - "buttonDescription": "Crea un botón utilizando la URL (primer argumento) y la etiqueta (segundo argumento).", - "getLinkLabelDescription": "Obtiene la etiqueta de una fórmula utilizando las funciones de enlace o botón.", - "getLinkUrlDescription": "Obtiene la URL de una fórmula utilizando las funciones de enlace o botón.", - "oddDescription": "Devuelve true si el argumento proporcionado es un número impar, false en caso contrario.", - "logDescription": "Función logaritmo: devuelve el exponente al que debe elevarse el primer argumento para obtener el segundo.", - "absDescription": "Devuelve el valor absoluto para el número de argumento proporcionado.", - "evenDescription": "Devuelve true si el argumento proporcionado es un número par, false en caso contrario.", - "modDescription": "Devuelve el resto de la división entre el primer argumento y el segundo argumento.", - "powerDescription": "Devuelve el resultado del primer argumento elevado al exponente del segundo argumento.", - "expDescription": "Devuelve el resultado de la constante e ≈ 2,718 elevado al número de argumento proporcionado.", - "lnDescription": "Función logaritmo natural: devuelve el exponente al que hay que elevar la constante e ≈ 2,718 para obtener el argumento.", - "signDescription": "Devuelve 1 si el argumento es un número positivo, -1 si el argumento es negativo, 0 en caso contrario.", - "sqrtDescription": "Devuelve la raíz cuadrada del argumento proporcionado.", - "ceilDescription": "Devuelve el número entero más pequeño que sea mayor o igual que el número de argumento proporcionado.", - "floorDescription": "Devuelve el entero más grande que es menor o igual que el número de argumento proporcionado.", - "isNanDescription": "Devuelve verdadero si el argumento es 'NaN', devuelve falso en caso contrario.", - "wheNanDescription": "Devuelve el primer argumento si no es 'NaN'. Devuelve el segundo argumento si el primer argumento es 'NaN'", - "isNullDescription": "Devuelve verdadero si el argumento es nulo, falso en caso contrario.", - "nowDescription": "Devuelve la fecha y hora actuales en utc.", - "todayDescription": "Devuelve la fecha actual en utc.", - "whenNanDescription": "Devuelve el primer argumento si no es 'NaN'. Devuelve el segundo argumento si el primer argumento es 'NaN'", - "toDateTzDescription": "Devuelve el primer argumento convertido en una fecha dada una cadena de formato de fecha como segundo argumento y la zona horaria proporcionada como tercer argumento.", - "datetimeFormatTzDescription": "Convierte la fecha en texto dada una forma de formatear la fecha en la zona horaria especificada.", - "getFileVisibleNameDescription": "Devuelve el nombre de archivo visible de un único archivo devuelto por la función index.", - "indexDescription": "Devuelve el archivo de un campo de archivo en la posición proporcionada por el segundo argumento.", - "getFileSizeDescription": "Devuelve el tamaño del archivo de un único archivo devuelto por la función de índice.", - "encodeUriComponentDescription": "Devuelve un componente de cadena URL codificado a partir del argumento proporcionado.", - "getImageWidthDescription": "Devuelve el ancho de la imagen de un único archivo devuelto por la función index.", - "getImageHeightDescription": "Devuelve la altura de la imagen de un único archivo devuelto por la función index.", - "splitPartDescription": "Extrae un segmento de una cadena delimitada basándose en un delimitador y un índice (indicador numérico que indica qué elemento de la cadena debe devolverse)", - "getFileCountDescription": "Devuelve el número de archivos en el campo de archivo referenciado", - "encodeUriDescription": "Devuelve una cadena URL codificada a partir del argumento proporcionado.", - "getIsImageDescription": "Devuelve si el archivo único devuelto por la función de índice es una imagen o no.", - "getFileMimeTypeDescription": "Devuelve el tipo mime de un único archivo devuelto por la función index.", - "hasOptionDescription": "Devuelve verdadero si el primer argumento es un campo de selección múltiple o una búsqueda en un campo de selección simple y el segundo argumento es una de las opciones.", - "secondsToDurationDescription": "Convierte el número de segundos proporcionado en una duración.", - "durationToSecondsDescription": "Convierte la duración proporcionada en el número de segundos correspondiente." - }, - "functionnalGridViewFieldLinkRow": { - "unnamed": "fila sin nombre {value}" - }, - "urlCheck": { - "invalidUrlEnvVarTitle": "{Nombre} inválido", - "invalidUrlEnvVarDescription": "La variable de entorno {name} se ha establecido en un valor no válido. El administrador de su sitio debe cambiar {name} por una URL válida que empiece por http:// o https:// y luego reiniciar Baserow para solucionar este error." - }, - "health": { - "description": "Estas comprobaciones muestran el estado actual de tu instalación Baserow.", - "title": "Chequeos de salud de Baserow" - }, - "emailTester": { - "invalidTargetEmail": "Correo electrónico inválido", - "title": "Comprobador de correo electrónico", - "targetEmailLabel": "Correo electrónico de destino", - "submit": "Enviar correo electrónico de prueba", - "success": "Correo electrónico de prueba enviado correctamente", - "configLink": "Ayuda para la configuración del correo electrónico" - } } diff --git a/web-frontend/locales/fr.json b/web-frontend/locales/fr.json index 77e5e0161d..9b48fa8d2c 100644 --- a/web-frontend/locales/fr.json +++ b/web-frontend/locales/fr.json @@ -145,7 +145,7 @@ "email": "Courriel", "file": "Fichier", "singleSelect": "Liste déroulante", - "multipleSelect": "Selection multiple", + "multipleSelect": "Sélection multiple", "phoneNumber": "Téléphone", "formula": "Formule", "lookup": "Champ rapporté", diff --git a/web-frontend/locales/it.json b/web-frontend/locales/it.json index 450a5b922b..f6d4006ac1 100644 --- a/web-frontend/locales/it.json +++ b/web-frontend/locales/it.json @@ -15,7 +15,17 @@ "enabled": "Abilitato", "disabled": "Disabilitato", "or": "o", - "and": "e" + "and": "e", + "alpha": "Alpha", + "optional": "Opzionale", + "monday": "Lunedì", + "tuesday": "Martedì", + "wednesday": "Mercoledì", + "thursday": "Giovedì", + "friday": "Venerdì", + "saturday": "Sabato", + "sunday": "Domenica", + "value": "valore" }, "action": { "upload": "Carica", @@ -76,14 +86,18 @@ "automationDesc": "Automatizza task ripetitivi e flussi di lavoro.", "automation": "Automazione", "automations": "Automazioni", - "automationDefaultName": "Automazione senza titolo" + "automationDefaultName": "Automazione senza titolo", + "cantSelectAutomationWorkflowTitle": "Non è possibile scegliere l'automazione", + "cantSelectAutomationWorkflowDescription": "L'automazione non può essere scelta perché non ha alcun workflow. Usa la barra laterale per crearne una." }, "settingType": { "account": "Account", "password": "Password", "tokens": "Database Token", "deleteAccount": "Elimina account", - "emailNotifications": "Notifiche email" + "emailNotifications": "Notifiche email", + "mcpEndpoint": "Server MCP", + "twoFactorAuth": "Autenticazione 2 Fattori" }, "userFileUploadType": { "file": "il mio dispositivo", @@ -108,7 +122,8 @@ "invalidURL": "Inserisci un URL valido.", "alreadyInUse": "Questo campo è già in uso", "invalidCharacters": "Questo campo contiene caratteri non validi.", - "decimalField": "Il campo deve essere un decimale." + "decimalField": "Il campo deve essere un decimale.", + "copyFailed": "Operazione di Copia fallita. Per favore riprova." }, "permission": { "admin": "Admin", @@ -291,7 +306,9 @@ "hasNotDateBefore": "non ha una data precedente", "hasNotDateOnOrAfter": "non ha una data uguale o successiva", "hasDateWithin": "ha una data entro", - "hasNotDateWithin": "non ha una data entro" + "hasNotDateWithin": "non ha una data entro", + "hasAnyOf": "contiene uno tra", + "hasNotAnyOf": "non contiene alcuno di" }, "viewType": { "grid": "Griglia", @@ -312,7 +329,9 @@ "field": "campo", "row": "riga", "view": "vista", - "rows": "righe" + "rows": "righe", + "automation_workflow": "workflow di automazione", + "automation_node": "nodo automazione" }, "webhook": { "request": "Richiesta", @@ -426,7 +445,15 @@ "cannotCreateRowsInTableDescription": "Non è possible creare righe in questa tabella", "fieldIsAlreadyPrimaryDescription": "Il campo è già il campo primario.", "incompatiblePrimaryFieldTypeTitle": "Il campo non è compatibile", - "incompatiblePrimaryFieldTypeDescription": "Questo campo non può essere impostato come campo primario." + "incompatiblePrimaryFieldTypeDescription": "Questo campo non può essere impostato come campo primario.", + "databaseDeadlockTitle": "Azione fallita", + "databaseDeadlockDescription": "L'azione non può essere conclusa a causa di molteplici operazioni sui dati in conflitto tra loro nello stesso momento. Per favore riprova.", + "databaseUniquePrimaryPropertyNotFoundTitle": "Nessuna proprietà primaria univoca trovata", + "databaseUniquePrimaryPropertyNotFoundDescription": "Questo accade in genere se la sorgente di sincronizzazione dei dati non contiene alcuna proprietà da cui ottenere un valore di riga univoco. Nel caso di una tabella, potrebbe essere che non ci sia una chiave primaria.", + "fieldConstraintTitle": "Violazione del vincolo di campo", + "fieldConstraintDescription": "Impossibile applicare la limitazione.", + "fieldDataConstraintTitle": "Violazione della limitazione dei dati di campo", + "fieldDataConstraintDescription": "Impossibile completare l'operazione a causa della violazione delle limitazini esistenti." }, "importerType": { "csv": "Importa un file CSV", @@ -461,7 +488,10 @@ "uploadFileDescription": "Il `file` multipart con il contenuto del file.", "uploadFileViaUrl": "Carica un file tramite URL", "uploadFileViaUrlDescription": "Carica un file su Baserow fornendo un URL.", - "fileUploads": "Carica file" + "fileUploads": "Carica file", + "listTables": "Elenco tabelle", + "sendWebhookEventsDescription": "Parametro di query flag che attiva i webhook dopo l'operazione, se impostato su `y`, `yes`, `true`, `t`, `on`, `1` o lasciato vuoto. Il valore predefinito è `true`", + "apiDocs": "Elenca tutte le tabelle" }, "exporterType": { "csv": "Esporta in CSV" @@ -595,5 +625,33 @@ "health": { "description": "Questi controlli mostrano l'attuale stato di salute della tua istanza di Baserow.", "title": "Controlli di stato di servizio in Baserow" + }, + "fieldConstraintsSubform": { + "description": "Definisci le regole che i valori del campo devono seguire.", + "addConstraint": "Aggiungi limitazione", + "noConstraintsAvailable": "Nessuna limitazione disponibile per questo tipo di campo.", + "readonlyFieldMessage": "Le limitazioni non possono essere applicate a campi di sola lettura.", + "errorGenericData": "Non è possibile applicare limitazioni al campo a causa di conflitti tra i dati.", + "errorUniqueOrEmpty": "Alcuni valori in questo campo sono duplicati. Rimuovi o modifica i duplicati prima di applicare questa limitazione.", + "errorInvalidConstraint": "Questa limitazione di campo non è supportata per questo tipo di campo.", + "errorDoesNotSupportDefaultValue": "Non è possibile impostare questa limitazione quando è impostato il valore di default.", + "noConstraintsCompatibleWithDefaultValue": "Nessuna limitazione è compatibile quando un valore di default è abilitato." + }, + "fieldConstraintParametersText": { + "placeholder": "Inserisci il valore della limitazione" + }, + "fieldConstraint": { + "uniqueWithEmpty": "Chiave univoca comprensiva dei valori vuoti" + }, + "assistantMessageSources": { + "sources": "{count} sorgente | {count} sorgenti" + }, + "runtimeFormulaTypes": { + "concatDescription": "Argomenti uniti come testo singolo.", + "getDescription": "Restituisce il valore ottenuto da una formula Baserow.", + "addDescription": "Somma due argomenti.", + "minusDescription": "Sottrae il secondo argomento dal primo.", + "multiplyDescription": "Moltiplica i due argomenti.", + "capitalizeDescription": "Rende maiuscola la prima lettera dell'argomento." } } diff --git a/web-frontend/locales/ko.json b/web-frontend/locales/ko.json index e13b7202ae..c0a0a6a2f1 100644 --- a/web-frontend/locales/ko.json +++ b/web-frontend/locales/ko.json @@ -688,9 +688,9 @@ "formulaInputContext": { "useRegularInput": "일반적인 입력을 사용", "useAdvancedInput": "고급 입력 사용", - "useRegularInputModalTitle": "일반 입력으로 전환하시겠습니까?", - "useAdvancedInputModalTitle": "고급 입력으로 전환하시겠습니까?", - "modalMessage": "다른 입력 모드로 전환하면 현재 수식이 삭제됩니다. 계속하시겠습니까?" + "useRegularInputModalTitle": "일반 입력 방식으로 전환하시겠습니까?", + "useAdvancedInputModalTitle": "고급 입력 방식으로 전환하시겠습니까?", + "modalMessage": "다른 입력 모드로 전환하면 현재 수식이 지워집니다. 계속하시겠습니까?" }, "nodeExplorer": { "noResults": "검색 결과가 없습니다", diff --git a/web-frontend/locales/uk.json b/web-frontend/locales/uk.json index bad99f3c35..569aca8be5 100644 --- a/web-frontend/locales/uk.json +++ b/web-frontend/locales/uk.json @@ -1,403 +1,700 @@ { "common": { - "yes": "", - "no": "", - "wrong": "", - "none": "", - "free": "" + "yes": "так", + "no": "ні", + "wrong": "Щось пішло не так", + "none": "Немає", + "free": "Безкоштовно", + "comingSoon": "Незабаром...", + "billable": "Платне", + "all": "Усі", + "beta": "Бета", + "alpha": "Альфа", + "summarize": "Підсумувати", + "enabled": "Увімкнено", + "disabled": "Вимкнено", + "optional": "Необов'язково", + "or": "або", + "and": "та", + "monday": "Понеділок", + "tuesday": "Вівторок", + "wednesday": "Середа", + "thursday": "Четвер", + "friday": "П'ятниця", + "saturday": "Субота", + "sunday": "Неділя", + "value": "значення" }, "action": { - "upload": "", - "back": "", - "backToLogin": "", - "signUp": "", - "signIn": "", - "login": "", - "createNew": "", - "create": "", - "edit": "", - "change": "", - "delete": "", - "rename": "", - "remove": "", - "duplicate": "", - "add": "", - "makeChoice": "", - "cancel": "", - "save": "", - "retry": "", - "search": "", - "copy": "", - "paste": "", - "activate": "", - "deactivate": "", - "download": "" + "upload": "Завантажити", + "back": "Назад", + "backToLogin": "Повернутися до входу", + "signUp": "Зареєструватися", + "signIn": "Увійти", + "login": "Вхід", + "createNew": "Додати новий", + "create": "Створити", + "edit": "Редагувати", + "change": "Змінити", + "delete": "Видалити", + "rename": "Перейменувати", + "remove": "Видалити", + "duplicate": "Дублювати", + "add": "Додати", + "makeChoice": "Зробити вибір", + "cancel": "Скасувати", + "save": "Зберегти", + "retry": "Повторити", + "search": "Пошук", + "copy": "Копіювати", + "paste": "Вставити", + "activate": "Активувати", + "deactivate": "Деактивувати", + "download": "Завантажити", + "close": "Закрити", + "backToHome": "Повернутися на головну", + "getStarted": "Розпочати", + "logout": "Вийти", + "set": "Встановити", + "copyToClipboard": "Скопіювати в буфер обміну", + "reset": "Скинути", + "hide": "Приховати" }, "adminType": { - "settings": "" + "settings": "Налаштування", + "health": "Стан системи" }, "applicationType": { - "database": "", - "databaseDefaultName": "", - "builder": "", - "builderDefaultName": "", - "cantSelectTableTitle": "", - "cantSelectTableDescription": "", - "cantSelectPageTitle": "", - "cantSelectPageDescription": "" + "database": "База даних", + "databaseDefaultName": "База даних без назви", + "builder": "Застосунок", + "builderDefaultName": "Застосунок без назви", + "cantSelectTableTitle": "Не вдалося вибрати базу даних.", + "cantSelectTableDescription": "Не вдалося вибрати базу даних, оскільки вона не містить таблиць. Використовуйте бічну панель, щоб створити таблицю.", + "cantSelectPageTitle": "Не вдалося вибрати застосунок.", + "cantSelectPageDescription": "Не вдалося вибрати конструктор застосунків, оскільки він не має сторінок. Використовуйте бічну панель, щоб створити сторінку.", + "databases": "Бази даних", + "databaseDesc": "Створіть організовану колекцію структурованих даних.", + "builders": "Застосунки", + "builderDesc": "Легко створюйте вебсайти, веб-застосунки та портали без коду.", + "dashboard": "Дашборд", + "dashboards": "Дашборди", + "dashboardDefaultName": "Дашборд без назви", + "dashboardDesc": "Візуалізуйте дані та метрики за допомогою діаграм, таблиць або графіків.", + "automation": "Автоматизація", + "automations": "Автоматизації", + "automationDesc": "Автоматизуйте повторювані завдання та робочі процеси.", + "automationDefaultName": "Автоматизація без назви", + "cantSelectAutomationWorkflowTitle": "Не вдалося вибрати автоматизацію.", + "cantSelectAutomationWorkflowDescription": "Не вдалося вибрати автоматизацію, оскільки вона не має робочих процесів. Використовуйте бічну панель, щоб створити один." }, "settingType": { - "account": "", - "password": "", - "tokens": "", - "deleteAccount": "" + "account": "Обліковий запис", + "password": "Пароль", + "tokens": "Токени бази даних", + "deleteAccount": "Видалити обліковий запис", + "emailNotifications": "Сповіщення електронною поштою", + "mcpEndpoint": "MCP сервер", + "twoFactorAuth": "Двофакторна автентифікація" }, "userFileUploadType": { - "file": "", - "url": "" + "file": "мій пристрій", + "url": "URL-адреса" }, "field": { - "emailAddress": "" + "emailAddress": "Адреса електронної пошти" }, "error": { - "invalidEmail": "", - "notMatchingPassword": "", - "minLength": "", - "maxLength": "", - "minMaxLength": "", - "requiredField": "" + "invalidEmail": "Будь ласка, введіть дійсну адресу електронної пошти.", + "notMatchingPassword": "Це поле має збігатися з полем пароля.", + "minLength": "Тут потрібно мінімум {min} символів.", + "maxLength": "Тут дозволено максимум {max} символів.", + "minMaxLength": "Тут дозволено від {min} до {max} символів.", + "requiredField": "Це поле є обов'язковим.", + "invalidNumber": "Поле має бути числом.", + "invalidCharacters": "Це поле містить недійсні символи.", + "integerField": "Поле має бути цілим числом.", + "decimalField": "Поле має бути десятковим числом.", + "minValueField": "Значення поля має бути більшим або дорівнювати {min}.", + "maxValueField": "Значення поля має бути меншим або дорівнювати {max}.", + "minMaxValueField": "Значення поля має бути між {min} та {max}.", + "invalidURL": "Будь ласка, введіть дійсну URL-адресу.", + "email": "Поле має бути адресою електронної пошти.", + "alreadyInUse": "Ця назва поля вже використовується.", + "copyFailed": "Не вдалося скопіювати в буфер обміну. Спробуйте ще раз." }, "permission": { - "admin": "", - "adminDescription": "", - "member": "", - "memberDescription": "" + "admin": "Адміністратор", + "adminDescription": "Може повністю налаштовувати та редагувати робочі простори та застосунки.", + "member": "Учасник", + "memberDescription": "Може повністю налаштовувати та редагувати застосунки." }, "fieldType": { - "singleLineText": "", - "longText": "", - "linkToTable": "", - "number": "", - "rating": "", - "boolean": "", - "date": "", - "lastModified": "", - "createdOn": "", - "url": "", - "email": "", - "file": "", - "singleSelect": "", - "multipleSelect": "", - "phoneNumber": "", - "formula": "", - "lookup": "", - "multipleCollaborators": "" + "singleLineText": "Однорядковий текст", + "longText": "Довгий текст", + "linkToTable": "Посилання на таблицю", + "number": "Число", + "rating": "Рейтинг", + "boolean": "Логічне значення", + "date": "Дата", + "lastModified": "Остання зміна", + "createdOn": "Створено", + "url": "URL-адреса", + "email": "Електронна пошта", + "file": "Файл", + "singleSelect": "Одиночний вибір", + "multipleSelect": "Множинний вибір", + "phoneNumber": "Номер телефону", + "formula": "Формула", + "lookup": "Пошук", + "multipleCollaborators": "Співавтори", + "lastModifiedBy": "Останню зміну вніс", + "createdBy": "Автор", + "duration": "Тривалість", + "count": "Підрахунок", + "rollup": "Зведення", + "defaultFormViewComponent": "За замовчуванням", + "linkRowSingle": "Одиночний", + "linkRowMultiple": "Множинний", + "uuid": "UUID", + "multipleSelectDropdown": "Випадаючий список", + "multipleSelectCheckboxes": "Прапорці", + "singleSelectDropdown": "Випадаючий список", + "singleSelectRadios": "Перемикачі", + "autonumber": "Автонумерація", + "password": "Пароль", + "ai": "ШІ-запит", + "multipleCollaboratorsDropdown": "Випадаючий список", + "multipleCollaboratorsCheckboxes": "Прапорці" }, "fieldErrors": { - "invalidNumber": "", - "maxDigits": "", - "invalidUrl": "", - "max254Chars": "", - "invalidEmail": "", - "invalidPhoneNumber": "" + "invalidNumber": "Недійсне число", + "maxDigits": "Максимум {max} цифр дозволено.", + "invalidUrl": "Недійсна URL-адреса", + "max254Chars": "Максимум 254 символи", + "invalidEmail": "Недійсна електронна пошта", + "invalidPhoneNumber": "Недійсний номер телефону", + "invalidDuration": "Недійсний формат ({durationFormat}).", + "overflowDuration": "Значення виходить за межі.", + "maxChars": "Максимум {max} символів.", + "minChars": "Мінімум {min} символів." }, "fieldDocs": { - "readOnly": "", - "text": "", - "longText": "", - "linkRow": "", - "number": "", - "numberPositive": "", - "decimal": "", - "decimalPositive": "", - "rating": "", - "boolean": "", - "date": "", - "dateTime": "", - "dateResponse": "", - "dateTimeResponse": "", - "lastModifiedReadOnly": "", - "createdOnReadOnly": "", - "url": "", - "email": "", - "file": "", - "singleSelect": "", - "multipleSelect": "", - "phoneNumber": "", - "formula": "", - "lookup": "", - "multipleCollaborators": "" + "readOnly": "Це поле лише для читання.", + "text": "Приймає однорядковий текст.", + "longText": "Приймає багаторядковий текст. Якщо увімкнено форматування збагаченого тексту, ви можете використовувати markdown для форматування тексту.", + "linkRow": "Приймає масив, що містить ідентифікатори або текстові значення основного поля пов'язаних рядків з таблиці id {table}. Усі ідентифікатори повинні надаватися щоразу при оновленні зв'язків. Якщо надано порожній масив, усі зв'язки будуть видалені. У випадку текстового значення замість ідентифікатора буде здійснено пошук рядка з відповідним значенням основного поля. Якщо знайдено більше одного збігу, вибирається перший у порядку таблиці. Ви можете надіслати рядок з іменами, розділеними комою, у цьому випадку рядок перетворюється на масив імен рядків. Ви також можете надіслати лише один ID рядка.", + "number": "Приймає число.", + "numberPositive": "Приймає додатне число.", + "decimal": "Приймає десяткове число з {places} знаками після коми.", + "decimalPositive": "Приймає додатне десяткове число з {places} знаками після коми.", + "rating": "Приймає число.", + "boolean": "Приймає логічне значення.", + "date": "Приймає дату та час у форматі ISO.", + "dateTime": "Приймає дату у форматі ISO.", + "dateResponse": "Відповідь буде датою та часом у форматі ISO.", + "dateTimeResponse": "Відповідь буде датою у форматі ISO.", + "lastModifiedReadOnly": "Поле останньої зміни є полем лише для читання.", + "createdOnReadOnly": "Поле дати створення є полем лише для читання.", + "url": "Приймає рядок, який має бути URL-адресою.", + "email": "Приймає рядок, який має бути адресою електронної пошти.", + "file": "Приймає масив об'єктів, що містять принаймні ім'я файлу користувача. Як альтернативу, ви можете надати список імен файлів через кому або масив імен файлів. Ви можете використовувати кінцеві точки \"Завантаження файлів\" для завантаження файлу. Відповідь цих викликів можна надати безпосередньо як об'єкт тут. Кінцеві точки можна знайти на лівій бічній панелі.", + "singleSelect": "Приймає ціле число або текстове значення, що представляє id вибраного параметра або значення параметра. Значення null означає, що нічого не вибрано. У випадку текстового значення вибирається перший відповідний параметр.", + "multipleSelect": "Приймає масив змішаних цілих чисел або текстових значень, кожне з яких представляє id або значення вибраного параметра. У випадку текстового значення вибирається перший відповідний параметр. Ви можете надіслати рядок з іменами, розділеними комою, як значення, у цьому випадку рядок перетворюється на масив імен параметрів.", + "phoneNumber": "Приймає номер телефону максимальною довжиною 100 символів, що складається лише з цифр, пробілів та наступних символів: Nx,._+*()#=;/- .", + "formula": "Поле лише для читання, визначене формулою, написаною мовою формул Baserow.", + "lookup": "Поле лише для читання, пов'язане з полем посилання на таблицю, яке повертає масив значень та id рядків з обраного поля пошуку в пов'язаній таблиці.", + "multipleCollaborators": "Приймає масив об'єктів, де кожен об'єкт містить id користувача.", + "lastModifiedBy": "Поле автора останньої зміни є полем лише для читання.", + "createdBy": "Поле автора є полем лише для читання, що показує користувача, який створив рядок.", + "duration": "Приймає тривалість як рядок у форматі {format} або як число, що представляє загальну кількість секунд.", + "count": "Поле лише для читання, пов'язане з полем посилання на таблицю, яке повертає кількість зв'язків.", + "rollup": "Поле лише для читання, пов'язане з полем посилання на таблицю, яке зводить значення з обраного поля пошуку в пов'язаній таблиці.", + "uuid": "Унікальний та постійний uuid лише для читання.", + "autonumber": "Поле лише для читання, яке автоматично збільшує число для кожного нового рядка.", + "password": "Поле лише для запису, що зберігає хешований пароль. Значення буде `null`, якщо не встановлено, або `true`, якщо встановлено. Приймає рядок для встановлення." }, "viewFilter": { - "contains": "", - "containsNot": "", - "containsWord": "", - "doesntContainWord": "", - "filenameContains": "", - "has": "", - "hasNot": "", - "higherThan": "", - "is": "", - "isNot": "", - "isEmpty": "", - "isNotEmpty": "", - "isDate": "", - "isDayOfMonth": "", - "isBeforeDate": "", - "isAfterDate": "", - "isNotDate": "", - "isToday": "", - "beforeToday": "", - "afterToday": "", - "isDaysAgo": "", - "isMonthsAgo": "", - "isYearsAgo": "", - "inThisWeek": "", - "inThisMonth": "", - "inThisYear": "", - "lowerThan": "", - "lengthIsLowerThan": "", - "hasFileType": "" + "contains": "містить", + "containsNot": "не містить", + "containsWord": "містить слово", + "doesntContainWord": "не містить слово", + "filenameContains": "ім'я файлу містить", + "has": "має", + "hasNot": "не має", + "higherThan": "більше ніж", + "is": "є", + "isNot": "не є", + "isEmpty": "порожнє", + "isNotEmpty": "не порожнє", + "isDate": "є датою", + "isDayOfMonth": "день місяця є", + "isBeforeDate": "до дати", + "isAfterDate": "після дати", + "isNotDate": "не є датою", + "isToday": "є сьогодні", + "beforeToday": "до сьогодні", + "afterToday": "після сьогодні", + "isDaysAgo": "днів тому", + "isMonthsAgo": "місяців тому", + "isYearsAgo": "років тому", + "inThisWeek": "на цьому тижні", + "inThisMonth": "у цьому місяці", + "inThisYear": "у цьому році", + "lowerThan": "менше ніж", + "lengthIsLowerThan": "довжина менше ніж", + "hasFileType": "має тип файлу", + "hasEmptyValue": "має порожнє значення", + "hasNotEmptyValue": "не має порожнього значення", + "hasValueEqual": "має значення рівне", + "hasNotValueEqual": "не має значення рівного", + "hasValueContains": "має значення, що містить", + "hasNotValueContains": "не має значення, що містить", + "hasValueContainsWord": "має значення, що містить слово", + "hasNotValueContainsWord": "не має значення, що містить слово", + "hasValueLengthIsLowerThan": "має довжину значення меншу ніж", + "hasAnySelectOptionEqual": "має будь-який варіант вибору рівний", + "hasNoneSelectOptionEqual": "не має варіанту вибору рівного", + "hasAnyOf": "має будь-який з", + "hasNotAnyOf": "не має жодного з", + "higherThanOrEqual": "більше або дорівнює", + "isBeforeOrEqualDate": "до або в дату", + "isAfterOrEqualDate": "після або в дату", + "isAfterDaysAgo": "після днів тому", + "isWithinDays": "протягом днів", + "isWithinWeeks": "протягом тижнів", + "isWithinMonths": "протягом місяців", + "lowerThanOrEqual": "менше або дорівнює", + "isEvenAndWhole": "парне та ціле", + "filesLowerThan": "файлів менше ніж", + "isAnyOf": "є одним з", + "isNoneOf": "не є жодним з", + "today": "сьогодні", + "yesterday": "вчора", + "tomorrow": "завтра", + "thisWeek": "цього тижня", + "oneWeekAgo": "тиждень тому", + "nextWeek": "наступного тижня", + "thisMonth": "цього місяця", + "oneMonthAgo": "місяць тому", + "nextMonth": "наступного місяця", + "thisYear": "цього року", + "oneYearAgo": "рік тому", + "nextYear": "наступного року", + "nrDaysAgo": "днів тому", + "nrWeeksAgo": "тижнів тому", + "nrMonthsAgo": "місяців тому", + "nrYearsAgo": "років тому", + "nrDaysFromNow": "днів від зараз", + "nrWeeksFromNow": "тижнів від зараз", + "nrMonthsFromNow": "місяців від зараз", + "nrYearsFromNow": "років від зараз", + "exactDate": "точна дата", + "isBefore": "до", + "isAfter": "після", + "isOnOrBefore": "в або до", + "isOnOrAfter": "в або після", + "isWithin": "протягом", + "hasDateEqual": "має дату рівну", + "hasNotDateEqual": "не має дати рівної", + "hasDateBefore": "має дату до", + "hasNotDateBefore": "не має дати до", + "hasDateOnOrBefore": "має дату в або до", + "hasNotDateOnOrBefore": "не має дати в або до", + "hasDateAfter": "має дату після", + "hasNotDateAfter": "не має дати після", + "hasDateOnOrAfter": "має дату в або після", + "hasNotDateOnOrAfter": "не має дати в або після", + "hasDateWithin": "має дату протягом", + "hasNotDateWithin": "не має дати протягом" }, "viewType": { - "grid": "", - "gallery": "", - "form": "", + "grid": "Сітка", + "gallery": "Галерея", + "form": "Форма", "sharing": { - "linkName": "", - "formLinkName": "" + "linkName": "перегляд", + "formLinkName": "форма" } }, "trashType": { - "workspace": "", - "application": "", - "table": "", - "field": "", - "row": "", - "rows": "", - "view": "" + "workspace": "робочий простір", + "application": "застосунок", + "table": "таблиця", + "field": "поле", + "row": "рядок", + "rows": "рядки", + "view": "перегляд", + "automation_workflow": "робочий процес автоматизації", + "automation_node": "вузол автоматизації" }, "webhook": { - "request": "", - "response": "", - "successfullyUpdated": "", + "request": "Запит", + "response": "Відповідь", + "successfullyUpdated": "Вебхук успішно оновлено.", "form": { - "invalidURLTitle": "", - "invalidURLDescription": "" + "invalidURLTitle": "Недійсна URL-адреса.", + "invalidURLDescription": "URL-адреса вебхука недійсна, недоступна або заборонена." }, "status": { - "noStatus": "", - "statusOK": "", - "statusNotOK": "" + "noStatus": "НЕМАЄ СТАТУСУ", + "statusOK": "ОК", + "statusNotOK": "НЕ ОК" }, "eventType": { - "rowCreated": "", - "rowsCreated": "", - "rowUpdated": "", - "rowsUpdated": "", - "rowDeleted": "", - "rowsDeleted": "" + "rowCreated": "Коли створюється рядок", + "rowsCreated": "Рядки створено", + "rowUpdated": "Коли оновлюється рядок", + "rowsUpdated": "Рядки оновлено", + "rowDeleted": "Коли видаляється рядок", + "rowsDeleted": "Рядки видалено", + "fieldCreated": "Поле створено", + "fieldUpdated": "Поле оновлено", + "fieldDeleted": "Поле видалено", + "viewCreated": "Перегляд створено", + "viewUpdated": "Перегляд оновлено", + "viewDeleted": "Перегляд видалено" } }, "clientHandler": { - "notFoundTitle": "", - "notFoundDescription": "", - "networkErrorTitle": "", - "networkErrorDescription": "", - "tooManyRequestsTitle": "", - "tooManyRequestsDescription": "", - "notCompletedTitle": "", - "notCompletedDescription": "", - "userNotInWorkspaceTitle": "", - "userNotInWorkspaceDescription": "", - "invalidWorkspacePermissionsTitle": "", - "invalidWorkspacePermissionsDescription": "", - "tableDoesNotExistTitle": "", - "tableDoesNotExistDescription": "", - "rowDoesNotExistTitle": "", - "rowDoesNotExistDescription": "", - "fileSizeTooLargeTitle": "", - "fileSizeTooLargeDescription": "", - "invalidFileTitle": "", - "invalidFileDescription": "", - "fileUrlCouldNotBeReachedTitle": "", - "fileUrlCouldNotBeReachedDescription": "", - "invalidFileUrlTitle": "", - "invalidFileUrlDescription": "", - "adminCannotDeactivateSelfTitle": "", - "adminCannotDeactivateSelfDescription": "", - "adminCannotDeleteSelfTitle": "", - "adminCannotDeleteSelfDescription": "", - "maxFieldCountExceededTitle": "", - "maxFieldCountExceededDescription": "", - "cannotRestoreParentBeforeChildTitle": "", - "cannotRestoreParentBeforeChildDescription": "", - "cannotRestoreAsRelatedTableTrashedTitle": "", - "cannotRestoreAsRelatedTableTrashedDescription": "", - "workspaceUserIsLastAdminTitle": "", - "workspaceUserIsLastAdminDescription": "", - "errorMaxJobCountExceededTitle": "", - "errorMaxJobCountExceededDescription": "", - "failedToLockFieldDueToConflictTitle": "", - "failedToLockFieldDueToConflictDescription": "", - "failedToLockTableDueToConflictTitle": "", - "failedToLockTableDueToConflictDescription": "", - "failedToUndoRedoDueToConflictTitle": "", - "failedToUndoRedoDueToConflictDescription": "", - "maximumSnapshotsReachedTitle": "", - "maximumSnapshotsReachedDescription": "", - "snapshotBeingCreatedTitle": "", - "snapshotBeingCreatedDescription": "", - "snapshotBeingRestoredTitle": "", - "snapshotBeingRestoredDescription": "", - "snapshotBeingDeletedTitle": "", - "snapshotBeingDeletedDescription": "", - "snapshotNameNotUniqueTitle": "", - "snapshotNameNotUniqueDescription": "", - "snapshotOperationLimitExceededTitle": "", - "snapshotOperationLimitExceededDescription": "", - "disabledPasswordProviderTitle": "", - "disabledPasswordProviderMessage": "", - "maxLocksPerTransactionExceededTitle": "", - "maxLocksPerTransactionExceededDescription": "", - "lastAdminTitle": "", - "lastAdminMessage": "" + "notFoundTitle": "{name} не знайдено.", + "notFoundDescription": "Вибраний {name} не знайдено, можливо, його вже було видалено.", + "networkErrorTitle": "Помилка мережі", + "networkErrorDescription": "Не вдалося підключитися до сервера API.", + "tooManyRequestsTitle": "Занадто багато запитів", + "tooManyRequestsDescription": "Ви надсилаєте занадто багато запитів на сервер. Будь ласка, зачекайте.", + "notCompletedTitle": "Дію не завершено.", + "notCompletedDescription": "Не вдалося завершити дію через невідому помилку.", + "userNotInWorkspaceTitle": "Дія не дозволена.", + "userNotInWorkspaceDescription": "Не вдалося завершити дію, оскільки ви не є учасником відповідного робочого простору.", + "invalidWorkspacePermissionsTitle": "Дія не дозволена.", + "invalidWorkspacePermissionsDescription": "Не вдалося завершити дію, оскільки у вас немає відповідних прав доступу до робочого простору.", + "tableDoesNotExistTitle": "Таблиця не існує.", + "tableDoesNotExistDescription": "Не вдалося завершити дію, оскільки пов'язана таблиця більше не існує.", + "rowDoesNotExistTitle": "Рядок не існує.", + "rowDoesNotExistDescription": "Не вдалося завершити дію, оскільки пов'язаний рядок більше не існує.", + "fileSizeTooLargeTitle": "Файл занадто великий", + "fileSizeTooLargeDescription": "Наданий файл занадто великий.", + "invalidFileTitle": "Недійсний файл", + "invalidFileDescription": "Наданий файл не є дійсним файлом.", + "fileUrlCouldNotBeReachedTitle": "Недійсна URL-адреса", + "fileUrlCouldNotBeReachedDescription": "Не вдалося отримати доступ до наданої URL-адреси файлу.", + "invalidFileUrlTitle": "Недійсна URL-адреса", + "invalidFileUrlDescription": "Надана URL-адреса файлу недійсна або не дозволена.", + "adminCannotDeactivateSelfTitle": "Дія не дозволена.", + "adminCannotDeactivateSelfDescription": "Ви не можете деактивувати або позбавити себе прав адміністратора.", + "adminCannotDeleteSelfTitle": "Дія не дозволена.", + "adminCannotDeleteSelfDescription": "Ви не можете видалити себе.", + "maxFieldCountExceededTitle": "Не вдалося створити поле.", + "maxFieldCountExceededDescription": "Не вдалося завершити дію, оскільки кількість полів перевищує ліміт", + "cannotRestoreParentBeforeChildTitle": "Спочатку відновіть батьківський елемент.", + "cannotRestoreParentBeforeChildDescription": "Ви не можете відновити цей елемент, оскільки він залежить від видаленого елемента. Спочатку відновіть батьківський елемент.", + "cannotRestoreAsRelatedTableTrashedTitle": "Спочатку відновіть пов'язані таблиці.", + "cannotRestoreAsRelatedTableTrashedDescription": "Ви не можете відновити це поле, оскільки воно залежить від інших таблиць, які все ще у кошику. Спочатку відновіть інші пов'язані таблиці.", + "workspaceUserIsLastAdminTitle": "Неможливо покинути робочий простір", + "workspaceUserIsLastAdminDescription": "Неможливо покинути робочий простір, оскільки ви останній адміністратор або облікові записи інших адміністраторів очікують видалення. Видаліть робочий простір або надайте іншому користувачу права адміністратора.", + "errorMaxJobCountExceededTitle": "Не вдалося запустити дію.", + "errorMaxJobCountExceededDescription": "Ви не можете запустити більше таких дій, оскільки інші ще виконуються у фоновому режимі. Спробуйте ще раз після завершення попередніх дій.", + "failedToLockFieldDueToConflictTitle": "Неможливо змінити поле", + "failedToLockFieldDueToConflictDescription": "Інша операція наразі оновлює або використовує це поле. Зачекайте, поки вона завершиться, перш ніж спробувати знову.", + "failedToLockTableDueToConflictTitle": "Неможливо створити поле", + "failedToLockTableDueToConflictDescription": "Інша операція наразі оновлює або використовує цю таблицю. Зачекайте, поки вона завершиться, перш ніж спробувати знову.", + "failedToUndoRedoDueToConflictTitle": "Неможливо скасувати/повторити", + "failedToUndoRedoDueToConflictDescription": "Інша операція наразі виконується, блокуючи скасування або повторення. Зачекайте, поки вона завершиться, перш ніж спробувати знову.", + "maximumSnapshotsReachedTitle": "Досягнуто ліміту знімків", + "maximumSnapshotsReachedDescription": "Досягнуто максимальної кількості знімків у робочому просторі.", + "snapshotBeingCreatedTitle": "Знімок вже створюється", + "snapshotBeingCreatedDescription": "Неможливо створити кілька знімків одночасно.", + "snapshotBeingRestoredTitle": "Знімок відновлюється", + "snapshotBeingRestoredDescription": "Неможливо використовувати знімки, які наразі відновлюються.", + "snapshotBeingDeletedTitle": "Знімок видаляється", + "snapshotBeingDeletedDescription": "Неможливо використовувати знімки, які наразі видаляються.", + "snapshotNameNotUniqueTitle": "Назва знімка має бути унікальною.", + "snapshotNameNotUniqueDescription": "Усі назви знімків мають бути унікальними для кожного застосунку.", + "snapshotOperationLimitExceededTitle": "Ліміт досягнуто", + "snapshotOperationLimitExceededDescription": "Ви досягли ліміту кількості операцій зі знімками, що виконуються. Зачекайте, поки завершиться попередня операція.", + "disabledPasswordProviderTitle": "Автентифікацію за паролем вимкнено.", + "disabledPasswordProviderMessage": "Будь ласка, використовуйте інший провайдер автентифікації.", + "maxLocksPerTransactionExceededTitle": "Виявлено проблему PostgreSQL", + "maxLocksPerTransactionExceededDescription": "Baserow намагався остаточно видалити елементи з кошика, але перевищив доступну кількість блокувань, вказану в `max_locks_per_transaction`.", + "lastAdminTitle": "Неможливо видалити останнього адміністратора робочого простору", + "lastAdminMessage": "Робочий простір повинен мати принаймні одного адміністратора.", + "notificationDoesNotExistTitle": "Сповіщення не існує.", + "notificationDoesNotExistDescription": "Не вдалося завершити дію, оскільки пов'язаний елемент більше не існує.", + "adminAlreadyExistsTitle": "Неможливо використати це ім'я користувача", + "adminAlreadyExistsDescription": "Це ім'я користувача не можна використати, оскільки воно вже існує.", + "cannotCreateFieldTypeTitle": "Неможливо створити поле", + "cannotCreateFieldTypeDescription": "Запитаний тип поля наразі неможливо створити. Це може бути тимчасова проблема зі старими таблицями. Спробуйте пізніше.", + "generativeAIDoesNotExistTitle": "Генеративний ШІ не існує", + "generativeAIDoesNotExistDescription": "Модель генеративного ШІ не існує.", + "modelDoesNotBelongToTypeTitle": "Вибрана модель не належить до типу ШІ", + "modelDoesNotBelongToTypeDescription": "Вибрана модель не належить до вибраного типу ШІ.", + "outputParserTitle": "Неправильний вивід", + "outputParserDescription": "Модель відповіла з неправильним виводом. Спробуйте ще раз.", + "generateAIPromptTitle": "Помилка запиту", + "generateAIPromptDescription": "Щось було не так зі сформованим запитом.", + "maxNumberOfPendingWorkspaceInvitesReachedTitle": "Досягнуто максимальної кількості запрошень, що очікують", + "maxNumberOfPendingWorkspaceInvitesReachedDescription": "Ви досягли максимальної кількості запрошень, що очікують, для цього робочого простору. Дозвольте запрошеним прийняти запрошення або скасуйте існуючі, щоб продовжити.", + "fieldIsAlreadyPrimaryTitle": "Поле вже є основним", + "fieldIsAlreadyPrimaryDescription": "Вибране нове основне поле вже є основним полем.", + "incompatiblePrimaryFieldTypeTitle": "Поле несумісне", + "incompatiblePrimaryFieldTypeDescription": "Вибране поле не може бути основним полем, оскільки воно несумісне.", + "cannotCreateRowsInTableTitle": "Неможливо створити рядки", + "cannotCreateRowsInTableDescription": "Неможливо створити рядки в цій таблиці.", + "databaseDeadlockTitle": "Дія не вдалася", + "databaseDeadlockDescription": "Не вдалося завершити дію через кілька конфліктуючих операцій з даними одночасно. Спробуйте ще раз.", + "databaseUniquePrimaryPropertyNotFoundTitle": "Унікальна первинна властивість не знайдена", + "databaseUniquePrimaryPropertyNotFoundDescription": "Це зазвичай трапляється, якщо джерело синхронізації даних не містить властивості для отримання унікального значення рядка. У випадку таблиці може бути відсутній первинний ключ.", + "fieldConstraintTitle": "Порушення обмеження поля", + "fieldConstraintDescription": "Неможливо застосувати обмеження.", + "fieldDataConstraintTitle": "Порушення обмеження даних поля", + "fieldDataConstraintDescription": "Неможливо завершити операцію через порушення існуючих обмежень." }, "importerType": { - "csv": "", - "paste": "", - "xml": "", - "json": "" + "csv": "Імпортувати файл CSV", + "paste": "Вставити дані таблиці", + "xml": "Імпортувати файл XML", + "json": "Імпортувати файл JSON" }, "apiDocs": { - "intro": "", - "authent": "", - "table": "", - "filters": "", - "errors": "", - "fields": "", - "listFields": "", - "listRows": "", - "getRow": "", - "createRow": "", - "createRows": "", - "updateRow": "", - "updateRows": "", - "moveRow": "", - "deleteRow": "", - "deleteRows": "", - "uploadFile": "", - "uploadFileDescription": "", - "uploadFileViaUrl": "", - "uploadFileViaUrlDescription": "", - "queryParameters": "", - "pathParameters": "", - "requestBodySchema": "", - "userFieldNamesDescription": "", - "singleRow": "", - "batchRows": "", - "fileUploads": "" + "intro": "Вступ", + "authent": "Автентифікація", + "table": "Таблиця {name}", + "filters": "Фільтри", + "errors": "Помилки HTTP", + "fields": "Поля", + "listFields": "Список полів", + "listRows": "Список рядків", + "getRow": "Отримати рядок", + "createRow": "Створити рядок", + "createRows": "Створити рядки", + "updateRow": "Оновити рядок", + "updateRows": "Оновити рядки", + "moveRow": "Перемістити рядок", + "deleteRow": "Видалити рядок", + "deleteRows": "Видалити рядки", + "uploadFile": "Завантажити файл", + "uploadFileDescription": "Багаточастинний `file`, що містить вміст файлу.", + "uploadFileViaUrl": "Завантажити файл за URL-адресою", + "uploadFileViaUrlDescription": "Завантажує файл до Baserow, скачуючи його з наданої URL-адреси.", + "queryParameters": "Параметри запиту", + "pathParameters": "Параметри шляху", + "requestBodySchema": "Схема тіла запиту", + "userFieldNamesDescription": "Коли надано GET-параметр `user_field_names` і його значення є одним з наступних: `y`, `yes`, `true`, `t`, `on`, `1` або порожній рядок, назви полів, що повертаються цією кінцевою точкою, будуть фактичними назвами полів.\n\nЯкщо GET-параметр `user_field_names` не надано або його значення не відповідає жодному з вищезазначених, усі повернуті назви полів будуть `field_`, за яким слідує id поля. Наприклад, `field_1` посилається на поле з id `1`.", + "singleRow": "Одиночний", + "batchRows": "Пакетний", + "fileUploads": "Завантаження файлів", + "listTables": "Список таблиць", + "sendWebhookEventsDescription": "Параметр-прапорець запиту, що запускає вебхуки після операції, якщо встановлено значення `y`, `yes`, `true`, `t`, `on`, `1` або залишено порожнім. За замовчуванням `true`", + "apiDocs": "Список усіх таблиць" }, "exporterType": { - "csv": "" + "csv": "Експортувати в CSV" }, "previewType": { - "imageBrowser": "", - "videoBrowser": "", - "AudioBrowser": "", - "pdfBrowser": "", - "googleDocs": "" + "imageBrowser": "Відкрити в браузері", + "videoBrowser": "Відкрити в браузері", + "AudioBrowser": "Відкрити в браузері", + "pdfBrowser": "Відкрити в браузері", + "googleDocs": "Відкрити в Google Документах" }, "humanDateFormat": { - "dd/mm/yyyy": "", - "mm/dd/yyyy": "", - "yyyy-mm-dd": "" + "dd/mm/yyyy": "дд/мм/рррр", + "mm/dd/yyyy": "мм/дд/рррр", + "yyyy-mm-dd": "рррр-мм-дд" }, "formulaFunctions": { - "upperDescription": "", - "lowerDescription": "", - "concatDescription": "", - "addDescription": "", - "minusDescription": "", - "multiplyDescription": "", - "divideDescription": "", - "equalDescription": "", - "ifDescription": "", - "toTextDescription": "", - "datetimeFormatDescription": "", - "toNumberDescription": "", - "fieldDescription": "", - "lookupDescription": "", - "isBlankDescription": "", - "isNullDescription": "", - "tDescription": "", - "notDescription": "", - "greaterThanDescription": "", - "greaterThanOrEqualDescription": "", - "lessThanDescription": "", - "lessThanOrEqualDescription": "", - "toDateDescription": "", - "dayDescription": "", - "dateDiffDescription": "", - "andDescription": "", - "orDescription": "", - "dateIntervalDescription": "", - "replaceDescription": "", - "searchDescription": "", - "rowIdDescription": "", - "lengthDescription": "", - "reverseDescription": "", - "notEqualDescription": "", - "countDescription": "", - "containsDescription": "", - "leftDescription": "", - "rightDescription": "", - "trimDescription": "", - "regexReplaceDescription": "", - "greatestDescription": "", - "leastDescription": "", - "monthDescription": "", - "yearDescription": "", - "secondDescription": "", - "whenEmptyDescription": "", - "anyDescription": "", - "everyDescription": "", - "maxDescription": "", - "minDescription": "", - "joinDescription": "", - "stddevPopDescription": "", - "stddevSampleDescription": "", - "varianceSampleDescription": "", - "variancePopDescription": "", - "avgDescription": "", - "sumDescription": "", - "filterDescription": "", - "linkDescription": "", - "buttonDescription": "", - "getLinkLabelDescription": "", - "getLinkUrlDescription": "", - "evenDescription": "", - "oddDescription": "", - "modDescription": "", - "powerDescription": "", - "logDescription": "", - "expDescription": "", - "lnDescription": "", - "signDescription": "", - "sqrtDescription": "", - "roundDescription": "", - "truncDescription": "", - "isNanDescription": "", + "upperDescription": "Повертає аргумент у верхньому регістрі.", + "lowerDescription": "Повертає аргумент у нижньому регістрі.", + "concatDescription": "Повертає аргументи, об'єднані разом як один текст.", + "addDescription": "Повертає суму двох аргументів.", + "minusDescription": "Повертає різницю двох аргументів.", + "multiplyDescription": "Повертає добуток двох аргументів.", + "divideDescription": "Повертає результат ділення першого аргументу на другий.", + "equalDescription": "Повертає true, якщо два аргументи мають однакове значення.", + "ifDescription": "Якщо перший аргумент true, повертає другий аргумент, інакше повертає третій.", + "toTextDescription": "Перетворює вхідні дані на текст.", + "datetimeFormatDescription": "Перетворює дату на текст за заданим форматом. Завжди в UTC. Використовуйте `datetime_format_tz`, щоб вказати часовий пояс.", + "toNumberDescription": "Перетворює вхідні дані на число, якщо можливо.", + "fieldDescription": "Повертає поле, назване текстовим аргументом.", + "lookupDescription": "Шукає значення з поля в іншій таблиці для рядків у полі посилання на таблицю. Перший аргумент — назва поля посилання на таблицю в поточній таблиці, другий — назва поля в пов'язаній таблиці.", + "isBlankDescription": "Повертає true, якщо аргумент null, порожній або пустий, інакше false.", + "isNullDescription": "Повертає true, якщо аргумент null, інакше false.", + "tDescription": "Повертає значення аргументу, якщо це текст, інакше ''.", + "notDescription": "Повертає false, якщо аргумент true, і true, якщо аргумент false.", + "greaterThanDescription": "Повертає true, якщо перший аргумент більший за другий, інакше false.", + "greaterThanOrEqualDescription": "Повертає true, якщо перший аргумент більший або дорівнює другому, інакше false.", + "lessThanDescription": "Повертає true, якщо перший аргумент менший за другий, інакше false.", + "lessThanOrEqualDescription": "Повертає true, якщо перший аргумент менший або дорівнює другому, інакше false.", + "toDateDescription": "Повертає перший аргумент, перетворений на дату за рядком формату дати як другий аргумент. Завжди в UTC. Використовуйте `to_date_tz`, щоб вказати часовий пояс.", + "dayDescription": "Повертає день місяця як число від 1 до 31 з аргументу.", + "dateDiffDescription": "За одиницею дати для вимірювання як перший аргумент ('year', 'month', 'week', 'day', 'hour', 'minute', 'seconds') обчислює та повертає кількість одиниць від другого аргументу до третього.", + "andDescription": "Повертає логічне І першого та другого аргументів, тому якщо обидва true, результат true, інакше false.", + "orDescription": "Повертає логічне АБО першого та другого аргументів, тому якщо будь-який true, результат true, інакше false.", + "dateIntervalDescription": "Повертає інтервал дати, що відповідає наданому аргументу.", + "replaceDescription": "Замінює всі входження другого аргументу в першому аргументі третім аргументом.", + "searchDescription": "Повертає додатне ціле число, починаючи з 1, для першого входження другого аргументу в першому, або 0, якщо входження не знайдено.", + "rowIdDescription": "Повертає унікальний ідентифікаційний номер рядка.", + "lengthDescription": "Повертає кількість символів у наданому першому аргументі.", + "reverseDescription": "Повертає перевернутий текст наданого першого аргументу.", + "notEqualDescription": "Повертає true, якщо два аргументи мають різні значення.", + "countDescription": "Повертає кількість елементів у першому аргументі.", + "containsDescription": "Повертає true, якщо перший текст містить принаймні один раз другий.", + "leftDescription": "Витягує найлівіші символи з першого вводу, зупиняється, коли витягнуто кількість символів, вказану другим вводом.", + "rightDescription": "Витягує найправіші символи з першого вводу, зупиняється, коли витягнуто кількість символів, вказану другим вводом.", + "trimDescription": "Видаляє всі пробіли з лівої та правої сторін вводу.", + "regexReplaceDescription": "Замінює будь-який текст у першому вводі, що відповідає регулярному виразу, вказаному другим вводом, текстом третього вводу. Повертає '#ERROR!', якщо шаблон регулярного виразу недійсний.", + "greatestDescription": "Повертає найбільше значення з двох вводів.", + "leastDescription": "Повертає найменше з двох вводів.", + "monthDescription": "Повертає номер місяця в наданій даті.", + "yearDescription": "Повертає рік у наданій даті.", + "secondDescription": "Повертає кількість секунд у наданій даті.", + "whenEmptyDescription": "Якщо перший ввід обчислюється як порожній, замість нього повертається другий ввід, інакше, якщо перший ввід не порожній, повертається перший.", + "anyDescription": "Повертає true, якщо будь-яке з наданих знайдених значень true, false, якщо всі вони false.", + "everyDescription": "Повертає true, якщо кожне з наданих знайдених значень true, інакше false.", + "maxDescription": "Повертає найбільше число з усіх наданих знайдених значень.", + "minDescription": "Повертає найменше число з усіх наданих знайдених значень.", + "joinDescription": "Об'єднує всі значення з першого вводу разом, використовуючи значення з другого вводу.", + "stddevPopDescription": "Обчислює стандартне відхилення генеральної сукупності значень і повертає результат. Стандартне відхилення генеральної сукупності слід використовувати, коли надані значення містять значення для кожного елемента даних у сукупності.", + "stddevSampleDescription": "Обчислює вибіркове стандартне відхилення значень і повертає результат. Вибіркове відхилення слід використовувати, коли надані значення є лише для вибірки або підмножини значень базової сукупності.", + "varianceSampleDescription": "Обчислює вибіркову дисперсію значень і повертає результат. Вибіркову дисперсію слід використовувати, коли надані значення є лише для вибірки або підмножини значень базової сукупності.", + "variancePopDescription": "Обчислює дисперсію генеральної сукупності значень і повертає результат. Дисперсію генеральної сукупності слід використовувати, коли надані значення містять значення для кожного елемента даних у сукупності.", + "avgDescription": "Обчислює середнє значення всіх значень і повертає результат.", + "sumDescription": "Підсумовує всі значення і повертає результат.", + "filterDescription": "Фільтрує вираз, що включає посилання на поле пошуку/зв'язку або виклик функції пошуку.", + "linkDescription": "Створює гіперпосилання, використовуючи URI, наданий у першому аргументі.", + "buttonDescription": "Створює кнопку, використовуючи URI (перший аргумент) та мітку (другий аргумент).", + "getLinkLabelDescription": "Отримує мітку з формули, що використовує функції link або button.", + "getLinkUrlDescription": "Отримує URL з формули, що використовує функції link або button.", + "evenDescription": "Повертає true, якщо наданий аргумент є парним числом, інакше false.", + "oddDescription": "Повертає true, якщо наданий аргумент є непарним числом, інакше false.", + "modDescription": "Повертає залишок від ділення першого аргументу на другий.", + "powerDescription": "Повертає результат піднесення першого аргументу до степеня другого аргументу.", + "logDescription": "Функція логарифма: повертає показник степеня, до якого потрібно піднести перший аргумент, щоб отримати другий аргумент.", + "expDescription": "Повертає результат піднесення константи e ≈ 2.718 до наданого числа-аргументу.", + "lnDescription": "Функція натурального логарифма: повертає показник степеня, до якого потрібно піднести константу e ≈ 2.718, щоб отримати аргумент.", + "signDescription": "Повертає 1, якщо аргумент додатне число, -1, якщо аргумент від'ємне, 0 в іншому випадку.", + "sqrtDescription": "Повертає квадратний корінь наданого аргументу.", + "roundDescription": "Повертає перший аргумент, округлений до кількості цифр, вказаної другим аргументом.", + "truncDescription": "Повертає лише перший аргумент, перетворений на ціле число шляхом відкидання десяткових знаків.", + "isNanDescription": "Повертає true, якщо аргумент 'NaN', інакше повертає false.", "wheNanDescription": "", - "absDescription": "", - "ceilDescription": "", - "floorDescription": "" + "absDescription": "Повертає абсолютне значення наданого числа-аргументу.", + "ceilDescription": "Повертає найменше ціле число, яке більше або дорівнює наданому числу-аргументу.", + "floorDescription": "Повертає найбільше ціле число, яке менше або дорівнює наданому числу-аргументу.", + "splitPartDescription": "Витягує сегмент з рядка, розділеного роздільником, на основі роздільника та індексу (числовий показник, що вказує, який елемент з рядка має бути повернутий)", + "datetimeFormatTzDescription": "Перетворює дату на текст за заданим форматом у вказаному часовому поясі.", + "nowDescription": "Повертає поточну дату та час в UTC.", + "todayDescription": "Повертає поточну дату в UTC.", + "toDateTzDescription": "Повертає перший аргумент, перетворений на дату за рядком формату дати як другий аргумент та часовим поясом як третій аргумент.", + "whenNanDescription": "Повертає перший аргумент, якщо він не 'NaN'. Повертає другий аргумент, якщо перший аргумент 'NaN'", + "encodeUriDescription": "Повертає закодований рядок URI з наданого аргументу.", + "encodeUriComponentDescription": "Повертає закодований компонент рядка URI з наданого аргументу.", + "getFileVisibleNameDescription": "Повертає видиме ім'я файлу з одного файлу, повернутого функцією index.", + "getFileMimeTypeDescription": "Повертає MIME-тип файлу з одного файлу, повернутого функцією index.", + "getFileCountDescription": "Повертає кількість файлів у полі файлу, на яке посилаються", + "getFileSizeDescription": "Повертає розмір файлу з одного файлу, повернутого функцією index.", + "getImageWidthDescription": "Повертає ширину зображення з одного файлу, повернутого функцією index.", + "getImageHeightDescription": "Повертає висоту зображення з одного файлу, повернутого функцією index.", + "getIsImageDescription": "Повертає, чи є один файл, повернутий функцією index, зображенням чи ні.", + "indexDescription": "Повертає файл з поля файлу на позиції, наданій другим аргументом.", + "secondsToDurationDescription": "Перетворює надану кількість секунд на тривалість.", + "durationToSecondsDescription": "Перетворює надану тривалість на відповідну кількість секунд.", + "hasOptionDescription": "Повертає true, якщо перший аргумент є полем множинного вибору або пошуком до поля одиночного вибору, і другий аргумент є одним з варіантів." }, "functionnalGridViewFieldLinkRow": { - "unnamed": "" + "unnamed": "рядок без назви {value}" }, "urlCheck": { - "invalidUrlEnvVarTitle": "", - "invalidUrlEnvVarDescription": "" + "invalidUrlEnvVarTitle": "Недійсний {name}", + "invalidUrlEnvVarDescription": "Змінну середовища {name} встановлено на недійсне значення. Адміністратор вашого сайту повинен змінити {name} на дійсну URL-адресу, що починається з http:// або https://, а потім перезапустити Baserow, щоб виправити цю помилку." + }, + "fieldConstraint": { + "uniqueWithEmpty": "Унікальне з порожнім" + }, + "fieldConstraintsSubform": { + "title": "Обмеження", + "description": "Визначте правила, яким повинні відповідати значення поля.", + "addConstraint": "Додати обмеження", + "noConstraintsAvailable": "Для цього типу поля немає доступних обмежень.", + "readonlyFieldMessage": "Обмеження не можна застосувати до полів лише для читання.", + "errorGenericData": "Неможливо застосувати обмеження поля через конфлікти з існуючими даними.", + "errorUniqueOrEmpty": "Деякі значення в цьому полі дублюються. Видаліть або відредагуйте дублікати перед застосуванням цього обмеження.", + "errorInvalidConstraint": "Це обмеження поля не підтримується для цього типу поля.", + "errorDoesNotSupportDefaultValue": "Неможливо встановити це обмеження, коли встановлено значення за замовчуванням.", + "noConstraintsCompatibleWithDefaultValue": "Жодні обмеження не сумісні, коли увімкнено значення за замовчуванням." + }, + "fieldConstraintParametersText": { + "placeholder": "Введіть значення обмеження" + }, + "health": { + "title": "Перевірки стану Baserow", + "description": "Ці перевірки показують поточний стан вашої інсталяції Baserow." + }, + "emailTester": { + "title": "Тестер електронної пошти", + "targetEmailLabel": "Цільова електронна пошта", + "invalidTargetEmail": "Недійсна адреса електронної пошти", + "submit": "Надіслати тестовий лист", + "success": "Тестовий лист успішно надіслано", + "configLink": "Довідка з налаштування електронної пошти" + }, + "assistantMessageSources": { + "sources": "{count} джерело | {count} джерел" + }, + "runtimeFormulaTypes": { + "concatDescription": "Об'єднує аргументи разом як один текст.", + "getDescription": "Повертає обчислене значення формули Baserow.", + "addDescription": "Додає два аргументи разом.", + "minusDescription": "Віднімає другий аргумент від першого.", + "multiplyDescription": "Множить два аргументи.", + "divideDescription": "Ділить перший аргумент на другий.", + "equalDescription": "Перевіряє, чи обидва аргументи рівні.", + "notEqualDescription": "Перевіряє, чи обидва аргументи не рівні.", + "greaterThanDescription": "Перевіряє, чи перший аргумент більший за другий.", + "lessThanDescription": "Перевіряє, чи перший аргумент менший за другий.", + "greaterThanOrEqualDescription": "Перевіряє, чи перший аргумент більший або дорівнює другому.", + "upperDescription": "Перетворює аргумент у верхній регістр.", + "lowerDescription": "Перетворює аргумент у нижній регістр.", + "capitalizeDescription": "Робить першу літеру аргументу великою.", + "roundDescription": "Округлює перший аргумент до кількості десяткових знаків, вказаних другим аргументом.", + "evenDescription": "Повертає true, якщо аргумент парний, інакше false.", + "oddDescription": "Повертає true, якщо аргумент непарний, інакше false.", + "dateTimeDescription": "Форматує аргумент дати та часу, використовуючи аргументи формату та часового поясу. Якщо часовий пояс залишено порожнім, буде використано часовий пояс браузера за замовчуванням.", + "dayDescription": "Повертає день з аргументу дати та часу.", + "monthDescription": "Повертає місяць з аргументу дати та часу.", + "yearDescription": "Повертає рік з аргументу дати та часу.", + "hourDescription": "Повертає годину з аргументу дати та часу.", + "minuteDescription": "Повертає хвилину з аргументу дати та часу.", + "secondDescription": "Повертає секунду з аргументу дати та часу.", + "todayDescription": "Повертає поточну дату.", + "getPropertyDescription": "Повертає властивість з об'єкта.", + "randomIntDescription": "Повертає випадкове ціле число з діапазону, вказаного аргументами.", + "randomFloatDescription": "Повертає випадкове число з плаваючою комою з діапазону, вказаного аргументами.", + "randomBoolDescription": "Повертає випадкове логічне значення true або false.", + "generateUUIDDescription": "Повертає випадковий рядок UUID4.", + "ifDescription": "Якщо перший аргумент true, повертає другий аргумент, інакше повертає третій аргумент.", + "andDescription": "Повертає true, якщо всі аргументи true, інакше повертає false.", + "orDescription": "Повертає true, якщо будь-який аргумент true, інакше повертає false.", + "formulaTypeFormula": "Функція | Функції", + "formulaTypeOperator": "Оператор | Оператори", + "formulaTypeData": "Дані", + "formulaTypeDataEmpty": "Немає доступних даних", + "categoryText": "Текст", + "categoryNumber": "Число", + "categoryBoolean": "Логічне значення", + "categoryDate": "Дата", + "categoryCondition": "Умова" + }, + "formulaInputContext": { + "useRegularInput": "Використовувати звичайний ввід", + "useRegularInputModalTitle": "Перейти до звичайного вводу?", + "useAdvancedInputModalTitle": "Перейти до розширеного вводу?", + "useAdvancedInput": "Використовувати розширений ввід", + "modalMessage": "Перехід до іншого режиму вводу очистить поточну формулу. Ви впевнені, що хочете продовжити?" + }, + "nodeExplorer": { + "noResults": "Результатів не знайдено", + "resetSearch": "Скинути пошук" } } diff --git a/web-frontend/modules/builder/locales/es.json b/web-frontend/modules/builder/locales/es.json index 0c3dad664b..0e6774cba7 100644 --- a/web-frontend/modules/builder/locales/es.json +++ b/web-frontend/modules/builder/locales/es.json @@ -1,961 +1,1182 @@ { - "builderForm": { - "submit": "Añadir aplicación" - }, - "sidebarComponentBuilder": { - "settings": "Configuración", - "createPage": "Nueva página" - }, - "builderSettingsModal": { - "title": "Aplicación" - }, - "builderSettingTypes": { - "integrationsName": "Integraciones", - "themeName": "Tema", - "domainsName": "Dominios", - "userSourcesName": "Usuarios", - "generalName": "General" - }, - "createPageModal": { - "header": "Crear página", - "submit": "Añadir página" - }, - "pageForm": { - "nameLabel": "Nombre", - "errorNameNotUnique": "Ya existe una página con este nombre", - "defaultName": "Página", - "nameTitle": "Nombre", - "pathSubtitle": "Se puede añadir un parámetro mediante :parámetro", - "pathParamsTitle": "Parámetros de ruta", - "nameSubtitle": "Nombre único de la página", - "pathParamsSubtitle": "Están definidos por el :parámetro en la ruta", - "pathParamsSubtitleTutorial": "Los parámetros de ruta se pueden utilizar para cargar datos dinámicamente, en función del parámetro proporcionado. Añada el :parámetro a la ruta para añadir uno.", - "pathTitle": "Ruta", - "namePlaceholder": "Introduzca un nombre...", - "pathPlaceholder": "Introduzca una ruta..." - }, - "headingElementForm": { - "textError": "El valor es inválido.", - "textPlaceholder": "Introducir texto...", - "levelTitle": "Nivel", - "textTitle": "Texto", - "headingName": "Título {nivel} " - }, - "tableElementForm": { - "addField": "añadir campo", - "itemsPerPage": "Artículos por página", - "fieldType": "Tipo", - "fieldValueLabel": "Valor", - "fieldDefaultName": "Columna", - "dataSource": "Fuente de datos", - "fieldValuePlaceholder": "Introducir valor...", - "itemsPerPagePlaceholder": "Introducir valor...", - "fields": "Campos", - "buttonColor": "Color de los botones", - "selectSourceFirst": "Elige un origen para los datos y/o propiedad para comenzar a configurar tus campos.", - "refreshFieldsFromDataSource": "Actualizar los campos de la fuente de datos", - "name": "Nombre", - "orientation": "Orientación", - "orientationHorizontal": "Horizontal", - "orientationVertical": "Vertical", - "buttonLoadMoreLabel": "Mostrar más etiqueta", - "propertySelectorMissingArrays": "No se encontró que se utilizaran campos de múltiples valores como datos." - }, - "linkElementForm": { - "paramPlaceholder": "Introduce un valor...", - "targetSelf": "Misma pestaña", - "variantButton": "Botón", - "paramsInErrorButton": "Actualizar parámetros", - "targetNewTab": "Nueva pestaña", - "variantLink": "Enlace", - "url": "URL de destino", - "navigateToNotSet": "Sin destino", - "navigateToCustom": "URL personalizada", - "urlPlaceholder": "Introducir una URL...", - "pageParameterTypeError": "Tipo inválido", - "text": "Texto", - "variant": "Variante", - "textPlaceholder": "Introducir texto...", - "navigateTo": "Navegar a", - "target": "Abrir en...", - "paramsInErrorDescription": "Los parámetros guardados no coinciden con los parámetros de la página. Es probable que la página se haya eliminado o actualizado.", - "buttonColor": "Color del botón" - }, - "textElement": { - "noValue": "Párrafo vacío...", - "missingValue": "Falta texto...", - "emptyValue": "Texto vacío..." - }, - "linkFieldForm": { - "fieldLinkNamePlaceholder": "Introducir valor...", - "fieldValuePlaceholder": "Introducir valor...", - "fieldLinkNameLabel": "Texto del enlace", - "fieldValueLabel": "URL", - "buttonColor": "Color de los botones" - }, - "imageElementForm": { - "uploadFileButton": "Subir archivo", - "fileSourceTypeURL": "URL", - "altTextTitle": "Texto alternativo", - "urlWarning": "Nota: asegúrate de que controlas o confías en la URL introducida.", - "fileLabel": "Imagen", - "invalidUrlError": "URL inválida", - "fileSourceTypeUpload": "Subir", - "altTextDescription": "Es utilizado por los lectores de pantalla y se muestra si la imagen no se puede cargar", - "maxWidthLabel": "Anchura máxima", - "maxHeightLabel": "Altura máxima", - "maxHeightPlaceholder": "Introduce una altura máxima en píxeles.", - "maxWidthPlaceholder": "Introduce una anchura máxima en porcentaje.", - "imageConstraintCover": "Portada", - "imageConstraintCoverDisabled": "No disponible con altura máxima vacía.", - "imageConstraintContain": "Contener", - "imageConstraintContainDisabled": "No disponible con altura máxima.", - "imageConstraintsLabel": "Restricciones", - "imageConstraintFullWidth": "Extender a la anchura máxima" - }, - "dataSourceForm": { - "servicePlaceholder": "Selecciona un servicio", - "namePlaceholder": "Nombre de la fuente", - "errorUniqueName": "El nombre de la fuente de datos debe ser único.", - "integrationPlaceholder": "Selecciona una integración", - "nameLabel": "Nombre", - "actionLabel": "Acción", - "integrationLabel": "Integración" - }, - "elementType": { - "table": "Tabla", - "formContainer": "Formulario", - "textDescription": "Texto multilínea", - "heading": "Título", - "inputText": "Introducción de texto", - "inputTextDescription": "Un campo de entrada de texto", - "text": "Párrafo", - "headingDescription": "Título de la página", - "image": "Imagen", - "tableDescription": "Un elemento de la tabla", - "columnDescription": "Contenedor de columnas", - "button": "Botón", - "link": "Enlace", - "column": "Columnas", - "imageDescription": "Mostrar imagen", - "buttonDescription": "Un elemento de botón", - "formContainerDescription": "Un elemento de formulario", - "linkDescription": "Un enlace a la página/URL", - "dropdown": "Desplegable", - "dropdownDescription": "Elemento desplegable", - "checkbox": "Casilla de verificación", - "checkboxDescription": "Elemento casilla de verificación", - "iframe": "iframe", - "iframeDescription": "Marco en línea", - "authForm": "Formulario de acceso", - "authFormDescription": "Un formulario de acceso de usuario", - "repeat": "Repetir", - "repeatDescription": "Un conjunto repetible de elementos", - "choice": "Selección", - "choiceDescription": "Para la selección de uno o varios valores", - "recordSelector": "Selector de registro", - "recordSelectorDescription": "Un selector de registros relacionados", - "dateTimePicker": "Selector de fecha y hora", - "dateTimePickerDescription": "Un campo de entrada de fecha y hora", - "headerDescription": "Contenedor compartido en varias páginas", - "footer": "Pie de página de varias páginas", - "footerDescription": "Un contenedor compartido entre páginas", - "notAllowedUnlessBottom": "Este elemento solo está permitido en la parte inferior de la página", - "notAllowedUnlessHeader": "Este elemento solo está permitido dentro del encabezado de la página", - "notAllowedUnlessFooter": "Este elemento solo está permitido dentro del pie de página", - "notAllowedInsideContainer": "Este elemento no está permitido dentro de un contenedor", - "notAllowedInsideSameType": "Este elemento no está permitido en un contenedor del mismo tipo", - "notAllowedLocation": "Este elemento no está permitido en esta ubicación", - "header": "Encabezado de varias páginas", - "notAllowedUnlessTop": "Este elemento solo está permitido en la parte superior de la página" - }, - "verticalAlignmentSelector": { - "alignmentTop": "Arriba", - "alignmentBottom": "Fondo", - "alignmentCenter": "Medio", - "alignment": "Alineación vertical" - }, - "dnsStatus": { - "hostHeader": "Anfitrión", - "valueHeader": "Valor", - "typeHeader": "Tipo", - "description": "Visita la configuración DNS de tu dominio y realiza los siguientes cambios" - }, - "horizontalAlignmentSelector": { - "alignmentLeft": "Izquierda", - "alignmentRight": "A la derecha", - "alignment": "Alineación horizontal", - "alignmentCenter": "Centro" - }, - "duplicatePageJobType": { - "duplicating": "Duplicando", - "duplicatedTitle": "Página duplicada" - }, - "defaultStyleForm": { - "widthLabel": "Anchura", - "boxTop": "Arriba", - "backgroundLabel": "Fondo", - "backgroundColor": "Color de fondo", - "boxBottom": "Abajo", - "boxLeft": "Izquierda", - "boxRight": "Derecha", - "backgroundImage": "Imagen", - "backgroundImageMode": "Modo de relleno" - }, - "updateUserSourceForm": { - "nameFieldLabel": "Nombre", - "nameFieldPlaceholder": "Introduce un nombre...", - "integrationFieldLabel": "Integración", - "authTitle": "Autenticación", - "addProvider": "Añadir proveedor" - }, - "elementForms": { - "urlInputPlaceholder": "Introducir URL...", - "textInputPlaceholder": "Introducir texto...", - "invalidFormula": "La fórmula es inválida" - }, - "mainThemeConfigBlock": { - "colorsLabel": "Colores", - "primaryColor": "Primario", - "headingValue": "Título ", - "typography": "Tipografía", - "headingLabel": "Título {i} (h{i})", - "secondaryColor": "Secundario" - }, - "domainSettings": { - "noDomainMessage": "Aún no has asociado un dominio a esta aplicación. Debes añadir un dominio para poder publicar tu aplicación. Puedes publicar diferentes versiones de tu aplicación para cada dominio listado aquí.", - "addDomain": "Añadir dominio", - "titleOverview": "Dominios", - "titleAddDomain": "Añadir dominio" - }, - "elementMenu": { - "moveRight": "Mover a la derecha", - "moveDown": "Bajar", - "moveUp": "Subir", - "moveLeft": "Mover a la izquierda", - "selectParent": "Seleccionar padre" - }, - "pageHeaderItemTypes": { - "labelVariables": "Variables", - "labelElements": "Elementos", - "labelSettings": "Configuración de página", - "labelDataSource": "Datos" - }, - "inputTextElementForm": { - "placeholderPlaceholder": "Introduce un marcador de posición (opcional)", - "valueTitle": "Valor por defecto", - "valuePlaceholder": "Introducir un valor por defecto (opcional)", - "placeholderTitle": "Marcador de posición", - "labelTitle": "Etiqueta", - "requiredTitle": "Requerido", - "labelPlaceholder": "Introducir una etiqueta (opcional)", - "rowsTitle": "Número de líneas", - "multilineTitle": "Multilínea", - "rowsPlaceholder": "Introduce el número de filas de esta entrada", - "validationTypeAnyLabel": "Cualquier", - "validationTypeIntegerLabel": "Número", - "validationTypeIntegerDescription": "Aplicar un valor numérico en esta entrada.", - "validationTypeEmailLabel": "Correo electrónico", - "validationTypeEmailDescription": "Implemente un valor de dirección de correo electrónico en esta entrada.", - "validationTypeAnyDescription": "Permite establecer cualquier valor en esta entrada.", - "inputType": "Tipo de entrada", - "inputTypeTextLabel": "Texto", - "inputTypePasswordLabel": "Contraseña", - "passwordTypeWarning": "Las contraseñas son datos sensibles. Tenga cuidado con la forma en que maneja y almacena las contraseñas en su aplicación." - }, - "widthSelector": { - "widthFull": "Anchura completa", - "widthAuto": "Auto", - "width": "Anchura" - }, - "domainCard": { - "detailLabel": "Mostrar detalles", - "refresh": "Actualizar configuración" - }, - "buttonElementForm": { - "valuePlaceholder": "Introducir texto...", - "valueLabel": "Texto del botón", - "buttonColor": "Color de los botones" - }, - "workflowActionTypes": { - "updateRowLabel": "Actualizar fila", - "createRowLabel": "Crear fila", - "notificationLabel": "Mostrar notificación", - "openPageLabel": "Abrir página", - "logoutLabel": "Cerrar sesión", - "refreshDataSourceLabel": "Refrescar fuente de datos", - "deleteRowLabel": "Borrar fila" - }, - "widthTypes": { - "full": "Anchura completa", - "small": "Pequeño", - "medium": "Medio", - "normal": "Normal", - "fullBleed": "Sangrado total", - "fullWidth": "Anchura total" - }, - "userSourceSettings": { - "titleOverview": "Fuentes del usuario", - "titleUpdateUserSource": "Editar fuente de usuario", - "titleAddUserSource": "Nueva fuente de usuarios", - "addUserSource": "Añadir fuente de usuario", - "noUserSourceMessage": "Aún no has añadido un origen de usuario a esta aplicación. Debes añadir un origen de usuario si quieres que los usuarios puedan autenticar tu aplicación." - }, - "publicPage": { - "pageNotFound": "Página no encontrada", - "siteNotFound": "Sitio no encontrado" - }, - "integrationSettings": { - "integrationMessage": "Se pueden crear nuevas integraciones añadiendo fuente de datos, acción o autenticación de usuario.", - "noIntegrationMessage": "Aún no has creado ninguna conexión. Se pueden crear añadiendo fuente de datos, acción o autenticación de usuario.", - "title": "Integraciones" - }, - "upsertRowWorkflowActionForm": { - "rowIdPlaceholder": "Selecciona un ID de fila", - "fieldMappingPlaceholder": "Elige un valor de campo", - "integrationDropdownLabel": "Integración", - "rowIdLabel": "ID de fila", - "noTableSelectedMessage": "Elige una tabla para empezar a configurar tus campos." - }, - "customDomainForm": { - "domainNameLabel": "Nombre de dominio" - }, - "subDomainDetails": { - "text": "Los ajustes DNS del dominio ya han sido configurados y comprobados. Funciona sin realizar ningún cambio adicional." - }, - "imageElement": { - "emptyState": "No hay texto alternativo definido...", - "missingValue": "Falta texto alternativo...", - "emptyValue": "Texto alternativo vacío..." - }, - "columnElementForm": { - "columnGapPlaceholder": "Introducir espacio entre columnas...", - "columnGapTitle": "Espacio entre columnas", - "columnAmountTitle": "Disposición", - "columnAmountName": "sin columnas | 1 columna | {columnaCantidad} columnas", - "verticalAlignment": "Alineación vertical" - }, - "pageSettings": { - "pageUpdatedTitle": "Cambiado", - "pageUpdatedDescription": "Se ha actualizado la configuración de la página.", - "title": "Página" - }, - "notificationWorkflowActionForm": { - "descriptionLabel": "Descripción", - "descriptionPlaceholder": "Introducir texto...", - "titleLabel": "Título", - "titlePlaceholder": "Introducir texto..." - }, - "dataSourceContext": { - "addDataSource": "Añadir nueva fuente de datos", - "noDataSourceMessage": "Las fuentes de datos pueden utilizarse para obtener datos de fuentes internas o externas y mostrarlos en la página.", - "noDataSourceTitle": "Aún no has añadido una fuente de datos.", - "sharedDataSourceTitle": "Compartido entre páginas", - "pageDataSourceTitle": "Para esta página", - "sharedDataSourceDescription": "Accesible en todas las páginas y se obtiene una vez en la primera carga de la página.", - "pageDataSourceDescription": "Se obtiene cuando el usuario navega a esta página." - }, - "pageSettingsTypes": { - "pageName": "Página" - }, - "publishActionModal": { - "publish": "Publicar", - "publishSucceedDescription": "El sitio se ha publicado correctamente.", - "publishSucceedTitle": "Sitio publicado", - "description": "Publica tu aplicación en uno de los dominios. Ten en cuenta que tu aplicación puede tener varios dominios, cada uno con una versión diferente de la aplicación.", - "title": "Publicar", - "publishFailedTitle": "Error en la publicación del sitio", - "openInNewTab": "Abrir en una pestaña nueva", - "noDomain": "Necesitas tener al menos un dominio para poder publicar tu aplicación.", - "publishFailedDescription": "La publicación del sitio ha fallado. Vuelva a intentarlo más tarde.", - "importingState": "Importando" - }, - "currentRecordDataProviderType": { - "index": "Índice", - "firstPartName": "Fuente de datos: {nombre}", - "schemaProperty": "{prefixName}: {schemaProperty}" - }, - "pageSidePanelType": { - "visibility": "Visibilidad", - "general": "General", - "events": "Eventos", - "style": "Estilo", - "eventsTabDeactivatedNoEvents": "Este elemento no admite eventos" - }, - "addElementModal": { - "title": "Añadir nuevo elemento", - "searchPlaceholder": "Buscar elementos", - "disabledElementTooltip": "No disponible dentro de este elemento", - "elementInProgress": "Añadiendo elemento..." - }, - "domainTypes": { - "subDomain": "Subdominio de {dominio}", - "customName": "Dominio personalizado", - "subDomainName": "Subdominio" - }, - "domainForm": { - "notUniqueDomain": "El dominio proporcionado ya está en uso", - "invalidDomain": "El nombre de dominio proporcionado es inválido" - }, - "dispatchWorkflowActionError": { - "defaultMessage": "Se ha producido un error que ha provocado este evento.", - "defaultTitle": "Error de evento", - "formDataInvalidTitle": "Formulario inválido", - "formDataInvalidMessage": "Uno o más campos contienen valores no válidos." - }, - "dataProviderType": { - "currentRecord": "Fuente de datos", - "formData": "Datos del formulario", - "pageParameter": "Parámetro", - "dataSource": "Registros de datos", - "user": "Usuario", - "previousAction": "Acción previa", - "dataSourceContext": "Opciones disponibles", - "metadata": "Metadatos" - }, - "openPageWorkflowActionForm": { - "urlLabel": "URL", - "urlPlaceholder": "Introducir texto..." - }, - "collectionFieldType": { - "text": "Texto", - "link": "Enlace", - "boolean": "Booleano", - "tags": "Etiquetas", - "image": "Imagen", - "button": "Botón" - }, - "elementsContext": { - "searchPlaceholder": "Buscar elementos", - "noElements": "No se han encontrado elementos", - "noPageElements": "Sin elementos para esta página" - }, - "textElementForm": { - "textTitle": "Texto", - "textError": "El valor es inválido.", - "textPlaceholder": "Introducir texto...", - "textFormatTypeLabel": "Formato", - "textFormatTypePlain": "Texto plano", - "textFormatTypeMarkdown": "Markdown" - }, - "createUserSourceForm": { - "userSourceName": "Nombre", - "userSourceIntegration": "Integración", - "userSourceType": "Tipo" - }, - "event": { - "addAction": "añadir acción" - }, - "pageErrors": { - "errorStartingSlash": "Una ruta debe empezar por '/'", - "errorUniquePathParams": "Los parámetros de la ruta deben ser únicos.", - "errorPathNotUnique": "Ya existe una ruta con este nombre", - "errorValidPathCharacters": "La ruta contiene caracteres inválidos", - "errorNameNotUnique": "Ya existe una página con este nombre" - }, - "addElementButton": { - "label": "Elemento" - }, - "buttonElement": { - "noValue": "Sin nombre...", - "missingValue": "Falta el texto del botón...", - "emptyValue": "Texto del botón vacío..." - }, - "formDataProviderType": { - "nodeMissing": "Falta" - }, - "lastPublishedDomainDate": { - "lastPublished": "Última publicación:", - "neverPublished": "nunca" - }, - "textFieldForm": { - "fieldValuePlaceholder": "Introducir valor...", - "fieldValueLabel": "Valor" - }, - "tableElement": { - "empty": "No se ha encontrado ningún artículo.", - "showMore": "Ver más" - }, - "fontSidePanelForm": { - "label": "Color de fuente" - }, - "emptySidePanelState": { - "message": "Haz clic en uno de los elementos para ver más detalles" - }, - "styleBoxForm": { - "borderLabel": "Tamaño", - "paddingLabel": "Acolchado", - "error": "El valor debe ser un número entero entre 0 y 200.", - "borderColor": "Color del borde", - "marginLabel": "Margen" - }, - "backgroundTypes": { - "color": "Color", - "none": "Ninguno" - }, - "linkElement": { - "noValue": "Sin nombre...", - "missingValue": "Falta el texto del enlace...", - "emptyValue": "Texto del enlace vacío..." - }, - "pagePreview": { - "emptyMessage": "Haz clic para crear un elemento", - "header": "ENCABEZAMIENTO", - "footer": "PIE DE PÁGINA" - }, - "eventTypes": { - "submitLabel": "Al enviar", - "clickLabel": "Al hacer clic", - "afterLoginLabel": "Después de iniciar sesión" - }, - "pageActionTypes": { - "publish": "Publicar", - "preview": "Previsualizar" - }, - "headingElement": { - "noValue": "Sin título...", - "emptyValue": "Título vacío...", - "missingValue": "Falta el título..." - }, - "formContainerElementForm": { - "submitButtonLabel": "Botón de envío", - "submitButtonPlaceholder": "Introducir valor...", - "buttonColor": "Color de los botones", - "resetToInitialValuesTitle": "Restablecer los valores por defecto tras el envío", - "resetToInitialValuesDescription": "Si está marcada, los valores por defecto del formulario se utilizarán para restablecer el formulario después de un envío exitoso. Si no está marcada, se mantendrán los valores del usuario." - }, - "subDomainForm": { - "domainNameLabel": "Nombre de dominio" - }, - "linkField": { - "details": "Detalles" - }, - "getFormulaComponent": { - "errorTooltip": "Referencia inválida" - }, - "pathParamTypes": { - "textName": "Texto", - "numericName": "Numérico" - }, - "dropdownOptionSelector": { - "value": "Valor", - "name": "Nombre", - "addOption": "añadir opción", - "label": "Opciones" - }, - "checkboxElementForm": { - "labelTitle": "Nombre de la opción", - "valueTitle": "Valor por defecto", - "requiredTitle": "Requerido" - }, - "generalForm": { - "placeholderPlaceholder": "Introduce un marcador de posición (opcional)", - "requiredTitle": "Requerido", - "labelTitle": "Etiqueta", - "labelPlaceholder": "Introduce una etiqueta (opcional)", - "valueTitle": "Valor por defecto", - "valuePlaceholder": "Introduce un valor por defecto (opcional)", - "placeholderTitle": "Marcador de posición", - "validationTitle": "Validación" - }, - "iframeElementForm": { - "empty": "Iframe vacío...", - "sourceTypeLabel": "Tipo de fuente", - "urlLabel": "URL", - "urlPlaceholder": "Enlace al recurso externo que se va a incrustar", - "urlHelp": "Nota: asegúrate de que controlas o confías en la URL introducida.", - "embedLabel": "Incrustar", - "embedPlaceholder": "Contenido HTML en bruto para incrustar", - "heightLabel": "Altura (en px)", - "heightPlaceholder": "Altura en píxeles", - "missingValue": "Falta la fuente IFrame...", - "emptyValue": "Fuente IFrame vacía..." - }, - "linkNavigationSelection": { - "navigateTo": "Navegar a", - "navigateToCustom": "URL personalizada", - "paramPlaceholder": "Introduce un valor...", - "paramsInErrorButton": "Actualizar parámetros", - "url": "URL de destino", - "urlPlaceholder": "Introduce una URL...", - "paramsInErrorDescription": "Los parámetros guardados no coinciden con los parámetros de la página. Es probable que la página se haya eliminado o actualizado.", - "target": "Abrir en...", - "targetSelf": "Misma pestaña", - "targetNewTab": "Nueva pestaña" - }, - "dispatchDataSourceError": { - "defaultTitle": "Error de carga de datos", - "defaultMessage": "Se ha producido un error al cargar los datos de la página." - }, - "authFormElementForm": { - "userSource": "Fuente del usuario" - }, - "authFormElement": { - "email": "Correo electrónico", - "password": "Contraseña", - "emailPlaceholder": "Introduce tu correo electrónico...", - "passwordPlaceholder": "Introduce tu contraseña...", - "selectOrConfigureUserSourceFirst": "Elige un origen de usuario para empezar a utilizar este elemento de inicio de sesión." - }, - "userSourceUsersContext": { - "searchPlaceholder": "Buscar usuario", - "unnamed": "Sin nombre", - "anonymous": "Anónimo", - "noEmail": "Sin correo electrónico" - }, - "userSelector": { - "viewAs": "Ver como: {usuario}", - "anonymous": "Anónimo", - "member": "{prefix} miembro" - }, - "formContainerElement": { - "submitDeactivatedText": "Rellena todos los campos obligatorios para enviar", - "defaultSubmitButtonLabel": "Enviar" - }, - "visibilityForm": { - "allVisitors": "Todos los visitantes", - "loggedInVisitors": "Visitantes registrados", - "notLoggedInVisitors": "Visitantes no registrados", - "warningTitle": "Mejoramos constantemente la seguridad", - "warningMessage": "Por el momento, la visibilidad sólo se aplica en la interfaz de usuario, los datos subyacentes siguen siendo accesibles desde la API. Consulta la <a href='https://baserow.io/user-docs/application-builder-element-visibility#note-accessing-hidden-data-via-api'>documentación</a> para obtener más información sobre la seguridad de los datos.", - "excludedRolesLabel": "todos los roles excepto", - "switchAllowLabel": "Permitir", - "switchDisallowLabel": "No permitir", - "rolesSelectAll": "Seleccionar todo", - "rolesDeselectAll": "Deseleccionar todo", - "rolesSelectHint": "Selecciona uno o varios roles", - "roleTypesHint": "Selecciona un tipo de función", - "roleTypeAllowAllRoles": "Todos los roles", - "roleTypeAllowAllRolesExcept": "No permitir roles...", - "roleTypeDisallowAllRolesExcept": "Permitir roles...", - "rolesAllMembersOf": "Todos los miembros de {name}", - "noRole": "Sin función", - "errorFetchingRolesTitle": "No se han podido recuperar los roles de usuario", - "errorFetchingRolesMessage": "Se ha producido un problema al recuperar los roles de usuario." - }, - "generalSettings": { - "titleOverview": "General", - "labelForm": "Favicon", - "labelDescription": "Escoge un ICO, PNG, GIF o JPEG de 128x128px.", - "cantUploadFaviconTitle": "No se puede cargar el archivo favicon", - "cantUpdateApplicationTitle": "No se ha podido actualizar la aplicación", - "cantUpdateApplicationDescription": "Lo sentimos, no se ha podido actualizar la aplicación.", - "labelButton": "Subir favicon", - "cantUploadFaviconDescription": "Lo sentimos, no se ha podido cargar la imagen del favicon. Asegúrese de que el archivo de imagen es único y tiene un formato de imagen compatible." - }, - "repeatElement": { - "empty": "No se ha encontrado ningún artículo.", - "missingDataSourceTooltip": "Elige una fuente de datos para empezar a añadir elementos.", - "showMore": "Ver más", - "missingSchemaPropertyTooltip": "Elige una propiedad para comenzar a agregar elementos.", - "emptyState": "No se han encontrado registros." - }, - "repeatElementForm": { - "dataSource": "Fuente de datos", - "itemsPerPage": "Artículos por página", - "itemsPerRowLabel": "Artículos por fila", - "orientationLabel": "Orientación", - "orientationHorizontal": "Horizontal", - "itemsPerPagePlaceholder": "Introduce el valor...", - "itemsPerRowDescription": "Número de columnas por fila y tipo de dispositivo.", - "orientationVertical": "Vertical", - "buttonLoadMoreLabel": "Mostrar más etiqueta", - "toggleEditorRepetitionsLabel": "Desactivar temporalmente las repeticiones", - "propertySelectorMissingArrays": "No se encontraron campos de valores múltiples para crear los patrones." - }, - "tagsFieldForm": { - "fieldValuesLabel": "Valores", - "fieldValuesPlaceholder": "Introducir valores...", - "fieldColorsPlaceholder": "Introducir colores...", - "fieldColorsLabel": "Colores" - }, - "buttonFieldForm": { - "labelPlaceholder": "Introduce una etiqueta...", - "infoMessage": "Para configurar las acciones de este botón, abre la pestaña «Eventos» del elemento actual." - }, - "imageInput": { - "labelDescription": "Descripción por defecto", - "labelButton": "Cargar" - }, - "userDataProviderType": { - "isAuthenticated": "Está autenticado", - "id": "ID", - "email": "Correo electrónico", - "username": "Usuario", - "role": "Rol" - }, - "buttonField": { - "noLabel": "Sin nombre..." - }, - "themeConfigBlockType": { - "color": "Colores", - "button": "Botón", - "link": "Enlace", - "page": "Página", - "typography": "Tipografía", - "image": "Imagen", - "input": "Entrada", - "table": "Tabla" - }, - "colorThemeConfigBlock": { - "secondaryColor": "Secundario", - "borderColor": "Borde", - "successColor": "Éxito", - "warningColor": "Aviso", - "errorColor": "Error", - "primaryColor": "Principal", - "transparent": "Transparente" - }, - "pageThemeConfigBlock": { - "backgroundColor": "Color de fondo", - "backgroundImage": "Imagen de fondo", - "backgroundMode": "Modo de fondo" - }, - "colorThemeConfigBlockType": { - "primary": "Principal", - "secondary": "Secundario", - "success": "Éxito", - "warning": "Aviso", - "error": "Error", - "border": "Borde", - "transparent": "Transparente" - }, - "typographyThemeConfigBlock": { - "headingLabel": "Encabezamiento {i} (h{i})", - "headingValue": "Encabezamiento ", - "color": "Color", - "size": "Tamaño", - "textAlignment": "Alineación", - "bodyLabel": "Cuerpo", - "fontFamily": "Fuente" - }, - "buttonThemeConfigBlock": { - "backgroundColor": "Color de fondo", - "button": "Botón", - "defaultState": "Estado por defecto", - "hoverState": "Estado de la imagen flotante", - "textAlignment": "Alineación del texto", - "alignment": "Alineación", - "width": "Anchura", - "padding": "Acolchado", - "textColor": "Color del texto", - "size": "Tamaño de letra", - "borderRadius": "Radio del borde", - "borderColor": "Color del borde", - "borderSize": "Tamaño del borde", - "fontFamily": "Fuente" - }, - "linkThemeConfigBlock": { - "defaultState": "Estado por defecto", - "alignment": "Alineación", - "fontFamily": "Fuente", - "link": "Enlace", - "color": "Color", - "hoverState": "Estado de la imagen flotante" - }, - "imageThemeConfigBlock": { - "alignment": "Alineación", - "maxWidthLabel": "Anchura máxima", - "maxHeightLabel": "Altura máxima", - "maxHeightPlaceholder": "Introduce una altura máxima", - "maxWidthPlaceholder": "Introduce una anchura máxima", - "imageConstraintsLabel": "Restricciones", - "imageConstraintFullWidth": "Extender a la anchura máxima", - "imageConstraintCover": "Portada", - "imageConstraintContain": "Contener", - "imageConstraintContainDisabled": "No disponible con altura máxima.", - "imageConstraintCoverDisabled": "No disponible con altura máxima vacía." - }, - "choiceElementForm": { - "multiple": "Permitir varios valores", - "display": "Visualizar", - "dropdown": "Desplegable", - "checkbox": "Casilla de verificación", - "radio": "Radio" - }, - "choiceOptionSelector": { - "value": "Valores de las opciones", - "valuePlaceholder": "Introducir valor", - "name": "Nombres de las opciones", - "namePlaceholder": "Introducir nombre", - "optionType": "Tipo de opciones", - "manual": "Manual", - "dataSource": "Fuente de datos", - "formulas": "Fórmulas", - "label": "Opciones", - "addOption": "añadir opción", - "addOptionDescription": "Haz clic en «añadir opción» para añadir opciones a tu desplegable" - }, - "choiceElement": { - "addOptions": "Añadir opciones para empezar a utilizar este elemento..." - }, - "backgroundModes": { - "tile": "Azulejo", - "fit": "Encajar", - "fill": "Llenar" - }, - "customStyle": { - "themeOverrides": "Anulación de temas", - "configureThemeOverrides": "Configurar las modificaciones del tema para este elemento" - }, - "resetButton": { - "reset": "Restablecer el valor predeterminado del tema" - }, - "inputThemeConfigBlock": { - "textColor": "Color del texto", - "borderColor": "Color del borde", - "borderSize": "Tamaño del borde", - "borderRadius": "Radio del borde", - "padding": "Acolchado", - "fontFamily": "Fuente", - "size": "Tamaño de letra", - "label": "Etiqueta", - "input": "Entrada", - "backgroundColor": "Color de fondo" - }, - "tableThemeConfigBlock": { - "borderColor": "Color del borde", - "backgroundColor": "Color de fondo", - "textColor": "Color del texto", - "padding": "Acolchado", - "fontFamily": "Fuente", - "size": "Tamaño", - "fontSize": "Tamaño de letra", - "table": "Tabla", - "header": "Cabecera", - "borderRadius": "Radio del borde", - "separators": "Separadores", - "verticalSeparatorColor": "Color vertical", - "borderSize": "Tamaño del borde", - "backgroundAlternateColor": "Color de las filas pares", - "alignment": "Alineación", - "cells": "Células", - "verticalSeparatorSize": "Tamaño vertical", - "horizontalSeparatorColor": "Color horizontal", - "horizontalSeparatorSize": "Tamaño horizontal" - }, - "abTable": { - "empty": "No se ha encontrado ningún artículo.", - "loading": "Cargando..." - }, - "localBaserowServiceForm": { - "integrationDropdownLabel": "Integración", - "rowIdLabel": "ID de fila", - "rowIdPlaceholder": "Seleccione un ID de fila" - }, - "fieldMappingContext": { - "enableField": "Habilitar campo", - "disableField": "Desactivar campo" - }, - "dropdown": { - "empty": "No hay opciones disponibles" - }, - "collectionElementForm": { - "noSchemaPropertyMessage": "Elige una propiedad de origen de datos para usarla como el origen de los datos para tu elemento.", - "noDataSourceMessage": "Elige una fuente de datos con varias filas para enumerar todos los resultados, o un origen para los datos de una sola fila para elegir una propiedad dentro de esta fila.", - "propertyOptionLabel": "Acciones del usuario" - }, - "imageFieldForm": { - "fieldAltLabel": "Texto alternativo", - "fieldAltPlaceholder": "Introducir valor...", - "fieldSrcLabel": "Origen de la imagen", - "fieldSrcPlaceholder": "Introducir valor", - "fieldAltHelp": "Es utilizado por los lectores de pantalla y se muestra si la imagen no se puede cargar" - }, - "serviceSchemaPropertySelector": { - "label": "Propiedad", - "noProperties": "No hay propiedades disponibles" - }, - "dataSourceDropdown": { - "label": "Origen de los datos", - "noDataSources": "Sin origen para los datos disponibles", - "shared": "compartido", - "pageOnly": "esta página", - "noSharedDataSources": "No hay fuentes de datos compartidas" - }, - "recordSelectorElementForm": { - "selectRecordsFrom": "Seleccionar registros de", - "noDataSourceMessage": "Elija una fuente de datos con múltiples filas para listar todos los resultados.", - "optionNameSuffix": "Sufijo del nombre de la opción", - "optionNameSuffixPlaceholder": "Introduce un sufijo...", - "optionNameSuffixHelper": "Este sufijo se añade a cada nombre de opción al abrir el desplegable y ayuda a distinguirlas.", - "itemsPerPagePlaceholder": "Introduce el valor...", - "multipleLabel": "Permitir varios valores", - "record": "Registro {id}", - "itemsPerPage": "Artículos por página" - }, - "dataSourceCreateEditModal": { - "editTitle": "Editar fuente de datos", - "createTitle": "Crear fuente de datos", - "sharedWarning": "Esta fuente de datos se comparte, por lo que los cambios pueden afectar a varias páginas." - }, - "dataSourceItem": { - "notConfigured": "No configurado" - }, - "dataSourceItemContext": { - "shareBetweenPages": "Compartir entre páginas", - "unshareBetweenPages": "Descompartir de otras páginas" - }, - "propertyOptionForm": { - "sortHeading": "Ordenar", - "searchHeading": "Búsqueda", - "formDescription": "Elige qué propiedades de la fuente de datos de este elemento pueden filtrar, ordenar y buscar los usuarios externos.", - "fieldHeading": "Campo", - "filterHeading": "Filtro", - "optionUnavailable": "No disponible", - "noPropertiesAvailable": "No hay campos disponibles." - }, - "recordSelectorElement": { - "emptyState": "No se han encontrado registros.", - "emptyAdhocState": "No se han encontrado registros que coincidan con '{query}'." - }, - "common": { - "dateFormatTitle": "Formato de la fecha", - "dateFormatEU": "Europeo", - "dateFormatISO": "ISO", - "timeFormatTitle": "Formato de hora", - "timeFormat24Hour": "24 horas", - "timeFormat12Hour": "12 horas", - "dateFormatUS": "Americano" - }, - "dateTimePickerElementForm": { - "includeTime": "Incluir fecha y hora", - "invalidDateError": "Fecha no válida. Asegúrese de que la fecha ingresada coincida con el formato indicado." - }, - "themeSettings": { - "titleOverview": "Tema" - }, - "pageVisibilitySettingsTypes": { - "pageName": "Divulgación", - "logInPageWarningTitle": "La página de inicio de sesión no está configurada", - "logInPagewarningMessage": "Cuando un usuario anónimo intente acceder a esta página, será redirigido a una página de inicio de sesión. Establezca la página de inicio de sesión en la configuración general de la aplicación.", - "logInPageInfoMessage": "Los usuarios anónimos que intenten acceder a esta página serán redirigidos a la página {logInPageName}.", - "logInPageInfoTitle": "Los usuarios anónimos serán redirigidos" - }, - "pageVisibilitySettings": { - "allVisitors": "Todos los visitantes", - "loggedInVisitors": "Visitantes registrados", - "description": "¿Quién puede ver esta página?", - "title": "Visibilidad" - }, - "builderLoginPageForm": { - "pageDropdownLabel": "Página de inicio de sesión", - "pageDropdownPlaceholder": "Seleccione una página", - "pageDropdownDescription": "Seleccione la página de inicio de sesión a la que deben redirigirse los usuarios que no hayan iniciado sesión cuando intenten acceder a una página restringida." - }, - "multiPageContainerElementForm": { - "behaviour": "Comportamiento", - "display": "Visualizar", - "pagePosition": "Posición", - "selectAll": "Seleccionar todo", - "deselectAll": "Deseleccionar todo" - }, - "pageShareType": { - "all": "En todas las páginas", - "only": "Solo en páginas seleccionadas", - "except": "Excluir páginas seleccionadas" - }, - "pageEditor": { - "pageNotFound": "Página no encontrada" - } + "builderForm": { + "submit": "Añadir aplicación" + }, + "sidebarComponentBuilder": { + "settings": "Configuración", + "createPage": "Nueva página" + }, + "builderSettingsModal": { + "title": "Aplicación" + }, + "builderSettingTypes": { + "integrationsName": "Integraciones", + "themeName": "Tema", + "domainsName": "Dominios", + "userSourcesName": "Usuarios", + "generalName": "General" + }, + "createPageModal": { + "header": "Crear página", + "submit": "Añadir página" + }, + "pageForm": { + "nameLabel": "Nombre", + "errorNameNotUnique": "Ya existe una página con este nombre", + "defaultName": "Página", + "nameTitle": "Nombre", + "pathSubtitle": "Se puede añadir un parámetro mediante :parámetro", + "pathParamsTitle": "Parámetros de ruta", + "nameSubtitle": "Nombre único de la página", + "pathParamsSubtitle": "Están definidos por el :parámetro en la ruta", + "pathParamsSubtitleTutorial": "Los parámetros de ruta se pueden utilizar para cargar datos dinámicamente, en función del parámetro proporcionado. Añada el :parámetro a la ruta para añadir uno.", + "pathTitle": "Ruta", + "namePlaceholder": "Introduzca un nombre...", + "pathPlaceholder": "Introduzca una ruta...", + "addAnotherParameter": "Agregar otro parámetro de cadena de consulta", + "addParameter": "Agregar parámetro de cadena de consulta", + "queryParamsSubtitleTutorial": "Los parámetros de consulta pueden usarse para cargar datos dinámicamente, según el parámetro proporcionado.", + "queryParamsTitle": "Parámetros de cadena de consulta" + }, + "headingElementForm": { + "textError": "El valor es inválido.", + "textPlaceholder": "Introducir texto...", + "levelTitle": "Nivel", + "textTitle": "Texto", + "headingName": "Título {nivel} " + }, + "tableElementForm": { + "addField": "añadir campo", + "itemsPerPage": "Artículos por página", + "fieldType": "Tipo", + "fieldValueLabel": "Valor", + "fieldDefaultName": "Columna", + "dataSource": "Fuente de datos", + "fieldValuePlaceholder": "Introducir valor...", + "itemsPerPagePlaceholder": "Introducir valor...", + "fields": "Campos", + "buttonColor": "Color de los botones", + "selectSourceFirst": "Elige un origen para los datos y/o propiedad para comenzar a configurar tus campos.", + "refreshFieldsFromDataSource": "Actualizar los campos de la fuente de datos", + "name": "Nombre", + "orientation": "Orientación", + "orientationHorizontal": "Horizontal", + "orientationVertical": "Vertical", + "buttonLoadMoreLabel": "Mostrar más etiqueta", + "propertySelectorMissingArrays": "No se encontró que se utilizaran campos de múltiples valores como datos.", + "noName": "Nombre no especificado" + }, + "linkElementForm": { + "paramPlaceholder": "Introduce un valor...", + "targetSelf": "Misma pestaña", + "variantButton": "Botón", + "paramsInErrorButton": "Actualizar parámetros", + "targetNewTab": "Nueva pestaña", + "variantLink": "Enlace", + "url": "URL de destino", + "navigateToNotSet": "Sin destino", + "navigateToCustom": "URL personalizada", + "urlPlaceholder": "Introducir una URL...", + "pageParameterTypeError": "Tipo inválido", + "text": "Texto", + "variant": "Variante", + "textPlaceholder": "Introducir texto...", + "navigateTo": "Navegar a", + "target": "Abrir en...", + "paramsInErrorDescription": "Los parámetros guardados no coinciden con los parámetros de la página. Es probable que la página se haya eliminado o actualizado.", + "buttonColor": "Color del botón" + }, + "textElement": { + "noValue": "Párrafo vacío...", + "missingValue": "Falta texto...", + "emptyValue": "Texto vacío..." + }, + "linkFieldForm": { + "fieldLinkNamePlaceholder": "Introducir valor...", + "fieldValuePlaceholder": "Introducir valor...", + "fieldLinkNameLabel": "Texto del enlace", + "fieldValueLabel": "URL", + "buttonColor": "Color de los botones" + }, + "imageElementForm": { + "uploadFileButton": "Subir archivo", + "fileSourceTypeURL": "URL", + "altTextTitle": "Texto alternativo", + "urlWarning": "Nota: asegúrate de que controlas o confías en la URL introducida.", + "fileLabel": "Imagen", + "invalidUrlError": "URL inválida", + "fileSourceTypeUpload": "Subir", + "altTextDescription": "Es utilizado por los lectores de pantalla y se muestra si la imagen no se puede cargar", + "maxWidthLabel": "Anchura máxima", + "maxHeightLabel": "Altura máxima", + "maxHeightPlaceholder": "Introduce una altura máxima en píxeles.", + "maxWidthPlaceholder": "Introduce una anchura máxima en porcentaje.", + "imageConstraintCover": "Portada", + "imageConstraintCoverDisabled": "No disponible con altura máxima vacía.", + "imageConstraintContain": "Contener", + "imageConstraintContainDisabled": "No disponible con altura máxima.", + "imageConstraintsLabel": "Restricciones", + "imageConstraintFullWidth": "Extender a la anchura máxima" + }, + "dataSourceForm": { + "servicePlaceholder": "Selecciona un servicio", + "namePlaceholder": "Nombre de la fuente", + "errorUniqueName": "El nombre de la fuente de datos debe ser único.", + "integrationPlaceholder": "Selecciona una integración", + "nameLabel": "Nombre", + "actionLabel": "Acción", + "integrationLabel": "Integración" + }, + "elementType": { + "table": "Tabla", + "formContainer": "Formulario", + "textDescription": "Texto multilínea", + "heading": "Título", + "inputText": "Entrada de datos", + "inputTextDescription": "Campo de entrada de datos", + "text": "Párrafo", + "headingDescription": "Título de la página", + "image": "Imagen", + "tableDescription": "Un elemento de la tabla", + "columnDescription": "Contenedor de columnas", + "button": "Botón", + "link": "Enlace", + "column": "Columnas", + "imageDescription": "Mostrar imagen", + "buttonDescription": "Un elemento de botón", + "formContainerDescription": "Un elemento de formulario", + "linkDescription": "Un enlace a la página/URL", + "dropdown": "Desplegable", + "dropdownDescription": "Elemento desplegable", + "checkbox": "Casilla de verificación", + "checkboxDescription": "Elemento casilla de verificación", + "iframe": "iframe", + "iframeDescription": "Marco en línea", + "authForm": "Formulario de acceso", + "authFormDescription": "Un formulario de acceso de usuario", + "repeat": "Repetir", + "repeatDescription": "Un conjunto repetible de elementos", + "choice": "Selección", + "choiceDescription": "Para la selección de uno o varios valores", + "recordSelector": "Selector de registro", + "recordSelectorDescription": "Un selector de registros relacionados", + "dateTimePicker": "Selector de fecha y hora", + "dateTimePickerDescription": "Un campo de entrada de fecha y hora", + "headerDescription": "Contenedor compartido en varias páginas", + "footer": "Pie de página de varias páginas", + "footerDescription": "Un contenedor compartido entre páginas", + "notAllowedUnlessBottom": "Este elemento solo está permitido en la parte inferior de la página", + "notAllowedUnlessHeader": "Este elemento solo está permitido dentro del encabezado de la página", + "notAllowedUnlessFooter": "Este elemento solo está permitido dentro del pie de página", + "notAllowedInsideContainer": "Este elemento no está permitido dentro de un contenedor", + "notAllowedInsideSameType": "Este elemento no está permitido en un contenedor del mismo tipo", + "notAllowedLocation": "Este elemento no está permitido en esta ubicación", + "header": "Encabezado de varias páginas", + "notAllowedUnlessTop": "Este elemento solo está permitido en la parte superior de la página", + "ratingInput": "Campo de puntuación", + "ratingInputDescription": "Un elemento de campo de puntuación", + "rating": "Puntuación", + "ratingDescription": "Un elemento de puntuación", + "invalidElementValue": "Elemento con valor inválido: {value}", + "menu": "Menú", + "menuDescription": "Elemento de menú", + "simpleContainer": "Contenedor", + "simpleContainerDescription": "Un contenedor para otros elementos", + "fileInput": "Selección de archivo", + "fileInputDescription": "Una entrada para subir archivos", + "errorValueMissing": "Propiedad de valor faltante", + "errorEmptyContainer": "Este contenedor está vacío", + "errorParentWithDataSourceMissing": "No se ha seleccionado ninguna fuente de datos en el elemento ni en un contenedor padre", + "errorDataSourceMissing": "No se ha seleccionado ninguna fuente de datos", + "errorSchemaPropertyMissing": "No se ha seleccionado ninguna propiedad de esquema", + "errorWorkflowActionInError": "Al menos una acción está mal configurada", + "errorCollectionFieldInError": "Al menos un campo está mal configurado", + "errorNavigateToPageMissing": "Falta la propiedad «Navegar a»", + "errorPageParameterInError": "Al menos un parámetro de página está mal configurado", + "errorNavigationUrlMissing": "Falta la propiedad «URL de navegación»", + "errorImageFileMissing": "No se encontró el archivo de imagen", + "errorImageUrlMissing": "Falta la propiedad «URL de imagen»", + "errorNoWorkflowAction": "Falta configurar una acción del flujo de trabajo", + "errorOptionsMissing": "No se ha configurado ninguna opción", + "errorIframeUrlMissing": "Falta la propiedad «URL del iFrame»", + "errorIframeContentMissing": "Falta el contenido de «iFrame»", + "errorNoMenuItem": "No se ha configurado ningún elemento de menú", + "errorMenuItemInError": "Al menos un menú está mal configurado", + "errorSubMenuItemInError": "Al menos un submenú está mal configurado" + }, + "verticalAlignmentSelector": { + "alignmentTop": "Arriba", + "alignmentBottom": "Inferior", + "alignmentCenter": "Medio", + "alignment": "Alineación vertical" + }, + "dnsStatus": { + "hostHeader": "Anfitrión", + "valueHeader": "Valor", + "typeHeader": "Tipo", + "description": "Visita la configuración DNS de tu dominio y realiza los siguientes cambios" + }, + "horizontalAlignmentSelector": { + "alignmentLeft": "Izquierda", + "alignmentRight": "A la derecha", + "alignment": "Alineación horizontal", + "alignmentCenter": "Centro" + }, + "duplicatePageJobType": { + "duplicating": "Duplicando", + "duplicatedTitle": "Página duplicada", + "name": "Duplicar página" + }, + "defaultStyleForm": { + "widthLabel": "Anchura", + "boxTop": "Arriba", + "backgroundLabel": "Fondo", + "backgroundColor": "Color de fondo", + "boxBottom": "Abajo", + "boxLeft": "Izquierda", + "boxRight": "Derecha", + "backgroundImage": "Imagen", + "backgroundImageMode": "Modo de relleno", + "cssClasses": "Clases de CSS", + "cssClassesHelp": "Establece una lista de clases separadas por espacios para este elemento que aparecerá en el HTML generado.", + "cssClassesPlaceholder": "Introduce las clases CSS…" + }, + "updateUserSourceForm": { + "nameFieldLabel": "Nombre", + "nameFieldPlaceholder": "Introduce un nombre...", + "integrationFieldLabel": "Integración", + "authTitle": "Autenticación", + "addProvider": "Añadir proveedor" + }, + "elementForms": { + "urlInputPlaceholder": "Introducir URL...", + "textInputPlaceholder": "Introducir texto...", + "invalidFormula": "La fórmula es inválida" + }, + "mainThemeConfigBlock": { + "colorsLabel": "Colores", + "primaryColor": "Primario", + "headingValue": "Título ", + "typography": "Tipografía", + "headingLabel": "Título {i} (h{i})", + "secondaryColor": "Secundario" + }, + "domainSettings": { + "noDomainMessage": "Aún no has asociado un dominio a esta aplicación. Debes añadir un dominio para poder publicar tu aplicación. Puedes publicar diferentes versiones de tu aplicación para cada dominio listado aquí.", + "addDomain": "Añadir dominio", + "titleOverview": "Dominios", + "titleAddDomain": "Añadir dominio" + }, + "elementMenu": { + "moveRight": "Mover a la derecha", + "moveDown": "Bajar", + "moveUp": "Subir", + "moveLeft": "Mover a la izquierda", + "selectParent": "Seleccionar padre" + }, + "pageHeaderItemTypes": { + "labelVariables": "Variables", + "labelElements": "Elementos", + "labelSettings": "Configuración de página", + "labelDataSource": "Datos" + }, + "inputTextElementForm": { + "placeholderPlaceholder": "Introduce un marcador de posición (opcional)", + "valueTitle": "Valor por defecto", + "valuePlaceholder": "Introducir un valor por defecto (opcional)", + "placeholderTitle": "Marcador de posición", + "labelTitle": "Etiqueta", + "requiredTitle": "Requerido", + "labelPlaceholder": "Introducir una etiqueta (opcional)", + "rowsTitle": "Número de líneas", + "multilineTitle": "Multilínea", + "rowsPlaceholder": "Introduce el número de filas de esta entrada", + "validationTypeAnyLabel": "Cualquier", + "validationTypeIntegerLabel": "Número", + "validationTypeIntegerDescription": "Forzar un valor numérico en este campo (acepta enteros y decimales).", + "validationTypeEmailLabel": "Correo electrónico", + "validationTypeEmailDescription": "Implemente un valor de dirección de correo electrónico en esta entrada.", + "validationTypeAnyDescription": "Permite establecer cualquier valor en esta entrada.", + "inputType": "Tipo de entrada", + "inputTypeTextLabel": "Texto", + "inputTypePasswordLabel": "Contraseña", + "passwordTypeWarning": "Las contraseñas son datos sensibles. Tenga cuidado con la forma en que maneja y almacena las contraseñas en su aplicación." + }, + "widthSelector": { + "widthFull": "Anchura completa", + "widthAuto": "Auto", + "width": "Anchura" + }, + "domainCard": { + "detailLabel": "Mostrar detalles", + "refresh": "Actualizar configuración", + "unpublishedDomainWarning": "Por favor, publica la aplicación para que esté disponible en este dominio." + }, + "buttonElementForm": { + "valuePlaceholder": "Introducir texto...", + "valueLabel": "Texto del botón", + "buttonColor": "Color de los botones" + }, + "workflowActionTypes": { + "updateRowLabel": "Actualizar fila", + "createRowLabel": "Crear fila", + "notificationLabel": "Mostrar notificación", + "openPageLabel": "Abrir página", + "logoutLabel": "Cerrar sesión", + "refreshDataSourceLabel": "Refrescar fuente de datos", + "deleteRowLabel": "Borrar fila", + "httpRequest": "Enviar solicitud HTTP", + "errorNavigateToPageMissing": "Falta la propiedad «Navegar a»", + "errorPageParameterInError": "Al menos un parámetro de página está mal configurado", + "errorNavigationUrlMissing": "Falta la propiedad «URL de navegación»", + "errorDataSourceMissing": "No se ha seleccionado ninguna fuente de datos" + }, + "widthTypes": { + "full": "Anchura completa", + "small": "Pequeño", + "medium": "Medio", + "normal": "Normal", + "fullBleed": "Sangrado total", + "fullWidth": "Anchura total" + }, + "userSourceSettings": { + "titleOverview": "Fuentes del usuario", + "titleUpdateUserSource": "Editar fuente de usuario", + "titleAddUserSource": "Nueva fuente de usuarios", + "addUserSource": "Añadir fuente de usuario", + "noUserSourceMessage": "Aún no has añadido un origen de usuario a esta aplicación. Debes añadir un origen de usuario si quieres que los usuarios puedan autenticar tu aplicación." + }, + "publicPage": { + "pageNotFound": "Página no encontrada", + "siteNotFound": "Sitio no encontrado", + "loginToastTitle": "Autenticación exitosa", + "loginToastMessage": "Has iniciado sesión correctamente.", + "authorizedToastTitle": "Autenticación requerida", + "authorizedToastMessage": "Debes iniciar sesión para acceder a esta página. Por favor, inicia sesión para continuar." + }, + "integrationSettings": { + "integrationMessage": "Se pueden crear nuevas integraciones añadiendo fuente de datos, acción o autenticación de usuario.", + "noIntegrationMessage": "Aún no has creado ninguna conexión. Se pueden crear añadiendo fuente de datos, acción o autenticación de usuario.", + "title": "Integraciones" + }, + "upsertRowWorkflowActionForm": { + "rowIdPlaceholder": "Selecciona un ID de fila", + "fieldMappingPlaceholder": "Elige un valor de campo", + "integrationDropdownLabel": "Integración", + "rowIdLabel": "ID de fila", + "noTableSelectedMessage": "Elige una tabla para empezar a configurar tus campos." + }, + "customDomainForm": { + "domainNameLabel": "Nombre de dominio" + }, + "subDomainDetails": { + "text": "Los ajustes DNS del dominio ya han sido configurados y comprobados. Funciona sin realizar ningún cambio adicional." + }, + "imageElement": { + "emptyState": "No hay texto alternativo definido...", + "missingValue": "Falta texto alternativo...", + "emptyValue": "Texto alternativo vacío..." + }, + "columnElementForm": { + "columnGapPlaceholder": "Introducir espacio entre columnas...", + "columnGapTitle": "Espacio entre columnas", + "columnAmountTitle": "Disposición", + "columnAmountName": "sin columnas | 1 columna | {columnaCantidad} columnas", + "verticalAlignment": "Alineación vertical" + }, + "pageSettings": { + "pageUpdatedTitle": "Cambiado", + "pageUpdatedDescription": "Se ha actualizado la configuración de la página.", + "title": "Página" + }, + "notificationWorkflowActionForm": { + "descriptionLabel": "Descripción", + "descriptionPlaceholder": "Introducir texto...", + "titleLabel": "Título", + "titlePlaceholder": "Introducir texto..." + }, + "dataSourceContext": { + "addDataSource": "Añadir nueva fuente de datos", + "noDataSourceMessage": "Las fuentes de datos pueden utilizarse para obtener datos de fuentes internas o externas y mostrarlos en la página.", + "noDataSourceTitle": "Aún no has añadido una fuente de datos.", + "sharedDataSourceTitle": "Compartido entre páginas", + "pageDataSourceTitle": "Para esta página", + "sharedDataSourceDescription": "Accesible en todas las páginas y se obtiene una vez en la primera carga de la página.", + "pageDataSourceDescription": "Se obtiene cuando el usuario navega a esta página." + }, + "pageSettingsTypes": { + "pageName": "Página" + }, + "publishActionModal": { + "publish": "Publicar", + "publishSucceedDescription": "El sitio se ha publicado correctamente.", + "publishSucceedTitle": "Sitio publicado", + "description": "Publica tu aplicación en uno de los dominios. Ten en cuenta que tu aplicación puede tener varios dominios, cada uno con una versión diferente de la aplicación.", + "title": "Publicar", + "publishFailedTitle": "Error en la publicación del sitio", + "openInNewTab": "Abrir en una pestaña nueva", + "noDomain": "Necesitas tener al menos un dominio para poder publicar tu aplicación.", + "publishFailedDescription": "La publicación del sitio ha fallado. Vuelva a intentarlo más tarde.", + "importingState": "Importando", + "publishSucceedLink": "Ver sitio", + "addDomain": "Añadir dominio" + }, + "currentRecordDataProviderType": { + "index": "Índice", + "firstPartName": "Fuente de datos: {nombre}", + "schemaProperty": "{prefixName}: {schemaProperty}" + }, + "pageSidePanelType": { + "visibility": "Visibilidad", + "general": "General", + "events": "Eventos", + "style": "Estilo", + "eventsTabDeactivatedNoEvents": "Este elemento no admite eventos", + "eventsTabInError": "Una o más acciones están mal configuradas." + }, + "addElementModal": { + "title": "Añadir nuevo elemento", + "searchPlaceholder": "Buscar elementos", + "disabledElementTooltip": "No disponible dentro de este elemento", + "elementInProgress": "Añadiendo elemento..." + }, + "domainTypes": { + "subDomain": "Subdominio de {dominio}", + "customName": "Dominio personalizado", + "subDomainName": "Subdominio" + }, + "domainForm": { + "notUniqueDomain": "El dominio proporcionado ya está en uso", + "invalidDomain": "El nombre de dominio proporcionado es inválido" + }, + "dispatchWorkflowActionError": { + "defaultMessage": "Se ha producido un error que ha provocado este evento.", + "defaultTitle": "Error de evento", + "formDataInvalidTitle": "Formulario inválido", + "formDataInvalidMessage": "Uno o más campos contienen valores no válidos." + }, + "dataProviderType": { + "currentRecord": "Fuente de datos", + "formData": "Datos del formulario", + "pageParameter": "Parámetro", + "dataSource": "Registros de datos", + "user": "Usuario", + "previousAction": "Acción previa", + "dataSourceContext": "Opciones disponibles", + "metadata": "Metadatos" + }, + "openPageWorkflowActionForm": { + "urlLabel": "URL", + "urlPlaceholder": "Introducir texto..." + }, + "collectionFieldType": { + "text": "Texto", + "link": "Enlace", + "boolean": "Booleano", + "tags": "Etiquetas", + "image": "Imagen", + "button": "Botón", + "rating": "Valoración", + "errorValueMissing": "Propiedad de valor faltante" + }, + "elementsContext": { + "searchPlaceholder": "Buscar elementos", + "noElements": "No se han encontrado elementos", + "noPageElements": "Sin elementos para esta página" + }, + "textElementForm": { + "textTitle": "Texto", + "textError": "El valor es inválido.", + "textPlaceholder": "Introducir texto...", + "textFormatTypeLabel": "Formato", + "textFormatTypePlain": "Texto plano", + "textFormatTypeMarkdown": "Markdown" + }, + "createUserSourceForm": { + "userSourceName": "Nombre", + "userSourceIntegration": "Integración", + "userSourceType": "Tipo" + }, + "event": { + "addAction": "añadir acción" + }, + "pageErrors": { + "errorStartingSlash": "Una ruta debe empezar por '/'", + "errorUniquePathParams": "Los parámetros de la ruta deben ser únicos.", + "errorPathNotUnique": "Ya existe una ruta con este nombre", + "errorValidPathCharacters": "La ruta contiene caracteres inválidos", + "errorNameNotUnique": "Ya existe una página con este nombre", + "errorUniqueValidQueryParams": "Los nombres de los parámetros de consulta deben ser únicos y válidos." + }, + "addElementButton": { + "label": "Elemento" + }, + "buttonElement": { + "noValue": "Sin nombre...", + "missingValue": "Falta el texto del botón...", + "emptyValue": "Texto del botón vacío..." + }, + "formDataProviderType": { + "nodeMissing": "Falta" + }, + "lastPublishedDomainDate": { + "lastPublished": "Última publicación:", + "neverPublished": "nunca" + }, + "textFieldForm": { + "fieldValuePlaceholder": "Introducir valor...", + "fieldValueLabel": "Valor" + }, + "tableElement": { + "empty": "No se ha encontrado ningún artículo.", + "showMore": "Ver más" + }, + "fontSidePanelForm": { + "label": "Color de fuente" + }, + "emptySidePanelState": { + "message": "Haz clic en uno de los elementos para ver más detalles" + }, + "styleBoxForm": { + "borderLabel": "Tamaño", + "paddingLabel": "Acolchado", + "error": "El valor debe ser un número entero entre 0 y 200.", + "borderColor": "Color del borde", + "marginLabel": "Margen" + }, + "backgroundTypes": { + "color": "Color", + "none": "Ninguno" + }, + "linkElement": { + "noValue": "Sin nombre...", + "missingValue": "Falta el texto del enlace...", + "emptyValue": "Texto del enlace vacío..." + }, + "pagePreview": { + "emptyMessage": "Haz clic para crear un elemento", + "header": "ENCABEZAMIENTO", + "footer": "PIE DE PÁGINA" + }, + "eventTypes": { + "submitLabel": "Al enviar", + "clickLabel": "Al hacer clic", + "afterLoginLabel": "Después de iniciar sesión" + }, + "pageActionTypes": { + "publish": "Publicar", + "preview": "Previsualizar" + }, + "headingElement": { + "noValue": "Sin título...", + "emptyValue": "Título vacío...", + "missingValue": "Falta el título..." + }, + "formContainerElementForm": { + "submitButtonLabel": "Botón de envío", + "submitButtonPlaceholder": "Introducir valor...", + "buttonColor": "Color de los botones", + "resetToInitialValuesTitle": "Restablecer los valores por defecto tras el envío", + "resetToInitialValuesDescription": "Si está marcada, los valores por defecto del formulario se utilizarán para restablecer el formulario después de un envío exitoso. Si no está marcada, se mantendrán los valores del usuario." + }, + "subDomainForm": { + "domainNameLabel": "Nombre de dominio" + }, + "linkField": { + "details": "Detalles" + }, + "getFormulaComponent": { + "errorTooltip": "Referencia inválida" + }, + "pathParamTypes": { + "textName": "Texto", + "numericName": "Numérico" + }, + "dropdownOptionSelector": { + "value": "Valor", + "name": "Nombre", + "addOption": "añadir opción", + "label": "Opciones" + }, + "checkboxElementForm": { + "labelTitle": "Nombre de la opción", + "valueTitle": "Valor por defecto", + "requiredTitle": "Requerido" + }, + "generalForm": { + "placeholderPlaceholder": "Introduce un marcador de posición", + "requiredTitle": "Requerido", + "labelTitle": "Etiqueta", + "labelPlaceholder": "Introduce la etiqueta", + "valueTitle": "Valor", + "valuePlaceholder": "Introduce un valor", + "placeholderTitle": "Marcador de posición", + "validationTitle": "Validación", + "defaultValueTitle": "Valor predeterminado", + "defaultValuePlaceholder": "Introduce el valor predeterminado" + }, + "iframeElementForm": { + "empty": "Iframe vacío...", + "sourceTypeLabel": "Tipo de fuente", + "urlLabel": "URL", + "urlPlaceholder": "Enlace al recurso externo que se va a incrustar", + "urlHelp": "Nota: asegúrate de que controlas o confías en la URL introducida.", + "embedLabel": "Incrustar", + "embedPlaceholder": "Contenido HTML en bruto para incrustar", + "heightLabel": "Altura (en px)", + "heightPlaceholder": "Altura en píxeles", + "missingValue": "Falta la fuente IFrame...", + "emptyValue": "Fuente IFrame vacía..." + }, + "linkNavigationSelection": { + "navigateTo": "Navegar a", + "navigateToCustom": "URL personalizada", + "paramPlaceholder": "Introduce un valor...", + "paramsInErrorButton": "Actualizar parámetros", + "url": "URL de destino", + "urlPlaceholder": "Introduce una URL...", + "paramsInErrorDescription": "Los parámetros guardados no coinciden con los parámetros de la página. Es probable que la página se haya eliminado o actualizado.", + "target": "Abrir en...", + "targetSelf": "Misma pestaña", + "targetNewTab": "Nueva pestaña" + }, + "dispatchDataSourceError": { + "defaultTitle": "Error de carga de datos", + "defaultMessage": "Se ha producido un error al cargar los datos de la página." + }, + "authFormElementForm": { + "userSource": "Fuente del usuario" + }, + "authFormElement": { + "email": "Correo electrónico", + "password": "Contraseña", + "emailPlaceholder": "Introduce tu correo electrónico...", + "passwordPlaceholder": "Introduce tu contraseña...", + "selectOrConfigureUserSourceFirst": "Elige un origen de usuario para empezar a utilizar este elemento de inicio de sesión." + }, + "userSourceUsersContext": { + "searchPlaceholder": "Buscar usuario", + "unnamed": "Sin nombre", + "anonymous": "Anónimo", + "noEmail": "Sin correo electrónico" + }, + "userSelector": { + "viewAs": "Ver como: {usuario}", + "anonymous": "Anónimo", + "member": "{prefix} miembro" + }, + "formContainerElement": { + "submitDeactivatedText": "Rellena todos los campos obligatorios para enviar", + "defaultSubmitButtonLabel": "Enviar" + }, + "visibilityForm": { + "allVisitors": "Todos los visitantes", + "loggedInVisitors": "Visitantes registrados", + "notLoggedInVisitors": "Visitantes no registrados", + "warningTitle": "Esto es una característica de seguridad", + "warningMessage": "Revisa la <a href='https://baserow.io/user-docs/application-builder-element-visibility#note-accessing-hidden-data-via-api'>documentación</a> para aprender más sobre cómo aseguramos los datos.", + "excludedRolesLabel": "todos los roles excepto", + "switchAllowLabel": "Permitir", + "switchDisallowLabel": "No permitir", + "rolesSelectAll": "Seleccionar todo", + "rolesDeselectAll": "Deseleccionar todo", + "rolesSelectHint": "Selecciona uno o varios roles", + "roleTypesHint": "Selecciona un tipo de función", + "roleTypeAllowAllRoles": "Todos los roles", + "roleTypeAllowAllRolesExcept": "No permitir roles...", + "roleTypeDisallowAllRolesExcept": "Permitir roles...", + "rolesAllMembersOf": "Todos los miembros de {name}", + "noRole": "Sin función", + "errorFetchingRolesTitle": "No se han podido recuperar los roles de usuario", + "errorFetchingRolesMessage": "Se ha producido un problema al recuperar los roles de usuario.", + "visibilityCondition": "Condición de visibilidad", + "visibilityConditionHelper": "Si el resultado de esta fórmula es «verdadero», y la elección del visitante anterior es «verdadero», el elemento será visible. Esta condición solo afecta la visibilidad del elemento. Para excluir datos de la respuesta del servidor, usa la opción de filtrado por rol de usuario anterior.", + "visibilityConditionPlaceholder": "Condición…" + }, + "generalSettings": { + "titleOverview": "General", + "labelForm": "Icono de sitio (favicon)", + "labelDescription": "Escoge un ICO, PNG, GIF o JPEG de 128x128px.", + "cantUploadFaviconTitle": "No se puede cargar el archivo favicon", + "cantUpdateApplicationTitle": "No se ha podido actualizar la aplicación", + "cantUpdateApplicationDescription": "Lo sentimos, no se ha podido actualizar la aplicación.", + "labelButton": "Subir favicon", + "cantUploadFaviconDescription": "Lo sentimos, no se ha podido cargar la imagen del favicon. Asegúrese de que el archivo de imagen es único y tiene un formato de imagen compatible." + }, + "repeatElement": { + "empty": "No se ha encontrado ningún artículo.", + "missingDataSourceTooltip": "Elige una fuente de datos para empezar a añadir elementos.", + "showMore": "Ver más", + "missingSchemaPropertyTooltip": "Elige una propiedad para comenzar a agregar elementos.", + "emptyState": "No se han encontrado registros." + }, + "repeatElementForm": { + "dataSource": "Fuente de datos", + "itemsPerPage": "Artículos por página", + "itemsPerRowLabel": "Artículos por fila", + "orientationLabel": "Orientación", + "orientationHorizontal": "Horizontal", + "itemsPerPagePlaceholder": "Introduce el valor...", + "itemsPerRowDescription": "Número de columnas por fila y tipo de dispositivo.", + "orientationVertical": "Vertical", + "buttonLoadMoreLabel": "Mostrar más etiqueta", + "toggleEditorRepetitionsLabel": "Desactivar temporalmente las repeticiones", + "propertySelectorMissingArrays": "No se encontraron campos de valores múltiples para crear los patrones.", + "gapLabel": "Espacio entre repeticiones", + "gapVerticalLabel": "Vertical", + "gapHorizontalLabel": "Horizontal" + }, + "tagsFieldForm": { + "fieldValuesLabel": "Valores", + "fieldValuesPlaceholder": "Introducir valores...", + "fieldColorsPlaceholder": "Introducir colores...", + "fieldColorsLabel": "Colores" + }, + "buttonFieldForm": { + "labelPlaceholder": "Introduce una etiqueta...", + "infoMessage": "Para configurar las acciones de este botón, abre la pestaña «Eventos» del elemento actual." + }, + "imageInput": { + "labelDescription": "Descripción por defecto", + "labelButton": "Cargar" + }, + "userDataProviderType": { + "isAuthenticated": "Está autenticado", + "id": "ID", + "email": "Correo electrónico", + "username": "Usuario", + "role": "Rol" + }, + "buttonField": { + "noLabel": "Sin nombre..." + }, + "themeConfigBlockType": { + "color": "Colores", + "button": "Botón", + "link": "Enlace", + "page": "Página", + "typography": "Tipografía", + "image": "Imagen", + "input": "Entrada", + "table": "Tabla" + }, + "colorThemeConfigBlock": { + "secondaryColor": "Secundario", + "borderColor": "Borde", + "successColor": "Éxito", + "warningColor": "Aviso", + "errorColor": "Error", + "primaryColor": "Principal", + "transparent": "Transparente", + "customColors": "Colores personalizados", + "addCustomColor": "Agregar color personalizado", + "customColorPrefix": "Personalizado" + }, + "pageThemeConfigBlock": { + "backgroundColor": "Color de fondo", + "backgroundImage": "Imagen de fondo", + "backgroundMode": "Modo de fondo" + }, + "colorThemeConfigBlockType": { + "primary": "Principal", + "secondary": "Secundario", + "success": "Éxito", + "warning": "Aviso", + "error": "Error", + "border": "Borde", + "transparent": "Transparente" + }, + "typographyThemeConfigBlock": { + "headingLabel": "Encabezamiento {i} (h{i})", + "headingValue": "Encabezamiento ", + "color": "Color", + "size": "Tamaño", + "textAlignment": "Alineación", + "bodyLabel": "Cuerpo", + "fontFamily": "Fuente tipográfica", + "weight": "Peso", + "decoration": "Decoración de texto" + }, + "buttonThemeConfigBlock": { + "backgroundColor": "Color de fondo", + "button": "Botón", + "defaultState": "Estado por defecto", + "hoverState": "Estado de la imagen flotante", + "textAlignment": "Alineación del texto", + "alignment": "Alineación", + "width": "Anchura", + "padding": "Acolchado", + "textColor": "Color del texto", + "size": "Tamaño de letra", + "borderRadius": "Radio del borde", + "borderColor": "Color del borde", + "borderSize": "Tamaño del borde", + "fontFamily": "Fuente tipográfica", + "activeState": "Estado activo", + "weight": "Peso de fuente" + }, + "linkThemeConfigBlock": { + "defaultState": "Estado por defecto", + "alignment": "Alineación", + "fontFamily": "Fuente tipográfica", + "link": "Enlace", + "color": "Color", + "hoverState": "Estado de la imagen flotante", + "activeState": "Estado activo", + "size": "Tamaño de fuente", + "weight": "Peso de fuente", + "decoration": "Decoración de texto" + }, + "imageThemeConfigBlock": { + "alignment": "Alineación", + "maxWidthLabel": "Anchura máxima", + "maxHeightLabel": "Altura máxima", + "maxHeightPlaceholder": "Introduce una altura máxima", + "maxWidthPlaceholder": "Introduce una anchura máxima", + "imageConstraintsLabel": "Restricciones", + "imageConstraintFullWidth": "Extender a la anchura máxima", + "imageConstraintCover": "Portada", + "imageConstraintContain": "Contener", + "imageConstraintContainDisabled": "No disponible con altura máxima.", + "imageConstraintCoverDisabled": "No disponible con altura máxima vacía.", + "imageBorderRadiusLabel": "Radio de borde", + "imageBorderRadiusPlaceholder": "Introduce el radio de borde de la imagen." + }, + "choiceElementForm": { + "multiple": "Permitir varios valores", + "display": "Visualizar", + "dropdown": "Desplegable", + "checkbox": "Casilla de verificación", + "radio": "Radio" + }, + "choiceOptionSelector": { + "value": "Valores de las opciones", + "valuePlaceholder": "Introducir valor", + "name": "Nombres de las opciones", + "namePlaceholder": "Introducir nombre", + "optionType": "Tipo de opciones", + "manual": "Manual", + "dataSource": "Fuente de datos", + "formulas": "Fórmulas", + "label": "Opciones", + "addOption": "añadir opción", + "addOptionDescription": "Haz clic en «añadir opción» para añadir opciones a tu desplegable" + }, + "choiceElement": { + "addOptions": "Añadir opciones para empezar a utilizar este elemento..." + }, + "backgroundModes": { + "tile": "Azulejo", + "fit": "Encajar", + "fill": "Llenar" + }, + "customStyle": { + "themeOverrides": "Anulación de temas", + "configureThemeOverrides": "Configurar las modificaciones del tema para este elemento" + }, + "resetButton": { + "reset": "Restablecer el valor predeterminado del tema" + }, + "inputThemeConfigBlock": { + "textColor": "Color del texto", + "borderColor": "Color del borde", + "borderSize": "Tamaño del borde", + "borderRadius": "Radio del borde", + "padding": "Acolchado", + "fontFamily": "Fuente tipográfica", + "size": "Tamaño de letra", + "label": "Etiqueta", + "input": "Entrada", + "backgroundColor": "Color de fondo", + "weight": "Peso de fuente" + }, + "tableThemeConfigBlock": { + "borderColor": "Color del borde", + "backgroundColor": "Color de fondo", + "textColor": "Color del texto", + "padding": "Acolchado", + "fontFamily": "Fuente", + "size": "Tamaño", + "fontSize": "Tamaño de letra", + "table": "Tabla", + "header": "Cabecera", + "borderRadius": "Radio del borde", + "separators": "Separadores", + "verticalSeparatorColor": "Color vertical", + "borderSize": "Tamaño del borde", + "backgroundAlternateColor": "Color de las filas pares", + "alignment": "Alineación", + "cells": "Células", + "verticalSeparatorSize": "Tamaño vertical", + "horizontalSeparatorColor": "Color horizontal", + "horizontalSeparatorSize": "Tamaño horizontal", + "fontWeight": "Peso de fuente" + }, + "abTable": { + "empty": "No se ha encontrado ningún artículo.", + "loading": "Cargando..." + }, + "localBaserowServiceForm": { + "integrationDropdownLabel": "Integración", + "rowIdLabel": "ID de fila", + "rowIdPlaceholder": "Seleccione un ID de fila" + }, + "fieldMappingContext": { + "enableField": "Habilitar campo", + "disableField": "Desactivar campo" + }, + "dropdown": { + "empty": "No hay opciones disponibles" + }, + "collectionElementForm": { + "noSchemaPropertyMessage": "Elige una propiedad de origen de datos para usarla como el origen de los datos para tu elemento.", + "noDataSourceMessage": "Elige una fuente de datos con varias filas para enumerar todos los resultados, o un origen para los datos de una sola fila para elegir una propiedad dentro de esta fila.", + "propertyOptionLabel": "Acciones del usuario" + }, + "imageFieldForm": { + "fieldAltLabel": "Texto alternativo", + "fieldAltPlaceholder": "Introducir valor...", + "fieldSrcLabel": "Origen de la imagen", + "fieldSrcPlaceholder": "Introducir valor", + "fieldAltHelp": "Es utilizado por los lectores de pantalla y se muestra si la imagen no se puede cargar" + }, + "serviceSchemaPropertySelector": { + "label": "Propiedad", + "noProperties": "No hay propiedades disponibles" + }, + "dataSourceDropdown": { + "label": "Origen de los datos", + "noDataSources": "Sin origen para los datos disponibles", + "shared": "compartido", + "pageOnly": "esta página", + "noSharedDataSources": "No hay fuentes de datos compartidas" + }, + "recordSelectorElementForm": { + "selectRecordsFrom": "Seleccionar registros de", + "noDataSourceMessage": "Elija una fuente de datos con múltiples filas para listar todos los resultados.", + "optionNameSuffix": "Sufijo del nombre de la opción", + "optionNameSuffixPlaceholder": "Introduce un sufijo...", + "optionNameSuffixHelper": "Este sufijo se añade a cada nombre de opción al abrir el desplegable y ayuda a distinguirlas.", + "itemsPerPagePlaceholder": "Introduce el valor...", + "multipleLabel": "Permitir varios valores", + "record": "Registro {id}", + "itemsPerPage": "Artículos por página" + }, + "dataSourceCreateEditModal": { + "editTitle": "Editar fuente de datos", + "createTitle": "Crear fuente de datos", + "sharedWarning": "Esta fuente de datos se comparte, por lo que los cambios pueden afectar a varias páginas." + }, + "dataSourceItem": { + "notConfigured": "No configurado" + }, + "dataSourceItemContext": { + "shareBetweenPages": "Compartir entre páginas", + "unshareBetweenPages": "Descompartir de otras páginas" + }, + "propertyOptionForm": { + "sortHeading": "Ordenar", + "searchHeading": "Búsqueda", + "formDescription": "Elige qué propiedades dentro de la página de origen de datos de este elemento pueden filtrar, ordenar y buscar los visitantes.", + "fieldHeading": "Campo", + "filterHeading": "Filtro", + "optionUnavailable": "No disponible", + "noPropertiesAvailable": "No hay campos disponibles." + }, + "recordSelectorElement": { + "emptyState": "No se han encontrado registros.", + "emptyAdhocState": "No se han encontrado registros que coincidan con '{query}'." + }, + "common": { + "dateFormatTitle": "Formato de la fecha", + "dateFormatEU": "Europeo", + "dateFormatISO": "ISO", + "timeFormatTitle": "Formato de hora", + "timeFormat24Hour": "24 horas", + "timeFormat12Hour": "12 horas", + "dateFormatUS": "Americano" + }, + "dateTimePickerElementForm": { + "includeTime": "Incluir fecha y hora", + "invalidDateError": "Fecha no válida. Asegúrese de que la fecha ingresada coincida con el formato indicado." + }, + "themeSettings": { + "titleOverview": "Tema" + }, + "pageVisibilitySettingsTypes": { + "pageName": "Divulgación", + "logInPageWarningTitle": "La página de inicio de sesión no está configurada", + "logInPagewarningMessage": "Cuando un usuario anónimo intente acceder a esta página, será redirigido a una página de inicio de sesión. Establezca la página de inicio de sesión en la configuración general de la aplicación.", + "logInPageInfoMessage": "Los usuarios anónimos que intenten acceder a esta página serán redirigidos a la página {logInPageName}.", + "logInPageInfoTitle": "Los usuarios anónimos serán redirigidos" + }, + "pageVisibilitySettings": { + "allVisitors": "Todos los visitantes", + "loggedInVisitors": "Visitantes registrados", + "description": "Quién puede ver esta página", + "title": "Visibilidad" + }, + "builderLoginPageForm": { + "pageDropdownLabel": "Página de inicio de sesión", + "pageDropdownPlaceholder": "Seleccione una página", + "pageDropdownDescription": "Seleccione la página de inicio de sesión a la que deben redirigirse los usuarios que no hayan iniciado sesión cuando intenten acceder a una página restringida." + }, + "multiPageContainerElementForm": { + "behaviour": "Comportamiento", + "display": "Visualizar", + "pagePosition": "Posición", + "selectAll": "Seleccionar todo", + "deselectAll": "Deseleccionar todo" + }, + "pageShareType": { + "all": "En todas las páginas", + "only": "Solo en páginas seleccionadas", + "except": "Excluir páginas seleccionadas" + }, + "pageEditor": { + "pageNotFound": "Página no encontrada" + }, + "builderToast": { + "details": "Detalles", + "defaultTitle": "Error inesperado", + "defaultMessage": "Ha ocurrido un error inesperado. Por favor, inténtalo de nuevo más tarde.", + "invalidContextTitle": "Solicitud inválida", + "invalidContextMessage": "La solicitud es inválida.", + "InvalidContentTitle": "Formulario inválido", + "invalidContentMessage": "Uno o varios campos contienen valores inválidos.", + "serviceMisconfiguredTitle": "Configuración incompleta", + "serviceMisconfiguredMessage": "Por favor, revisa la configuración.", + "errorWorkflowActionDispatch": "La acción \"{name}\" ha fallado: ", + "errorDataSourceDispatch": "No se pudo cargar los datos de \"{name}\": " + }, + "sidePanelGuidedTourStep": { + "content": "**Pestaña General** – Configura el elemento seleccionado.\n\n**Pestaña Estilo** – Personaliza el relleno, el margen, los bordes y más.\n\n**Pestaña Visibilidad** – Controla quién puede ver este elemento: usuarios conectados, usuarios desconectados o roles específicos.\n\n**Pestaña Eventos** – Si el elemento admite acciones, configúralas aquí para lograr interactividad dinámica.", + "title": "Panel lateral: Personaliza elementos" + }, + "addElementCategory": { + "suggestedElement": "Elementos sugeridos", + "baseElement": "Elementos base", + "layoutElement": "Elementos de diseño", + "formElement": "Elementos de formulario" + }, + "orientations": { + "label": "Orientación", + "horizontal": "Horizontal", + "vertical": "Vertical" + }, + "menuElement": { + "missingValue": "Falta el elemento del menú", + "separator": "Separador", + "spacer": "Espaciador", + "missingLinkValue": "Falta el nombre del enlace…", + "emptyLinkValue": "Nombre de enlace vacío…", + "missingButtonValue": "Falta el nombre del botón…", + "emptyButtonValue": "Nombre de botón vacío…" + }, + "menuElementForm": { + "menuItemsLabel": "Elementos del menú", + "addMenuItemLink": "Añadir...", + "alignment": "Alineación", + "menuItemDefaultName": "Página", + "menuItemLabelLabel": "Etiqueta", + "menuItemTypeSeparator": "Separador", + "menuItemTypeLabel": "Tipo", + "menuItemVariantLabel": "Variante", + "menuItemVariantLink": "Enlace", + "menuItemVariantButton": "Botón", + "namePlaceholder": "Página", + "addSubLink": "Añadir subenlace", + "menuItemSubLinkDefaultName": "Subenlace", + "menuItemAddLink": "Enlace", + "menuItemAddButton": "Botón", + "menuItemAddSeparator": "Separador", + "menuItemAddSpacer": "Espaciador", + "eventDescription": "Para configurar acciones para este botón, abre la pestaña «Eventos» de este elemento.", + "noMenuItemsMessage": "Haz clic en «Añadir» para añadir tu primer elemento de menú." + }, + "simpleContainerElementForm": { + "noConfigurationOptions": "El elemento contenedor no tiene ninguna opción de configuración." + }, + "queryParamTypes": { + "textName": "Texto", + "numericName": "Numérico" + }, + "radiusStyleForm": { + "cornerRadiusLabel": "Radio de esquina", + "backgroundRadiusLabel": "Fondo", + "borderRadiusLabel": "Borde" + }, + "fontWeightType": { + "thin": "Delgado", + "extraLight": "Extra‑ligero", + "light": "Ligero", + "medium": "Mediano", + "semiBold": "Semi‑negrita", + "bold": "Negrita", + "extraBold": "Extra‑negrita", + "black": "Negro", + "extraBlack": "Extra‑negro", + "regular": "Regular" + }, + "userSourceDropdown": { + "label": "Fuente del usuario", + "addUserSource": "Agregar nueva fuente de usuario", + "noUserSources": "No hay fuentes de usuario disponibles" + }, + "authProviderWithModal": { + "authProviderInError": "Por favor, edita este proveedor para corregir el error.", + "title": "Editar proveedor: {name}" + }, + "textDecorationSelector": { + "underline": "Subrayar", + "stroke": "Trazo", + "italic": "Cursiva", + "uppercase": "Mayúsculas" + }, + "ratingFieldForm": { + "color": "Color", + "style": "Estilo", + "maxValue": "Valor máximo", + "star": "Estrella", + "heart": "Corazón", + "thumbsUp": "Pulgar arriba", + "flag": "Bandera", + "value": "Valor" + }, + "ratingElementForm": { + "color": "Color", + "ratingStyle": "Estilo", + "maxValue": "Máximo", + "star": "Estrella", + "heart": "Corazón", + "smile": "Sonrisa", + "thumbsUp": "Pulgar arriba", + "flag": "Bandera" + }, + "automationSettingsModal": { + "title": "Flujo de trabajo" + }, + "abFileInput": { + "delete": "Eliminar" + }, + "elementsGuidedTourStep": { + "title": "Añade elementos a tu página", + "content": "¡Cada aplicación necesita componentes! Añade elementos como tablas, formularios, botones y más para dar vida a tu aplicación." + }, + "dataGuidedTourStep": { + "title": "Conecta tus datos", + "content": "Enlaza tus tablas de Baserow aquí para mostrar, filtrar y actualizar tus datos de forma dinámica en distintos elementos." + }, + "previewGuidedTourStep": { + "title": "Tu centro de control", + "content": "Aquí es donde configuras las páginas de tu aplicación. Añade elementos, previsualiza el resultado y estructura tu aplicación exactamente como deseas." + }, + "devicesGuidedTourStep": { + "title": "Vista previa en diferentes dispositivos", + "content": "Cambia entre las vistas previas de escritorio, tablet y móvil para ver cómo se ve tu aplicación en diferentes tamaños de pantalla. ¡Asegúrate de que tu diseño funcione perfectamente en todos los dispositivos!" + }, + "previewPublishGuidedTourStep": { + "title": "Previsualiza y publica tu aplicación", + "content": "Haz clic en **«Vista previa»** para probar tu aplicación de forma privada. Cuando estés listo, haz clic en **«Publicar»** para compartirla con el público a través de un dominio." + } } diff --git a/web-frontend/modules/builder/locales/uk.json b/web-frontend/modules/builder/locales/uk.json index 0967ef424b..1825552d35 100644 --- a/web-frontend/modules/builder/locales/uk.json +++ b/web-frontend/modules/builder/locales/uk.json @@ -1 +1,1078 @@ -{} +{ + "common": { + "dateFormatTitle": "Формат дати", + "dateFormatEU": "Європейський", + "dateFormatUS": "Американський", + "dateFormatISO": "ISO", + "timeFormatTitle": "Формат часу", + "timeFormat24Hour": "24-годинний", + "timeFormat12Hour": "12-годинний" + }, + "builderToast": { + "details": "Деталі", + "defaultTitle": "Неочікувана помилка", + "defaultMessage": "Сталася неочікувана помилка. Будь ласка, спробуйте пізніше.", + "invalidContextTitle": "Недійсний запит", + "invalidContextMessage": "Запит недійсний.", + "InvalidContentTitle": "Недійсна форма", + "invalidContentMessage": "Одне або кілька полів містять недійсні значення.", + "serviceMisconfiguredTitle": "Неповна конфігурація", + "serviceMisconfiguredMessage": "Будь ласка, перевірте конфігурацію.", + "errorWorkflowActionDispatch": "Дія \"{name}\" не вдалася: ", + "errorDataSourceDispatch": "Не вдалося завантажити дані \"{name}\": " + }, + "dataProviderType": { + "dataSource": "Записи даних", + "dataSourceContext": "Доступні опції", + "pageParameter": "Параметр", + "currentRecord": "Джерело даних", + "formData": "Дані форми", + "previousAction": "Попередня дія", + "user": "Користувач" + }, + "formDataProviderType": { + "nodeMissing": "Відсутній" + }, + "builderForm": { + "submit": "Додати застосунок" + }, + "sidebarComponentBuilder": { + "settings": "Налаштування", + "createPage": "Нова сторінка" + }, + "builderSettingsModal": { + "title": "Застосунок" + }, + "builderSettingTypes": { + "generalName": "Загальні", + "integrationsName": "Інтеграції", + "themeName": "Тема", + "domainsName": "Домени", + "userSourcesName": "Користувачі" + }, + "createPageModal": { + "header": "Створити сторінку", + "submit": "Додати сторінку" + }, + "pageErrors": { + "errorNameNotUnique": "Сторінка з такою назвою вже існує", + "errorPathNotUnique": "Шлях з такою назвою вже існує", + "errorStartingSlash": "Шлях повинен починатися з '/'", + "errorValidPathCharacters": "Шлях містить недійсні символи", + "errorUniquePathParams": "Параметри шляху мають бути унікальними.", + "errorUniqueValidQueryParams": "Назви параметрів запиту мають бути унікальними та дійсними." + }, + "pageHeaderItemTypes": { + "labelElements": "Елементи", + "labelDataSource": "Дані", + "labelVariables": "Змінні", + "labelSettings": "Налаштування сторінки" + }, + "pageActionTypes": { + "preview": "Попередній перегляд", + "publish": "Опублікувати" + }, + "publishActionModal": { + "title": "Публікація", + "description": "Запустіть ваш застосунок, опублікувавши його на одному з доменів. Зверніть увагу, що ваш застосунок може мати кілька доменів, кожен з яких працює з різною версією застосунку.", + "publish": "Опублікувати", + "publishSucceedTitle": "Сайт опубліковано", + "publishSucceedDescription": "Сайт успішно опубліковано.", + "publishSucceedLink": "Переглянути сайт", + "publishFailedTitle": "Помилка публікації сайту", + "publishFailedDescription": "Публікація сайту не вдалася. Будь ласка, спробуйте пізніше.", + "openInNewTab": "Відкрити в новій вкладці", + "importingState": "Імпортування", + "noDomain": "Вам потрібно мати принаймні один домен, щоб опублікувати ваш застосунок.", + "addDomain": "Додати домен" + }, + "lastPublishedDomainDate": { + "neverPublished": "ніколи", + "lastPublished": "Останнє опублікування:" + }, + "elementsContext": { + "searchPlaceholder": "Пошук елементів", + "noPageElements": "Елементи для цієї сторінки не знайдено", + "noElements": "Елементи не знайдено" + }, + "elementType": { + "heading": "Заголовок", + "headingDescription": "Заголовок сторінки", + "text": "Текст", + "textDescription": "Багаторядковий текст", + "link": "Посилання", + "linkDescription": "Посилання на сторінку/URL", + "image": "Зображення", + "imageDescription": "Відображає зображення", + "inputText": "Поле введення", + "inputTextDescription": "Поле введення даних", + "column": "Колонки", + "columnDescription": "Контейнер колонок", + "button": "Кнопка", + "buttonDescription": "Елемент кнопки", + "table": "Таблиця", + "tableDescription": "Елемент таблиці", + "formContainer": "Форма", + "formContainerDescription": "Елемент форми", + "choice": "Вибір", + "choiceDescription": "Для вибору одного/кількох значень", + "checkbox": "Прапорець", + "checkboxDescription": "Елемент прапорця", + "iframe": "IFrame", + "iframeDescription": "Вбудований фрейм", + "authForm": "Форма входу", + "authFormDescription": "Форма входу користувача", + "repeat": "Повторення", + "repeatDescription": "Набір елементів, що повторюється", + "recordSelector": "Вибір записів", + "recordSelectorDescription": "Вибір пов'язаних записів", + "dateTimePicker": "Вибір дати та часу", + "dateTimePickerDescription": "Поле введення дати та часу", + "header": "Багатосторінковий заголовок", + "headerDescription": "Контейнер, спільний для кількох сторінок", + "footer": "Багатосторінковий підвал", + "footerDescription": "Контейнер, спільний для кількох сторінок", + "notAllowedUnlessTop": "Цей елемент дозволений лише у верхній частині сторінки", + "notAllowedUnlessBottom": "Цей елемент дозволений лише у нижній частині сторінки", + "notAllowedUnlessHeader": "Цей елемент дозволений лише всередині заголовка сторінки", + "notAllowedUnlessFooter": "Цей елемент дозволений лише всередині підвалу сторінки", + "notAllowedInsideContainer": "Цей елемент не дозволений всередині контейнера", + "notAllowedInsideSameType": "Цей елемент не дозволений у контейнері того ж типу", + "ratingInput": "Поле рейтингу", + "ratingInputDescription": "Елемент поля рейтингу", + "rating": "Рейтинг", + "ratingDescription": "Елемент рейтингу", + "invalidElementValue": "Недійсне значення елемента: {value}", + "notAllowedLocation": "Цей елемент не дозволений у цьому місці", + "menu": "Меню", + "menuDescription": "Елемент меню", + "simpleContainer": "Контейнер", + "simpleContainerDescription": "Контейнер для інших елементів", + "fileInput": "Поле файлу", + "fileInputDescription": "Поле для завантаження файлів", + "errorValueMissing": "Відсутня властивість значення", + "errorEmptyContainer": "Цей контейнер порожній", + "errorParentWithDataSourceMissing": "Не вибрано джерело даних на елементі або батьківському контейнері", + "errorDataSourceMissing": "Джерело даних не вибрано", + "errorSchemaPropertyMissing": "Властивість схеми не вибрано", + "errorWorkflowActionInError": "Принаймні одна дія налаштована неправильно", + "errorCollectionFieldInError": "Принаймні одне поле налаштовано неправильно", + "errorNavigateToPageMissing": "Відсутня властивість \"Перейти до\"", + "errorPageParameterInError": "Принаймні один параметр сторінки налаштовано неправильно", + "errorNavigationUrlMissing": "Відсутня властивість URL навігації", + "errorImageFileMissing": "Відсутній файл зображення", + "errorImageUrlMissing": "Відсутня властивість URL зображення", + "errorNoWorkflowAction": "Дія робочого процесу не налаштована", + "errorOptionsMissing": "Опції не налаштовано", + "errorIframeUrlMissing": "Відсутня властивість URL IFrame", + "errorIframeContentMissing": "Відсутній вміст IFrame", + "errorNoMenuItem": "Елемент меню не налаштовано", + "errorMenuItemInError": "Принаймні одне меню налаштовано неправильно", + "errorSubMenuItemInError": "Принаймні одне підменю налаштовано неправильно" + }, + "addElementButton": { + "label": "Елемент" + }, + "addElementModal": { + "title": "Додати новий елемент", + "searchPlaceholder": "Пошук елементів", + "elementInProgress": "Додавання елемента..." + }, + "addElementCategory": { + "suggestedElement": "Рекомендовані елементи", + "baseElement": "Базові елементи", + "layoutElement": "Елементи макету", + "formElement": "Елементи форми" + }, + "elementMenu": { + "moveUp": "Перемістити вгору", + "moveDown": "Перемістити вниз", + "moveLeft": "Перемістити ліворуч", + "moveRight": "Перемістити праворуч", + "selectParent": "Вибрати батьківський" + }, + "duplicatePageJobType": { + "name": "Дублювати сторінку", + "duplicating": "Дублювання", + "duplicatedTitle": "Сторінку дубльовано" + }, + "pageSidePanelType": { + "general": "Загальні", + "style": "Стиль", + "visibility": "Видимість", + "events": "Події", + "eventsTabDeactivatedNoEvents": "Цей елемент не підтримує жодних подій", + "eventsTabInError": "Одна або кілька дій налаштовані неправильно." + }, + "emptySidePanelState": { + "message": "Клацніть на один з елементів, щоб побачити більше деталей" + }, + "pagePreview": { + "emptyMessage": "Клацніть, щоб створити елемент", + "header": "ЗАГОЛОВОК", + "footer": "ПІДВАЛ" + }, + "elementForms": { + "textInputPlaceholder": "Введіть текст...", + "urlInputPlaceholder": "Введіть URL...", + "invalidFormula": "Формула недійсна" + }, + "headingElement": { + "missingValue": "Відсутній заголовок...", + "emptyValue": "Порожній заголовок..." + }, + "headingElementForm": { + "levelTitle": "Рівень", + "textTitle": "Текст", + "textPlaceholder": "Введіть текст...", + "headingName": "Заголовок {level} ", + "textError": "Значення недійсне." + }, + "textElement": { + "missingValue": "Відсутній текст...", + "emptyValue": "Порожній текст..." + }, + "textElementForm": { + "textTitle": "Текст", + "textPlaceholder": "Введіть текст...", + "textError": "Значення недійсне.", + "textFormatTypeLabel": "Формат", + "textFormatTypePlain": "Звичайний текст", + "textFormatTypeMarkdown": "Markdown" + }, + "orientations": { + "label": "Орієнтація", + "horizontal": "Горизонтальна", + "vertical": "Вертикальна" + }, + "menuElement": { + "missingValue": "Відсутній елемент меню", + "separator": "Роздільник", + "spacer": "Відступ", + "missingLinkValue": "Відсутня назва посилання...", + "emptyLinkValue": "Порожня назва посилання...", + "missingButtonValue": "Відсутня назва кнопки...", + "emptyButtonValue": "Порожня назва кнопки..." + }, + "menuElementForm": { + "menuItemsLabel": "Елементи меню", + "addMenuItemLink": "Додати...", + "alignment": "Вирівнювання", + "menuItemDefaultName": "Сторінка", + "menuItemLabelLabel": "Мітка", + "menuItemTypeLabel": "Тип", + "menuItemTypeSeparator": "Роздільник", + "menuItemVariantLabel": "Варіант", + "menuItemVariantLink": "Посилання", + "menuItemVariantButton": "Кнопка", + "namePlaceholder": "Сторінка", + "addSubLink": "Додати підпосилання", + "menuItemSubLinkDefaultName": "Підпосилання", + "menuItemAddLink": "Посилання", + "menuItemAddButton": "Кнопка", + "menuItemAddSeparator": "Роздільник", + "menuItemAddSpacer": "Відступ", + "eventDescription": "Щоб налаштувати дії для цієї кнопки, відкрийте вкладку \"Події\" цього елемента.", + "noMenuItemsMessage": "Клацніть \"Додати\", щоб додати перший елемент меню." + }, + "simpleContainerElementForm": { + "noConfigurationOptions": "Елемент контейнера не має жодних параметрів конфігурації." + }, + "imageElement": { + "missingValue": "Відсутній альтернативний текст...", + "emptyValue": "Порожній альтернативний текст..." + }, + "generalForm": { + "labelTitle": "Мітка", + "labelPlaceholder": "Введіть мітку", + "valueTitle": "Значення", + "defaultValueTitle": "Значення за замовчуванням", + "defaultValuePlaceholder": "Введіть значення за замовчуванням", + "valuePlaceholder": "Введіть значення", + "placeholderTitle": "Заповнювач", + "placeholderPlaceholder": "Введіть заповнювач", + "requiredTitle": "Обов'язкове", + "validationTitle": "Перевірка" + }, + "inputTextElementForm": { + "multilineTitle": "Багаторядковий", + "rowsTitle": "Кількість рядків", + "rowsPlaceholder": "Введіть кількість рядків для цього поля", + "validationTypeAnyLabel": "Будь-яке", + "validationTypeAnyDescription": "Дозволити будь-яке значення в цьому полі.", + "validationTypeIntegerLabel": "Число", + "validationTypeIntegerDescription": "Вимагати числове значення в цьому полі (приймає цілі та десяткові числа).", + "validationTypeEmailLabel": "Електронна пошта", + "validationTypeEmailDescription": "Вимагати адресу електронної пошти в цьому полі.", + "inputType": "Тип поля", + "inputTypeTextLabel": "Текст", + "inputTypePasswordLabel": "Пароль", + "passwordTypeWarning": "Паролі є конфіденційними даними. Будь ласка, будьте обережні з тим, як ви обробляєте та зберігаєте паролі у вашому застосунку." + }, + "dateTimePickerElementForm": { + "includeTime": "Включити час", + "invalidDateError": "Недійсна дата. Переконайтеся, що введена дата відповідає заданому формату." + }, + "imageElementForm": { + "fileLabel": "Зображення", + "invalidUrlError": "URL недійсний", + "altTextTitle": "Альтернативний текст", + "altTextDescription": "Використовується програмами читання з екрану та відображається, якщо зображення не може завантажитися", + "fileSourceTypeUpload": "Завантажити", + "fileSourceTypeURL": "URL", + "urlWarning": "Примітка: переконайтеся, що ви контролюєте або довіряєте введеному URL.", + "uploadFileButton": "Завантажити файл" + }, + "iframeElementForm": { + "missingValue": "Відсутнє джерело IFrame...", + "emptyValue": "Порожнє джерело IFrame...", + "sourceTypeLabel": "Тип джерела", + "urlLabel": "URL", + "urlPlaceholder": "Посилання на зовнішній ресурс для вбудовування", + "urlHelp": "Примітка: переконайтеся, що ви контролюєте або довіряєте введеному URL.", + "embedLabel": "Вбудувати", + "embedPlaceholder": "Необроблений HTML-вміст для вбудовування", + "heightLabel": "Висота (px)", + "heightPlaceholder": "Висота в пікселях" + }, + "columnElementForm": { + "columnAmountTitle": "Макет", + "verticalAlignment": "Вертикальне вирівнювання", + "columnAmountName": "немає колонок | 1 колонка | {columnAmount} колонок", + "columnGapTitle": "Відстань між колонками", + "columnGapPlaceholder": "Введіть відстань між колонками..." + }, + "domainSettings": { + "titleOverview": "Домени", + "titleAddDomain": "Додати домен", + "addDomain": "Додати домен", + "noDomainMessage": "Ви ще не пов'язали домен з цим застосунком. Ви повинні додати домен, щоб мати можливість опублікувати ваш застосунок. Ви можете публікувати різні версії вашого застосунку для кожного домену, вказаного тут." + }, + "userSourceSettings": { + "titleAddUserSource": "Нове джерело користувачів", + "titleUpdateUserSource": "Редагувати джерело користувачів", + "noUserSourceMessage": "Ви ще не додали джерело користувачів до цього застосунку. Ви повинні додати джерело користувачів, якщо хочете, щоб користувачі могли автентифікуватися у вашому застосунку.", + "titleOverview": "Джерела користувачів", + "addUserSource": "Додати джерело користувачів" + }, + "themeSettings": { + "titleOverview": "Тема" + }, + "generalSettings": { + "titleOverview": "Загальні", + "labelForm": "Favicon", + "labelDescription": "Виберіть ICO, PNG, GIF або JPEG розміром 128x128px.", + "labelButton": "Завантажити favicon", + "cantUploadFaviconTitle": "Не вдалося завантажити файл favicon", + "cantUploadFaviconDescription": "На жаль, не вдалося завантажити зображення favicon. Переконайтеся, що файл зображення унікальний і має підтримуваний формат.", + "cantUpdateApplicationTitle": "Не вдалося оновити застосунок", + "cantUpdateApplicationDescription": "На жаль, не вдалося оновити застосунок." + }, + "dnsStatus": { + "description": "Перейдіть до налаштувань DNS вашого домену та внесіть наступні зміни", + "typeHeader": "Тип", + "hostHeader": "Хост", + "valueHeader": "Значення" + }, + "domainForm": { + "invalidDomain": "Вказане ім'я домену недійсне", + "notUniqueDomain": "Вказаний домен вже використовується" + }, + "customDomainForm": { + "domainNameLabel": "Ім'я домену" + }, + "subDomainForm": { + "domainNameLabel": "Ім'я домену" + }, + "subDomainDetails": { + "text": "Налаштування DNS домену вже налаштовані та перевірені. Все працює без додаткових змін." + }, + "domainCard": { + "refresh": "Оновити налаштування", + "detailLabel": "Показати деталі", + "unpublishedDomainWarning": "Будь ласка, опублікуйте застосунок, щоб зробити його доступним на цьому домені." + }, + "domainTypes": { + "customName": "Власний домен", + "subDomainName": "Піддомен", + "subDomain": "Піддомен {domain}" + }, + "linkElement": { + "missingValue": "Відсутній текст посилання...", + "emptyValue": "Порожній текст посилання..." + }, + "linkNavigationSelection": { + "navigateTo": "Перейти до", + "navigateToCustom": "Власний URL", + "paramPlaceholder": "Введіть значення...", + "urlPlaceholder": "Введіть URL...", + "url": "URL призначення", + "paramsInErrorDescription": "Збережені параметри не відповідають параметрам сторінки. Сторінку, ймовірно, було видалено або оновлено.", + "paramsInErrorButton": "Оновити параметри", + "target": "Відкрити в...", + "targetSelf": "Тій самій вкладці", + "targetNewTab": "Новій вкладці" + }, + "linkElementForm": { + "text": "Текст", + "textPlaceholder": "Введіть текст...", + "variant": "Варіант", + "variantLink": "Посилання", + "variantButton": "Кнопка", + "buttonColor": "Колір кнопки" + }, + "widthSelector": { + "width": "Ширина", + "widthAuto": "Авто", + "widthFull": "Повна ширина" + }, + "backgroundTypes": { + "none": "Немає", + "color": "Колір" + }, + "widthTypes": { + "fullBleed": "На всю ширину", + "fullWidth": "Повна ширина", + "normal": "Звичайна", + "medium": "Середня", + "small": "Мала" + }, + "horizontalAlignmentSelector": { + "alignmentLeft": "Ліворуч", + "alignmentCenter": "По центру", + "alignmentRight": "Праворуч" + }, + "verticalAlignmentSelector": { + "alignmentTop": "Вгорі", + "alignmentCenter": "Посередині", + "alignmentBottom": "Внизу" + }, + "pageSettingsTypes": { + "pageName": "Сторінка" + }, + "pageVisibilitySettingsTypes": { + "pageName": "Видимість", + "logInPageWarningTitle": "Сторінку входу не встановлено", + "logInPagewarningMessage": "Коли анонімний користувач спробує отримати доступ до цієї сторінки, його буде перенаправлено на сторінку входу. Будь ласка, встановіть сторінку входу в загальних налаштуваннях застосунку.", + "logInPageInfoTitle": "Анонімних користувачів буде перенаправлено", + "logInPageInfoMessage": "Анонімні користувачі, які намагаються отримати доступ до цієї сторінки, будуть перенаправлені на сторінку {logInPageName}." + }, + "pageSettings": { + "title": "Сторінка", + "pageUpdatedTitle": "Змінено", + "pageUpdatedDescription": "Налаштування сторінки оновлено." + }, + "pageVisibilitySettings": { + "title": "Видимість", + "allVisitors": "Усі відвідувачі", + "loggedInVisitors": "Авторизовані відвідувачі", + "description": "Хто може бачити цю сторінку" + }, + "pageForm": { + "defaultName": "Сторінка", + "nameTitle": "Назва", + "nameSubtitle": "Унікальна назва сторінки", + "namePlaceholder": "Введіть назву...", + "pathTitle": "Шлях", + "addAnotherParameter": "Додати ще один параметр запиту", + "addParameter": "Додати параметр запиту", + "queryParamsSubtitleTutorial": "Параметри запиту можна використовувати для динамічного завантаження даних залежно від наданого параметра.", + "pathSubtitle": "Параметр можна додати через :parameter", + "pathPlaceholder": "Введіть шлях...", + "pathParamsTitle": "Параметри шляху", + "queryParamsTitle": "Параметри рядка запиту", + "pathParamsSubtitle": "Визначаються через :parameter у шляху", + "pathParamsSubtitleTutorial": "Параметри шляху можна використовувати для динамічного завантаження даних залежно від наданого параметра. Додайте :parameter до шляху, щоб додати один." + }, + "pathParamTypes": { + "textName": "Текст", + "numericName": "Числовий" + }, + "queryParamTypes": { + "textName": "Текст", + "numericName": "Числовий" + }, + "pageEditor": { + "pageNotFound": "Сторінку не знайдено" + }, + "publicPage": { + "siteNotFound": "Сайт не знайдено", + "pageNotFound": "Сторінку не знайдено", + "loginToastTitle": "Автентифікацію виконано успішно", + "loginToastMessage": "Ви успішно увійшли в систему.", + "authorizedToastTitle": "Потрібна автентифікація", + "authorizedToastMessage": "Ви повинні увійти в систему, щоб отримати доступ до цієї сторінки. Будь ласка, увійдіть, щоб продовжити." + }, + "integrationSettings": { + "title": "Інтеграції", + "noIntegrationMessage": "Ви ще не створили жодних інтеграцій. Їх можна створити, додавши джерело даних, дію або автентифікацію користувачів.", + "integrationMessage": "Ви можете створити нові інтеграції, додавши джерело даних, дію або автентифікацію користувачів." + }, + "dataSourceForm": { + "namePlaceholder": "Назва джерела", + "nameLabel": "Назва", + "actionLabel": "Дія", + "integrationLabel": "Інтеграція", + "servicePlaceholder": "Виберіть сервіс", + "integrationPlaceholder": "Виберіть інтеграцію", + "errorUniqueName": "Назва джерела даних має бути унікальною." + }, + "dataSourceContext": { + "addDataSource": "Додати нове джерело даних", + "noDataSourceTitle": "Ви ще не додали джерело даних.", + "noDataSourceMessage": "Джерела даних можна використовувати для отримання даних із внутрішніх або зовнішніх джерел та відображення їх на сторінці.", + "sharedDataSourceTitle": "Спільне для сторінок", + "pageDataSourceTitle": "Для цієї сторінки", + "sharedDataSourceDescription": "Доступне на кожній сторінці та завантажується один раз при першому завантаженні сторінки.", + "pageDataSourceDescription": "Завантажується, коли користувач переходить на цю сторінку." + }, + "dataSourceItem": { + "notConfigured": "Не налаштовано" + }, + "dataSourceItemContext": { + "shareBetweenPages": "Поділитися між сторінками", + "unshareBetweenPages": "Скасувати спільний доступ" + }, + "dataSourceCreateEditModal": { + "editTitle": "Редагувати джерело даних", + "createTitle": "Створити джерело даних", + "sharedWarning": "Це джерело даних є спільним, тому ваші зміни можуть вплинути на кілька сторінок." + }, + "defaultStyleForm": { + "boxTop": "Верх", + "boxBottom": "Низ", + "boxLeft": "Ліворуч", + "boxRight": "Праворуч", + "backgroundLabel": "Фон", + "backgroundColor": "Колір фону", + "widthLabel": "Ширина", + "backgroundImage": "Зображення", + "backgroundImageMode": "Режим заповнення", + "cssClasses": "CSS-класи", + "cssClassesHelp": "Встановіть розділений пробілами список класів для цього елемента, який з'явиться в згенерованому HTML.", + "cssClassesPlaceholder": "Введіть CSS-класи..." + }, + "styleBoxForm": { + "borderColor": "Колір рамки", + "borderLabel": "Розмір", + "paddingLabel": "Внутрішній відступ", + "marginLabel": "Зовнішній відступ" + }, + "radiusStyleForm": { + "cornerRadiusLabel": "Радіус кута", + "backgroundRadiusLabel": "Фон", + "borderRadiusLabel": "Рамка" + }, + "themeConfigBlockType": { + "color": "Кольори", + "page": "Сторінка", + "typography": "Типографіка", + "button": "Кнопка", + "link": "Посилання", + "image": "Зображення", + "input": "Поле введення", + "table": "Таблиця" + }, + "colorThemeConfigBlock": { + "transparent": "Прозорий", + "primaryColor": "Основний", + "secondaryColor": "Вторинний", + "borderColor": "Рамка", + "successColor": "Успіх", + "warningColor": "Попередження", + "errorColor": "Помилка", + "customColors": "Власні кольори", + "addCustomColor": "Додати власний колір", + "customColorPrefix": "Власний" + }, + "pageThemeConfigBlock": { + "backgroundColor": "Колір фону", + "backgroundImage": "Фонове зображення", + "backgroundMode": "Режим фону" + }, + "colorThemeConfigBlockType": { + "transparent": "Прозорий", + "primary": "Основний", + "secondary": "Вторинний", + "border": "Рамка", + "success": "Успіх", + "warning": "Попередження", + "error": "Помилка" + }, + "typographyThemeConfigBlock": { + "headingLabel": "Заголовок {i} (h{i})", + "headingValue": "Заголовок ", + "color": "Колір", + "size": "Розмір", + "weight": "Товщина", + "textAlignment": "Вирівнювання", + "bodyLabel": "Основний текст", + "decoration": "Оформлення тексту", + "fontFamily": "Шрифт" + }, + "fontWeightType": { + "thin": "Тонкий", + "extraLight": "Надлегкий", + "light": "Легкий", + "regular": "Звичайний", + "medium": "Середній", + "semiBold": "Напівжирний", + "bold": "Жирний", + "extraBold": "Наджирний", + "black": "Чорний", + "extraBlack": "Надчорний" + }, + "buttonThemeConfigBlock": { + "backgroundColor": "Колір фону", + "button": "Кнопка", + "defaultState": "Стан за замовчуванням", + "hoverState": "Стан при наведенні", + "activeState": "Активний стан", + "textAlignment": "Вирівнювання тексту", + "alignment": "Вирівнювання", + "width": "Ширина", + "textColor": "Колір тексту", + "borderColor": "Колір рамки", + "borderSize": "Товщина рамки", + "borderRadius": "Радіус рамки", + "padding": "Внутрішній відступ", + "fontFamily": "Шрифт", + "size": "Розмір шрифту", + "weight": "Товщина шрифту" + }, + "linkThemeConfigBlock": { + "color": "Колір", + "link": "Посилання", + "defaultState": "Стан за замовчуванням", + "hoverState": "Стан при наведенні", + "activeState": "Активний стан", + "alignment": "Вирівнювання", + "fontFamily": "Шрифт", + "size": "Розмір шрифту", + "weight": "Товщина шрифту", + "decoration": "Оформлення тексту" + }, + "inputThemeConfigBlock": { + "label": "Мітка", + "input": "Поле введення", + "backgroundColor": "Колір фону", + "textColor": "Колір тексту", + "borderColor": "Колір рамки", + "borderSize": "Товщина рамки", + "borderRadius": "Радіус рамки", + "padding": "Внутрішній відступ", + "fontFamily": "Шрифт", + "size": "Розмір шрифту", + "weight": "Товщина шрифту" + }, + "imageThemeConfigBlock": { + "alignment": "Вирівнювання", + "maxWidthLabel": "Макс. ширина", + "maxHeightLabel": "Макс. висота", + "maxHeightPlaceholder": "Введіть макс. висоту", + "maxWidthPlaceholder": "Введіть макс. ширину", + "imageConstraintsLabel": "Обмеження", + "imageConstraintFullWidth": "Розтягнути до макс. ширини", + "imageConstraintCover": "Покрити", + "imageConstraintCoverDisabled": "Недоступно без макс. висоти.", + "imageConstraintContain": "Вмістити", + "imageConstraintContainDisabled": "Недоступно з макс. висотою.", + "imageBorderRadiusLabel": "Радіус рамки", + "imageBorderRadiusPlaceholder": "Введіть радіус рамки зображення." + }, + "tableThemeConfigBlock": { + "borderColor": "Колір рамки", + "backgroundAlternateColor": "Колір парних рядків", + "backgroundColor": "Колір фону", + "textColor": "Колір тексту", + "borderSize": "Товщина рамки", + "borderRadius": "Радіус рамки", + "padding": "Внутрішній відступ", + "fontFamily": "Шрифт", + "size": "Розмір", + "fontSize": "Розмір шрифту", + "fontWeight": "Товщина шрифту", + "table": "Таблиця", + "header": "Заголовок", + "alignment": "Вирівнювання", + "cells": "Комірки", + "separators": "Роздільники", + "verticalSeparatorColor": "Вертикальний колір", + "verticalSeparatorSize": "Вертикальний розмір", + "horizontalSeparatorColor": "Горизонтальний колір", + "horizontalSeparatorSize": "Горизонтальний розмір" + }, + "buttonElementForm": { + "valueLabel": "Текст кнопки", + "valuePlaceholder": "Введіть текст..." + }, + "buttonElement": { + "missingValue": "Відсутній текст кнопки...", + "emptyValue": "Порожній текст кнопки..." + }, + "eventTypes": { + "clickLabel": "При натисканні", + "submitLabel": "При відправленні", + "afterLoginLabel": "Після входу" + }, + "getFormulaComponent": { + "errorTooltip": "Недійсне посилання" + }, + "fontSidePanelForm": { + "label": "Колір шрифту" + }, + "choiceElementForm": { + "multiple": "Дозволити кілька значень", + "display": "Відображення", + "dropdown": "Випадаючий список", + "checkbox": "Прапорець", + "radio": "Перемикач" + }, + "dropdown": { + "empty": "Немає доступних опцій" + }, + "tableElementForm": { + "dataSource": "Джерело даних", + "fields": "Поля", + "fieldValueLabel": "Значення", + "addField": "додати поле", + "fieldValuePlaceholder": "Введіть значення...", + "itemsPerPage": "Елементів на сторінку", + "fieldDefaultName": "Колонка", + "name": "Назва", + "noName": "Без назви", + "fieldType": "Тип", + "itemsPerPagePlaceholder": "Введіть значення...", + "selectSourceFirst": "Виберіть джерело даних та/або властивість, щоб почати налаштування полів.", + "buttonColor": "Колір кнопки", + "refreshFieldsFromDataSource": "оновити поля з джерела даних", + "buttonLoadMoreLabel": "Мітка \"Показати більше\"", + "propertySelectorMissingArrays": "Не знайдено полів з кількома значеннями для використання як рядків." + }, + "tableElement": { + "showMore": "Показати більше" + }, + "abTable": { + "loading": "Завантаження...", + "empty": "Елементи не знайдено." + }, + "repeatElement": { + "empty": "Елементи не знайдено.", + "showMore": "Показати більше", + "missingDataSourceTooltip": "Виберіть джерело даних, щоб почати додавання елементів.", + "missingSchemaPropertyTooltip": "Виберіть властивість, щоб почати додавання елементів.", + "emptyState": "Записи не знайдено." + }, + "collectionElementForm": { + "noDataSourceMessage": "Виберіть джерело даних з кількома рядками для відображення всіх результатів, або джерело даних з одним рядком, щоб вибрати властивість всередині цього рядка.", + "noSchemaPropertyMessage": "Виберіть властивість всередині джерела даних для використання як даних списку вашого елемента.", + "propertyOptionLabel": "Дії користувача" + }, + "propertyOptionForm": { + "fieldHeading": "Поле", + "filterHeading": "Фільтр", + "sortHeading": "Сортування", + "searchHeading": "Пошук", + "optionUnavailable": "Недоступно", + "noPropertiesAvailable": "Немає доступних полів.", + "formDescription": "Виберіть, які властивості джерела даних цього елемента відвідувачі сторінки можуть фільтрувати, сортувати та шукати." + }, + "repeatElementForm": { + "dataSource": "Джерело даних", + "itemsPerPage": "Елементів на сторінку", + "itemsPerPagePlaceholder": "Введіть значення...", + "itemsPerRowLabel": "Елементів у рядку", + "itemsPerRowDescription": "Кількість колонок у рядку та тип пристрою.", + "buttonLoadMoreLabel": "Мітка \"Показати більше\"", + "toggleEditorRepetitionsLabel": "Тимчасово вимкнути повторення", + "propertySelectorMissingArrays": "Не знайдено полів з кількома значеннями для повторення.", + "gapLabel": "Відстань між повтореннями", + "gapVerticalLabel": "Вертикальна", + "gapHorizontalLabel": "Горизонтальна" + }, + "recordSelectorElement": { + "emptyAdhocState": "Записи, що відповідають '{query}', не знайдено.", + "emptyState": "Записи не знайдено." + }, + "recordSelectorElementForm": { + "selectRecordsFrom": "Вибрати записи з", + "noDataSourceMessage": "Виберіть джерело даних з кількома рядками для відображення всіх результатів.", + "optionNameSuffix": "Суфікс назви опції", + "optionNameSuffixPlaceholder": "Введіть суфікс...", + "optionNameSuffixHelper": "Цей суфікс додається до кожної назви опції при відкритті випадаючого списку і допомагає їх розрізняти.", + "itemsPerPage": "Елементів на сторінку", + "itemsPerPagePlaceholder": "Введіть значення...", + "multipleLabel": "Дозволити кілька значень", + "record": "Запис {id}" + }, + "currentRecordDataProviderType": { + "index": "Індекс", + "firstPartName": "Джерело даних: {name}", + "schemaProperty": "{prefixName}: {schemaProperty}" + }, + "workflowActionTypes": { + "notificationLabel": "Показати сповіщення", + "openPageLabel": "Відкрити сторінку", + "logoutLabel": "Вийти", + "refreshDataSourceLabel": "Оновити джерело даних", + "httpRequest": "Надіслати HTTP-запит", + "errorNavigateToPageMissing": "Відсутня властивість \"Перейти до\"", + "errorPageParameterInError": "Принаймні один параметр сторінки налаштований неправильно", + "errorNavigationUrlMissing": "Відсутня властивість URL-адреси навігації", + "errorDataSourceMissing": "Джерело даних не вибрано" + }, + "notificationWorkflowActionForm": { + "titleLabel": "Заголовок", + "titlePlaceholder": "Введіть текст...", + "descriptionLabel": "Опис", + "descriptionPlaceholder": "Введіть текст..." + }, + "event": { + "addAction": "додати дію" + }, + "collectionFieldType": { + "boolean": "Логічне", + "button": "Кнопка", + "text": "Текст", + "link": "Посилання", + "tags": "Теги", + "image": "Зображення", + "rating": "Рейтинг", + "errorValueMissing": "Відсутня властивість значення" + }, + "textFieldForm": { + "fieldValueLabel": "Значення", + "fieldValuePlaceholder": "Введіть значення..." + }, + "linkFieldForm": { + "fieldValueLabel": "URL", + "fieldValuePlaceholder": "Введіть значення...", + "fieldLinkNameLabel": "Текст посилання", + "fieldLinkNamePlaceholder": "Введіть значення...", + "buttonColor": "Колір кнопки" + }, + "tagsFieldForm": { + "fieldValuesLabel": "Значення", + "fieldValuesPlaceholder": "Введіть значення...", + "fieldColorsLabel": "Кольори", + "fieldColorsPlaceholder": "Введіть кольори..." + }, + "linkField": { + "details": "Деталі" + }, + "imageFieldForm": { + "fieldSrcLabel": "Джерело зображення", + "fieldSrcPlaceholder": "Введіть значення", + "fieldAltLabel": "Альтернативний текст", + "fieldAltPlaceholder": "Введіть значення...", + "fieldAltHelp": "Використовується програмами для читання з екрана та відображається, якщо зображення не завантажується" + }, + "createUserSourceForm": { + "userSourceType": "Тип", + "userSourceIntegration": "Інтеграція", + "userSourceName": "Назва" + }, + "updateUserSourceForm": { + "nameFieldLabel": "Назва", + "nameFieldPlaceholder": "Введіть назву...", + "authTitle": "Автентифікація", + "integrationFieldLabel": "Інтеграція", + "addProvider": "Додати провайдера" + }, + "builderLoginPageForm": { + "pageDropdownLabel": "Сторінка входу", + "pageDropdownPlaceholder": "Виберіть сторінку", + "pageDropdownDescription": "Виберіть сторінку входу, на яку будуть перенаправлені неавторизовані користувачі при спробі доступу до обмеженої сторінки." + }, + "formContainerElement": { + "submitDeactivatedText": "Заповніть усі обов'язкові поля для надсилання", + "defaultSubmitButtonLabel": "Надіслати" + }, + "formContainerElementForm": { + "submitButtonLabel": "Кнопка надсилання", + "submitButtonPlaceholder": "Введіть значення...", + "buttonColor": "Колір кнопки", + "resetToInitialValuesTitle": "Скинути до значень за замовчуванням після надсилання", + "resetToInitialValuesDescription": "Якщо позначено, значення форми за замовчуванням будуть використані для скидання форми після успішного надсилання. Якщо не позначено, значення користувача залишаться." + }, + "choiceOptionSelector": { + "label": "Параметри", + "value": "Значення параметрів", + "valuePlaceholder": "Введіть значення", + "name": "Назви параметрів", + "namePlaceholder": "Введіть назву", + "addOption": "додати параметр", + "addOptionDescription": "Натисніть \"додати параметр\", щоб додати параметри до випадаючого списку", + "optionType": "Тип параметрів", + "manual": "Вручну", + "dataSource": "Джерело даних", + "formulas": "Формули" + }, + "localBaserowServiceForm": { + "integrationDropdownLabel": "Інтеграція", + "rowIdLabel": "ID рядка", + "rowIdPlaceholder": "Виберіть ID рядка" + }, + "upsertRowWorkflowActionForm": { + "fieldMappingPlaceholder": "Виберіть значення поля", + "noTableSelectedMessage": "Виберіть таблицю, щоб почати налаштування полів." + }, + "fieldMappingContext": { + "enableField": "Увімкнути поле", + "disableField": "Вимкнути поле" + }, + "checkboxElementForm": { + "labelTitle": "Назва параметра", + "valueTitle": "Значення за замовчуванням", + "requiredTitle": "Обов'язкове" + }, + "choiceElement": { + "addOptions": "Додайте параметри, щоб почати використовувати цей елемент..." + }, + "userSourceUsersContext": { + "searchPlaceholder": "Пошук користувача", + "anonymous": "Анонімний", + "unnamed": "Без імені", + "noEmail": "Без електронної пошти" + }, + "userSelector": { + "viewAs": "Переглянути як: {user}", + "anonymous": "Анонімний", + "member": "{prefix} учасник" + }, + "visibilityForm": { + "allVisitors": "Усі відвідувачі", + "loggedInVisitors": "Авторизовані відвідувачі", + "notLoggedInVisitors": "Неавторизовані відвідувачі", + "warningTitle": "Це функція безпеки", + "excludedRolesLabel": "усі ролі, окрім", + "switchAllowLabel": "Дозволити", + "switchDisallowLabel": "Заборонити", + "rolesSelectAll": "Вибрати всі", + "rolesDeselectAll": "Скасувати вибір", + "rolesSelectHint": "Виберіть одну або кілька ролей", + "roleTypesHint": "Виберіть тип ролі", + "roleTypeAllowAllRoles": "Усі ролі", + "roleTypeAllowAllRolesExcept": "Заборонити ролі...", + "roleTypeDisallowAllRolesExcept": "Дозволити ролі...", + "rolesAllMembersOf": "Усі учасники {name}", + "noRole": "Без ролі", + "errorFetchingRolesTitle": "Не вдалося отримати ролі користувачів", + "errorFetchingRolesMessage": "Виникла проблема під час отримання ролей користувачів.", + "visibilityCondition": "Умова видимості", + "visibilityConditionPlaceholder": "Умова..." + }, + "userDataProviderType": { + "isAuthenticated": "Автентифікований", + "id": "ID", + "email": "Електронна пошта", + "username": "Ім'я користувача", + "role": "Роль" + }, + "buttonField": { + "noLabel": "Без назви..." + }, + "buttonFieldForm": { + "infoMessage": "Щоб налаштувати дії для цієї кнопки, відкрийте вкладку \"Події\" поточного елемента.", + "labelPlaceholder": "Введіть мітку..." + }, + "resetButton": { + "reset": "Скинути до значення теми за замовчуванням" + }, + "backgroundModes": { + "fill": "Заповнення", + "tile": "Плитка", + "fit": "Вписати" + }, + "customStyle": { + "themeOverrides": "Перевизначення теми", + "configureThemeOverrides": "Налаштуйте перевизначення теми для цього елемента" + }, + "serviceSchemaPropertySelector": { + "label": "Властивість", + "noProperties": "Немає доступних властивостей" + }, + "userSourceDropdown": { + "label": "Джерело користувачів", + "addUserSource": "Додати нове джерело користувачів", + "noUserSources": "Немає доступних джерел користувачів" + }, + "dataSourceDropdown": { + "label": "Джерело даних", + "noDataSources": "Немає доступних джерел даних", + "noSharedDataSources": "Немає доступних спільних джерел даних", + "shared": "спільне", + "pageOnly": "ця сторінка" + }, + "multiPageContainerElementForm": { + "pagePosition": "Позиція", + "behaviour": "Поведінка", + "display": "Відображення", + "selectAll": "Вибрати всі", + "deselectAll": "Скасувати вибір" + }, + "pageShareType": { + "all": "На всіх сторінках", + "only": "Тільки на вибраних сторінках", + "except": "Виключити вибрані сторінки" + }, + "authProviderWithModal": { + "authProviderInError": "Відредагуйте цього провайдера, щоб виправити помилку.", + "title": "Редагувати провайдера: {name}" + }, + "textDecorationSelector": { + "underline": "Підкреслення", + "stroke": "Закреслення", + "italic": "Курсив", + "uppercase": "Великі літери" + }, + "ratingFieldForm": { + "maxValue": "Максимальне значення", + "color": "Колір", + "style": "Стиль", + "star": "Зірка", + "heart": "Серце", + "thumbsUp": "Палець вгору", + "flag": "Прапорець", + "value": "Значення" + }, + "ratingElementForm": { + "maxValue": "Максимум", + "color": "Колір", + "ratingStyle": "Стиль", + "star": "Зірка", + "heart": "Серце", + "smile": "Посмішка", + "thumbsUp": "Палець вгору", + "flag": "Прапорець" + }, + "automationSettingsModal": { + "title": "Робочий процес" + }, + "abFileInput": { + "delete": "Видалити" + }, + "elementsGuidedTourStep": { + "title": "Додайте елементи на вашу сторінку", + "content": "Кожному застосунку потрібні компоненти! Додайте елементи, такі як таблиці, форми, кнопки та інше, щоб оживити ваш застосунок." + }, + "dataGuidedTourStep": { + "title": "Підключіть ваші дані", + "content": "Зв'яжіть ваші таблиці Baserow тут, щоб відображати, фільтрувати та оновлювати дані динамічно в різних елементах." + }, + "previewGuidedTourStep": { + "title": "Ваш центр керування" + }, + "devicesGuidedTourStep": { + "title": "Попередній перегляд на різних пристроях", + "content": "Перемикайтеся між переглядом для комп'ютера, планшета та мобільного, щоб побачити, як виглядає ваш застосунок на різних розмірах екрану. Переконайтеся, що ваш дизайн ідеально працює на всіх пристроях!" + }, + "sidePanelGuidedTourStep": { + "title": "Бічна панель: Налаштування елементів", + "content": "**Вкладка \"Загальні\"** – Налаштування вибраного елемента.\n\n**Вкладка \"Стиль\"** – Налаштування відступів, полів, меж та іншого.\n\n**Вкладка \"Видимість\"** – Контроль того, хто може бачити цей елемент: авторизовані користувачі, неавторизовані користувачі або конкретні ролі.\n\n**Вкладка \"Події\"** – Якщо елемент підтримує дії, налаштуйте їх тут для динамічної інтерактивності." + }, + "previewPublishGuidedTourStep": { + "title": "Попередній перегляд та публікація застосунку", + "content": "Натисніть **Попередній перегляд**, щоб протестувати застосунок приватно. Коли все готово, натисніть **Опублікувати**, щоб поділитися ним публічно через домен." + } +} diff --git a/web-frontend/modules/core/locales/es.json b/web-frontend/modules/core/locales/es.json index 4bc6eb42a3..69a74a207c 100644 --- a/web-frontend/modules/core/locales/es.json +++ b/web-frontend/modules/core/locales/es.json @@ -1,1019 +1,1207 @@ { - "paginator": { - "page": "Página", - "of": "de {pages}" - }, - "copied": { - "label": "¡Copiado!" - }, - "sidebarApplication": { - "renameApplication": "Renombrar {type}", - "viewTrash": "Ver basura", - "deleteApplication": "Borrar {type}", - "duplicateApplication": "Duplicar {tipo}", - "snapshots": "Imágenes", - "rename": "Renombrar", - "duplicate": "Duplicar", - "delete": "Borrar" - }, - "sidebar": { - "createWorkspace": "Crea un grupo", - "inviteOthers": "Invitar a otros", - "logoff": "Cerrar sesión", - "errorNoWorkspace": "No tienes ningún grupo.", - "admin": "Admin", - "dashboard": "Tablero", - "trash": "Papelera", - "settings": "Mi configuración", - "members": "Miembros", - "notifications": "Notificaciones", - "licenses": "Licencias", - "addNewWorkspace": "Añadir un nuevo espacio de trabajo", - "adminTools": "Herramientas de administración", - "home": "Inicio", - "adminSettings": "Configuración administrativa", - "general": "General", - "people": "Personas" - }, - "accountForm": { - "nameLabel": "Tu nombre", - "languageLabel": "Lenguaje de interfaz" - }, - "accountSettings": { - "title": "Cuenta", - "changedTitle": "Cambiado", - "changedDescription": "La información de su cuenta ha sido modificada.", - "submitButton": "Actualizar cuenta" - }, - "settingsModal": { - "title": "Mi configuración" - }, - "passwordSettings": { - "title": "Cambia la contraseña", - "changedTitle": "contraseña cambiada", - "changedDescription": "Tu contraseña ha sido cambiada. La próxima vez que desee iniciar sesión, deberá utilizar su nueva contraseña.", - "oldPasswordLabel": "Contraseña anterior", - "oldPasswordRequiredError": "Se requiere contraseña anterior.", - "newPasswordLabel": "Nueva contraseña", - "repeatNewPasswordLabel": "Repetir la nueva contraseña", - "repeatNewPasswordMatchError": "Este campo debe coincidir con su nuevo campo de contraseña.", - "submitButton": "Cambia la contraseña", - "errorInvalidOldPasswordTitle": "Contraseña invalida", - "errorInvalidOldPasswordMessage": "No se pudo cambiar su contraseña porque su contraseña anterior no es válida." - }, - "error": { - "alreadyExistsTitle": "El usuario ya existe", - "alreadyExistsMessage": "Ya existe un usuario con la dirección de correo electrónico proporcionada.", - "passwordRequired": "Se requiere una contraseña.", - "invalidEmail": "Por favor, introduce un correo electrónico válido.", - "disabledAccountTitle": "Cuenta deshabilitada", - "disabledAccountMessage": "Esta cuenta de usuario ha sido deshabilitada.", - "incorrectCredentialTitle": "credenciales incorrectas", - "incorrectCredentialMessage": "La dirección de correo electrónico o la contraseña proporcionadas son incorrectas.", - "inputRequired": "Se requiere entrada.", - "disabledPasswordProviderTitle": "La autentificación por contraseña está deshabilitada.", - "disabledPasswordProviderMessage": "Utilice otro proveedor de autentificación." - }, - "field": { - "language": "Idioma", - "emailAddress": "Correo electrónico", - "name": "Tu nombre", - "password": "Contraseña", - "passwordRepeat": "Repite la contraseña" - }, - "invitationTitle": "Invitación", - "invitationMessage": "{invitedBy} te ha invitado a unirte a {workspace}.", - "workspaceForm": { - "nameLabel": "Nombre" - }, - "leaveWorkspaceModal": { - "title": "Abandonar {group}", - "message": "¿Está seguro de que desea abandonar el grupo {group}? Ya no podrá acceder a las aplicaciones relacionadas y, si desea recuperar el acceso, uno de los administradores debe invitarlo nuevamente. Si abandona el grupo, no se eliminará. Todos los demás miembros seguirán teniendo acceso a él. No es posible abandonar un grupo si eres el último administrador porque eso lo dejará sin mantenimiento.", - "leave": "Dejar grupo" - }, - "dashboardWorkspace": { - "showMembers": "Miembros", - "createApplication": "Crear nuevo" - }, - "workspaceInvitation": { - "title": "Invitación", - "message": "{by} te ha invitado a unirte a {group}.", - "reject": "Rechazar", - "accept": "Aceptar" - }, - "workspaceMemberModal": { - "membersModalTitle": "{group} miembros", - "userDescription": "{user} - se unió hace {since}", - "invitationDescription": "invitado {since} hace", - "sendInvite": "Enviar invitación", - "userAlreadyInWorkspaceTitle": "El usuario ya está en el grupo.", - "userAlreadyInWorkspaceText": "No es posible enviar una invitación cuando el usuario ya es miembro del grupo.", - "userDescriptionPendingDeletion": "{usuario} - pendiente de borrar" - }, - "workspaceInviteForm": { - "invitationFormTitle": "Invitar por correo electrónico", - "optionalMessagePlaceholder": "Mensaje opcional", - "errorInvalidEmail": "Por favor, introduce una dirección de correo electrónico válida.", - "errorTooLongMessage": "Los mensajes están limitados a {cantidad} caracteres.", - "additionalRoles": "Funciones adicionales" - }, - "workspacesContext": { - "search": "Buscar grupos", - "noResults": "No se han encontrado resultados", - "createWorkspace": "Crea un grupo" - }, - "workspaceContext": { - "renameWorkspace": "Renombrar grupo", - "members": "Miembros", - "viewTrash": "Ver papelera", - "leaveWorkspace": "Salir del área de trabajo", - "deleteWorkspace": "Eliminar espacio de trabajo", - "auditLog": "Registro de auditoría", - "settings": "Ajustes", - "exportWorkspace": "Exportar datos", - "importWorkspace": "Importar datos" - }, - "createWorkspaceModal": { - "createNew": "Crear grupo nuevo", - "add": "Añadir grupo", - "defaultName": "Grupo sin titulo", - "permissionDeniedTitle": "Permiso denegado", - "permissionDeniedBody": "No tienes los permisos necesarios para crear un grupo nuevo." - }, - "templateCategories": { - "search": "Buscar plantillas", - "title": "Plantillas" - }, - "templateHeader": { - "use": "Usar esta plantilla" - }, - "trashSidebar": { - "title": "Papelera", - "unnamedWorkspace": "Espacio de trabajo sin nombre {id}" - }, - "trashContents": { - "message": "Restaurar elementos eliminados del pasado {duration}", - "empty": "No se ha eliminado nada en los últimos tres días.", - "emptyButtonTrashed": "Eliminar {type} permanentemente", - "emptyButtonNotTrashed": "Vaciar la papelera del {type}", - "unnamed": "{type} {id} sin nombre" - }, - "trashEmptyModal": { - "titleIsTrashed": "¿Estás seguro de que quieres eliminar permanentemente {name}?", - "titleIsNotTrashed": "¿Estás seguro de que quieres vaciar la papelera de {name}?", - "messageIsTrashed": "Esto lo eliminará permanentemente junto con todo su contenido. Después de lo cual no se pueden recuperar.", - "messageIsNotTrashed": "Esto eliminará permanentemente los elementos enumerados. Después de lo cual no se pueden recuperar.", - "buttonIsTrashed": "Borrar permanentemente", - "buttonIsNotTrashed": "Vacío" - }, - "trashEntry": { - "deletedUser": "Un usuario eliminado", - "fromParent": "de {parent}", - "name": "{user} eliminó {type} {title} {parent}", - "restore": "Restaurar", - "unnamed": "{type} {id} sin nombre", - "andMore": "... y {cuenta} más" - }, - "trashModal": { - "emptyTitle": "No se han encontrado espacios de trabajo", - "emptyMessage": "No eres miembro de ningún espacio de trabajo. Las aplicaciones como las bases de datos pertenecen a un espacio de trabajo, por lo que para crearlas es necesario crear un espacio de trabajo.", - "emptyMessageWithoutCreatePermission": "No eres miembro de ningún espacio de trabajo. Las aplicaciones como las bases de datos pertenecen a un espacio de trabajo, por lo que para crearlas necesitarás que un administrador te invite primero a un espacio de trabajo." - }, - "uploadViaURLUserFileUpload": { - "title": "Subir desde una URL", - "urlLabel": "URL", - "urlError": "Se requiere una URL válida." - }, - "userFilesModal": { - "title": "Subir desde" - }, - "uploadFileUserFileUpload": { - "title": "Subir desde mi dispositivo", - "drop": "Dejar aquí", - "clickOrDrop": "Haga clic o suelte sus archivos aquí", - "retry": "Volver a intentar" - }, - "createApplicationContext": { - "fromTemplate": "De la plantilla", - "fromTemplateDesc": "Empieza rápidamente con una de nuestras plantillas recomendadas", - "table": "Tabla", - "tableDesc": "Crea un nuevo espacio para gestionar los datos en tu base de datos.", - "importWorkspace": "Importar datos", - "importWorkspaceDesc": "Añadir datos existentes de una instancia Baserow." - }, - "applicationForm": { - "nameLabel": "Nombre", - "namePlaceholder": "Introduce el nombre..." - }, - "connectingNotification": { - "title": "Reconectando", - "content": "Reconectando con el servidor." - }, - "failedConnectingNotification": { - "title": "Fallido", - "content": "La conexión con el servidor ha fallado. Actualice la página.", - "action": "Actualizar página" - }, - "restoreNotification": { - "restore": "Restaurar {type} eliminado" - }, - "errorLayout": { - "notFound": "La página que busca no ha sido encontrada. Esto puede deberse a que la URL es incorrecta o que no tiene permiso para ver esta página.", - "error": "Algo salió mal al cargar la página. Nuestros desarrolladores han sido notificados del problema. Intente actualizar o volver al panel de control.", - "backDashboard": "Volver al tablero", - "backLogin": "Atrás para iniciar sesión", - "wrong": "Algo salió mal", - "refresh": "Actualizar la página" - }, - "dashboard": { - "title": "Tablero", - "alertTitle": "¡Necesitamos tu ayuda!", - "alertText": "Al compartir Baserow, nos está ayudando a mejorar el producto y a hacerlo más útil para ti.", - "tweetContent": "¡Eche un vistazo a {'@'}baserow, una herramienta de base de datos sin código de código abierto y una alternativa a Airtable!", - "redditTitle": "'Baserow: una base de datos sin código de código abierto", - "noWorkspaceTitle": "No se encontraron grupos", - "noWorkspaceText": "No eres miembro de ningún grupo. Las aplicaciones, como las bases de datos, pertenecen a un grupo, por lo que, para crearlas, debe crear un grupo.", - "createWorkspace": "Crea un grupo", - "becomeGithubSponsor": "Conviértase en un patrocinador de GitHub", - "starOnGitlab": "Márcanos con una estrella en GitLab", - "shareOnTwitter": "Tuitea sobre Baserow", - "shareOnReddit": "Compartir en Reddit", - "shareOnFacebook": "Compartir en Facebook", - "shareOnLinkedIn": "Compartir en LinkedIn", - "noWorkspaceTextWithoutCreatePermission": "No eres miembro de ningún grupo. Las aplicaciones como las bases de datos pertenecen a un grupo, así que para crearlas tendrás que ser invitado primero a un grupo por un administrador.", - "knowledgeBaseMessage": "Encuentre respuestas a todas sus preguntas", - "tutorials": "Tutoriales", - "tutorialsMessage": "Descubre el potencial de Baserow", - "noWorkspaceDescription": "Empieza por crear un nuevo espacio de trabajo", - "resources": "Recursos", - "apiDocumentation": "Documentación API", - "apiDocumentationMessage": "Más información sobre nuestro código", - "suggestedTemplates": "Plantillas sugeridas", - "knowledgeBase": "Base de conocimientos", - "emptyWorkspace": "Este espacio de trabajo está vacío", - "emptyWorkspaceMessage": "Empieza por crear una nueva base de datos o aplicación.", - "addNew": "Añadir nuevo...", - "noWorkspace": "Sin espacio de trabajo" - }, - "login": { - "title": "Bienvenido de nuevo", - "forgotPassword": "¿Olvidaste tu contraseña?", - "passwordPlaceholder": "Introduce tu contraseña...", - "signUpText": "¿Eres nuevo en Baserow?", - "signUp": "Regístrate", - "emailPlaceholder": "Introduce tu correo electrónico...", - "displayPasswordLogin": "Iniciar sesión con correo electrónico y contraseña", - "redirecting": "Redireccionando al proveedor de autentificación..." - }, - "resetPassword": { - "title": "Restablecer la contraseña", - "newPassword": "Nueva contraseña", - "repeatNewPassword": "Repite la contraseña nueva", - "submit": "Cambia la contraseña", - "changed": "Contraseña cambiada", - "errorInvalidLinkTitle": "Link inválido", - "errorInvalidLinkMessage": "No se pudo restablecer la contraseña porque el enlace no es válido.", - "errorLinkExpiredTitle": "Enlace expirado", - "errorLinkExpiredMessage": "El enlace de restablecimiento de contraseña ha caducado. Solicite otro.", - "disabled": "El restablecimiento de la contraseña está desactivado", - "disabledMessage": "No es posible restablecer la contraseña porque ha sido desactivada.", - "message": "Ya puede iniciar sesión en Baserow con su nueva contraseña." - }, - "signup": { - "headTitle": "Crear una cuenta", - "title": "Inscribirse", - "disabled": "Registro está deshabilitado", - "disabledMessage": "No es posible crear una cuenta porque ha sido deshabilitada.", - "requireFirstUser": "¡Bienvenido a Baserow!", - "requireFirstUserMessage": "Por favor llena la forma de abajo para crear el usuario administrador.", - "login": "Iniciar sesión", - "passwordPlaceholder": "Introduce tu contraseña...", - "emailPlaceholder": "Introduce tu correo electrónico...", - "passwordRepeatPlaceholder": "Confirma tu contraseña...", - "loginText": "¿Ya tienes una cuenta?", - "namePlaceholder": "Introduce tu nombre...", - "agreeTerms": "Al crear una cuenta, acepta el {0} {1} {2}", - "terms": "Condiciones del servicio", - "privacyPolicy": "Política de privacidad" - }, - "forgotPassword": { - "title": "Contraseña olvidada", - "message": "Introduce tu dirección de correo electrónico y te enviaremos un enlace para restablecer tu contraseña.", - "submit": "Enviar enlace", - "confirmation": "Hemos enviado un correo electrónico a {email}, que contiene un enlace para restablecer tu contraseña de Baserow.", - "disabled": "Contraseña olvidada está desactivada", - "disabledMessage": "No es posible restablecer la contraseña porque ha sido deshabilitada.", - "loginText": "¿Ya tienes cuenta y contraseña?", - "confirmationTitle": "Comprueba tu correo electrónico", - "goBack": "Volver" - }, - "settings": { - "settingsTitle": "Configuración de administrador", - "baserowInstanceId": "ID de instancia", - "instanceIdDescription": "El ID de instancia es el identificador único de su copia de Baserow.", - "accountRestrictions": "Restricciones de cuenta", - "settingAllowResetPasswordName": "Permitir el restablecimiento de la contraseña", - "settingAllowResetPasswordDescription": "Por defecto, los usuarios pueden solicitar un enlace para restablecer la contraseña.", - "settingAllowResetPasswordWarning": "Ten en cuenta que podrías bloquearte en el sistema y perder acceso sin opción de restablecerse si olvidas tu contraseña.", - "settingAllowNewAccountsName": "Permitir crear nuevas cuentas", - "settingAllowNewAccountsDescription": "De forma predeterminada, cualquier usuario que visite su dominio de Baserow puede registrarse para obtener una nueva cuenta.", - "enabled": "activado", - "settingAllowSignupsViaWorkspaceInvitationsName": "Permitir suscripciones a través de invitaciones grupales", - "settingAllowSignupsViaWorkspaceInvitationDescription": "Incluso si la creación de nuevas cuentas está deshabilitada, esta opción permite que los usuarios invitados directamente sigan creando una cuenta.", - "userDeletionGraceDelay": "Eliminación de usuarios", - "settingUserDeletionGraceDelay": "Borrar el plazo de gracia", - "settingUserDeletionGraceDelayDescription": "Este es el número de días sin iniciar sesión después de los cuales una cuenta programada para ser eliminada se borra permanentemente.", - "invalidAccountDeletionGraceDelay": "Este valor es obligatorio y debe ser un entero positivo menor que 32000", - "settingAllowNonStaffCreateWorkspaceOperation": "Permitir a todos crear nuevos grupos", - "settingAllowNonStaffCreateWorkspaceOperationDescription": "Por defecto, todos pueden crear grupos nuevos. Desactívalo para que sólo el equipo pueda crear nuevos grupos.", - "settingAllowNonStaffCreateWorkspaceOperationWarning": "A los nuevos usuarios se les creará automáticamente un grupo en el que serán administradores.", - "maintenance": "Mantenimiento", - "settingTrackWorkspaceUsage": "Seguimiento del uso del grupo", - "settingTrackWorkspaceUsageDescription": "Activa un trabajo nocturno que cuenta el uso de filas y archivos por grupo, mostrado en la página de administración de grupos premium.", - "userSettings": "Usuario", - "emailVerificationDescription": "Controla si las direcciones de correo electrónico deben ser verificadas.", - "emailVerificationNoVerification": "Ninguna verificación", - "emailVerificationEnforced": "Forzado", - "emailVerificationRecommended": "Recomendado", - "emailVerification": "Verificación de correo electrónico", - "baserowVersion": "Versión de Baserow", - "baserowVersionDescription": "El número de versión de esta instancia.", - "settingsVerifyImportSignature": "Verificar la firma de importación", - "settingsVerifyImportSignatureDescription": "Cuando está activada, la firma de los datos importados se verifica para garantizar que los datos no han sido manipulados." - }, - "copyingNotification": { - "title": "Copiando...", - "content": "Preparando tus datos" - }, - "undoRedoNotification": { - "undoingTitle": "Deshaciendo...", - "undoingText": "Deshaciendo tu acción", - "redoingText": "Rehaciendo tu acción", - "redoneTitle": "Rehecho", - "redoneText": "La acción es rehecha", - "noMoreRedo": "No hay más acciones que rehacer", - "skippingRedoDueToError": "Rehacer falló por un error desconocido, saltándolo.", - "failed": "Fallido", - "undoneTitle": "Deshecho", - "undoneText": "La acción es deshecha", - "noMoreUndo": "No hay más acciones que deshacer", - "skippingUndoDueToError": "Deshacer falló por un error desconocido, saltándolo.", - "redoingTitle": "Rehaciendo..." - }, - "AuthorizationErrorNotification": { - "title": "Error de autorización", - "content": "Parece que no tienes permisos para ver este recurso.", - "action": "Refrescar página" - }, - "formSidebar": { - "actions": { - "addAll": "Añadir todo", - "removeAll": "Eliminar todo", - "addField": "Añadir campo" - }, - "fieldsDescription": "Todos los campos están en la forma.", - "prefillInfoLink": "Rellenar los valores dinámicamente", - "modal": { - "title": "Rellenar u ocultar campos de forma dinámica", - "descriptionPartOne": "Las formas pueden ser pre-rellenadas para ayudar al usuario rellenar la forma más rápido.", - "descriptionPartTwo": "Todos los campos disponibles en el formulario se pueden rellenar previamente.", - "howToPrefill": { - "title": "Cómo pre-llenar una forma", - "description": "Si quieres pre-llenar una forma con datos, puedes hacerlo a través de parámetros de consulta añadidos a la dirección pública de la forma. Estos parámetros de consulta tienen el prefijo `pre-llenar` para evitar cualquier colisión con posibles parámetros de consulta futuros." - }, - "format": { - "title": "Formato", - "description": "El formato de los parámetros de consulta es:", - "codeSnippet": "?pre-llenar_<nombre_del_campo>=<valor>" - }, - "example": { - "title": "Ejemplo", - "description": "En el siguiente ejemplo queremos rellenar previamente un campo llamado `Nombre` con el valor de `Mike`", - "codeSnippet": "?rellenar_Nombre=Mike" - }, - "spaces": { - "title": "Espacios", - "description": "Los espacios en el nombre del campo se sustituyen por `+` para evitar problemas con el parámetro de consulta.", - "codeSnippet": "?rellenar_mi+campo=Mike" - }, - "multipleValues": { - "title": "Valores múltiples", - "description": "Si quieres rellenar varios campos puedes hacerlo añadiendo un `,` entre los valores.", - "codeSnippet": "?rellenar_multi+seleccionar=Mike,John" - }, - "specialFieldTypes": { - "title": "Tipos de campos especiales", - "description": "En general, el valor de relleno es el mismo que el valor del campo. Pero hay algunas excepciones en las que el valor se traduce en un valor diferente.", - "ratingField": { - "title": "Campo de clasificación", - "description": "Un campo de valoración acepta un número para indicar cuántas estrellas deben rellenarse.", - "codeSnippet": "?rellenar_clasificación=3" + "paginator": { + "page": "Página", + "of": "de {pages}" + }, + "copied": { + "label": "¡Copiado!" + }, + "sidebarApplication": { + "renameApplication": "Renombrar {type}", + "viewTrash": "Ver basura", + "deleteApplication": "Borrar {type}", + "duplicateApplication": "Duplicar {tipo}", + "snapshots": "Imágenes", + "rename": "Renombrar", + "duplicate": "Duplicar", + "delete": "Borrar" + }, + "sidebar": { + "createWorkspace": "Crea un grupo", + "inviteOthers": "Invitar a otros", + "logoff": "Cerrar sesión", + "errorNoWorkspace": "No tienes ningún grupo.", + "admin": "Admin", + "dashboard": "Tablero", + "trash": "Papelera", + "settings": "Mi configuración", + "members": "Miembros", + "notifications": "Notificaciones", + "licenses": "Licencias", + "addNewWorkspace": "Añadir un nuevo espacio de trabajo", + "adminTools": "Herramientas de administración", + "home": "Inicio", + "adminSettings": "Configuración administrativa", + "general": "General", + "people": "Personas" + }, + "accountForm": { + "nameLabel": "Tu nombre", + "languageLabel": "Lenguaje de interfaz" + }, + "accountSettings": { + "title": "Cuenta", + "changedTitle": "Cambiado", + "changedDescription": "La información de su cuenta ha sido modificada.", + "submitButton": "Actualizar cuenta" + }, + "settingsModal": { + "title": "Mi configuración" + }, + "passwordSettings": { + "title": "Cambia la contraseña", + "changedTitle": "contraseña cambiada", + "changedDescription": "Tu contraseña ha sido cambiada. La próxima vez que desee iniciar sesión, deberá utilizar su nueva contraseña.", + "oldPasswordLabel": "Contraseña anterior", + "oldPasswordRequiredError": "Se requiere contraseña anterior.", + "newPasswordLabel": "Nueva contraseña", + "repeatNewPasswordLabel": "Repetir la nueva contraseña", + "repeatNewPasswordMatchError": "Este campo debe coincidir con su nuevo campo de contraseña.", + "submitButton": "Cambia la contraseña", + "errorInvalidOldPasswordTitle": "Contraseña invalida", + "errorInvalidOldPasswordMessage": "No se pudo cambiar su contraseña porque su contraseña anterior no es válida." + }, + "error": { + "alreadyExistsTitle": "El usuario ya existe", + "alreadyExistsMessage": "Ya existe un usuario con la dirección de correo electrónico proporcionada.", + "passwordRequired": "Se requiere una contraseña.", + "invalidEmail": "Por favor, introduce un correo electrónico válido.", + "disabledAccountTitle": "Cuenta deshabilitada", + "disabledAccountMessage": "Esta cuenta de usuario ha sido deshabilitada.", + "incorrectCredentialTitle": "credenciales incorrectas", + "incorrectCredentialMessage": "La dirección de correo electrónico o la contraseña proporcionadas son incorrectas.", + "inputRequired": "Se requiere entrada.", + "disabledPasswordProviderTitle": "La autentificación por contraseña está deshabilitada.", + "disabledPasswordProviderMessage": "Utilice otro proveedor de autentificación." + }, + "field": { + "language": "Idioma", + "emailAddress": "Dirección de correo electrónico", + "name": "Tu nombre", + "password": "Contraseña", + "passwordRepeat": "Repite la contraseña" + }, + "invitationTitle": "Invitación", + "invitationMessage": "{invitedBy} te ha invitado a unirte a {workspace}.", + "workspaceForm": { + "nameLabel": "Nombre" + }, + "leaveWorkspaceModal": { + "title": "Abandonar {group}", + "message": "¿Está seguro de que desea abandonar el grupo {group}? Ya no podrá acceder a las aplicaciones relacionadas y, si desea recuperar el acceso, uno de los administradores debe invitarlo nuevamente. Si abandona el grupo, no se eliminará. Todos los demás miembros seguirán teniendo acceso a él. No es posible abandonar un grupo si eres el último administrador porque eso lo dejará sin mantenimiento.", + "leave": "Dejar grupo" + }, + "dashboardWorkspace": { + "showMembers": "Miembros", + "createApplication": "Crear nuevo" + }, + "workspaceInvitation": { + "title": "Invitación", + "message": "{by} te ha invitado a unirte a {group}.", + "reject": "Rechazar", + "accept": "Aceptar" + }, + "workspaceMemberModal": { + "membersModalTitle": "{group} miembros", + "userDescription": "{user} - se unió hace {since}", + "invitationDescription": "invitado {since} hace", + "sendInvite": "Enviar invitación", + "userAlreadyInWorkspaceTitle": "El usuario ya está en el grupo.", + "userAlreadyInWorkspaceText": "No es posible enviar una invitación cuando el usuario ya es miembro del grupo.", + "userDescriptionPendingDeletion": "{usuario} - pendiente de borrar" + }, + "workspaceInviteForm": { + "invitationFormTitle": "Invitar por correo electrónico", + "optionalMessagePlaceholder": "Mensaje opcional", + "errorInvalidEmail": "Por favor, introduce una dirección de correo electrónico válida.", + "errorTooLongMessage": "Los mensajes están limitados a {cantidad} caracteres.", + "additionalRoles": "Funciones adicionales" + }, + "workspacesContext": { + "search": "Buscar grupos", + "noResults": "No se han encontrado resultados", + "createWorkspace": "Crea un grupo" + }, + "workspaceContext": { + "renameWorkspace": "Renombrar grupo", + "members": "Miembros", + "viewTrash": "Ver papelera", + "leaveWorkspace": "Salir del área de trabajo", + "deleteWorkspace": "Eliminar espacio de trabajo", + "auditLog": "Registro de auditoría", + "settings": "Ajustes", + "exportWorkspace": "Exportar datos", + "importWorkspace": "Importar datos" + }, + "createWorkspaceModal": { + "createNew": "Crear grupo nuevo", + "add": "Añadir grupo", + "defaultName": "Grupo sin titulo", + "permissionDeniedTitle": "Permiso denegado", + "permissionDeniedBody": "No tienes los permisos necesarios para crear un grupo nuevo." + }, + "templateCategories": { + "search": "Buscar plantillas", + "title": "Plantillas" + }, + "templateHeader": { + "use": "Usar esta plantilla" + }, + "trashSidebar": { + "title": "Papelera", + "unnamedWorkspace": "Espacio de trabajo sin nombre {id}", + "workspaces": "Espacios de trabajo" + }, + "trashContents": { + "message": "Restaurar elementos eliminados del pasado {duration}", + "empty": "No se ha eliminado nada en los últimos tres días.", + "emptyButtonTrashed": "Eliminar {type} permanentemente", + "emptyButtonNotTrashed": "Vaciar la papelera del {type}", + "unnamed": "{type} {id} sin nombre" + }, + "trashEmptyModal": { + "titleIsTrashed": "¿Estás seguro de que quieres eliminar permanentemente {name}?", + "titleIsNotTrashed": "¿Estás seguro de que quieres vaciar la papelera de {name}?", + "messageIsTrashed": "Esto lo eliminará permanentemente junto con todo su contenido. Después de lo cual no se pueden recuperar.", + "messageIsNotTrashed": "Esto eliminará permanentemente los elementos enumerados. Después de lo cual no se pueden recuperar.", + "buttonIsTrashed": "Borrar permanentemente", + "buttonIsNotTrashed": "Vacío" + }, + "trashEntry": { + "deletedUser": "Un usuario eliminado", + "fromParent": "de {parent}", + "name": "{user} eliminó {type} {title} {parent}", + "restore": "Restaurar", + "unnamed": "{type} {id} sin nombre", + "andMore": "... y {cuenta} más" + }, + "trashModal": { + "emptyTitle": "No se han encontrado espacios de trabajo", + "emptyMessage": "No eres miembro de ningún espacio de trabajo. Las aplicaciones como las bases de datos pertenecen a un espacio de trabajo, por lo que para crearlas es necesario crear un espacio de trabajo.", + "emptyMessageWithoutCreatePermission": "No eres miembro de ningún espacio de trabajo. Las aplicaciones como las bases de datos pertenecen a un espacio de trabajo, por lo que para crearlas necesitarás que un administrador te invite primero a un espacio de trabajo." + }, + "uploadViaURLUserFileUpload": { + "title": "Subir desde una URL", + "urlLabel": "URL", + "urlError": "Se requiere una URL válida." + }, + "userFilesModal": { + "title": "Subir desde" + }, + "uploadFileUserFileUpload": { + "title": "Subir desde mi dispositivo", + "drop": "Dejar aquí", + "clickOrDrop": "Haga clic o suelte sus archivos aquí", + "retry": "Volver a intentar" + }, + "createApplicationContext": { + "fromTemplate": "De la plantilla", + "fromTemplateDesc": "Empieza rápidamente con una de nuestras plantillas recomendadas", + "table": "Tabla", + "tableDesc": "Crea un nuevo espacio para gestionar los datos en tu base de datos.", + "importWorkspace": "Importar datos", + "importWorkspaceDesc": "Añadir datos existentes de una instancia Baserow." + }, + "applicationForm": { + "nameLabel": "Nombre", + "namePlaceholder": "Introduce el nombre..." + }, + "connectingNotification": { + "title": "Reconectando", + "content": "Reconectando con el servidor." + }, + "failedConnectingNotification": { + "title": "Fallido", + "content": "La conexión con el servidor ha fallado. Actualice la página.", + "action": "Actualizar página" + }, + "restoreNotification": { + "restore": "Restaurar {type} eliminado" + }, + "errorLayout": { + "notFound": "La página que busca no ha sido encontrada. Esto puede deberse a que la URL es incorrecta o que no tiene permiso para ver esta página.", + "error": "Algo salió mal al cargar la página. Nuestros desarrolladores han sido notificados del problema. Intente actualizar o volver al panel de control.", + "backDashboard": "Volver al tablero", + "backLogin": "Atrás para iniciar sesión", + "wrong": "Algo salió mal", + "refresh": "Actualizar la página" + }, + "dashboard": { + "title": "Tablero", + "alertTitle": "¡Necesitamos tu ayuda!", + "alertText": "Al compartir Baserow, nos está ayudando a mejorar el producto y a hacerlo más útil para ti.", + "tweetContent": "¡Eche un vistazo a {'@'}baserow, una herramienta de base de datos sin código de código abierto y una alternativa a Airtable!", + "redditTitle": "'Baserow: una base de datos sin código de código abierto", + "noWorkspaceTitle": "No se encontraron grupos", + "noWorkspaceText": "No eres miembro de ningún grupo. Las aplicaciones, como las bases de datos, pertenecen a un grupo, por lo que, para crearlas, debe crear un grupo.", + "createWorkspace": "Crea un grupo", + "becomeGithubSponsor": "Conviértase en un patrocinador de GitHub", + "starOnGitlab": "Márcanos con una estrella en GitLab", + "shareOnTwitter": "Tuitea sobre Baserow", + "shareOnReddit": "Compartir en Reddit", + "shareOnFacebook": "Compartir en Facebook", + "shareOnLinkedIn": "Compartir en LinkedIn", + "noWorkspaceTextWithoutCreatePermission": "No eres miembro de ningún grupo. Las aplicaciones como las bases de datos pertenecen a un grupo, así que para crearlas tendrás que ser invitado primero a un grupo por un administrador.", + "knowledgeBaseMessage": "Encuentre respuestas a todas sus preguntas", + "tutorials": "Tutoriales", + "tutorialsMessage": "Descubre el potencial de Baserow", + "noWorkspaceDescription": "Empieza por crear un nuevo espacio de trabajo", + "resources": "Recursos", + "apiDocumentation": "Documentación API", + "apiDocumentationMessage": "Más información sobre nuestro código", + "suggestedTemplates": "Plantillas sugeridas", + "knowledgeBase": "Base de conocimientos", + "emptyWorkspace": "Este espacio de trabajo está vacío", + "emptyWorkspaceMessage": "Empieza por crear una nueva base de datos o aplicación.", + "addNew": "Añadir nuevo...", + "noWorkspace": "Sin espacio de trabajo", + "starOnGitHub": "Apóyanos con una estrella en GitHub" + }, + "login": { + "title": "Bienvenido de nuevo", + "forgotPassword": "¿Olvidaste tu contraseña?", + "passwordPlaceholder": "Introduce tu contraseña...", + "signUpText": "¿Eres nuevo en Baserow?", + "signUp": "Regístrate", + "emailPlaceholder": "Introduce tu correo electrónico...", + "displayPasswordLogin": "Iniciar sesión con correo electrónico y contraseña", + "redirecting": "Redireccionando al proveedor de autentificación..." + }, + "resetPassword": { + "title": "Restablecer la contraseña", + "newPassword": "Nueva contraseña", + "repeatNewPassword": "Repite la contraseña nueva", + "submit": "Cambia la contraseña", + "changed": "Contraseña cambiada", + "errorInvalidLinkTitle": "Link inválido", + "errorInvalidLinkMessage": "No se pudo restablecer la contraseña porque el enlace no es válido.", + "errorLinkExpiredTitle": "Enlace expirado", + "errorLinkExpiredMessage": "El enlace de restablecimiento de contraseña ha caducado. Solicite otro.", + "disabled": "El restablecimiento de la contraseña está desactivado", + "disabledMessage": "No es posible restablecer la contraseña porque ha sido desactivada.", + "message": "Ya puede iniciar sesión en Baserow con su nueva contraseña." + }, + "signup": { + "headTitle": "Crear una cuenta", + "title": "Inscribirse", + "disabled": "Registro está deshabilitado", + "disabledMessage": "No es posible crear una cuenta porque ha sido deshabilitada.", + "requireFirstUser": "¡Bienvenido a Baserow!", + "requireFirstUserMessage": "Por favor llena la forma de abajo para crear el usuario administrador.", + "login": "Iniciar sesión", + "passwordPlaceholder": "Introduce tu contraseña...", + "emailPlaceholder": "Introduce tu correo electrónico...", + "passwordRepeatPlaceholder": "Confirma tu contraseña...", + "loginText": "¿Ya tienes una cuenta?", + "namePlaceholder": "Introduce tu nombre...", + "agreeTerms": "Al crear una cuenta, acepta el {0} {1} {2}", + "terms": "Condiciones del servicio", + "privacyPolicy": "Política de privacidad" + }, + "forgotPassword": { + "title": "Contraseña olvidada", + "message": "Introduce tu dirección de correo electrónico y te enviaremos un enlace para restablecer tu contraseña.", + "submit": "Enviar enlace", + "confirmation": "Hemos enviado un correo electrónico a {email}, que contiene un enlace para restablecer tu contraseña de Baserow.", + "disabled": "Contraseña olvidada está desactivada", + "disabledMessage": "No es posible restablecer la contraseña porque ha sido deshabilitada.", + "loginText": "¿Ya tienes cuenta y contraseña?", + "confirmationTitle": "Comprueba tu correo electrónico", + "goBack": "Volver" + }, + "settings": { + "settingsTitle": "Configuración de administrador", + "baserowInstanceId": "ID de instancia", + "instanceIdDescription": "El ID de instancia es el identificador único de su copia de Baserow.", + "accountRestrictions": "Restricciones de cuenta", + "settingAllowResetPasswordName": "Permitir el restablecimiento de la contraseña", + "settingAllowResetPasswordDescription": "Por defecto, los usuarios pueden solicitar un enlace para restablecer la contraseña.", + "settingAllowResetPasswordWarning": "Ten en cuenta que podrías bloquearte en el sistema y perder acceso sin opción de restablecerse si olvidas tu contraseña.", + "settingAllowNewAccountsName": "Permitir crear nuevas cuentas", + "settingAllowNewAccountsDescription": "De forma predeterminada, cualquier usuario que visite su dominio de Baserow puede registrarse para obtener una nueva cuenta.", + "enabled": "activado", + "settingAllowSignupsViaWorkspaceInvitationsName": "Permitir suscripciones a través de invitaciones grupales", + "settingAllowSignupsViaWorkspaceInvitationDescription": "Incluso si la creación de nuevas cuentas está deshabilitada, esta opción permite que los usuarios invitados directamente sigan creando una cuenta.", + "userDeletionGraceDelay": "Eliminación de usuarios", + "settingUserDeletionGraceDelay": "Borrar el plazo de gracia", + "settingUserDeletionGraceDelayDescription": "Este es el número de días sin iniciar sesión después de los cuales una cuenta programada para ser eliminada se borra permanentemente.", + "invalidAccountDeletionGraceDelay": "Este valor es obligatorio y debe ser un entero positivo menor que 32000", + "settingAllowNonStaffCreateWorkspaceOperation": "Permitir a todos crear nuevos grupos", + "settingAllowNonStaffCreateWorkspaceOperationDescription": "Por defecto, todos pueden crear grupos nuevos. Desactívalo para que sólo el equipo pueda crear nuevos grupos.", + "settingAllowNonStaffCreateWorkspaceOperationWarning": "A los nuevos usuarios se les creará automáticamente un grupo en el que serán administradores.", + "maintenance": "Mantenimiento", + "settingTrackWorkspaceUsage": "Seguimiento del uso del grupo", + "settingTrackWorkspaceUsageDescription": "Activa un trabajo nocturno que cuenta el uso de filas y archivos por grupo, mostrado en la página de administración de grupos premium.", + "userSettings": "Usuario", + "emailVerificationDescription": "Controla si las direcciones de correo electrónico deben ser verificadas.", + "emailVerificationNoVerification": "Ninguna verificación", + "emailVerificationEnforced": "Forzado", + "emailVerificationRecommended": "Recomendado", + "emailVerification": "Verificación de correo electrónico", + "baserowVersion": "Versión de Baserow", + "baserowVersionDescription": "El número de versión de esta instancia.", + "settingsVerifyImportSignature": "Verificar la firma de importación", + "settingsVerifyImportSignatureDescription": "Cuando está activada, la firma de los datos importados se verifica para garantizar que los datos no han sido manipulados." + }, + "copyingNotification": { + "title": "Copiando...", + "content": "Preparando tus datos" + }, + "undoRedoNotification": { + "undoingTitle": "Deshaciendo...", + "undoingText": "Deshaciendo tu acción", + "redoingText": "Rehaciendo tu acción", + "redoneTitle": "Rehecho", + "redoneText": "La acción es rehecha", + "noMoreRedo": "No hay más acciones que rehacer", + "skippingRedoDueToError": "Rehacer falló por un error desconocido, saltándolo.", + "failed": "Fallido", + "undoneTitle": "Deshecho", + "undoneText": "La acción es deshecha", + "noMoreUndo": "No hay más acciones que deshacer", + "skippingUndoDueToError": "Deshacer falló por un error desconocido, saltándolo.", + "redoingTitle": "Rehaciendo..." + }, + "AuthorizationErrorNotification": { + "title": "Error de autorización", + "content": "Parece que no tienes permisos para ver este recurso.", + "action": "Refrescar página" + }, + "formSidebar": { + "actions": { + "addAll": "Añadir todo", + "removeAll": "Eliminar todo", + "addField": "Añadir campo" }, - "linkRowField": { - "title": "Campo de fila de enlace", - "description": "Un campo de fila de enlace puede aceptar el valor que se muestra en el menú desplegable de selección.", - "codeSnippet": "?rellenar_enlace+fila=Mike" + "fieldsDescription": "Todos los campos están en la forma.", + "prefillInfoLink": "Rellenar los valores dinámicamente", + "modal": { + "title": "Rellenar u ocultar campos de forma dinámica", + "descriptionPartOne": "Las formas pueden ser pre-rellenadas para ayudar al usuario rellenar la forma más rápido.", + "descriptionPartTwo": "Todos los campos disponibles en el formulario se pueden rellenar previamente.", + "howToPrefill": { + "title": "Cómo pre-llenar una forma", + "description": "Si quieres pre-llenar una forma con datos, puedes hacerlo a través de parámetros de consulta añadidos a la dirección pública de la forma. Estos parámetros de consulta tienen el prefijo `pre-llenar` para evitar cualquier colisión con posibles parámetros de consulta futuros." + }, + "format": { + "title": "Formato", + "description": "El formato de los parámetros de consulta es:", + "codeSnippet": "?pre-llenar_<nombre_del_campo>=<valor>" + }, + "example": { + "title": "Ejemplo", + "description": "En el siguiente ejemplo queremos rellenar previamente un campo llamado `Nombre` con el valor de `Mike`", + "codeSnippet": "?rellenar_Nombre=Mike" + }, + "spaces": { + "title": "Espacios", + "description": "Los espacios en el nombre del campo se sustituyen por `+` para evitar problemas con el parámetro de consulta.", + "codeSnippet": "?rellenar_mi+campo=Mike" + }, + "multipleValues": { + "title": "Valores múltiples", + "description": "Si quieres rellenar varios campos puedes hacerlo añadiendo un `,` entre los valores.", + "codeSnippet": "?rellenar_multi+seleccionar=Mike,John" + }, + "specialFieldTypes": { + "title": "Tipos de campos especiales", + "description": "En general, el valor de relleno es el mismo que el valor del campo. Pero hay algunas excepciones en las que el valor se traduce en un valor diferente.", + "ratingField": { + "title": "Campo de clasificación", + "description": "Un campo de valoración acepta un número para indicar cuántas estrellas deben rellenarse.", + "codeSnippet": "?rellenar_clasificación=3" + }, + "linkRowField": { + "title": "Campo de fila de enlace", + "description": "Un campo de fila de enlace puede aceptar el valor que se muestra en el menú desplegable de selección.", + "codeSnippet": "?rellenar_enlace+fila=Mike" + }, + "selectField": { + "title": "Campo de selección simple / selección múltiple", + "description": "Un campo de selección simple puede aceptar el valor que se muestra en el desplegable de selección. Lo mismo ocurre con el campo de selección múltiple, pero también puede aceptar varios valores.", + "codeSnippet": "?rellenar_selección+simple=Mike" + }, + "dateField": { + "title": "Campo de fecha", + "description": "Un campo de fecha puede aceptar una fecha en los siguientes formatos y utilizará el formato de fecha del campo para analizar la fecha.", + "codeSnippet": "\n// Normas\nISO_8601\n\n// Formatos generales\n'AAAA-MM-DD',\n'AAAA-MM-DD hh:mm A',\n'AAAA-MM-DD HH:mm',\n\n// UE\n'DD/MM/AAAA',\n'DD/MM/AAAA hh:mm A',\n\"DD/MM/AAAA HH:mm\"\n\n// US\n'MM/DD/AAAA',\n'MM/DD/AAAA hh:mm A',\n'MM/DD/AAAA HH:mm'" + } + }, + "howToHide": { + "title": "Cómo ocultar un campo", + "description": "Si desea ocultar el campo dinámicamente, puede hacerlo a través de los parámetros de consulta agregados a la URL pública. Estos parámetros de consulta tienen el prefijo `hide_` para evitar errores con posibles parámetros de consulta futuros." + } }, - "selectField": { - "title": "Campo de selección simple / selección múltiple", - "description": "Un campo de selección simple puede aceptar el valor que se muestra en el desplegable de selección. Lo mismo ocurre con el campo de selección múltiple, pero también puede aceptar varios valores.", - "codeSnippet": "?rellenar_selección+simple=Mike" + "prefillOrHideInfoLink": "Rellenar u ocultar dinámicamente", + "notifyUserOnSubmit": "Recibir una notificación de envío" + }, + "deleteAccountSettings": { + "title": "Borrar cuenta", + "workspaceNotice": "Los grupos huérfanos se borraran", + "orphanWorkspaces": "También se borrará permanentemente después del tiempo de gracia", + "orphanWorkspaceMemberCount": "compartido con nadie|compartido con un usuario|compartido con {cuenta} usuarios", + "password": "Contraseña", + "passwordConfirm": "Repetir contraseña", + "repeatPasswordMatchError": "Este campo debe coincidir con el primer campo de contraseña.", + "submitButton": "Borrar cuenta", + "errorInvalidPasswordTitle": "Contraseña inválida", + "errorInvalidPasswordMessage": "No se ha podido eliminar tu cuenta porque tu contraseña no es válida.", + "errorUserIsLastAdminTitle": "Último administrador", + "errorUserIsLastAdminMessage": "No se ha podido eliminar tu cuenta porque eres el último administrador de esta instancia de Baserow.", + "accountDeletedSuccessTitle": "Eliminación de la cuenta programada", + "accountDeletedSuccessMessage": "Se ha programado la eliminación de tu cuenta.", + "workspaceLoadingError": "La comprobación de los grupos ha fallado", + "workspaceLoadingErrorDescription": "La comprobación de los grupos a eliminar ha fallado, favor de actualizar la página.", + "description": "Puedes programar la eliminación de tu cuenta introduciendo tu contraseña y haciendo clic en el botón. Tu cuenta será eliminada permanentemente después de {days} días. Mientras tanto, si vuelves a conectarte, se cancelará la eliminación de tu cuenta.", + "workspaceNoticeDescription": "Cuando tu cuenta se elimina permanentemente, todos los grupos y datos asociados para los que eres el último usuario activo con permisos de administrador también se eliminarán. Los grupos que se muestran a continuación son los que se borrarán porque tú eres el único administrador. Para evitar que se borren, primero dale a otro usuario permisos de administrador antes de borrar tu cuenta." + }, + "clearingNotification": { + "title": "Borrando...", + "content": "Preparando tus datos" + }, + "dashboardSidebar": { + "links": "Enlaces", + "knowledgeBase": "Base de conocimientos", + "tutorials": "Tutoriales", + "userSettings": "Configuración de usuario", + "logoff": "Desconectarse", + "workspaces": "Grupos", + "trash": "Basura" + }, + "pastingNotification": { + "content": "Preparar tus datos", + "title": "Pegando..." + }, + "job": { + "errorJobAlreadyRunningDescription": "Ya se está corriendo otro trabajo de importación. Tienes que esperar a que termine ese antes de iniciar otro.", + "statePending": "Esperando para empezar...", + "stateStarted": "Empezó...", + "stateFinished": "Terminado", + "stateFailed": "Fallido", + "errorJobAlreadyRunningTitle": "Ya está corriendo", + "errorJobCannotBeCancelledTitle": "No se pudo anular", + "errorJobCannotBeCancelledDescription": "No es posible cancelar el trabajo porque ya se ha completado.\nPor favor, borra la primera instantánea de la lista para eliminarla.", + "stateCanceled": "Cancelado" + }, + "datetime": { + "daysAgo": "Hace 0 días | Hace 1 día | Hace {n} días", + "monthsAgo": "Hace 0 meses | Hace 1 mes | Hace {n} meses", + "yearsAgo": "Hace 0 años | Hace 1 año | Hace {n} años", + "minutesAgo": "Hace 0 minutos | Hace 1 minuto | Hace {n} minutos", + "hoursAgo": "Hace 0 horas | Hace 1 hora | Hace {n} horas", + "secondsAgo": "Ahora mismo | Hace 1 segundo | Hace {n} segundos", + "lessThanMinuteAgo": "Hace menos de un minuto", + "justNow": "ahora mismo" + }, + "InstallTemplateJobType": { + "installing": "Instalando", + "installedTitle": "Plantilla instalada" + }, + "duplicateApplicationJobType": { + "duplicatedTitle": "Aplicación duplicada", + "duplicating": "Duplicando" + }, + "crudTableSearch": { + "search": "Buscar" + }, + "membersSettings": { + "membersTable": { + "columns": { + "email": "Correo electrónico", + "role": "Rol predeterminado", + "name": "Nombre", + "teams": "Equipos", + "highestRole": "Cargo más alto", + "highestRoleHelpText": "El rol más alto asignado a este usuario directamente o desde un equipo, sobre cualquier cosa en este espacio de trabajo", + "highestRoleInstanceHelpText": "El rol más alto que este usuario tiene en la instancia", + "2fa": "2FA" + }, + "actions": { + "remove": "Quitar del espacio de trabajo", + "copyEmail": "Copiar correo electrónico" + }, + "title": "{cuentaDeUsuario} Miembros en {nombreDelEspacioDeTrabajo}", + "inviteMember": "Invitar a un miembro" }, - "dateField": { - "title": "Campo de fecha", - "description": "Un campo de fecha puede aceptar una fecha en los siguientes formatos y utilizará el formato de fecha del campo para analizar la fecha.", - "codeSnippet": "\n// Normas\nISO_8601\n\n// Formatos generales\n'AAAA-MM-DD',\n'AAAA-MM-DD hh:mm A',\n'AAAA-MM-DD HH:mm',\n\n// UE\n'DD/MM/AAAA',\n'DD/MM/AAAA hh:mm A',\n\"DD/MM/AAAA HH:mm\"\n\n// US\n'MM/DD/AAAA',\n'MM/DD/AAAA hh:mm A',\n'MM/DD/AAAA HH:mm'" - } - }, - "howToHide": { - "title": "Cómo ocultar un campo", - "description": "Si desea ocultar el campo dinámicamente, puede hacerlo a través de los parámetros de consulta agregados a la URL pública. Estos parámetros de consulta tienen el prefijo `hide_` para evitar errores con posibles parámetros de consulta futuros." - } - }, - "prefillOrHideInfoLink": "Rellenar u ocultar dinámicamente", - "notifyUserOnSubmit": "Recibir una notificación de envío" - }, - "deleteAccountSettings": { - "title": "Borrar cuenta", - "workspaceNotice": "Los grupos huérfanos se borraran", - "orphanWorkspaces": "También se borrará permanentemente después del tiempo de gracia", - "orphanWorkspaceMemberCount": "compartido con nadie|compartido con un usuario|compartido con {cuenta} usuarios", - "password": "Contraseña", - "passwordConfirm": "Repetir contraseña", - "repeatPasswordMatchError": "Este campo debe coincidir con el primer campo de contraseña.", - "submitButton": "Borrar cuenta", - "errorInvalidPasswordTitle": "Contraseña inválida", - "errorInvalidPasswordMessage": "No se ha podido eliminar tu cuenta porque tu contraseña no es válida.", - "errorUserIsLastAdminTitle": "Último administrador", - "errorUserIsLastAdminMessage": "No se ha podido eliminar tu cuenta porque eres el último administrador de esta instancia de Baserow.", - "accountDeletedSuccessTitle": "Eliminación de la cuenta programada", - "accountDeletedSuccessMessage": "Se ha programado la eliminación de tu cuenta.", - "workspaceLoadingError": "La comprobación de los grupos ha fallado", - "workspaceLoadingErrorDescription": "La comprobación de los grupos a eliminar ha fallado, favor de actualizar la página.", - "description": "Puedes programar la eliminación de tu cuenta introduciendo tu contraseña y haciendo clic en el botón. Tu cuenta será eliminada permanentemente después de {days} días. Mientras tanto, si vuelves a conectarte, se cancelará la eliminación de tu cuenta.", - "workspaceNoticeDescription": "Cuando tu cuenta se elimina permanentemente, todos los grupos y datos asociados para los que eres el último usuario activo con permisos de administrador también se eliminarán. Los grupos que se muestran a continuación son los que se borrarán porque tú eres el único administrador. Para evitar que se borren, primero dale a otro usuario permisos de administrador antes de borrar tu cuenta." - }, - "clearingNotification": { - "title": "Borrando...", - "content": "Preparando tus datos" - }, - "dashboardSidebar": { - "links": "Enlaces", - "knowledgeBase": "Base de conocimientos", - "tutorials": "Tutoriales", - "userSettings": "Configuración de usuario", - "logoff": "Desconectarse", - "workspaces": "Grupos", - "trash": "Basura" - }, - "pastingNotification": { - "content": "Preparar tus datos", - "title": "Pegando..." - }, - "job": { - "errorJobAlreadyRunningDescription": "Ya se está corriendo otro trabajo de importación. Tienes que esperar a que termine ese antes de iniciar otro.", - "statePending": "Esperando para empezar...", - "stateStarted": "Empezó...", - "stateFinished": "Terminado", - "stateFailed": "Fallido", - "errorJobAlreadyRunningTitle": "Ya está corriendo", - "errorJobCannotBeCancelledTitle": "No se pudo anular", - "errorJobCannotBeCancelledDescription": "No es posible cancelar el trabajo porque ya se ha completado.\nPor favor, borra la primera instantánea de la lista para eliminarla." - }, - "datetime": { - "daysAgo": "Hace 0 días | Hace 1 día | Hace {n} días", - "monthsAgo": "Hace 0 meses | Hace 1 mes | Hace {n} meses", - "yearsAgo": "Hace 0 años | Hace 1 año | Hace {n} años", - "minutesAgo": "Hace 0 minutos | Hace 1 minuto | Hace {n} minutos", - "hoursAgo": "Hace 0 horas | Hace 1 hora | Hace {n} horas", - "secondsAgo": "Ahora mismo | Hace 1 segundo | Hace {n} segundos", - "lessThanMinuteAgo": "Hace menos de un minuto", - "justNow": "ahora mismo" - }, - "InstallTemplateJobType": { - "installing": "Instalando", - "installedTitle": "Plantilla instalada" - }, - "duplicateApplicationJobType": { - "duplicatedTitle": "Aplicación duplicada", - "duplicating": "Duplicando" - }, - "crudTableSearch": { - "search": "Buscar" - }, - "membersSettings": { - "membersTable": { - "columns": { - "email": "Correo electrónico", - "role": "Rol predeterminado", + "invitesTable": { + "columns": { + "role": "Papel por defecto", + "message": "Mensaje", + "email": "Correo electrónico" + }, + "actions": { + "copyEmail": "Copiar correo electrónico", + "remove": "Cancelar la invitación" + }, + "title": "{invitacionesCantidad} Invitaciones pendientes en {nombreDeEspacioDeTrabajo}" + }, + "membersInviteModal": { + "title": "Invitar a miembros del espacio de trabajo", + "errors": { + "userAlreadyInWorkspace": { + "title": "El usuario ya está en el grupo.", + "text": "No es posible enviar una invitación cuando el usuario ya es miembro del grupo." + } + }, + "submit": "Enviar invitación", + "helpIconText": "El rol seleccionado será el rol por defecto de los usuarios en este espacio de trabajo." + }, + "membersTabTitle": "Miembros", + "invitesTabTitle": "Invitaciones" + }, + "UserSessionExpiredNotification": { + "title": "La sesión ha caducado", + "content": "Se ha cerrado la sesión porque el token de autenticación ha caducado. Por favor, inicie sesión de nuevo." + }, + "memberAssignmentModalFooter": { + "invite": "Invita a {count}", + "selectAll": "Seleccionar todo", + "deselectAll": "Deseleccionar todo" + }, + "memberSelectionList": { + "searchPlaceholder": "Encuentra...", + "selectedAmountLabel": "{count} seleccionado" + }, + "removeFromWorkspaceModal": { + "confirmation": "¿Estás seguro de que quieres eliminar a {name} de {workspaceName}? Esta acción no se puede deshacer.", + "title": "Confirmar la eliminación del grupo", + "remove": "Quitar" + }, + "permissionsUpdatedNotification": { + "title": "Permisos actualizados", + "content": "Esto puede afectar a lo que tienes acceso. Por favor recarga la página.", + "action": "Recargar" + }, + "editRoleContext": { + "billableRolesLink": "Documentación sobre funciones facturables", + "additionalRoles": "Funciones adicionales" + }, + "highestPaidRoleField": { + "billable": "Facturable" + }, + "failedConnectingToast": { + "title": "Fallido", + "content": "La conexión con el servidor ha fallado. Por favor, actualiza la página.", + "action": "Refrescar página" + }, + "userSessionExpiredToast": { + "title": "Sesión expirada", + "content": "Se ha cerrado la sesión porque tu token de autenticación ha expirado. Vuelva a iniciar sesión." + }, + "authorizationErrorToast": { + "action": "Refrescar página", + "title": "Error de autorización", + "content": "Parece que no tienes permiso de ver este recurso." + }, + "restoreToast": { + "restore": "Restaurar {tipo} borrado" + }, + "undoRedoToast": { + "undoneText": "La acción está deshecha", + "failed": "Fallido", + "undoingTitle": "Deshaciendo...", + "undoneTitle": "Deshecho", + "noMoreUndo": "No más acciones que deshacer", + "redoingTitle": "Rehaciendo...", + "redoneTitle": "Rehecho", + "noMoreRedo": "No más acciones que rehacer", + "undoingText": "Deshaciendo tu acción", + "skippingUndoDueToError": "Deshacer falló por un error desconocido, omitiéndolo.", + "redoingText": "Rehaciendo tu acción", + "redoneText": "Acción rehecha", + "skippingRedoDueToError": "Rehacer falló por un error desconocido, omitiéndolo." + }, + "PastingToast": { + "content": "Preparando tus datos", + "title": "Pegando..." + }, + "clearingToast": { + "content": "Preparando tus datos", + "title": "Borrando..." + }, + "permissionsUpdatedToast": { + "action": "Recargar", + "title": "Permisos actualizados", + "content": "Esto puede afectar a lo que tiene acceso, por favor, vuelve a cargar la página." + }, + "integrationEditForm": { + "name": "Nombre", + "namePlaceholder": "Introduce el nombre de la integración..." + }, + "integrationCreateEditModal": { + "editTitle": "Editar integración", + "createTitle": "Nueva integración", + "warningTitle": "Advertencia" + }, + "dropdown": { + "empty": "No hay elementos disponibles" + }, + "styleSidePanel": { + "paddingBottom": "Acolchado inferior", + "paddingTop": "Acolchado superior" + }, + "workspaceInvitationAcceptedNotification": { + "title": "{enviador} ha aceptado su invitación para unirse a {nombreDeEspacioDeTrabajo}", + "deletedUser": "Un usuario eliminado" + }, + "workspaceInvitationCreatedNotification": { + "title": "{enviador} te ha invitado a unirte a {nombreDelEspacioDeTrabajo}", + "deletedUser": "Un usuario eliminado" + }, + "notificationPanel": { + "clearAll": "Borrar todo", + "noNotification": "Te notificaremos las actualizaciones importantes y cada vez que te mencionen en Baserow.", + "title": "Notificaciones", + "markAllAsRead": "Marcar todo como leído", + "noNotificationTitle": "No tienes notificaciones", + "newNotificationsAvailable": "Nuevas notificaciones disponibles", + "refresh": "Refrescar" + }, + "clearAllNotificationsConfirmModal": { + "title": "¿Estás seguro de que quieres borrar todas las notificaciones?", + "message": "Todas las notificaciones se borrarán permanentemente y no podrás volver a verlas." + }, + "uploadFileDropzone": { + "errorTooManyFilesMessage": "Sólo puedes cargar un único archivo", + "drop": "Déjalo aquí", + "clickOrDrop": "Haz clic o suelta tus archivos aquí", + "errorTooManyFilesTitle": "Demasiados archivos", + "errorWrongFileTypeTitle": "Tipo de archivo incorrecto", + "errorWrongFileTypeMessage": "No se puede cargar un archivo de tipo {tipo}" + }, + "connectingToast": { + "content": "Reconectando con el servidor.", + "title": "Reconectando" + }, + "copyingToast": { + "title": "Copiando...", + "content": "Preparando sus datos" + }, + "styleBoxForm": { + "paddingError": "El valor debe ser un número entero entre 0 y 200." + }, + "richTextEditorMentionsList": { + "notFound": "No se encontraron usuarios" + }, + "workspaceInvitationRejectedNotification": { + "title": "{enviador} ha rechazado su invitación para unirse a {nombreDeEspacioDeTrabajo}", + "deletedUser": "Un usuario eliminado" + }, + "versionUpgradeNotification": { + "title": "{version} ¡ya está aquí! Descubre qué hay de nuevo." + }, + "userPasswordChangedToast": { + "title": "Contraseña cambiada", + "content": "Tu contraseña ha cambiado. Por favor, inicia sesión de nuevo." + }, + "emailNotifications": { + "submitButton": "Actualizar la frecuencia", + "label": "Menciones, comentarios, y otras notificaciones", + "daily": "A diario", + "title": "Notificaciones por correo electrónico", + "never": "Nunca", + "weekly": "Semanal", + "description": "Configure la frecuencia de envío de correos electrónicos a tu bandeja de entrada.", + "instant": "Al instante" + }, + "dataExplorer": { + "emptyText": "No hay datos", + "noMatchingNodesText": "No se han encontrado resultados coincidentes.", + "noProvidersText": "No se han encontrado proveedores de datos. Para empezar puedes, por ejemplo, añadir una fuente de datos o un parámetro de página." + }, + "formulaInputField": { + "errorInvalidFormula": "La fórmula es inválida.", + "advancedFormulaMode": "Modo de fórmula avanzado" + }, + "integrationDropdown": { + "noIntegrations": "No se han encontrado integraciones.", + "addIntegration": "Añadir nueva integración", + "integrationPlaceholder": "Selecciona una integración", + "selectTypeFirst": "Primero elige el tipo" + }, + "richTextEditorBubbleMenu": { + "bold": "Negrita", + "italic": "Cursiva", + "underline": "Subraye", + "strikethrough": "Tachado", + "link": "Enlace", + "linkEditPlaceholder": "URL del enlace...", + "linkEditDone": "Hecho" + }, + "richTextEditorFloatingMenu": { + "hierarchy": "Jerarquía", + "lists": "Listas", + "paragraph": "Párrafo", + "heading1": "Título 1", + "heading2": "Título 2", + "heading3": "Título 3", + "orderedList": "Lista numerada", + "unorderedList": "Lista de puntos", + "code": "Código", + "taskList": "Lista de tareas" + }, + "generativeAIModelType": { + "openai": "OpenAI", + "openaiApiKeyLabel": "Clave de API", + "openaiOrganization": "Organización (opcional)", + "openaiModelsLabel": "Modelos activados", + "openaiModelsDescription": "Proporciona una lista de [modelos OpenAI] separados por comas (https://platform.openai.com/docs/models/continuous-model-upgrades) que se pueden utilizar en Baserow. (por ejemplo, `gpt-3.5-turbo,gpt-4`)", + "ollama": "Ollama", + "ollamaHostLabel": "Host", + "ollamaHostDescription": "Proporciona el nombre del host a tu servidor [Ollama] (https://ollama.com/). Esto normalmente se ejecuta localmente en tu propio dispositivo.", + "ollamaModelsLabel": "Modelos activados", + "openaiApiKeyDescription": "Proporciona una clave de API de OpenAI si deseas activar la integración. [Instrucciones para obtener una clave de API](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key).", + "ollamaModelsDescription": "Proporciona una lista de [modelos instalados de Ollama] separados por comas (https://ollama.com/library). Ten en cuenta que el modelo debe ser descargado e instalado antes de que pueda ser utilizado. (por ejemplo, `llama2,mistral`)", + "anthropicApiKeyLabel": "Clave API", + "mistralModelsLabel": "Modelos habilitados", + "mistralApiKeyDescription": "Proporciona una clave API de Mistral si deseas habilitar la integración. [Instrucciones para obtener una clave API](https://docs.mistral.ai/getting-started/quickstart/).", + "anthropic": "Anthropic", + "anthropicModelsLabel": "Modelos habilitados", + "anthropicApiKeyDescription": "Proporciona una clave API de Anthropic si deseas activar la integración. [Instrucciones para obtener una clave API](https://docs.anthropic.com/en/api/getting-started).", + "anthropicModelsDescription": "Proporciona una lista de [modelos de Anthropic] separados por comas (https://docs.anthropic.com/en/docs/about-claude/models) que puedan utilizarse en Baserow. (e.g. `claude-3-5-sonnet-20241022,claude-3-opus-20240229`)", + "mistral": "Mistral", + "mistralApiKeyLabel": "Clave API", + "mistralModelsDescription": "Proporciona una lista de [modelos Mistral] separados por comas (https://docs.mistral.ai/getting-started/models/models_overview/) que pueden utilizarse en Baserow. (por ejemplo, `mistral-large-latest,mistral-small-latest`)", + "openRouterApiKeyLabel": "Clave API", + "openRouterOrganization": "Organización (opcional)", + "openRouter": "OpenRouter", + "openRouterApiKeyDescription": "Proporciona una clave API de OpenRouter si deseas habilitar la integración. [Obtener una clave de API](https://openrouter.ai/settings/keys).", + "openRouterModelsLabel": "Modelos habilitados", + "openRouterModelsDescription": "Proporciona una lista de [OpenRouter models](https://openrouter.ai/models) separados por comas que pueden ser utilizados en Baserow. (por ejemplo, `openai/gpt-4o,anthropic/claude-3-haiku`)", + "openaiBaseUrl": "URL base", + "openaiBaseUrlDescription": "Utiliza la URL base predeterminada de OpenAI de forma predeterminada si está vacía. Opcionalmente puede cambiarse a https://eu.api.openai.com/v1, https://.openai.azure.com, o cualquier otra API compatible con OpenAI." + }, + "generativeAIWorkspaceSettings": { + "title": "Configuración de la IA generativa", + "description": "Estos ajustes pueden utilizarse para establecer opcionalmente la configuración de la IA generativa en el nivel del espacio de trabajo. Funciones como el campo de IA pueden estar desactivadas porque carecen de una clave API para uno de los modelos compatibles. Proporcionando los ajustes aquí, puedes habilitar esas características. Si dejas un valor en blanco, se restablecerá la configuración global de la instancia. Ten en cuenta que todos los usuarios del espacio de trabajo compartirán esta configuración.", + "changedTitle": "Configuración actualizada correctamente", + "changedDescription": "Los ajustes se han actualizado y ahora se utilizarán en este espacio de trabajo.", + "submitButton": "Actualizar ajustes", + "hideSettings": "Ocultar ajustes", + "openSettings": "Abrir ajustes" + }, + "workspaceSettingsModal": { + "title": "Ajustes del espacio de trabajo" + }, + "workspaceSettingType": { + "generativeAI": "IA generativa" + }, + "dashboardVerifyEmail": { + "title": "Revisa tu buzón y haz clic en el enlace para verificar tu correo electrónico.", + "resendConfirmationEmail": "Reenviar correo electrónico de confirmación" + }, + "resendEmailVerification": { + "confirmationEmailSentDescription": "Se ha enviado el correo electrónico de confirmación.", + "confirmationEmailSentTitle": "Correo electrónico de confirmación enviado" + }, + "verifyEmailAddress": { + "confirmation": "Tu correo electrónico ha sido verificado.", + "disabledPasswordProvider": "Se ha desactivado el proveedor de autenticación de contraseña.", + "emailMismatchWarning": "Ten en cuenta que el correo electrónico verificado no pertenece a la cuenta que estás utilizando actualmente.", + "goToDashboard": "Ir al panel", + "invalidToken": "No es un token de confirmación válido." + }, + "emailNotVerified": { + "title": "Se requiere verificación de correo electrónico", + "description": "Por favor, revisa tu buzón y haz clic en el enlace para verificar. Una vez verificada, se activará su cuenta.", + "resend": "Reenviar correo electrónico de confirmación" + }, + "onboarding": { + "creating": "Creación de tu primer espacio de trabajo", + "title": "Visita guiada", + "continue": "Continuar", + "skip": "Saltar por ahora", + "cancel": "No quiero ayuda para configurar", + "failedTitle": "Algo salió mal", + "failedDescription": "La visita guiada no se completó, aunque algunas partes podrían haberse completado.", + "failedTryAgain": "Inténtalo de nuevo", + "failedSkip": "Saltar la visita guiada" + }, + "teamStep": { + "creativeProductionTeam": "Producción creativa", + "otherPersonalTeam": "Otros / personal", + "title": "¡Construyamos juntos tu primer espacio de trabajo!", + "description": "¿En qué equipo estás?", + "marketingTeam": "Mercadotecnia", + "productAndDesignTeam": "Producto y diseño", + "engineeringTeam": "Ingeniería", + "operationsTeam": "Operaciones", + "itAndSupportTeam": "TI y asistencia", + "hrAndLegalTeam": "Recursos humanos y legal", + "financeTeam": "Finanzas", + "salesAndAccountManagementTeam": "Ventas y gestión de cuentas", + "customerServiceTeam": "Servicio al cliente", + "manufacturingTeam": "Fabricación" + }, + "workspaceStep": { + "title": "Crear tu espacio de trabajo", + "workspaceLabel": "Nombre del espacio de trabajo" + }, + "selectAIModelForm": { + "AIType": "Tipo de IA", + "AIModel": "Modelo de IA", + "fileField": "Campo de archivo", + "temperatureLabel": "Temperatura", + "temperatureDescription": "La temperatura de un LLM, un parámetro establecido entre 0 y {max}, ajusta la aleatoriedad de la respuesta: los valores más bajos producen respuestas centradas, mientras que los valores más altos aumentan la creatividad." + }, + "inviteStep": { + "title": "Invitar a colaboradores", + "description": "Siempre puedes añadir más después.", + "collaboratorsLabel": "Colaboradores" + }, + "moreStep": { + "title": "Cuéntanos un poco más", + "roleOrJob": "Función o puesto...", + "people": "¿Cuántas personas hay en tu equipo?", + "country": "País", + "share": "Estoy de acuerdo en compartir esto con el equipo de Baserow" + }, + "colorInput": { + "default": "Por defecto" + }, + "imageInput": { + "labelButton": "Subir", + "labelDescription": "Selecciona una imagen para subir..." + }, + "dashboardApplication": { + "createdAt": "creado" + }, + "templateCard": { + "viewMore": "Ver más" + }, + "dataExplorerNode": { + "showMore": "Mostrar más repeticiones", + "selectNode": "Seleccionar" + }, + "exportWorkspaceModal": { + "title": "Exportar", + "export": "Exportar datos", + "importingState": "Importación de", + "created": "creado", + "exportSettings": "Configuración de exportación", + "description": "Sus datos se exportarán como un archivo ZIP, que puede importarse a otra instancia de Baserow.", + "reset": "Iniciar nuevo", + "download": "Descargar", + "cancel": "Cancelar", + "noExports": "Aún no hay exportaciones para este espacio de trabajo.", + "exportingState": "Exportando...", + "exportingTableState": "Exportando: {table}", + "exportingCreateArchiveState": "Creando archivo" + }, + "exportWorkspaceForm": { + "exportSettingsLabel": "Configuración de exportación", + "onlyStructureLabel": "Exportar sólo la estructura", + "onlyStructureDescription": "Si se activa, sólo se exportará la estructura de las aplicaciones. No se incluirán los datos.", + "selectDataToExport": "Seleccionar datos para exportar", + "selectAll": "Seleccionar todo", + "deselectAll": "Deseleccionar todo" + }, + "importWorkspaceModal": { + "title": "Importar datos de Baserow", + "description": "Puedes importar los datos de un Baserow existente cargando el archivo .zip desde otra instancia de Baserow.", + "import": "Importar datos", + "upload": "Cargar", + "done": "Listo", + "deselectAll": "Deseleccionar todo", + "selectAll": "Seleccionar todo", + "applications": "Aplicaciones", + "successTitle": "Importados con éxito los datos Baserow", + "successMessage": "{count} aplicaciones importadas", + "signatureVerificationNote": "No es posible importar un archivo zip de una fuente no fiable.", + "invalidResourceTitle": "Recurso inválido", + "cancel": "Cancelar", + "close": "Cerrar", + "uploading": "Cargando...", + "retry": "Reintentar", + "databases": "Bases de datos", + "chooseFile": "Elegir archivo", + "selectApplications": "Seleccionar datos para importar", + "invalidResourceMessage": "El archivo proporcionado no es una exportación Baserow válida.", + "untrustedPublicKeyTitle": "Firma no fiable", + "untrustedPublicKeyMessage": "El archivo proporcionado está firmado con una clave pública no fiable. Pida a su administrador que añada la clave pública a la lista de claves de confianza o desactive la verificación de firma para poder importar este archivo.", + "uploadAndImport": "Subir e importar", + "importingState": "Importando...", + "importingTableStructure": "Creando: {table}", + "importingTableData": "Importando datos: {table}" + }, + "user": { + "isStaff": "Es staff", + "isWorkspaceAdmin": "Es administrador de grupo", + "active": "Activo", + "deactivated": "Desactivado" + }, + "adminType": { + "dashboard": "Tablero", + "users": "Usuarios", + "workspaces": "Grupos" + }, + "workspacesAdminTable": { + "allWorkspaces": "Todos los grupos", + "id": "ID", + "name": "Nombre", + "members": "Miembros", + "applications": "Aplicaciones", + "created": "Creado", + "seatsTaken": "Asientos ocupados", + "storageUsage": "Almacenamiento utilizado (MB)", + "usageHelpText": "Calculado por la noche cuando la configuración de uso grupal está habilitada", + "rowCount": "Recuento de filas", + "freeUsers": "Usuarios gratuitos" + }, + "editWorkspaceContext": { + "delete": "Eliminado permanentemente" + }, + "deleteWorkspaceModal": { + "title": "Eliminar {name}", + "confirmation": "¿Está seguro de que desea eliminar el grupo: {name}?", + "comment": "El grupo se eliminará de forma permanente, incluidas las aplicaciones relacionadas. No es posible deshacer esta acción.", + "delete": "Eliminar grupo {name}" + }, + "activeUsers": { + "newUsers": "Nuevos usuarios", + "activeUsers": "Usuarios activos" + }, + "usersAdminTable": { + "allUsers": "Todos los usuarios", + "id": "id", + "username": "Nombre de usuario", "name": "Nombre", - "teams": "Equipos", - "highestRole": "Cargo más alto", - "highestRoleHelpText": "El rol más alto asignado a este usuario directamente o desde un equipo, sobre cualquier cosa en este espacio de trabajo" - }, - "actions": { - "remove": "Quitar del espacio de trabajo", - "copyEmail": "Copiar correo electrónico" - }, - "title": "{cuentaDeUsuario} Miembros en {nombreDelEspacioDeTrabajo}", - "inviteMember": "Invitar a un miembro" - }, - "invitesTable": { - "columns": { - "role": "Papel por defecto", - "message": "Mensaje", - "email": "Correo electrónico" - }, - "actions": { - "copyEmail": "Copiar correo electrónico", - "remove": "Cancelar la invitación" - }, - "title": "{invitacionesCantidad} Invitaciones pendientes en {nombreDeEspacioDeTrabajo}" - }, - "membersInviteModal": { - "title": "Invitar a miembros del espacio de trabajo", - "errors": { - "userAlreadyInWorkspace": { - "title": "El usuario ya está en el grupo.", - "text": "No es posible enviar una invitación cuando el usuario ya es miembro del grupo." + "workspaces": "Grupos", + "lastLogin": "Último acceso", + "dateJoined": "Inscrito", + "active": "Activo" + }, + "editUserContext": { + "changePassword": "Cambiar la contraseña", + "delete": "Borrar permanentemente", + "impersonate": "Suplantar" + }, + "changePasswordForm": { + "newPassword": "Nueva contraseña", + "repeatPassword": "Repetir contraseña", + "changePassword": "Cambiar contraseña", + "error": { + "doesntMatch": "Este campo debe coincidir con su campo de contraseña." } - }, - "submit": "Enviar invitación", - "helpIconText": "El rol seleccionado será el rol por defecto de los usuarios en este espacio de trabajo." - }, - "membersTabTitle": "Miembros", - "invitesTabTitle": "Invitaciones" - }, - "UserSessionExpiredNotification": { - "title": "La sesión ha caducado", - "content": "Se ha cerrado la sesión porque el token de autenticación ha caducado. Por favor, inicie sesión de nuevo." - }, - "memberAssignmentModalFooter": { - "invite": "Invita a {count}", - "selectAll": "Seleccionar todo", - "deselectAll": "Deseleccionar todo" - }, - "memberSelectionList": { - "searchPlaceholder": "Encuentra...", - "selectedAmountLabel": "{count} seleccionado" - }, - "removeFromWorkspaceModal": { - "confirmation": "¿Estás seguro de que quieres eliminar a {name} de {workspaceName}? Esta acción no se puede deshacer.", - "title": "Confirmar la eliminación del grupo", - "remove": "Quitar" - }, - "permissionsUpdatedNotification": { - "title": "Permisos actualizados", - "content": "Esto puede afectar a lo que tienes acceso. Por favor recarga la página.", - "action": "Recargar" - }, - "editRoleContext": { - "billableRolesLink": "Documentación sobre funciones facturables", - "additionalRoles": "Funciones adicionales" - }, - "highestPaidRoleField": { - "billable": "Facturable" - }, - "failedConnectingToast": { - "title": "Fallido", - "content": "La conexión con el servidor ha fallado. Por favor, actualiza la página.", - "action": "Refrescar página" - }, - "userSessionExpiredToast": { - "title": "Sesión expirada", - "content": "Se ha cerrado la sesión porque tu token de autenticación ha expirado. Vuelva a iniciar sesión." - }, - "authorizationErrorToast": { - "action": "Refrescar página", - "title": "Error de autorización", - "content": "Parece que no tienes permiso de ver este recurso." - }, - "restoreToast": { - "restore": "Restaurar {tipo} borrado" - }, - "undoRedoToast": { - "undoneText": "La acción está deshecha", - "failed": "Fallido", - "undoingTitle": "Deshaciendo...", - "undoneTitle": "Deshecho", - "noMoreUndo": "No más acciones que deshacer", - "redoingTitle": "Rehaciendo...", - "redoneTitle": "Rehecho", - "noMoreRedo": "No más acciones que rehacer", - "undoingText": "Deshaciendo tu acción", - "skippingUndoDueToError": "Deshacer falló por un error desconocido, omitiéndolo.", - "redoingText": "Rehaciendo tu acción", - "redoneText": "Acción rehecha", - "skippingRedoDueToError": "Rehacer falló por un error desconocido, omitiéndolo." - }, - "PastingToast": { - "content": "Preparando tus datos", - "title": "Pegando..." - }, - "clearingToast": { - "content": "Preparando tus datos", - "title": "Borrando..." - }, - "permissionsUpdatedToast": { - "action": "Recargar", - "title": "Permisos actualizados", - "content": "Esto puede afectar a lo que tiene acceso, por favor, vuelve a cargar la página." - }, - "integrationEditForm": { - "name": "Nombre de la integración", - "namePlaceholder": "Introduce el nombre de la integración..." - }, - "integrationCreateEditModal": { - "editTitle": "Editar integración", - "createTitle": "Nueva integración", - "warningTitle": "Advertencia" - }, - "dropdown": { - "empty": "No hay artículos" - }, - "styleSidePanel": { - "paddingBottom": "Acolchado inferior", - "paddingTop": "Acolchado superior" - }, - "workspaceInvitationAcceptedNotification": { - "title": "{enviador} ha aceptado su invitación para unirse a {nombreDeEspacioDeTrabajo}", - "deletedUser": "Un usuario eliminado" - }, - "workspaceInvitationCreatedNotification": { - "title": "{enviador} te ha invitado a unirte a {nombreDelEspacioDeTrabajo}", - "deletedUser": "Un usuario eliminado" - }, - "notificationPanel": { - "clearAll": "Borrar todo", - "noNotification": "Te notificaremos las actualizaciones importantes y cada vez que te mencionen en Baserow.", - "title": "Notificaciones", - "markAllAsRead": "Marcar todo como leído", - "noNotificationTitle": "No tienes notificaciones", - "newNotificationsAvailable": "Nuevas notificaciones disponibles", - "refresh": "Refrescar" - }, - "clearAllNotificationsConfirmModal": { - "title": "¿Estás seguro de que quieres borrar todas las notificaciones?", - "message": "Todas las notificaciones se borrarán permanentemente y no podrás volver a verlas." - }, - "uploadFileDropzone": { - "errorTooManyFilesMessage": "Sólo puedes cargar un único archivo", - "drop": "Déjalo aquí", - "clickOrDrop": "Haz clic o suelta tus archivos aquí", - "errorTooManyFilesTitle": "Demasiados archivos", - "errorWrongFileTypeTitle": "Tipo de archivo incorrecto", - "errorWrongFileTypeMessage": "No se puede cargar un archivo de tipo {tipo}" - }, - "connectingToast": { - "content": "Reconectando con el servidor.", - "title": "Reconectando" - }, - "copyingToast": { - "title": "Copiando...", - "content": "Preparando sus datos" - }, - "styleBoxForm": { - "paddingError": "El valor debe ser un número entero entre 0 y 200." - }, - "richTextEditorMentionsList": { - "notFound": "No se encontraron usuarios" - }, - "workspaceInvitationRejectedNotification": { - "title": "{enviador} ha rechazado su invitación para unirse a {nombreDeEspacioDeTrabajo}", - "deletedUser": "Un usuario eliminado" - }, - "versionUpgradeNotification": { - "title": "{version} ¡ya está aquí! Descubre qué hay de nuevo." - }, - "userPasswordChangedToast": { - "title": "Contraseña cambiada", - "content": "Tu contraseña ha cambiado. Por favor, inicia sesión de nuevo." - }, - "emailNotifications": { - "submitButton": "Actualizar la frecuencia", - "label": "Menciones, comentarios, y otras notificaciones", - "daily": "A diario", - "title": "Notificaciones por correo electrónico", - "never": "Nunca", - "weekly": "Semanal", - "description": "Configure la frecuencia de envío de correos electrónicos a tu bandeja de entrada.", - "instant": "Al instante" - }, - "dataExplorer": { - "emptyText": "No hay datos", - "noMatchingNodesText": "No se han encontrado resultados coincidentes.", - "noProvidersText": "No se han encontrado proveedores de datos. Para empezar puedes, por ejemplo, añadir una fuente de datos o un parámetro de página." - }, - "formulaInputField": { - "errorInvalidFormula": "La fórmula es inválida." - }, - "integrationDropdown": { - "noIntegrations": "No se han encontrado integraciones.", - "addIntegration": "Añadir nueva integración", - "integrationPlaceholder": "Selecciona una integración", - "selectTypeFirst": "Primero elige el tipo" - }, - "richTextEditorBubbleMenu": { - "bold": "Negrita", - "italic": "Cursiva", - "underline": "Subraye", - "strikethrough": "Tachado", - "link": "Enlace", - "linkEditPlaceholder": "URL del enlace...", - "linkEditDone": "Hecho" - }, - "richTextEditorFloatingMenu": { - "hierarchy": "Jerarquía", - "lists": "Listas", - "paragraph": "Párrafo", - "heading1": "Título 1", - "heading2": "Título 2", - "heading3": "Título 3", - "orderedList": "Lista numerada", - "unorderedList": "Lista de puntos", - "code": "Código", - "taskList": "Lista de tareas" - }, - "generativeAIModelType": { - "openai": "OpenAI", - "openaiApiKeyLabel": "Clave de API", - "openaiOrganization": "Organización (opcional)", - "openaiModelsLabel": "Modelos activados", - "openaiModelsDescription": "Proporciona una lista de [modelos OpenAI] separados por comas (https://platform.openai.com/docs/models/continuous-model-upgrades) que se pueden utilizar en Baserow. (por ejemplo, `gpt-3.5-turbo,gpt-4`)", - "ollama": "Ollama", - "ollamaHostLabel": "Host", - "ollamaHostDescription": "Proporciona el nombre del host a tu servidor [Ollama] (https://ollama.com/). Esto normalmente se ejecuta localmente en tu propio dispositivo.", - "ollamaModelsLabel": "Modelos activados", - "openaiApiKeyDescription": "Proporciona una clave de API de OpenAI si deseas activar la integración. [Instrucciones para obtener una clave de API](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key).", - "ollamaModelsDescription": "Proporciona una lista de [modelos instalados de Ollama] separados por comas (https://ollama.com/library). Ten en cuenta que el modelo debe ser descargado e instalado antes de que pueda ser utilizado. (por ejemplo, `llama2,mistral`)", - "anthropicApiKeyLabel": "Clave API", - "mistralModelsLabel": "Modelos habilitados", - "mistralApiKeyDescription": "Proporciona una clave API de Mistral si deseas habilitar la integración. [Instrucciones para obtener una clave API](https://docs.mistral.ai/getting-started/quickstart/).", - "anthropic": "Anthropic", - "anthropicModelsLabel": "Modelos habilitados", - "anthropicApiKeyDescription": "Proporciona una clave API de Anthropic si deseas activar la integración. [Instrucciones para obtener una clave API](https://docs.anthropic.com/en/api/getting-started).", - "anthropicModelsDescription": "Proporciona una lista de [modelos de Anthropic] separados por comas (https://docs.anthropic.com/en/docs/about-claude/models) que puedan utilizarse en Baserow. (e.g. `claude-3-5-sonnet-20241022,claude-3-opus-20240229`)", - "mistral": "Mistral", - "mistralApiKeyLabel": "Clave API", - "mistralModelsDescription": "Proporciona una lista de [modelos Mistral] separados por comas (https://docs.mistral.ai/getting-started/models/models_overview/) que pueden utilizarse en Baserow. (por ejemplo, `mistral-large-latest,mistral-small-latest`)", - "openRouterApiKeyLabel": "Clave API", - "openRouterOrganization": "Organización (opcional)", - "openRouter": "OpenRouter", - "openRouterApiKeyDescription": "Proporciona una clave API de OpenRouter si deseas habilitar la integración. [Obtener una clave de API](https://openrouter.ai/settings/keys).", - "openRouterModelsLabel": "Modelos habilitados", - "openRouterModelsDescription": "Proporciona una lista de [OpenRouter models](https://openrouter.ai/models) separados por comas que pueden ser utilizados en Baserow. (por ejemplo, `openai/gpt-4o,anthropic/claude-3-haiku`)" - }, - "generativeAIWorkspaceSettings": { - "title": "Configuración de la IA generativa", - "description": "Estos ajustes pueden utilizarse para establecer opcionalmente la configuración de la IA generativa en el nivel del espacio de trabajo. Funciones como el campo de IA pueden estar desactivadas porque carecen de una clave API para uno de los modelos compatibles. Proporcionando los ajustes aquí, puedes habilitar esas características. Si dejas un valor en blanco, se restablecerá la configuración global de la instancia. Ten en cuenta que todos los usuarios del espacio de trabajo compartirán esta configuración.", - "changedTitle": "Configuración actualizada correctamente", - "changedDescription": "Los ajustes se han actualizado y ahora se utilizarán en este espacio de trabajo.", - "submitButton": "Actualizar ajustes", - "hideSettings": "Ocultar ajustes", - "openSettings": "Abrir ajustes" - }, - "workspaceSettingsModal": { - "title": "Ajustes del espacio de trabajo" - }, - "workspaceSettingType": { - "generativeAI": "IA generativa" - }, - "dashboardVerifyEmail": { - "title": "Revisa tu buzón y haz clic en el enlace para verificar tu correo electrónico.", - "resendConfirmationEmail": "Reenviar correo electrónico de confirmación" - }, - "resendEmailVerification": { - "confirmationEmailSentDescription": "Se ha enviado el correo electrónico de confirmación.", - "confirmationEmailSentTitle": "Correo electrónico de confirmación enviado" - }, - "verifyEmailAddress": { - "confirmation": "Tu correo electrónico ha sido verificado.", - "disabledPasswordProvider": "Se ha desactivado el proveedor de autenticación de contraseña.", - "emailMismatchWarning": "Ten en cuenta que el correo electrónico verificado no pertenece a la cuenta que estás utilizando actualmente.", - "goToDashboard": "Ir al panel", - "invalidToken": "No es un token de confirmación válido." - }, - "emailNotVerified": { - "title": "Se requiere verificación de correo electrónico", - "description": "Por favor, revisa tu buzón y haz clic en el enlace para verificar. Una vez verificada, se activará su cuenta.", - "resend": "Reenviar correo electrónico de confirmación" - }, - "onboarding": { - "creating": "Creación de tu primer espacio de trabajo", - "title": "Visita guiada", - "continue": "Continuar", - "skip": "Saltar por ahora", - "cancel": "No quiero ayuda para configurar", - "failedTitle": "Algo salió mal", - "failedDescription": "La visita guiada no se completó, aunque algunas partes podrían haberse completado.", - "failedTryAgain": "Inténtalo de nuevo", - "failedSkip": "Saltar la visita guiada" - }, - "teamStep": { - "creativeProductionTeam": "Producción creativa", - "otherPersonalTeam": "Otros / personal", - "title": "¡Construyamos juntos tu primer espacio de trabajo!", - "description": "¿En qué equipo estás?", - "marketingTeam": "Marketing", - "productAndDesignTeam": "Producto y diseño", - "engineeringTeam": "Ingeniería", - "operationsTeam": "Operaciones", - "itAndSupportTeam": "TI y asistencia", - "hrAndLegalTeam": "Recursos humanos y legal", - "financeTeam": "Finanzas", - "salesAndAccountManagementTeam": "Ventas y gestión de cuentas", - "customerServiceTeam": "Servicio al cliente", - "manufacturingTeam": "Fabricación" - }, - "workspaceStep": { - "title": "Crear tu espacio de trabajo", - "workspaceLabel": "Nombre del espacio de trabajo" - }, - "selectAIModelForm": { - "AIType": "Tipo de IA", - "AIModel": "Modelo de IA", - "fileField": "Campo de archivo", - "temperatureLabel": "Temperatura", - "temperatureDescription": "La temperatura de un LLM, un parámetro establecido entre 0 y {max}, ajusta la aleatoriedad de la respuesta: los valores más bajos producen respuestas centradas, mientras que los valores más altos aumentan la creatividad." - }, - "inviteStep": { - "title": "Invitar a colaboradores", - "description": "Siempre puedes añadir más después.", - "collaboratorsLabel": "Colaboradores" - }, - "moreStep": { - "title": "Cuéntanos un poco más", - "roleOrJob": "Función o puesto...", - "people": "¿Cuántas personas hay en tu equipo?", - "country": "País", - "share": "Estoy de acuerdo en compartir esto con el equipo de Baserow" - }, - "colorInput": { - "default": "Por defecto" - }, - "imageInput": { - "labelButton": "Subir", - "labelDescription": "Selecciona una imagen para subir..." - }, - "dashboardApplication": { - "createdAt": "creado" - }, - "templateCard": { - "viewMore": "Ver más" - }, - "dataExplorerNode": { - "showMore": "Mostrar más repeticiones" - }, - "exportWorkspaceModal": { - "title": "Exportar", - "export": "Exportar datos", - "importingState": "Importación de", - "created": "creado", - "exportSettings": "Configuración de exportación", - "description": "Sus datos se exportarán como un archivo ZIP, que puede importarse a otra instancia de Baserow.", - "reset": "Iniciar nuevo", - "download": "Descargar", - "cancel": "Cancelar", - "noExports": "Aún no hay exportaciones para este espacio de trabajo." - }, - "exportWorkspaceForm": { - "exportSettingsLabel": "Configuración de exportación", - "onlyStructureLabel": "Exportar sólo la estructura", - "onlyStructureDescription": "Si se activa, sólo se exportará la estructura de las aplicaciones. No se incluirán los datos." - }, - "importWorkspaceModal": { - "title": "Importar datos de Baserow", - "description": "Puedes importar los datos de un Baserow existente cargando el archivo .zip desde otra instancia de Baserow.", - "import": "Importar datos", - "upload": "Cargar", - "done": "Listo", - "deselectAll": "Deseleccionar todo", - "selectAll": "Seleccionar todo", - "applications": "Aplicaciones", - "successTitle": "Importados con éxito los datos Baserow", - "successMessage": "{count} aplicaciones importadas", - "signatureVerificationNote": "No es posible importar un archivo zip de una fuente no fiable.", - "invalidResourceTitle": "Recurso inválido", - "cancel": "Cancelar", - "close": "Cerrar", - "uploading": "Cargando...", - "retry": "Reintentar", - "databases": "Bases de datos", - "chooseFile": "Elegir archivo", - "selectApplications": "Seleccionar datos para importar", - "invalidResourceMessage": "El archivo proporcionado no es una exportación Baserow válida.", - "untrustedPublicKeyTitle": "Firma no fiable", - "untrustedPublicKeyMessage": "El archivo proporcionado está firmado con una clave pública no fiable. Pida a su administrador que añada la clave pública a la lista de claves de confianza o desactive la verificación de firma para poder importar este archivo." - }, - "user": { - "isStaff": "Es staff", - "isWorkspaceAdmin": "Es administrador de grupo", - "active": "Activo", - "deactivated": "Desactivado" - }, - "adminType": { - "dashboard": "Tablero", - "users": "Usuarios", - "workspaces": "Grupos" - }, - "workspacesAdminTable": { - "allWorkspaces": "Todos los grupos", - "id": "ID", - "name": "Nombre", - "members": "Miembros", - "applications": "Aplicaciones", - "created": "Creado", - "seatsTaken": "Asientos ocupados", - "storageUsage": "Almacenamiento utilizado (MB)", - "usageHelpText": "Calculado por la noche cuando la configuración de uso grupal está habilitada", - "rowCount": "Recuento de filas", - "freeUsers": "Usuarios gratuitos" - }, - "editWorkspaceContext": { - "delete": "Eliminado permanentemente" - }, - "deleteWorkspaceModal": { - "title": "Eliminar {name}", - "confirmation": "¿Está seguro de que desea eliminar el grupo: {name}?", - "comment": "El grupo se eliminará de forma permanente, incluidas las aplicaciones relacionadas. No es posible deshacer esta acción.", - "delete": "Eliminar grupo {name}" - }, - "activeUsers": { - "newUsers": "Nuevos usuarios", - "activeUsers": "Usuarios activos" - }, - "usersAdminTable": { - "allUsers": "Todos los usuarios", - "id": "id", - "username": "Nombre de usuario", - "name": "Nombre", - "workspaces": "Grupos", - "lastLogin": "Último acceso", - "dateJoined": "Inscrito", - "active": "Activo" - }, - "editUserContext": { - "changePassword": "Cambiar la contraseña", - "delete": "Borrar permanentemente", - "impersonate": "Suplantar" - }, - "changePasswordForm": { - "newPassword": "Nueva contraseña", - "repeatPassword": "Repetir contraseña", - "changePassword": "Cambiar contraseña", - "error": { - "doesntMatch": "Este campo debe coincidir con su campo de contraseña." - } - }, - "userForm": { - "fullName": "Nombre completo", - "email": "Email", - "isActive": "Está activo", - "warning": { - "changeEmail": "Cambiar la dirección de correo electrónico de este usuario significa que cuando inician sesión deben usar la nueva dirección de correo electrónico para hacerlo. Esto debe ser comunicado con ese usuario.", - "inactiveUser": "Cuando un usuario se marca como inactivo, no puede iniciar sesión.", - "userStaff": "Convertir al usuario en personal le da acceso de administrador a todos los usuarios, todos los espacios de trabajo, y la capacidad de revocar tus propios permisos de personal." }, - "error": { - "invalidName": "Ingrese un nombre completo válido, debe tener más de 2 letras y menos de 150.", - "invalidEmail": "Por favor, introduce una dirección de correo electrónico válida." + "userForm": { + "fullName": "Nombre completo", + "email": "Email", + "isActive": "Está activo", + "warning": { + "changeEmail": "Cambiar la dirección de correo electrónico de este usuario significa que cuando inician sesión deben usar la nueva dirección de correo electrónico para hacerlo. Esto debe ser comunicado con ese usuario.", + "inactiveUser": "Cuando un usuario se marca como inactivo, no puede iniciar sesión.", + "userStaff": "Convertir al usuario en personal le da acceso de administrador a todos los usuarios, todos los espacios de trabajo, y la capacidad de revocar tus propios permisos de personal." + }, + "error": { + "invalidName": "Ingrese un nombre completo válido, debe tener más de 2 letras y menos de 150.", + "invalidEmail": "Por favor, introduce una dirección de correo electrónico válida." + } + }, + "changeUserPasswordModal": { + "changePassword": "Cambiar contraseña para {username}" + }, + "deleteUserModal": { + "title": "Eliminar {username}", + "confirmation": "¿Está seguro de que desea eliminar el usuario: {name}?", + "comment1": "La cuenta de usuario se eliminará, pero los espacios de trabajo de los que el usuario es miembro seguirán existiendo. El espacio de trabajo del usuario no se eliminará, incluso si este usuario es el último usuario en el espacio de trabajo. Si se elimina el último usuario de un espacio de trabajo, nadie podrá acceder a ese espacio de trabajo.", + "comment2": "Después de eliminar un usuario, es posible que un nuevo usuario se registre nuevamente utilizando la dirección de correo electrónico de los usuarios eliminados. Para asegurarse de que no puedan volver a registrarse, desactive al usuario y no lo elimine.", + "delete": "Eliminar usuario {username}" + }, + "editUserModal": { + "delete": "Eliminar usuario", + "edit": "Editar {username}" + }, + "adminDashboard": { + "title": "Tablero", + "totals": "Totales", + "totalUsers": "Usuarios totales", + "totalWorkspaces": "Grupos totales", + "totalApplications": "Aplicaciones totales", + "newUsers": "Nuevos usuarios", + "newUsers24h": "Nuevos usuarios últimas 24 horas", + "newUsers7days": "Nuevos usuarios últimos 7 días", + "newUsers30days": "Nuevos usuarios últimos 30 días", + "activeUsers": "Usuarios activos", + "activeUsers24h": "Usuarios activos últimas 24 horas", + "activeUsers7days": "Usuarios activos últimos 7 días", + "activeUsers30days": "Usuarios activos últimos 30 días", + "viewAll": "Ver todo" + }, + "formGroup": { + "cancelProtectedField": "Cancelar cambio", + "protectedField": "Este campo está protegido. Haz clic para cambiarlo." + }, + "userSourceType": { + "userCountSummary": "{count} usuarios ({lastUpdated})" + }, + "workspaceSearch": { + "title": "Buscar", + "searchEverything": "Buscar...", + "searching": "Buscando...", + "noResults": "No se encontraron resultados", + "noResultsSubtitle": "No pudimos encontrar nada que coincida con “{searchTerm}”", + "welcome": "Busca todo en tu espacio de trabajo", + "welcomeSubtitle": "Utiliza la barra de búsqueda situada arriba para encontrar aplicaciones, tablas, campos y más", + "navigate": "Navegar", + "select": "Seleccionar", + "close": "Cerrar", + "types": { + "applications": "Aplicaciones", + "tables": "Tablas", + "fields": "Campos", + "rows": "Filas" + } + }, + "formulaInputContext": { + "search": "Buscar", + "variables": "Variables", + "functions": "Funciones", + "operators": "Operadores", + "useRegularInputModalTitle": "¿Usas entrada regular para este campo?", + "useRegularInput": "Usa entrada regular", + "useAdvancedInput": "Usa entrada avanzada", + "useAdvancedInputModalTitle": "¿Usas una entrada avanzada para este campo?", + "modalMessage": "El contenido de tu campo será borrado y no será posible recuperarlo." + }, + "action": { + "cancel": "Cancelar", + "submit": "Enviar" + }, + "enableTwoFactorOptions": { + "cancel": "Cancelar", + "continue": "Continuar" + }, + "twoFactorAuthSettings": { + "title": "Autenticación de dos factores (2FA)", + "loadingError": "No se pudo cargar la configuración de autenticación de dos factores (2FA)." + }, + "disableTwoFactorAuth": { + "title": "¿Estás seguro de que quieres desactivar la autenticación de dos factores (2FA)?", + "description": "Tu cuenta perderá una capa adicional de seguridad. Si alguien conoce tu contraseña, tendría la posibilidad de entrar en tu cuenta.", + "cancel": "Déjalo encendido", + "disable": "Desactiva", + "successTitle": "Se ha desactivado la autenticación de dos factores (2FA)", + "errorWrongPasswordTitle": "Contraseña incorrecta", + "errorWrongPasswordMessage": "La contraseña introducida no coincide con tu contraseña." + }, + "saveBackupCode": { + "description": "Si pierdes el acceso a tu aplicación de autenticación o a tu móvil y no puedas recibir ni crear códigos de autenticación, puedes usar esta copia de seguridad. Solo podrás usarla una vez. Asegúrate de anotarla o copiarla en un lugar seguro para que puedas acceder a ella sin iniciar sesión.", + "backupCodes": "Códigos de respaldo", + "copy": "Copiar", + "continue": "Continúa", + "backupCodesCopiedTitle": "¡Copiado!", + "backupCodesCopiedMessage": "Se copiaron los códigos de respaldo al portapapeles." + }, + "totpAuthType": { + "name": "Aplicación de autenticación", + "description": "Usa una aplicación para obtener códigos de autenticación de dos factores (2FA). Recomendamos usar aplicaciones como Google Authenticator, Authy y Microsoft Authenticator.", + "enabledDescription": "Recibirás los códigos de verificación a través de una aplicación de autenticación. Para configurar otra aplicación o método diferente, simplemente desactiva la autenticación en dos factores (2FA) y configúralo de nuevo.", + "sideLabel": "Recomendado" + }, + "twoFactorEnabled": { + "enabled": "Activado", + "disable": "Deshabilita la autenticación de dos factores (2FA)" + }, + "totpLogin": { + "backupCodesTitle": "Ingresa el código de respaldo", + "backupCodesDescription": "Inicia sesión con tu código de respaldo de un solo uso.", + "authenticate": "Autenticar", + "goBack": "Regresar", + "totpTitle": "Autenticación de dos factores (2FA)", + "totpDescription": "Introduce el código de tu aplicación de autenticación.", + "verify": "Verifica", + "useBackupCode": "Usa el código de respaldo", + "verificationFailed": "Falló la verificación", + "verificationFailedDescription": "El código introducido no es correcto.", + "loginExpired": "Tu sesión ha expirado", + "loginExpiredDescription": "Por favor, introduce tu contraseña nuevamente.", + "rateLimit": "Demasiados intentos." + }, + "mcpEndpoint": { + "windsurfInstructions": "Dos pasos sencillos para configurar MCP con Cascase en Windsurf.\n\n1. Accede a Windsurf → Configuración → Configuración avanzada o abre la Paleta de comandos → Abrir página de configuración de Windsurf.\n2. Desplázate hacia abajo hasta la sección Cascade y encontrarás la opción para añadir un nuevo servidor → Ver los servidores existentes y un botón para ver el archivo de configuración JSON sin procesar en `mcp_config.json`. Añade lo siguiente a ese archivo:", + "claudeInstructions": "Tres pasos sencillos para comenzar con Claude Desktop y el MCP de Baserow.\n\n1. Abre la configuración de Claude Desktop desde la barra de navegación. (⌘+,)\n2. Ve a la pestaña «Desarrollar» y haz clic en «Editar Config».\n3. Incluye la siguiente configuración JSON en c`laude_desktop_config.json`.", + "detailLabel": "Más detalles", + "endpointURLIntro": "La URL del servidor MCP (Model Context Protocol) puede añadirse a cualquier cliente que admita servidores MCP. Es un punto final (endpoint) único que le da al LLM acceso directo para realizar acciones en el espacio de trabajo en tu nombre.", + "reveal": "Revela la URL completa", + "warning": "Trata tu URL MCP como una contraseña, ya que tiene la capacidad de modificar datos en Baserow.", + "cursorInstructions": "Tres pasos sencillos para comenzar con Cursor y el MCP de Baserow.\n\n1. Abre la configuración de Cursor (⇧+⌘+J)\n2. Ve a la pestaña «MCP» y pulsa «Añadir Servidor MCP»\n3. Inserta la configuración JSON que sigue." + }, + "controlCenterGuidedTourStep": { + "content": "La barra lateral izquierda te ayuda a gestionar tu espacio de trabajo:\n\n- Inicio – Accede a tu panel principal.\n- Notificaciones – Mantente al día con los cambios y menciones.\n- Invitar a miembros – Colabora añadiendo integrantes al equipo.\n- Papelera – Lista y recupera todos tus elementos eliminados.", + "title": "Tu Centro de Control de Baserow" + }, + "importWorkspaceForm": { + "selectApplicationsToImport": "Selecciona las aplicaciones para importar" + }, + "colorPickerContext": { + "pickColorPlaceholder": "O elige un color predefinido" + }, + "twoFactorAuthField": { + "enabled": "Habilitado", + "disabled": "Deshabilitado" + }, + "guidedTourStep": { + "step": "{step} de {totalSteps}", + "gotIt": "Entendido", + "next": "Siguiente", + "back": "Atrás" + }, + "welcomeGuidedTourStep": { + "title": "Bienvenido a Baserow", + "content": "Hagamos un recorrido rápido para que tú te familiarices con lo básico. En solo unos pocos clics, aprenderás a organizar y visualizar tus datos sin esfuerzo", + "buttonText": "Inicia el recorrido" + }, + "createNewGuidedTourStep": { + "title": "Crea una nueva base de datos o aplicación", + "content": "Haz clic en «Añadir nuevo…» para configurar una nueva base de datos, aplicación o dashboard para tu proyecto, departamento o equipo." + }, + "mcpEndpointSettings": { + "title": "Servidor MCP", + "createEndpoint": "Crear punto final (endpoint)", + "createNewTitle": "Crear punto final (endpoint) del servidor MCP", + "backToOverview": "Atrás", + "noEndpointsMessage": "No se han añadido puntos finales (endpoints) de servidor MCP (Model Context Protocol). Estos pueden usarse para integrarse directamente con un LLM como Claude y permitir que el LLM realice acciones directamente en Baserow. Crea un endpoint de servidor para comenzar." + }, + "mcpEndpointForm": { + "nameLabel": "Nombre", + "workspaceLabel": "Espacio de trabajo" + }, + "coreHTTPTriggerServiceForm": { + "urlVersion": "Versión", + "title": "URL del webhook", + "urlVersionPublished": "Publicado", + "urlVersionTest": "Prueba", + "copyUrl": "Copiar URL del webhook", + "urlCopied": "URL del webhook copiada al portapapeles", + "description": "Este webhook recibirá peticiones HTTP y activará el flujo de trabajo con los datos de la solicitud como carga útil.", + "methodsOptionLabel": "Métodos HTTP permitidos", + "methodsOptionAll": "Todo", + "methodsOptionDescription": "Controla qué métodos HTTP están permitidos para este webhook. Excluir GET reduce la probabilidad de que el webhook se active accidentalmente.", + "methodsOptionExcludeGet": "Excluir GET" + }, + "twoFactorAuthEmpty": { + "title": "Aún no has activado 2FA", + "description": "Añade una capa extra de seguridad a tu cuenta.", + "enable": "Activar 2FA", + "notAllowedTitle": "2FA no activado", + "notAllowedDescription": "Añadir 2FA solo es posible en cuentas basadas en contraseña." + }, + "nodeHelpTooltip": { + "exampleLabel": "Ejemplo", + "result": "Resultado: {result}" + }, + "enableWithQRCode": { + "scanQRCode": "Escanear código QR", + "scanQRCodeDescription": "Escanea el código con una aplicación como Google Authenticator, Authy o Microsoft Authenticator.", + "clickToCopy": "Alternativamente, haz clic aquí para copiar el código.", + "secretCopiedTitle": "Secreto copiado", + "secretCopiedMessage": "Secreto TOTP copiado al portapapeles.", + "enterCode": "Introduce el código mostrado", + "enterCodeDescription": "Introduce un código de 6 dígitos que muestra la aplicación para confirmar que lo has configurado correctamente.", + "verificationFailed": "La verificación falló", + "verificationFailedDescription": "El código ingresado no es válido.", + "provisioningFailed": "El aprovisionamiento falló", + "checkSuccess": "Se habilitó correctamente la autenticación de dos factores" } - }, - "changeUserPasswordModal": { - "changePassword": "Cambiar contraseña para {username}" - }, - "deleteUserModal": { - "title": "Eliminar {username}", - "confirmation": "¿Está seguro de que desea eliminar el usuario: {name}?", - "comment1": "La cuenta de usuario se eliminará, pero los espacios de trabajo de los que el usuario es miembro seguirán existiendo. El espacio de trabajo del usuario no se eliminará, incluso si este usuario es el último usuario en el espacio de trabajo. Si se elimina el último usuario de un espacio de trabajo, nadie podrá acceder a ese espacio de trabajo.", - "comment2": "Después de eliminar un usuario, es posible que un nuevo usuario se registre nuevamente utilizando la dirección de correo electrónico de los usuarios eliminados. Para asegurarse de que no puedan volver a registrarse, desactive al usuario y no lo elimine.", - "delete": "Eliminar usuario {username}" - }, - "editUserModal": { - "delete": "Eliminar usuario", - "edit": "Editar {username}" - }, - "adminDashboard": { - "title": "Tablero", - "totals": "Totales", - "totalUsers": "Usuarios totales", - "totalWorkspaces": "Grupos totales", - "totalApplications": "Aplicaciones totales", - "newUsers": "Nuevos usuarios", - "newUsers24h": "Nuevos usuarios últimas 24 horas", - "newUsers7days": "Nuevos usuarios últimos 7 días", - "newUsers30days": "Nuevos usuarios últimos 30 días", - "activeUsers": "Usuarios activos", - "activeUsers24h": "Usuarios activos últimas 24 horas", - "activeUsers7days": "Usuarios activos últimos 7 días", - "activeUsers30days": "Usuarios activos últimos 30 días", - "viewAll": "Ver todo" - }, - "formGroup": { - "cancelProtectedField": "Cancelar cambio", - "protectedField": "Este campo está protegido. Haz clic para cambiarlo." - }, - "userSourceType": { - "userCountSummary": "{count} usuarios ({lastUpdated})" - } } diff --git a/web-frontend/modules/core/locales/ko.json b/web-frontend/modules/core/locales/ko.json index 4dfa48fb4a..1c2c5b8666 100644 --- a/web-frontend/modules/core/locales/ko.json +++ b/web-frontend/modules/core/locales/ko.json @@ -520,10 +520,10 @@ "settingAllowNonStaffCreateWorkspaceOperationDescription": "기본적으로 모든 사람이 새 작업공간을 생성할 수 있습니다. 이를 비활성화하여 직원만 새 작업공간을 생성할 수 있도록 합니다.", "settingAllowNonStaffCreateWorkspaceOperationWarning": "새로운 사용자에게는 그들이 관리자인 작업공간이 자동으로 생성됩니다.", "settingTrackWorkspaceUsage": "작업공간 사용량 추적", - "settingTrackWorkspaceUsageDescription": "작업공간별 행 및 파일 사용량을 집계하는 야간 작업을 활성화하여 프리미엄 작업공간 관리자 페이지에 표시됩니다.", + "settingTrackWorkspaceUsageDescription": "작업공간별 행 및 파일 사용량을 집계하는 야간 작업을 활성화하며, 해당 정보는 프리미엄 작업공간 관리 페이지에 표시됩니다.", "userSettings": "사용자", "settingUserDeletionGraceDelay": "삭제 유예 기간", - "settingUserDeletionGraceDelayDescription": "이것은 계정이 삭제되기로 예약된 후 로그인하지 않은 날 수입니다.", + "settingUserDeletionGraceDelayDescription": "계정이 삭제 예정 상태에서 로그인 없이 경과한 일수이며, 이 기간이 지나면 계정이 영구 삭제됩니다.", "invalidAccountDeletionGraceDelay": "이 값은 필수이며 32000보다 작은 양의 정수여야 합니다", "enabled": "활성화됨", "maintenance": "유지 관리", @@ -1073,11 +1073,11 @@ "functions": "기능", "operators": "연산자", "search": "검색", - "useRegularInputModalTitle": "이 필드에 일반 입력을 사용하시겠습니까?", + "useRegularInputModalTitle": "이 필드에 일반 입력값을 사용하시겠습니까?", "useRegularInput": "일반적인 입력을 사용", "useAdvancedInput": "고급 입력 사용", - "useAdvancedInputModalTitle": "이 필드에 고급 입력을 사용하시겠습니까?", - "modalMessage": "해당 필드의 내용이 삭제되며 복구할 수 없습니다." + "useAdvancedInputModalTitle": "이 필드에 고급 입력 기능을 사용하시겠습니까?", + "modalMessage": "해당 필드의 내용이 모두 삭제되며 복구할 수 없습니다." }, "twoFactorAuthField": { "enabled": "활성화됨", diff --git a/web-frontend/modules/core/locales/uk.json b/web-frontend/modules/core/locales/uk.json index ccbc713872..7df47b7b44 100644 --- a/web-frontend/modules/core/locales/uk.json +++ b/web-frontend/modules/core/locales/uk.json @@ -1,112 +1,120 @@ { "paginator": { - "page": "", - "of": "" + "page": "Сторінка", + "of": "з {pages}" }, "copied": { - "label": "" + "label": "Скопійовано!" }, "sidebarApplication": { - "rename": "", - "duplicate": "", - "viewTrash": "", - "delete": "", - "snapshots": "" + "rename": "Перейменувати", + "duplicate": "Дублювати", + "viewTrash": "Переглянути кошик", + "delete": "Видалити", + "snapshots": "Знімки" }, "duplicateApplicationJobType": { - "duplicating": "", - "duplicatedTitle": "" + "duplicating": "Дублювання", + "duplicatedTitle": "Застосунок дубльовано" }, "InstallTemplateJobType": { - "installing": "", - "installedTitle": "" + "installing": "Встановлення", + "installedTitle": "Шаблон встановлено" }, "sidebar": { - "createWorkspace": "", - "inviteOthers": "", - "members": "", - "logoff": "", - "errorNoWorkspace": "", + "createWorkspace": "Створити робочий простір", + "inviteOthers": "Запросити інших", + "members": "Учасники", + "logoff": "Вийти", + "errorNoWorkspace": "У вас немає робочих просторів.", "admin": "", - "dashboard": "", - "trash": "", - "settings": "" + "dashboard": "Панель керування", + "trash": "Кошик", + "settings": "Мої налаштування", + "addNewWorkspace": "Додати новий робочий простір", + "adminTools": "Інструменти адміністратора", + "home": "Головна", + "notifications": "Сповіщення", + "adminSettings": "Налаштування адміністратора", + "general": "Загальні", + "people": "Люди", + "licenses": "Ліцензії" }, "accountForm": { - "nameLabel": "", - "languageLabel": "" + "nameLabel": "Ваше ім'я", + "languageLabel": "Мова інтерфейсу" }, "accountSettings": { - "title": "", - "changedTitle": "", - "changedDescription": "", - "submitButton": "" + "title": "Обліковий запис", + "changedTitle": "Змінено", + "changedDescription": "Інформацію вашого облікового запису змінено.", + "submitButton": "Оновити обліковий запис" }, "settingsModal": { - "title": "" + "title": "Мої налаштування" }, "passwordSettings": { - "title": "", - "changedTitle": "", - "changedDescription": "", - "oldPasswordLabel": "", - "oldPasswordRequiredError": "", - "newPasswordLabel": "", - "repeatNewPasswordLabel": "", - "repeatNewPasswordMatchError": "", - "submitButton": "", - "errorInvalidOldPasswordTitle": "", - "errorInvalidOldPasswordMessage": "" + "title": "Змінити пароль", + "changedTitle": "Пароль змінено", + "changedDescription": "Ваш пароль було змінено. Наступного разу для входу використовуйте новий пароль.", + "oldPasswordLabel": "Старий пароль", + "oldPasswordRequiredError": "Потрібно ввести старий пароль.", + "newPasswordLabel": "Новий пароль", + "repeatNewPasswordLabel": "Повторіть новий пароль", + "repeatNewPasswordMatchError": "Це поле має збігатися з полем нового пароля.", + "submitButton": "Змінити пароль", + "errorInvalidOldPasswordTitle": "Недійсний пароль", + "errorInvalidOldPasswordMessage": "Не вдалося змінити пароль, оскільки старий пароль недійсний." }, "deleteAccountSettings": { - "title": "", - "description": "", + "title": "Видалити обліковий запис", + "description": "Ви можете запланувати видалення свого облікового запису, ввівши поточний пароль і натиснувши кнопку. Ваш обліковий запис буде остаточно видалено через {days} днів. Тим часом, якщо ви знову ввійдете в систему, видалення облікового запису буде скасовано.", "workspaceNotice": "", - "workspaceNoticeDescription": "", - "orphanWorkspaces": "", - "orphanWorkspaceMemberCount": "", - "password": "", - "passwordConfirm": "", - "repeatPasswordMatchError": "", - "submitButton": "", - "errorInvalidPasswordTitle": "", - "errorInvalidPasswordMessage": "", - "errorUserIsLastAdminTitle": "", - "errorUserIsLastAdminMessage": "", - "accountDeletedSuccessTitle": "", - "accountDeletedSuccessMessage": "", - "workspaceLoadingError": "", - "workspaceLoadingErrorDescription": "" + "workspaceNoticeDescription": "Коли ваш обліковий запис буде остаточно видалено, усі робочі простори та пов’язані дані, у яких ви є останнім активним користувачем з правами адміністратора, також будуть видалені. Нижче показано робочі простори, які будуть видалені, оскільки ви є єдиним адміністратором. Щоб уникнути їх видалення, спершу призначте іншого користувача адміністратором перед видаленням свого облікового запису.", + "orphanWorkspaces": "Також буде остаточно видалено після строку очікування", + "orphanWorkspaceMemberCount": "не спільний доступ | спільний доступ з одним користувачем | спільний доступ з {count} користувачами", + "password": "Пароль", + "passwordConfirm": "Повторіть пароль", + "repeatPasswordMatchError": "Це поле має збігатися з першим полем пароля.", + "submitButton": "Видалити обліковий запис", + "errorInvalidPasswordTitle": "Недійсний пароль", + "errorInvalidPasswordMessage": "Не вдалося видалити обліковий запис, оскільки ваш пароль недійсний.", + "errorUserIsLastAdminTitle": "Останній адміністратор", + "errorUserIsLastAdminMessage": "Не вдалося видалити ваш обліковий запис, оскільки ви є останнім адміністратором цієї інстанції Baserow.", + "accountDeletedSuccessTitle": "Видалення облікового запису заплановано", + "accountDeletedSuccessMessage": "Ваш обліковий запис заплановано до видалення.", + "workspaceLoadingError": "Помилка перевірки робочих просторів", + "workspaceLoadingErrorDescription": "Не вдалося перевірити робочі простори, які будуть видалені. Будь ласка, оновіть сторінку." }, "error": { - "alreadyExistsTitle": "", - "alreadyExistsMessage": "", - "passwordRequired": "", - "invalidEmail": "", - "disabledAccountTitle": "", - "disabledAccountMessage": "", - "incorrectCredentialTitle": "", - "incorrectCredentialMessage": "", - "inputRequired": "", - "disabledPasswordProviderTitle": "", - "disabledPasswordProviderMessage": "" + "alreadyExistsTitle": "Користувач уже існує", + "alreadyExistsMessage": "Користувач з наданою електронною адресою вже існує.", + "passwordRequired": "Потрібно ввести пароль.", + "invalidEmail": "Будь ласка, введіть дійсну адресу електронної пошти.", + "disabledAccountTitle": "Обліковий запис заблоковано", + "disabledAccountMessage": "Цей обліковий запис користувача заблоковано.", + "incorrectCredentialTitle": "Неправильні облікові дані", + "incorrectCredentialMessage": "Надана електронна адреса або пароль неправильні.", + "inputRequired": "Поле обов’язкове для заповнення.", + "disabledPasswordProviderTitle": "Аутентифікація за паролем вимкнена.", + "disabledPasswordProviderMessage": "Будь ласка, скористайтеся іншим провайдером автентифікації." }, "field": { - "language": "", - "emailAddress": "", - "name": "", - "password": "", - "passwordRepeat": "" - }, - "invitationTitle": "", - "invitationMessage": "", + "language": "Мова", + "emailAddress": "Адреса електронної пошти", + "name": "Ваше ім’я", + "password": "Пароль", + "passwordRepeat": "Повторіть пароль" + }, + "invitationTitle": "Запрошення", + "invitationMessage": "{invitedBy} запросив(ла) вас приєднатися до {workspace}.", "workspaceForm": { - "nameLabel": "" + "nameLabel": "Ім’я" }, "leaveWorkspaceModal": { - "title": "", - "message": "", - "leave": "" + "title": "Покинути {workspace}", + "message": "Ви впевнені, що хочете покинути робочий простір {workspace}? Ви більше не зможете отримувати доступ до пов’язаних додатків, і щоб відновити доступ, один із адміністраторів має запросити вас знову. Якщо ви покинете робочий простір, він не буде видалений. Усі інші учасники все ще матимуть до нього доступ. Неможливо покинути робочий простір, якщо ви є останнім адміністратором, оскільки це залишить його без обслуговування.", + "leave": "Покинути робочий простір" }, "dashboardWorkspace": { "createApplication": "" @@ -506,5 +514,130 @@ }, "editRoleContext": { "billableRolesLink": "" + }, + "workspaceSearch": { + "title": "Пошук", + "searchEverything": "Пошук...", + "searching": "Пошук...", + "noResults": "Результатів не знайдено", + "noResultsSubtitle": "Не знайдено нічого, що відповідає \"{searchTerm}\"", + "welcome": "Шукайте все у вашому робочому просторі", + "welcomeSubtitle": "Використовуйте поле пошуку вище, щоб знайти застосунки, таблиці, поля та інше", + "navigate": "Перейти", + "select": "Вибрати", + "close": "Закрити", + "types": { + "applications": "Застосунки", + "tables": "Таблиці", + "fields": "Поля", + "rows": "Рядки" + } + }, + "action": { + "cancel": "Скасувати", + "submit": "Надіслати" + }, + "twoFactorAuthSettings": { + "title": "Двофакторна автентифікація", + "loadingError": "Не вдалося завантажити конфігурацію двофакторної автентифікації." + }, + "disableTwoFactorAuth": { + "title": "Ви впевнені, що хочете вимкнути 2FA?", + "description": "Ваш обліковий запис втратить додатковий рівень захисту. Якщо хтось дізнається ваш пароль, він може увійти до вашого облікового запису.", + "cancel": "Залишити увімкненим", + "disable": "Вимкнути", + "successTitle": "Двофакторну автентифікацію вимкнено", + "errorWrongPasswordTitle": "Неправильний пароль", + "errorWrongPasswordMessage": "Введений пароль не відповідає вашому паролю." + }, + "enableTwoFactorOptions": { + "cancel": "Скасувати", + "continue": "Продовжити" + }, + "saveBackupCode": { + "backupCodes": "Резервні коди", + "copy": "Копіювати", + "continue": "Продовжити", + "backupCodesCopiedTitle": "Скопійовано!", + "backupCodesCopiedMessage": "Резервні коди скопійовано до буфера обміну.", + "description": "Якщо ви втратите доступ до вашого додатка автентифікації або телефону і не зможете отримувати чи генерувати коди автентифікації, ви можете скористатися цим резервним кодом. Його можна використати лише один раз. Обов’язково запишіть його або скопіюйте в безпечне місце, щоб мати доступ без входу в систему." + }, + "totpAuthType": { + "name": "Застосунок автентифікації", + "description": "Використовуйте застосунок для отримання кодів двофакторної автентифікації. Ми рекомендуємо використовувати такі застосунки, як Google Authenticator, Authy та Microsoft Authenticator.", + "enabledDescription": "Ви отримуватимете коди підтвердження через застосунок автентифікації. Щоб налаштувати інший застосунок або метод, просто вимкніть 2FA та налаштуйте знову.", + "sideLabel": "Рекомендовано" + }, + "twoFactorEnabled": { + "enabled": "Увімкнено", + "disable": "Вимкнути 2FA" + }, + "totpLogin": { + "backupCodesTitle": "Введіть резервний код", + "backupCodesDescription": "Увійдіть за допомогою одноразового резервного коду.", + "authenticate": "Автентифікуватися", + "goBack": "Повернутися", + "totpTitle": "Двофакторна автентифікація", + "totpDescription": "Введіть код із застосунку автентифікації.", + "verify": "Перевірити", + "useBackupCode": "Використати резервний код", + "verificationFailed": "Помилка перевірки", + "verificationFailedDescription": "Введений код неправильний.", + "loginExpired": "Сеанс входу закінчився", + "loginExpiredDescription": "Будь ласка, введіть пароль ще раз.", + "rateLimit": "Забагато спроб." + }, + "notificationPanel": { + "title": "Сповіщення", + "markAllAsRead": "Позначити все як прочитане", + "clearAll": "Очистити все", + "noNotificationTitle": "У вас немає сповіщень", + "noNotification": "Ми повідомлятимемо вас про важливі оновлення та кожного разу, коли вас згадують у Baserow.", + "newNotificationsAvailable": "Доступні нові сповіщення", + "refresh": "Оновити" + }, + "clearAllNotificationsConfirmModal": { + "title": "Ви впевнені, що хочете очистити всі сповіщення?", + "message": "Усі сповіщення будуть остаточно видалені, і ви більше не зможете їх переглянути." + }, + "formulaInputContext": { + "useRegularInput": "Використовувати звичайний ввід", + "useAdvancedInput": "Використовувати розширений ввід" + }, + "importWorkspaceModal": { + "title": "Імпортувати дані Baserow", + "description": "Ви можете імпортувати наявні дані Baserow, завантаживши .zip-файл з іншої інстанції Baserow.", + "import": "Імпортувати дані", + "upload": "Завантажити", + "uploadAndImport": "Завантажити та імпортувати", + "cancel": "Скасувати", + "done": "Готово", + "close": "Закрити", + "retry": "Спробувати ще раз", + "uploading": "Завантаження...", + "chooseFile": "Виберіть файл", + "selectApplications": "Select data to import" + }, + "exportWorkspaceModal": { + "title": "Експорт", + "description": "Ваші дані будуть експортовані у вигляді ZIP-файлу, який можна імпортувати в іншу інстанцію Baserow.", + "exportSettings": "Налаштування експорту", + "export": "Експортувати дані", + "reset": "Почати нове", + "cancel": "Скасувати", + "download": "Скачати", + "exportingState": "Експорт...", + "exportingTableState": "Експорт: {table}", + "exportingCreateArchiveState": "Створення архіву", + "noExports": "Для цього робочого простору ще немає експорту.", + "created": "створено" + }, + "exportWorkspaceForm": { + "exportSettingsLabel": "Налаштування експорту", + "selectDataToExport": "Виберіть дані для експорту", + "selectAll": "Вибрати все", + "deselectAll": "Скасувати вибір всіх", + "onlyStructureLabel": "Експортувати тільки структуру", + "onlyStructureDescription": "Якщо увімкнено, буде експортовано лише структуру додатків. Дані не будуть включені." } } diff --git a/web-frontend/modules/database/locales/es.json b/web-frontend/modules/database/locales/es.json index e10baa7ad0..90002b997c 100644 --- a/web-frontend/modules/database/locales/es.json +++ b/web-frontend/modules/database/locales/es.json @@ -1,1080 +1,1192 @@ { - "webhookModal": { - "title": "Webhooks de {name}", - "createWebhook": "Crear webhook", - "backToList": "volver a la lista" - }, - "deleteWebhookModal": { - "title": "Eliminar {webhookName}", - "deleteButton": "Eliminar webhook", - "body": "¿Está seguro de que desea eliminar este webhook? No podrá restaurarlo más tarde." - }, - "webhookList": { - "noWebhooksMessage": "Aún no ha creado ningún webhook. Los webhooks se pueden usar para informar a los sistemas de terceros cuando se ha creado, actualizado o eliminado una fila en Baserow." - }, - "testWebhookModal": { - "title": "Webhook de prueba", - "unreachable": "Servidor inalcanzable" - }, - "webhookForm": { - "inputLabels": { - "name": "Nombre", - "value": "Valor", - "requestMethod": "Metodo", - "url": "URL", - "userFieldNames": "Nombres de campo de usuario", - "events": "¿Qué eventos deberían desencadenar este webhook?", - "headers": "Encabezados adicionales", - "example": "Ejemplo de carga útil" - }, - "errors": { - "urlField": "Este campo es obligatorio y debe ser una URL válida.", - "invalidHeaders": "Uno de los encabezados no es válido." - }, - "checkbox": { - "sendUserFieldNames": "Usar nombre de campo en lugar de id" - }, - "radio": { - "allEvents": "Envíame todo", - "customEvents": "Déjame seleccionar eventos individuales" - }, - "triggerButton": "Activar webhook de prueba", - "deactivated": { - "title": "El webhook está desactivado", - "content": "Este webhook se ha desactivado porque ha habido demasiados errores consecutivos. Consulte el registro de llamadas para obtener más detalles. Haga clic en el botón de abajo para activarlo de nuevo. No olvide guardar el webhook después de activarlo.", - "activate": "Activar" - }, - "deprecatedEventType": { - "title": "Tipo de evento obsoleto", - "description": "Este webhook no recibe información sobre todas las filas modificadas al mismo tiempo. Por favor conviértelo a un tipo de evento de tipo batch. Esto cambia la carga útil del cuerpo JSON a un formato que contiene múltiples filas.", - "convert": "Convertir" - }, - "helpTriggerWhenFieldsHaveChanged": "Solo se activará si cambia el valor de la celda de los campos elegidos.", - "triggerWhenFieldsHaveChanged": "Activar cuando los campos hayan cambiado" - }, - "webhook": { - "details": "detalles", - "lastCall": "Última llamada: {lastCallTime}", - "noCalls": "No se hicieron llamadas", - "callLog": "registro de llamadas", - "triggerDescription": "Disparadores en cada evento | Se activa el evento {count} | Disparadores en {count} eventos" - }, - "createWebhook": { - "errorTableWebhookMaxLimitExceededTitle": "Max webhooks excedidos", - "errorTableWebhookMaxLimitExceededDescription": "No se puede crear el webhook porque se excedió la cantidad máxima de webhooks por tabla." - }, - "sidebar": { - "viewAPI": "Ver documentos API", - "createTable": "Nueva mesa" - }, - "sidebarItem": { - "exportTable": "Exportar tabla", - "webhooks": "Webhooks", - "lastSynced": "Última sincronización", - "notSynced": "No sincronizado", - "sync": "Sincronizar tabla", - "updateSyncConfig": "Actualizar la configuración de sincronización" - }, - "apiToken": { - "create": "crear", - "read": "leer", - "update": "actualizar", - "delete": "eliminar", - "tokenPrefix": "Token:", - "viewAPIDocs": "Ver la documentación de la API", - "generateNewToken": "Generar nuevo token", - "showOrHide": "Mostrar u ocultar el token", - "copyToClipboard": "Copiar al portapapeles", - "showDatabases": "mostrar bases de datos" - }, - "apiTokenSettings": { - "title": "Tokens de bases de datos", - "createToken": "Crear token", - "noTokensMessage": "Aún no ha creado un token de base de datos. Puede usar tokens de base de datos para autenticarse con los puntos finales de la API REST donde puede crear, leer, actualizar y eliminar filas. Es posible establecer permisos a nivel de tabla.", - "hasFullPermissions": "Tiene permisos completos, también para todos los niños.", - "hasOnlySelectedPermissions": "Solo tiene permisos para los niños seleccionados.", - "noPermissions": "No tiene permisos.", - "createNewTitle": "Crear nuevo token de la base de datos", - "backToOverview": "De regreso a la visión general" - }, - "apiTokenForm": { - "nameLabel": "Nombre", - "workspaceLabel": "Grupo" - }, - "apiDocsSelectDatabase": { - "needOneDatabase": "Debe tener al menos una base de datos para ver la documentación de la API." - }, - "apiDocsExample": { - "requestSample": "Solicitar muestra", - "responseSample": "Muestra de respuesta", - "userFieldNames": "Nombres de campo de usuario" - }, - "apiDocsParameter": { - "optional": "Opcional", - "defaultValue": "Default: {value}" - }, - "apiDocsTableGetRow": { - "description": "Obtenga una sola fila {name}.", - "rowId": "El identificador único de la fila que se solicita." - }, - "apiDocsErrors": { - "errorCode": "Código de error", - "name": "Nombre", - "description": "Descripción", - "okDescription": "Solicitud completada con éxito.", - "badRequestDescription": "La solicitud contiene valores no válidos o no se pudo analizar el JSON.", - "unauthorizedDescription": "Cuando intenta acceder a un punto final sin un token de la base de datos válido.", - "notFoundDescription": "No se encuentra la fila o la tabla.", - "requestEntityTooLargeDescription": "La solicitud superó el tamaño de carga útil máximo permitido.", - "internalErrorDescription": "El servidor encontró una condición inesperada.", - "badGatewayDescription": "Baserow se está reiniciando o hay una interrupción inesperada en curso.", - "unavailableDescription": "El servidor no pudo procesar su solicitud a tiempo." - }, - "apiDocsTableFields": { - "tableTitle": "{name} tabla", - "tableId": "El ID de esta tabla es:", - "description": "Cada fila de la tabla {name} contiene los siguientes campos.", - "id": "ID", - "name": "Nombre", - "type": "Tipo", - "compatibleFilters": "Filtros compatibles" - }, - "apiDocsTableListRows": { - "description": "Para enumerar las filas en la tabla *{name}*, se debe realizar una solicitud `GET` al extremo *{name}*. La respuesta está paginada y, de forma predeterminada, se devuelve la primera página. La página correcta se puede obtener proporcionando los parámetros de consulta `página` y `tamaño`.", - "page": "Define qué página de filas debe devolverse.", - "size": "Define cuántas filas se deben devolver por página.", - "userFieldNames": "Cuando se proporciona cualquier valor para el parámetro GET `user_field_names`, los nombres de campo devueltos por este extremo serán los nombres reales de los campos.\n\nSi no se proporciona el parámetro GET `user_field_names`, todos los nombres de campo devueltos serán `field_` seguidos de la identificación del campo. Por ejemplo, `field_1` se refiere al campo con una identificación de `1`.\n\nAdemás, cuando se establece `user_field_names`, cambia el comportamiento de los otros parámetros GET `order_by`, `include` y `exclude`. En su lugar, esperan listas separadas por comas de los nombres de campo reales.", - "search": "Si se proporcionan, solo se devolverán las filas con datos que coincidan con la consulta de búsqueda.", - "orderBy": "Opcionalmente se pueden ordenar las filas por campos separados por coma. De forma predeterminada o si se antepone un '+', un campo se ordena en orden ascendente (A-Z), pero al anteponer el campo con un '-' se puede ordenar de forma descendente (Z-A).\n\n #### Con `user_field_names`:\n\n `order_by` debe ser una lista separada por comas de los nombres de los campos por ordenar. Por ejemplo, si proporciona el siguiente parámetro GET `order_by=My Field,-My Field 2`, las filas se ordenarán por el campo llamado `My Field` en orden ascendente. Si algunos campos tienen el mismo valor, ese subconjunto se ordenará por el campo llamado `Mi campo 2` en orden descendente.\n\n Asegúrese de que los campos con nombres que comienzan con `+` o `-` estén explícitamente precedidos por otro `+` o `-`. Por ejemplo, `+-Nombre`.\n\n El nombre de los campos que contienen comas debe estar entre comillas: `\"Nombre,\"`. Si los nombres de los campos contienen comillas, deben escaparse con el carácter `\\`. Ej: `Nombre\\\"`.\n\n#### Sin `user_field_names`:\n\n `order_by` debe ser una lista separada por comas de `field_` seguida de la identificación del campo por el que ordenar. Por ejemplo, si proporciona el siguiente parámetro GET `order_by=field_1,-field_2`, las filas se ordenarán por `field_1` en orden ascendente. Si algunos campos tienen el mismo valor, ese subconjunto se ordenará por `field_2` en orden descendente.", - "filter": "Las filas se pueden filtrar opcionalmente por los mismos filtros de vista disponibles para las vistas. Se pueden proporcionar múltiples filtros si siguen el mismo formato. Las variables `field` y `filter` indican cómo filtrar y el valor indica dónde filtrar.\n\n Por ejemplo, si proporciona el siguiente parámetro GET `filter__field_1__equal=test`, solo se devolverán las filas donde el valor de field_1 es igual a test. ", - "filterLink": "Puede encontrar una lista de todos los filtros aquí.", - "filterType": "- `Y`: Indica que las filas deben coincidir con todos los filtros proporcionados.\n- `OR`: Indica que las filas solo tienen que coincidir con uno de los filtros.\n\n Esto funciona solo si se proporcionan dos o más filtros.", - "include": "Todos los campos se incluyen en la respuesta de forma predeterminada. Puede seleccionar un subconjunto de campos para incluir proporcionando el parámetro de consulta de inclusión.\n\n #### Con `user_field_names`:\n\n `include` debe ser una lista separada por comas de nombres de campos que se incluirán en los resultados. Por ejemplo, si proporciona el siguiente parámetro GET: `include=My Field,-My Field 2`, solo se incluirán esos campos (a menos que se excluyan explícitamente).\n\n El nombre de los campos que contienen comas debe estar entre comillas: `\"Nombre,\"`. Si los nombres de los campos contienen comillas, deben escaparse con el carácter `\\`. Ej: `Nombre\\\"`.\n\n #### Sin `user_field_names`:\n\n `include` debe ser una lista separada por comas de `field_` seguida de la identificación del campo para incluir en los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `exclude=field_1,field_2`, los campos con id `1` e id `2` solo se incluirán esos campos (a menos que se excluyan explícitamente).", - "exclude": "Todos los campos se incluyen en la respuesta de forma predeterminada. Puede seleccionar un subconjunto de campos para excluir proporcionando el parámetro de consulta de exclusión.\n\n #### Con `user_field_names`:\n\n `excluir` debe ser una lista separada por comas de nombres de campos que se excluirán de los resultados. Por ejemplo, si proporciona el siguiente parámetro GET: `exclude=My Field,-My Field 2`, esos campos se excluirán.\n\n El nombre de los campos que contienen comas debe estar entre comillas: `\"Nombre,\"`. Si los nombres de los campos contienen comillas, deben escaparse con el carácter `\\`. Ej: `Nombre\\\"`.\n\n #### Sin `user_field_names`:\n\n `exclude` debe ser una lista separada por comas de `field_` seguida de la identificación del campo para excluir de los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `exclude=field_1,field_2`, los campos con id `1` e id `2` se excluirán.", - "viewId": "Por defecto, no se aplica ningún filtro ni ordenación fuera de los definidos en los parámetros. Puedes añadir los filtros y ordenaciones de una vista proporcionando su `id` en el parámetro GET `view_id`. Por ejemplo, si proporcionas el siguiente parámetro GET `view_id=1`, se aplicarán los filtros y ordenaciones definidos en la vista con id `1`. Puede encontrar el `view_id` en el menú contextual de cualquier vista. Es el número entre paréntesis detrás del nombre de la vista. \n\n#### Con `filtro__{campo}__{filtro}`\n\nSe aplicará tanto el filtro proporcionado en el parámetro de consulta como los filtros definidos en la vista.\n\n#### Con `order_by`\n\nSi se proporciona `order_by` se ignorará la ordenación definida en la vista.", - "filtersBuilder": "Abrir el creador de parámetros de filtros", - "filters": "Las filas se pueden filtrar opcionalmente utilizando los mismos filtros de vista que están disponibles para las vistas. Este parámetro acepta una cadena serializada JSON que contiene el árbol de filtros a aplicar a esta vista. El árbol de filtros es una estructura anidada que contiene los filtros que deben aplicarse. \\n\\n#### Con `nombres_campo_usuario`:\\n\\nUn ejemplo de árbol de filtros válido es el siguiente: `{'{'}\\\"tipo_filtro\\\": \\\"Y\\\", \\\"filtros\\\": [{'{'}\\\"campo\\\": \\\"Nombre\\\", \\\"tipo\\\": \\\"igual\\\", \\\"valor\\\": \\\"prueba\\\"{'}'}]{'}'}`.\\n\\n#### Sin `nombres_campo_usuario`:\\n\\nPor ejemplo, si proporcionas opcionalmente el siguiente parámetro GET: `{'{'}\\\"filter_type\\\": \\\"AND\\\", \\\"filters\\\": [{'{'}\\\"field\\\": 1, \\\"type\\\": \\\"equal\\\", \\\"value\\\": \\\"test\\\"{'}'}]{'}'}`\\n\\nTen en cuenta que si proporcionas este parámetro, se ignorarán todos los demás `filter__{'{'}field{'}'}__{'{'}filter{'}'}`, así como el parámetro tipo_filtro.", - "join": "Permite solicitar una búsqueda de valores de campo de una tabla de destino a través de campos de fila de vínculo existentes. El nombre del parámetro debe ser el nombre de un campo de fila de vínculo existente, seguido de __join. El valor debe ser una lista de nombres de campos para los que deseamos buscar valores adicionales. Puede proporcionar uno o varios campos de destino. No es posible buscar un valor de un campo de fila de vínculo en la tabla de destino.\n\n #### Con `user_field_names`:\n\n `join` debe ser una lista separada por comas de nombres de campos que se incluirán en los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `LinkRowField__join=MyField,MyField2`, los valores de `MyField` y `My Field2` en la tabla vinculada por `LinkRowField` se incluirán en la respuesta.\n\n#### Sin `user_field_names`:\n\n `join` debe ser una lista separada por comas de `field_` seguida del id del campo que se incluirá en los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `field_1__join=field_2,field_3`, los valores de `field_2` y `field_3` en la tabla vinculada por `field_1` se incluirán en la respuesta." - }, - "apiDocsIntro": { - "intro": "La base de datos {name} proporciona una manera fácil de integrar los datos con cualquier sistema externo. La API sigue la semántica REST, utiliza JSON para codificar objetos y se basa en códigos HTTP estándar, errores de lectura humana y mecánica para señalar los resultados de las operaciones.", - "autoDocDescription": "Esta documentación se genera automáticamente en base a las tablas y campos que se encuentran en su base de datos. Si realiza cambios en su base de datos, tabla o campos, es posible que la interfaz API también haya cambiado. Por lo tanto, asegúrese de actualizar la implementación de su API en consecuencia.", - "databaseId": "El ID de esta base de datos es:", - "jsClient": "Cliente API de ejemplo de Javascript:", - "pythonClient": "Cliente API de ejemplo de Python:" - }, - "apiDocsTableListFields": { - "description": "Para enumerar los campos de la tabla {name}, se debe realizar una solicitud `GET` al extremo de los campos {name}. Solo es posible enumerar los campos si el token de la base de datos tiene permisos de lectura, creación o actualización.", - "resultFieldProperties": "Propiedades del campo de resultado", - "id": "Clave principal del campo. Se puede usar para generar el nombre de la columna de la base de datos agregando el prefijo `field_`.", - "name": "Nombre del campo.", - "tableId": "ID de tabla relacionada.", - "order": "Orden de campos en la tabla. 0 para el primer campo.", - "primary": "Indica si el campo es un campo principal. Si es `verdadero`, el campo no se puede eliminar y el valor debe representar la fila completa.", - "type": "Tipo definido para este campo.", - "extraProps": "Algunas propiedades adicionales no se describen aquí porque son específicas del tipo.", - "readOnly": "Indica si el campo es de sólo lectura. Si es cierto, no es posible actualizar el valor de la celda.", - "descriptionField": "Campo descripción" - }, - "apiDocsTableDeleteRow": { - "description": "Elimina una fila {name} existente.", - "rowId": "El identificador único de la fila que debe eliminarse." - }, - "apiDocsTableMoveRow": { - "description": "Mueve una fila {name} existente antes de otra fila. Si no se proporciona `before_id`, la fila se moverá al final de la tabla.", - "rowId": "Mueve la fila relacionada con el valor.", - "before": "Mueve la fila relacionada con el `row_id` dado antes de la fila relacionada con el valor proporcionado. Si no se proporciona, la fila se moverá al final." - }, - "apiDocsTableUpdateRow": { - "description": "Actualiza una fila {name} existente.", - "rowId": "El identificador único de la fila que debe actualizarse.", - "before": "Si se proporciona, la fila recién creada se colocará antes de la fila con la identificación proporcionada." - }, - "apiDocsTableCreateRow": { - "description": "Crear una nueva fila {name}.", - "before": "Si se proporciona, la fila recién creada se colocará antes de la fila con la identificación proporcionada." - }, - "apiDocsAuth": { - "description": "Baserow utiliza una autenticación simple basada en tokens. Es necesario generar al menos un token de base de datos en su {settingsLink} para utilizar los endpoints descritos a continuación. Es posible dar permisos de creación, lectura, actualización y eliminación hasta el nivel de tabla por token. Puede autenticarse en la API proporcionando su token en la cabecera HTTP authorization bearer token. Todas las solicitudes de la API deben ser autenticadas y realizadas a través de HTTPS.", - "settingsLink": "ajustes" - }, - "apiDocsFilters": { - "filter": "Filtro", - "exampleValue": "Valor de ejemplo", - "example": "Ejemplo completo", - "field": "campo {name}", - "deprecated": "obsoleto" - }, - "fieldTextSubForm": { - "placeholder": "Texto predeterminado" - }, - "fieldSingleSelectSubForm": { - "optionsLabel": "Opciones" - }, - "fieldSingleSelectDropdown": { - "notFound": "Opción no encontrada" - }, - "fieldDateSubForm": { - "dateFormatLabel": "Formato de fecha", - "dateFormatEuropean": "Europeo", - "dateFormatUS": "EUA", - "dateFormatISO": "ISO", - "includeTimeLabel": "Incluir tiempo", - "timeFormatLabel": "Formato de tiempo", - "24Hour": "24 horas", - "12Hour": "12 horas", - "showTimezoneLabel": "Mostrar la zona horaria", - "forceTimezoneLabel": "Establecer la zona horaria para todos los colaboradores", - "subTimezoneOffsetLabel": "Convertir valores (restar {utcOffsetDiff} minutos)", - "forceTimezoneValue": "Zona horaria", - "addTimezoneOffsetLabel": "Convertir valores (añadir {utcOffsetDiff} minutos)" - }, - "fieldLinkRowSubForm": { - "noTable": "Necesita al menos otra tabla en la misma base de datos para vincular.", - "selectTableLabel": "Seleccione una tabla para vincular", - "hasRelatedFieldLabel": "Crear campo relacionado en la tabla vinculada", - "limitToView": "Limitar la selección para mostrar", - "limitToViewDescription": "Ten en cuenta que esto es solo visual. Aún es posible establecer relaciones fuera de la vista mediante la tabla relacionada o la API." - }, - "fieldSelectOptions": { - "add": "Añadir una opción" - }, - "fieldNumberSubForm": { - "typeLabel": "Tipo de número", - "integer": "Entero", - "decimal": "Décimal", - "decimalPlacesLabel": "Lugares decimales", - "allowNegative": "Permitir negativo", - "prefixPlaceholder": "Prefijo", - "suffixPlaceholder": "Sufijo", - "prefixAndSuffixLabel": "Prefijo / sufijo", - "spaceComma": "Espacio, coma (1 000 000,00)", - "spacePeriod": "Espacio, periodo (1 000 000,00)", - "periodComma": "Punto, coma (1.000.000,00)", - "separatorLabel": "Separador de miles y decimales", - "commaPeriod": "Coma, punto (1.000.000,00)", - "noFormatting": "Sin formato" - }, - "fieldContext": { - "editField": "Editar campo", - "deleteField": "Eliminar campo", - "hideField": "Ocultar campo", - "showField": "Mostrar campo", - "changePrimaryField": "Cambiar campo principal" - }, - "fieldForm": { - "name": "Nombre", - "fieldAlreadyExists": "Ya existe un campo con este nombre.", - "nameNotAllowed": "Este nombre de campo no está permitido.", - "nameTooLong": "Este nombre de campo es demasiado largo.", - "addDescription": "Añadir descripción", - "description": "Descripción" - }, - "fieldLookupSubForm": { - "noTable": "Necesita al menos un campo de fila de vínculo para crear un campo de búsqueda.", - "selectThroughFieldLabel": "Seleccione un campo de fila de enlace", - "selectTargetFieldLabel": "Seleccione un campo para buscar" - }, - "fieldFormulaNumberSubForm": { - "typeLabel": "Tipo de número", - "integer": "Entero", - "decimal": "Décimal", - "decimalPlacesLabel": "Lugares decimales", - "allowNegative": "Permitir negativo" - }, - "fieldRatingSubForm": { - "maxValue": "Max", - "color": "Color", - "style": "Estilo" - }, - "rowCreateModal": { - "addField": "Añadir campo" - }, - "selectRowContent": { - "search": "Filas de búsqueda", - "hideFields": "Ocultar campos" - }, - "rowEditModal": { - "addField": "Añadir campo", - "showHiddenFields": "Mostrar campos ocultos", - "hideHiddenFields": "Ocultar campos ocultos" - }, - "rowEditFieldMultipleSelect": { - "addOption": "Escoge una opción" - }, - "rowEditFieldFile": { - "addFile": "Agregar un archivo", - "sizes": { - "0": "Bytes", - "1": "KB", - "2": "MB", - "3": "GB", - "4": "TB", - "5": "PB" - } - }, - "rowEditFieldLinkRow": { - "addLink": "Elige un enlace" - }, - "tableCSVImporter": { - "chooseFileLabel": "Elija el archivo CSV", - "chooseFileDescription": "Puede importar un CSV existente cargando el archivo .CSV con datos tabulares. La mayoría de las aplicaciones de hojas de cálculo le permitirán exportar su hoja de cálculo como un archivo .CSV.", - "chooseFile": "Elija el archivo CSV", - "columnSeparator": "Separador de columnas", - "recordSeparator": "separador de registros", - "unitSeparator": "Separador de unidades", - "encoding": "Codificación", - "firstRowHeader": "La primera fila es el encabezado", - "limitFileSize": "El tamaño máximo de archivo es {limit} MB.", - "limitError": "No es posible importar más de {limit} filas.", - "emptyCSV": "Este archivo CSV está vacío." - }, - "tableForm": { - "name": "Nombre" - }, - "tableXMLImporter": { - "fileLabel": "Elija el archivo XML", - "fileDescription": "Puede importar un XML existente cargando el archivo .XML con datos tabulares, es decir:", - "chooseButton": "Elija el archivo XML", - "processingError": "Ocurrió un error al procesar XML: {errors}", - "emptyError": "Este archivo XML está vacío.", - "limitFileSize": "El tamaño máximo de archivo es {limit} MB.", - "limitError": "No es posible importar más de {limit} filas." - }, - "tableJSONImporter": { - "fileLabel": "Elija el archivo JSON", - "fileDescription": "Puede importar un archivo JSON existente cargando el archivo .json con datos tabulares, es decir:", - "chooseButton": "Elija el archivo JSON", - "encodingLabel": "Codificación", - "processingError": "Ocurrió un error al analizar JSON: {error}", - "arrayError": "El archivo JSON no es una matriz.", - "emptyError": "Este archivo JSON está vacío.", - "limitFileSize": "El tamaño máximo de archivo es {limit} MB.", - "limitError": "No es posible importar más de {limit} filas." - }, - "tablePasteImporter": { - "pasteLabel": "Pegar los datos de la tabla", - "pasteDescription": "Puede copiar las celdas de una hoja de cálculo y pegarlas a continuación.", - "firstRowHeader": "La primera fila es el encabezado", - "limitError": "No es posible importar más de {limit} filas." - }, - "importFileModal": { - "title": "Crear nueva tabla", - "importLabel": "¿Le gustaría importar datos existentes?", - "newTable": "Comenzar con una nueva tabla", - "addButton": "Agregar tabla", - "uploading": "Subiendo...", - "preparing": "Preparando datos...", - "importError": "Algo falló durante la importación del archivo", - "openCreatedTable": "Abrir la tabla creada", - "reportTitleFailure": "Filas fallidas", - "reportTitleSuccess": "Importación exitosa, pero...", - "reportMessage": "No se han podido importar los siguientes índices de fila:", - "stateRowCreation": "Importando...", - "statePreValidation": "Validando datos...", - "showReport": "Mostrar informe de error", - "stateCreateTable": "Creando tabla...", - "additionalImportTitle": "Importar a {tabla}", - "showTable": "mostrar tabla", - "importButton": "Importar", - "fieldMappingTitle": "Cartografía de campo", - "fieldMappingDescription": "Hemos asignado automáticamente las columnas de los campos Baserow en su tabla. Puedes cambiarlas a continuación. Cualquier celda incompatible permanecerá vacía después de la importación.", - "selectImportMessage": "Selecciona los datos que quieras importar.", - "filePreview": "Vista previa del contenido del archivo", - "importPreview": "Vista previa de la importación", - "changeImporterType": "Cambiar el tipo de importación", - "defaultName": "Tabla" - }, - "formulaAdvancedEditContext": { - "textAreaFormulaInputPlaceholder": "Haga clic para editar la fórmula", - "fields": "Campos", - "functions": "Funciones", - "operators": "Operadores", - "fieldType": "Un campo {type}" - }, - "fieldFormulaInitialSubForm": { - "formulaInputPlaceholder": "Haga clic para editar la fórmula", - "refreshFormulaOptions": "Actualizar opciones de fórmula" - }, - "formulaFieldItemDescription": { - "syntax": "Sintaxis", - "examples": "Ejemplos" - }, - "viewSearchContext": { - "searchInRows": "Buscar en todas las filas", - "hideNotMatching": "ocultar filas que no coinciden" - }, - "viewsContext": { - "searchView": "Buscar vistas", - "noViews": "No se encontraron vistas", - "collaborative": "Colaboración" - }, - "viewFilterTypeLinkRow": { - "unnamed": "fila sin nombre {value}", - "choose": "elegir fila" - }, - "viewFilterContext": { - "addFilter": "Añadir filtro", - "disableAllFilters": "Todo impedido", - "noFilterTitle": "Aún no creaste ningún filtro", - "noFilterText": "Los filtros le permiten mostrar filas que se aplican a sus condiciones.", - "where": "Donde", - "and": "Y", - "or": "O", - "relatedFieldNotFound": "El campo relacionado no se encuentra.", - "filterTypeNotFound": "El tipo de filtro no es compatible.", - "noCompatibleFilterTypesErrorTitle": "No hay tipos de filtro compatibles", - "noCompatibleFilterTypesErrorMessage": "Ninguno de sus campos tiene ningún tipo de filtro compatible", - "addFilterGroup": "Añadir grupo de filtros" - }, - "viewFilterTypeFileTypeDropdown": { - "image": "imagen", - "document": "documento" - }, - "createViewModal": { - "createNew": "Crear nueva {view}", - "add": "Añadir {view}" - }, - "shareViewLink": { - "shareView": "Compartir {viewTypeSharingLinkName}", - "shareViewTitle": "Aún no has compartido la vista", - "sharedViewTitle": "Este {viewTypeSharingLinkName} se comparte actualmente a través de un enlace privado", - "sharedViewDescription": "Las personas que tienen el enlace pueden ver {viewTypeSharingLinkName}.", - "disableLink": "Desactivar enlace compartido", - "generateNewUrl": "generar nueva url", - "copyURL": "copiar URL", - "EnablePassword": "Restringir acceso con una contraseña", - "DisablePassword": "El acceso está protegido con contraseña", - "ChangePassword": "Cambiar", - "shareViewText": "El enlace privado compartible permite que cualquiera pueda ver los datos en esta vista.", - "shareViewLinkTitle": "Crear un enlace privado", - "notSharedYetText": "Permitir que cualquiera pueda ver los datos en esta vista o sincronizar eventos con su calendario externo.", - "createPrivateLink": "Crear un enlace privado" - }, - "viewSortContext": { - "noSortTitle": "Todavía no has creado una clasificación", - "noSortText": "Ordenar le permite ordenar filas por un campo.", - "sortBy": "Ordenar por", - "thenBy": "Luego por", - "addSort": "elegir un campo para ordenar por" - }, - "viewSort": { - "sort": "Ordenar | 1 Ordenar | {count} clasifica" - }, - "viewRotateSlugModal": { - "title": "Actualizar URL", - "refreshWarning": "¿Está seguro de que desea actualizar la URL de {viewName}? Después de actualizar, se generará una nueva URL y no será posible acceder a {viewTypeSharingLinkName} a través de la antigua URL. Todas las personas con las que haya compartido la URL no podrán acceder a {viewTypeSharingLinkName}.", - "generateNewURL": "Generar nueva URL" - }, - "viewFieldsContext": { - "coverField": "campo de cobertura", - "noCover": "Sin cobertura", - "search": "Buscar campos", - "hideAll": "Esconder todo", - "showAll": "Mostrar todo" - }, - "viewFilterTypeBoolean": { - "selected": "Seleccionado" - }, - "viewFilter": { - "filter": "Filtro | 1 filtro | {count} filtros", - "hasAllValuesEqual": "tiene todos los valores iguales" - }, - "viewContext": { - "exportView": "Exportar vista", - "renameView": "Renombrar vista", - "webhooks": "Webhooks", - "deleteView": "Eliminar vista", - "importFile": "Importar archivo", - "duplicateView": "Duplicar vista", - "toPersonal": "A personal", - "toCollaborative": "A colaboración" - }, - "deleteViewModal": { - "title": "Eliminar {name}", - "description": "¿Está seguro de que desea eliminar la vista {nombre}? Los datos de la tabla se conservarán, pero se eliminarán los filtros, clasificaciones y anchos de campo relacionados con la vista.", - "delete": "Eliminar vista" - }, - "viewForm": { - "name": "Nombre", - "whoCanEdit": "Quién puede editarlo" - }, - "galleryViewHeader": { - "customizeCards": "Personalizar tarjetas" - }, - "gridViewHide": { - "hideField": "Ocultar campos | 1 campo oculto | {count} campos ocultos" - }, - "gridViewFieldType": { - "insertLeft": "Insertar a la izquierda", - "insertRight": "Insertar a la derecha", - "createFilter": "Crear filtro", - "sortField": "Clasificar", - "hideField": "Ocultar campo", - "duplicate": "Duplicar campo", - "dataSyncField": "El campo es de sólo lectura y forma parte de la sincronización de datos de la tabla." - }, - "gridViewRow": { - "rowNotMatchingFilters": "La fila no coincide con los filtros", - "rowNotMatchingSearch": "La fila no coincide con la búsqueda", - "rowHasMoved": "La fila se ha movido" - }, - "gridView": { - "insertRowAbove": "Insertar fila arriba", - "insertRowBelow": "Insertar fila debajo", - "enlargeRow": "Ampliar fila", - "deleteRow": "Borrar fila", - "rowCount": "Sin filas | 1 fila | {count} filas", - "selectRow": "Seleccionar fila", - "duplicateRow": "Duplicar fila", - "copyCells": "Copiar células", - "deleteRows": "Borrar filas", - "hiddenRowsInsertedTitle": "Filas añadidas", - "hiddenRowsInsertedMessage": "{number} se han añadido filas nuevas, pero no son visibles debido a los filtros activos.", - "copiedRowURLMessage": "La URL de la fila {id} se ha copiado en el portapapeles.", - "copiedRowURL": "URL de la fila copiada", - "copyRowURL": "Copiar URL de fila", - "tooManyItemsTitle": "Demasiados artículos", - "tooManyItemsDescription": "No es posible actualizar más de {limit} filas a la vez, así que sólo actualizamos la primera.", - "generateCellsValues": "Generar valores con IA", - "AIValuesGenerationErrorTitle": "Falló la generación de valor de la IA", - "AIValuesGenerationErrorMessage": "Por favor, comprueba tu API_KEY y verifica el modelo seleccionado.", - "copyCellsWithHeader": "Copiar celdas con encabezado" - }, - "gridViewFieldLinkRow": { - "unnamed": "fila sin nombre {value}" - }, - "gridViewIdentifierOptions": { - "id": "Identificador de fila", - "count": "Número de filas" - }, - "previewAny": { - "externalWarning": "Abrir su archivo a través de un servicio externo expone su archivo a sus servidores." - }, - "exportTableModal": { - "failedTitle": "Exportación fallida", - "failedDescription": "La exportación falló debido a un error del servidor.", - "cancelledTitle": "Exportación cancelada", - "cancelledDescription": "La exportación fue cancelada.", - "title": "Exportar {name}" - }, - "exporterTypeChoices": { - "formatLabel": "¿A qué formato le gustaría exportar?" - }, - "exportTableForm": { - "viewLabel": "Seleccione la vista para exportar:", - "typeError": "No hay ningún tipo de exportador disponible, seleccione una vista diferente o la tabla completa." - }, - "exportTableLoadingBar": { - "export": "Exportar", - "download": "Descargar" - }, - "exportTableDropdown": { - "exportEntireTable": "Exportar toda la tabla" - }, - "tableCSVExporter": { - "columnSeparatorLabel": "Separador de columnas", - "recordSeparator": "separador de registros", - "unitSeparator": "Separador de unidades", - "encodingLabel": "Codificación", - "firstRowIsHeaderLabel": "La primera fila es el encabezado", - "includeHeader": "Incluir nombres de campos como encabezado" - }, - "apiDocsDatabase": { - "pageTitle": "Documentación de la API de la base de datos de {name}", - "back": "volver al tablero", - "openDatabase": "base de datos abierta" - }, - "apiDocsComponent": { - "title": "REST API", - "intro": "Una vez que haya creado el esquema de su base de datos y la clave API en {settingsLink}, su base de datos Baserow proporciona sus propios puntos finales de API REST para crear, leer, actualizar y eliminar filas.", - "settings": "ajustes", - "selectApplicationTitle": "¿Para qué base de datos desea ver la documentación?", - "signIn": "inicia sesión para empezar", - "back": "volver al tablero" - }, - "viewAggregationType": { - "emptyCount": "Vacio", - "notEmptyCount": "Lleno", - "emptyPercentage": "Porcentaje vacío", - "notEmptyPercentage": "Porcentaje lleno", - "checkedCount": "Comprobado", - "notCheckedCount": "Desenfrenado", - "checkedPercentage": "Porcentaje marcado", - "notCheckedPercentage": "Porcentaje sin marcar", - "min": "Min", - "max": "Max", - "earliestDate": "Fecha más temprana", - "earliestDateShort": "Más temprano", - "latestDate": "fecha más reciente", - "latestDateShort": "Más reciente", - "uniqueCount": "Único", - "sum": "Sum", - "average": "Promedio", - "median": "Median", - "stdDev": "Desviación Estándar", - "stdDevShort": "Desviación Estándar", - "variance": "Diferencia" - }, - "databaseForm": { - "importLabel": "¿Le gustaría importar datos existentes?", - "emptyLabel": "Empezar desde el principio", - "airtableLabel": "Importar desde Airtable (beta)" - }, - "importFromAirtable": { - "airtableShareLinkTitle": "Comparte un enlace a tu Base", - "airtableShareLinkDescription": "Para importar su base Airtable, debe tener un enlace compartido a toda su base. En Airtable, haz clic en el botón de compartir en la esquina superior derecha después de abrir tu base. Luego de eso debes elegir la opción \"Acceso a la base\". En el modal de compartir, puede hacer clic en el botón \"Crear un enlace compartido para toda la base\" y luego en \"Enlace privado de solo lectura\". Copie el enlace público y péguelo en la entrada a continuación.", - "airtableShareLinkBeta": "Tenga en cuenta que esta función está en versión beta, sus tablas, campos (excepto fórmula, búsqueda y recuento) y datos se importarán. Sus vistas no se importarán.", - "airtableShareLinkPaste": "Pega el enlace aquí", - "importButtonLabel": "Importar desde Airtable", - "openButtonLabel": "Abrir base de datos importada", - "importError": "Algo salió mal", - "statePending": "Esperando para empezar", - "stateFailed": "Fallido", - "stateFinished": "Terminado", - "stateDownloadingBase": "Descargando el esquema base", - "stateConverting": "Conversión a Baserow", - "stateDownloadingFiles": "Descargando archivos", - "stateImporting": "Importando", - "stateImportingTable": "Importando tabla {table}", - "errorJobAlreadyRunningTitle": "Ya corriendo", - "errorJobAlreadyRunningDescription": "Ya se está ejecutando otro trabajo de importación. Tienes que esperar a que termine antes de empezar otro.", - "linkError": "El enlace debería parecerse así: https://airtable.com/shrxxxxxxxxxxxxxx" - }, - "viewDecorator": { - "decorator": "Color | 1 Color | {recuento} Colores" - }, - "chooseSingleSelectField": { - "addSelectField": "Añadir campo de selección individual", - "warningWhenNothingToChooseOrCreate": "No hay campos de selección únicos para elegir y no tienes permisos para hacer uno." - }, - "viewDecoratorContext": { - "addDecorator": "Añadir decorador" - }, - "shareViewEnablePasswordModal": { - "newPasswordTitle": "Introduce una contraseña", - "newPasswordDescription": "El enlace público sólo será accesible después de introducir la contraseña. Esta contraseña se guardará encriptada.", - "changePasswordTitle": "Cambiar contraseña", - "changePasswordDescription": "Al cambiar la contraseña, la anterior dejará de funcionar. Esta contraseña se guardará encriptada.", - "changePasswordSave": "Cambiar contraseña", - "newPasswordSave": "Establecer contraseña" - }, - "shareViewDisablePasswordModal": { - "title": "Desactivar la protección de contraseña", - "description": "¿Estás seguro que quieres desactivar la protección por contraseña de este enlace público? Al desactivarla, la contraseña se borrará y no será posible recuperarla", - "disable": "Desactivar" - }, - "publicViewAuthLogin": { - "title": "Esta página está protegida por contraseña", - "description": "Introduce la contraseña correcta para acceder a la página.", - "enter": "Entrar", - "error": { - "incorrectPasswordTitle": "Contraseña incorrecta", - "incorrectPasswordText": "La contraseña proporcionada es incorrecta." - } - }, - "apiDocsTableDeleteRows": { - "description": "Elimina las filas existentes de {nombre}.", - "items": "Una matriz de identificadores de fila que deben ser eliminados." - }, - "apiDocsTableUpdateRows": { - "description": "Actualiza filas existentes de {nombre}.", - "id": "La identificación de la fila." - }, - "apiDocsTableCreateRows": { - "description": "Crear nuevas filas de {nombre}.", - "before": "Si se proporciona, las filas recién creadas se posicionarán antes de la fila con la identificación proporcionada." - }, - "importer": { - "parsing": "Análisis de datos", - "preparing": "Preparando datos", - "inProgress": "En proceso...", - "loading": "Cargando el archivo", - "decoding": "Descodificando datos", - "fieldDefaultName": "Campo {conteo}" - }, - "formViewMeta": { - "includeRowId": "Utiliza {row_id} para incluir el id de la fila recién creada en el URL." - }, - "databaseDashboardSidebarLinks": { - "apiDocumentation": "Documentación del API" - }, - "formViewField": { - "required": "requerido", - "showWhenMatchingConditions": "mostrar cuando se cumplen las condiciones", - "addCondition": "Añadir condición", - "descriptionPlaceholder": "Descripción", - "addConditionGroup": "Añadir grupo de condiciones", - "showFieldAs": "Mostrar campo como", - "includeAllSelectOptions": "Incluir todas las opciones seleccionadas", - "includeAllSelectOptionsHelper": "Elige las opciones de selección que deben incluirse en el formulario utilizando este desplegable", - "noSelectOptions": "No hay opciones de selección disponibles." - }, - "duplicateFieldContext": { - "duplicate": "Duplicar campo", - "cloneData": "Copiar datos", - "soon": "Disponible pronto", - "readOnlyField": "Los valores de las células se rellenarán automáticamente." - }, - "fieldmultipleCollaboratorsDropdown": { - "notFound": "Colaborador no encontrado" - }, - "gridViewFieldFile": { - "dropFileHere": "Suelta los archivos aquí", - "dropHere": "Dejar caer aquí" - }, - "snapshotsModal": { - "createLabel": "Crear una nueva imagen instantánea", - "create": "Crear instantánea", - "snapshotRestoredErrorTitle": "Se ha producido un error", - "snapshotRestoredErrorMessage": "La instantánea no ha podido ser restaurada. Favor de intentarlo más tarde.", - "snapshotDeletedErrorTitle": "Se ha producido un error", - "snapshotDeletedErrorMessage": "La imagen no ha podido ser eliminada. Favor de intentarlo otra vez mas tarde.", - "title": "imágenes", - "description": "Las instantáneas son una copia completa de tu {nombre_aplicacion_tipo} del momento en que fueron creadas. Al restaurarlas se creará una duplicación de esos datos. Las instantáneas se eliminan automáticamente al cabo de un año.", - "descriptionLimits": "Puedes tener un máximo de {n} instantáneas por espacio de trabajo. | Puedes tener un máximo de {n} instantáneas por espacio de trabajo. | Puedes tener un máximo de {n} instantáneas por espacio de trabajo.", - "snapshot": "Imagen", - "limitReached": "Se ha alcanzado el límite de imágenes máximas.", - "importingState": "Creando", - "reset": "Crear otra", - "cancel": "Cancelar", - "noSnapshots": "Aún no hay instantáneas de esta aplicación." - }, - "deleteSnapshotModal": { - "content": "¿Estás seguro de que quieres eliminar permanentemente la imagen instantánea {nombre}?", - "confirm": "Borrar", - "title": "Borrar imagen instantánea" - }, - "snapshotListItem": { - "restore": "restaurar", - "delete": "borrar", - "created": "creada" - }, - "formViewModeType": { - "form": "Forma", - "formDescription": "Todos los campos son visibles y se apilan verticalmente." - }, - "formViewHeader": { - "mode": "Modo", - "preview": "Vista previa", - "fields": "Campos" - }, - "formViewModePreviewForm": { - "addCoverImage": "Agregar una imagen de portada", - "addLogo": "Añadir un logo", - "noFields": "Este formulario no tiene ningún campo. Haz clic en un campo de la barra lateral izquierda para añadir uno.", - "titlePlaceholder": "Título", - "descriptionPlaceholder": "Descripción" - }, - "table": { - "chooseView": "Elige la vista", - "adjacentRow": { - "notification": { - "error": { - "title": "Se ha producido un error", - "message": "Se ha producido un error al recuperar la fila adyacente" + "webhookModal": { + "title": "Webhooks de {name}", + "createWebhook": "Crear webhook", + "backToList": "volver a la lista" + }, + "deleteWebhookModal": { + "title": "Eliminar {webhookName}", + "deleteButton": "Eliminar webhook", + "body": "¿Está seguro de que desea eliminar este webhook? No podrá restaurarlo más tarde." + }, + "webhookList": { + "noWebhooksMessage": "Aún no ha creado ningún webhook. Los webhooks se pueden usar para informar a los sistemas de terceros cuando se ha creado, actualizado o eliminado una fila en Baserow." + }, + "testWebhookModal": { + "title": "Webhook de prueba", + "unreachable": "Servidor inalcanzable" + }, + "webhookForm": { + "inputLabels": { + "name": "Nombre", + "value": "Valor", + "requestMethod": "Metodo", + "url": "URL", + "userFieldNames": "Nombres de campo de usuario", + "events": "¿Qué eventos deberían desencadenar este webhook?", + "headers": "Encabezados adicionales", + "example": "Ejemplo de carga útil" }, - "notFound": { - "next": { - "title": "No hay más filas", - "message": "No hay ninguna fila siguiente" - }, - "previous": { - "title": "No hay más filas", - "message": "No hay fila anterior" - } - } - }, - "toast": { - "notFound": { - "previous": { - "message": "No hay fila anterior", - "title": "No hay más filas" - }, - "next": { - "title": "No hay más filas", - "message": "No hay siguiente fila" - } + "errors": { + "urlField": "Este campo es obligatorio y debe ser una URL válida.", + "invalidHeaders": "Uno de los encabezados no es válido." + }, + "checkbox": { + "sendUserFieldNames": "Usar nombre de campo en lugar de id" + }, + "radio": { + "allEvents": "Envíame todo", + "customEvents": "Déjame seleccionar eventos individuales" + }, + "triggerButton": "Activar webhook de prueba", + "deactivated": { + "title": "El webhook está desactivado", + "content": "Este webhook se ha desactivado porque ha habido demasiados errores consecutivos. Consulte el registro de llamadas para obtener más detalles. Haga clic en el botón de abajo para activarlo de nuevo. No olvide guardar el webhook después de activarlo.", + "activate": "Activar" + }, + "deprecatedEventType": { + "title": "Tipo de evento obsoleto", + "description": "Este webhook no recibe información sobre todas las filas modificadas al mismo tiempo. Por favor conviértelo a un tipo de evento de tipo batch. Esto cambia la carga útil del cuerpo JSON a un formato que contiene múltiples filas.", + "convert": "Convertir" }, + "helpTriggerWhenFieldsHaveChanged": "Solo se activará si cambia el valor de la celda de los campos elegidos.", + "triggerWhenFieldsHaveChanged": "Activar cuando los campos hayan cambiado" + }, + "webhook": { + "details": "detalles", + "lastCall": "Última llamada: {lastCallTime}", + "noCalls": "No se hicieron llamadas", + "callLog": "registro de llamadas", + "triggerDescription": "Disparadores en cada evento | Se activa el evento {count} | Disparadores en {count} eventos" + }, + "createWebhook": { + "errorTableWebhookMaxLimitExceededTitle": "Max webhooks excedidos", + "errorTableWebhookMaxLimitExceededDescription": "No se puede crear el webhook porque se excedió la cantidad máxima de webhooks por tabla." + }, + "sidebar": { + "viewAPI": "Ver documentos API", + "createTable": "Nueva mesa" + }, + "sidebarItem": { + "exportTable": "Exportar tabla", + "webhooks": "Webhooks", + "lastSynced": "Última sincronización", + "notSynced": "No sincronizado", + "sync": "Sincronizar tabla", + "updateSyncConfig": "Actualizar la configuración de sincronización" + }, + "apiToken": { + "create": "crear", + "read": "leer", + "update": "actualizar", + "delete": "eliminar", + "tokenPrefix": "Token:", + "viewAPIDocs": "Ver la documentación de la API", + "generateNewToken": "Generar nuevo token", + "showOrHide": "Mostrar u ocultar el token", + "copyToClipboard": "Copiar al portapapeles", + "showDatabases": "mostrar bases de datos" + }, + "apiTokenSettings": { + "title": "Tokens de bases de datos", + "createToken": "Crear token", + "noTokensMessage": "Aún no ha creado un token de base de datos. Puede usar tokens de base de datos para autenticarse con los puntos finales de la API REST donde puede crear, leer, actualizar y eliminar filas. Es posible establecer permisos a nivel de tabla.", + "hasFullPermissions": "Tiene permisos completos, también para todos los niños.", + "hasOnlySelectedPermissions": "Solo tiene permisos para los niños seleccionados.", + "noPermissions": "No tiene permisos.", + "createNewTitle": "Crear nuevo token de la base de datos", + "backToOverview": "De regreso a la visión general" + }, + "apiTokenForm": { + "nameLabel": "Nombre", + "workspaceLabel": "Grupo" + }, + "apiDocsSelectDatabase": { + "needOneDatabase": "Debe tener al menos una base de datos para ver la documentación de la API." + }, + "apiDocsExample": { + "requestSample": "Solicitar muestra", + "responseSample": "Muestra de respuesta", + "userFieldNames": "Nombres de campo de usuario" + }, + "apiDocsParameter": { + "optional": "opcional", + "defaultValue": "Default: {value}" + }, + "apiDocsTableGetRow": { + "description": "Obtenga una sola fila {name}.", + "rowId": "El identificador único de la fila que se solicita." + }, + "apiDocsErrors": { + "errorCode": "Código de error", + "name": "Nombre", + "description": "Descripción", + "okDescription": "Solicitud completada con éxito.", + "badRequestDescription": "La solicitud contiene valores no válidos o no se pudo analizar el JSON.", + "unauthorizedDescription": "Cuando intenta acceder a un punto final sin un token de la base de datos válido.", + "notFoundDescription": "No se encuentra la fila o la tabla.", + "requestEntityTooLargeDescription": "La solicitud superó el tamaño de carga útil máximo permitido.", + "internalErrorDescription": "El servidor encontró una condición inesperada.", + "badGatewayDescription": "Baserow se está reiniciando o hay una interrupción inesperada en curso.", + "unavailableDescription": "El servidor no pudo procesar su solicitud a tiempo." + }, + "apiDocsTableFields": { + "tableTitle": "{name} tabla", + "tableId": "El ID de esta tabla es:", + "description": "Cada fila de la tabla {name} contiene los siguientes campos.", + "id": "ID", + "name": "Nombre", + "type": "Tipo", + "compatibleFilters": "Filtros compatibles" + }, + "apiDocsTableListRows": { + "description": "Para enumerar las filas en la tabla *{name}*, se debe realizar una solicitud `GET` al extremo *{name}*. La respuesta está paginada y, de forma predeterminada, se devuelve la primera página. La página correcta se puede obtener proporcionando los parámetros de consulta `página` y `tamaño`.", + "page": "Define qué página de filas debe devolverse.", + "size": "Define cuántas filas se deben devolver por página.", + "userFieldNames": "Cuando se proporciona cualquier valor para el parámetro GET `user_field_names`, los nombres de campo devueltos por este extremo serán los nombres reales de los campos.\n\nSi no se proporciona el parámetro GET `user_field_names`, todos los nombres de campo devueltos serán `field_` seguidos de la identificación del campo. Por ejemplo, `field_1` se refiere al campo con una identificación de `1`.\n\nAdemás, cuando se establece `user_field_names`, cambia el comportamiento de los otros parámetros GET `order_by`, `include` y `exclude`. En su lugar, esperan listas separadas por comas de los nombres de campo reales.", + "search": "Si se proporcionan, solo se devolverán las filas con datos que coincidan con la consulta de búsqueda.", + "orderBy": "Opcionalmente se pueden ordenar las filas por campos separados por coma. De forma predeterminada o si se antepone un '+', un campo se ordena en orden ascendente (A-Z), pero al anteponer el campo con un '-' se puede ordenar de forma descendente (Z-A).\n\n #### Con `user_field_names`:\n\n `order_by` debe ser una lista separada por comas de los nombres de los campos por ordenar. Por ejemplo, si proporciona el siguiente parámetro GET `order_by=My Field,-My Field 2`, las filas se ordenarán por el campo llamado `My Field` en orden ascendente. Si algunos campos tienen el mismo valor, ese subconjunto se ordenará por el campo llamado `Mi campo 2` en orden descendente.\n\n Asegúrese de que los campos con nombres que comienzan con `+` o `-` estén explícitamente precedidos por otro `+` o `-`. Por ejemplo, `+-Nombre`.\n\n El nombre de los campos que contienen comas debe estar entre comillas: `\"Nombre,\"`. Si los nombres de los campos contienen comillas, deben escaparse con el carácter `\\`. Ej: `Nombre\\\"`.\n\n#### Sin `user_field_names`:\n\n `order_by` debe ser una lista separada por comas de `field_` seguida de la identificación del campo por el que ordenar. Por ejemplo, si proporciona el siguiente parámetro GET `order_by=field_1,-field_2`, las filas se ordenarán por `field_1` en orden ascendente. Si algunos campos tienen el mismo valor, ese subconjunto se ordenará por `field_2` en orden descendente.", + "filter": "Las filas pueden filtrarse opcionalmente usando los mismos filtros de vista que están disponibles para las vistas. Se pueden aplicar varios filtros si siguen el mismo formato. Las variables `field` y `filter` indican, respectivamente, cómo y dónde aplicar el filtro.\n\n#### Con `user_field_names`:\n\nPor ejemplo, si proporcionas opcionalmente el siguiente parámetro GET: `filter__Name__equal=test`, solo se devolverán las filas cuyo valor en `Name` sea igual a `test`. Este método es retrocompatible y, si falla al buscar por nombre, verificará contra `field_id`.\n\n### Sin `user_field_names`:\n\nPor ejemplo, si proporcionas opcionalmente el siguiente parámetro GET: `filter__field_1__equal=test`, solo se devolverán las filas cuyo valor en `field_1` sea igual a `test`.\n\nTen en cuenta que, si se proporciona el parámetro filters, este parámetro será ignorado. ", + "filterLink": "Puede encontrar una lista de todos los filtros aquí.", + "filterType": "- `Y`: Indica que las filas deben coincidir con todos los filtros proporcionados.\n- `OR`: Indica que las filas solo tienen que coincidir con uno de los filtros.\n\n Esto funciona solo si se proporcionan dos o más filtros.", + "include": "Todos los campos se incluyen en la respuesta de forma predeterminada. Puede seleccionar un subconjunto de campos para incluir proporcionando el parámetro de consulta de inclusión.\n\n #### Con `user_field_names`:\n\n `include` debe ser una lista separada por comas de nombres de campos que se incluirán en los resultados. Por ejemplo, si proporciona el siguiente parámetro GET: `include=My Field,-My Field 2`, solo se incluirán esos campos (a menos que se excluyan explícitamente).\n\n El nombre de los campos que contienen comas debe estar entre comillas: `\"Nombre,\"`. Si los nombres de los campos contienen comillas, deben escaparse con el carácter `\\`. Ej: `Nombre\\\"`.\n\n #### Sin `user_field_names`:\n\n `include` debe ser una lista separada por comas de `field_` seguida de la identificación del campo para incluir en los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `exclude=field_1,field_2`, los campos con id `1` e id `2` solo se incluirán esos campos (a menos que se excluyan explícitamente).", + "exclude": "Todos los campos se incluyen en la respuesta de forma predeterminada. Puede seleccionar un subconjunto de campos para excluir proporcionando el parámetro de consulta de exclusión.\n\n #### Con `user_field_names`:\n\n `excluir` debe ser una lista separada por comas de nombres de campos que se excluirán de los resultados. Por ejemplo, si proporciona el siguiente parámetro GET: `exclude=My Field,-My Field 2`, esos campos se excluirán.\n\n El nombre de los campos que contienen comas debe estar entre comillas: `\"Nombre,\"`. Si los nombres de los campos contienen comillas, deben escaparse con el carácter `\\`. Ej: `Nombre\\\"`.\n\n #### Sin `user_field_names`:\n\n `exclude` debe ser una lista separada por comas de `field_` seguida de la identificación del campo para excluir de los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `exclude=field_1,field_2`, los campos con id `1` e id `2` se excluirán.", + "viewId": "Por defecto, no se aplica ningún filtro ni ordenación fuera de los definidos en los parámetros. Puedes añadir los filtros y ordenaciones de una vista proporcionando su `id` en el parámetro GET `view_id`. Por ejemplo, si proporcionas el siguiente parámetro GET `view_id=1`, se aplicarán los filtros y ordenaciones definidos en la vista con id `1`. Puede encontrar el `view_id` en el menú contextual de cualquier vista. Es el número entre paréntesis detrás del nombre de la vista. \n\n#### Con `filtro__{campo}__{filtro}`\n\nSe aplicará tanto el filtro proporcionado en el parámetro de consulta como los filtros definidos en la vista.\n\n#### Con `order_by`\n\nSi se proporciona `order_by` se ignorará la ordenación definida en la vista.", + "filtersBuilder": "Abrir el creador de parámetros de filtros", + "filters": "Las filas se pueden filtrar opcionalmente utilizando los mismos filtros de vista que están disponibles para las vistas. Este parámetro acepta una cadena serializada JSON que contiene el árbol de filtros a aplicar a esta vista. El árbol de filtros es una estructura anidada que contiene los filtros que deben aplicarse. \n\n#### Con `nombres_campo_usuario`:\n\nUn ejemplo de árbol de filtros válido es el siguiente: `{'{'}\"filter_type\": \"AND\", \"filters\": [{'{'}\"field\": \"Name\", \"type\": \"equal\", \"value\": \"test\"{'}'}]{'}'}`.\n\n#### Sin `nombres_campo_usuario`:\n\nPor ejemplo, si proporcionas opcionalmente el siguiente parámetro GET: `{'{'}\"filter_type\": \"AND\", \"filters\": [{'{'}\"field\": 1, \"type\": \"equal\", \"value\": \"test\"{'}'}]{'}'}`.\n\nTen en cuenta que si proporcionas este parámetro, se ignorarán todos los demás `filter__{'{'}field{'}'}__{'{'}filter{'}'}`, así como el parámetro tipo_filtro.", + "join": "Permite solicitar una búsqueda de valores de campo de una tabla de destino a través de campos de fila de vínculo existentes. El nombre del parámetro debe ser el nombre de un campo de fila de vínculo existente, seguido de __join. El valor debe ser una lista de nombres de campos para los que deseamos buscar valores adicionales. Puede proporcionar uno o varios campos de destino. No es posible buscar un valor de un campo de fila de vínculo en la tabla de destino.\n\n #### Con `user_field_names`:\n\n `join` debe ser una lista separada por comas de nombres de campos que se incluirán en los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `LinkRowField__join=MyField,MyField2`, los valores de `MyField` y `My Field2` en la tabla vinculada por `LinkRowField` se incluirán en la respuesta.\n\n#### Sin `user_field_names`:\n\n `join` debe ser una lista separada por comas de `field_` seguida del id del campo que se incluirá en los resultados. Por ejemplo: si proporciona el siguiente parámetro GET `field_1__join=field_2,field_3`, los valores de `field_2` y `field_3` en la tabla vinculada por `field_1` se incluirán en la respuesta." + }, + "apiDocsIntro": { + "intro": "La base de datos {name} proporciona una manera fácil de integrar los datos con cualquier sistema externo. La API sigue la semántica REST, utiliza JSON para codificar objetos y se basa en códigos HTTP estándar, errores de lectura humana y mecánica para señalar los resultados de las operaciones.", + "autoDocDescription": "Esta documentación se genera automáticamente en base a las tablas y campos que se encuentran en su base de datos. Si realiza cambios en su base de datos, tabla o campos, es posible que la interfaz API también haya cambiado. Por lo tanto, asegúrese de actualizar la implementación de su API en consecuencia.", + "databaseId": "El ID de esta base de datos es:", + "jsClient": "Cliente API de ejemplo de Javascript:", + "pythonClient": "Cliente API de ejemplo de Python:" + }, + "apiDocsTableListFields": { + "description": "Para enumerar los campos de la tabla {name}, se debe realizar una solicitud `GET` al extremo de los campos {name}. Solo es posible enumerar los campos si el token de la base de datos tiene permisos de lectura, creación o actualización.", + "resultFieldProperties": "Propiedades del campo de resultado", + "id": "Clave principal del campo. Se puede usar para generar el nombre de la columna de la base de datos agregando el prefijo `field_`.", + "name": "Nombre del campo.", + "tableId": "ID de tabla relacionada.", + "order": "Orden de campos en la tabla. 0 para el primer campo.", + "primary": "Indica si el campo es un campo principal. Si es `verdadero`, el campo no se puede eliminar y el valor debe representar la fila completa.", + "type": "Tipo definido para este campo.", + "extraProps": "Algunas propiedades adicionales no se describen aquí porque son específicas del tipo.", + "readOnly": "Indica si el campo es de sólo lectura. Si es cierto, no es posible actualizar el valor de la celda.", + "descriptionField": "Campo descripción" + }, + "apiDocsTableDeleteRow": { + "description": "Elimina una fila {name} existente.", + "rowId": "El identificador único de la fila que debe eliminarse." + }, + "apiDocsTableMoveRow": { + "description": "Mueve una fila {name} existente antes de otra fila. Si no se proporciona `before_id`, la fila se moverá al final de la tabla.", + "rowId": "Mueve la fila relacionada con el valor.", + "before": "Mueve la fila relacionada con el `row_id` dado antes de la fila relacionada con el valor proporcionado. Si no se proporciona, la fila se moverá al final." + }, + "apiDocsTableUpdateRow": { + "description": "Actualiza una fila {name} existente.", + "rowId": "El identificador único de la fila que debe actualizarse.", + "before": "Si se proporciona, la fila recién creada se colocará antes de la fila con la identificación proporcionada." + }, + "apiDocsTableCreateRow": { + "description": "Crear una nueva fila {name}.", + "before": "Si se proporciona, la fila recién creada se colocará antes de la fila con la identificación proporcionada." + }, + "apiDocsAuth": { + "description": "Baserow utiliza una autenticación simple basada en tokens. Es necesario generar al menos un token de base de datos en su {settingsLink} para utilizar los endpoints descritos a continuación. Es posible dar permisos de creación, lectura, actualización y eliminación hasta el nivel de tabla por token. Puede autenticarse en la API proporcionando su token en la cabecera HTTP authorization bearer token. Todas las solicitudes de la API deben ser autenticadas y realizadas a través de HTTPS.", + "settingsLink": "ajustes" + }, + "apiDocsFilters": { + "filter": "Filtro", + "exampleValue": "Valor de ejemplo", + "example": "Ejemplo completo", + "field": "campo {name}", + "deprecated": "obsoleto" + }, + "fieldTextSubForm": { + "placeholder": "Texto predeterminado" + }, + "fieldSingleSelectSubForm": { + "optionsLabel": "Opciones", + "defaultOptionLabel": "Opción predeterminada" + }, + "fieldSingleSelectDropdown": { + "notFound": "Opción no encontrada" + }, + "fieldDateSubForm": { + "dateFormatLabel": "Formato de fecha", + "dateFormatEuropean": "Europeo", + "dateFormatUS": "EUA", + "dateFormatISO": "ISO", + "includeTimeLabel": "Incluir tiempo", + "timeFormatLabel": "Formato de tiempo", + "24Hour": "24 horas", + "12Hour": "12 horas", + "showTimezoneLabel": "Mostrar la zona horaria", + "forceTimezoneLabel": "Establecer la zona horaria para todos los colaboradores", + "subTimezoneOffsetLabel": "Convertir valores (restar {utcOffsetDiff} minutos)", + "forceTimezoneValue": "Zona horaria", + "addTimezoneOffsetLabel": "Convertir valores (añadir {utcOffsetDiff} minutos)" + }, + "fieldLinkRowSubForm": { + "noTable": "Necesita al menos otra tabla en la misma base de datos para vincular.", + "selectTableLabel": "Seleccione una tabla para vincular", + "hasRelatedFieldLabel": "Crear campo relacionado en la tabla vinculada", + "limitToView": "Limitar la selección para mostrar", + "limitToViewDescription": "Ten en cuenta que esto es solo visual. Aún es posible establecer relaciones fuera de la vista mediante la tabla relacionada o la API.", + "allowMultipleRelations": "Permitir múltiples relaciones" + }, + "fieldSelectOptions": { + "add": "Añadir una opción" + }, + "fieldNumberSubForm": { + "typeLabel": "Tipo de número", + "integer": "Entero", + "decimal": "Décimal", + "decimalPlacesLabel": "Lugares decimales", + "allowNegative": "Permitir negativo", + "prefixPlaceholder": "Prefijo", + "suffixPlaceholder": "Sufijo", + "prefixAndSuffixLabel": "Prefijo / sufijo", + "spaceComma": "Espacio, coma (1 000 000,00)", + "spacePeriod": "Espacio, periodo (1 000 000,00)", + "periodComma": "Punto, coma (1.000.000,00)", + "separatorLabel": "Separador de miles y decimales", + "commaPeriod": "Coma, punto (1.000.000,00)", + "noFormatting": "Sin formato", + "defaultValueLabel": "Valor predeterminado", + "defaultValuePlaceholder": "Introduce un valor predeterminado" + }, + "fieldContext": { + "editField": "Editar campo", + "deleteField": "Eliminar campo", + "hideField": "Ocultar campo", + "showField": "Mostrar campo", + "changePrimaryField": "Cambiar campo principal" + }, + "fieldForm": { + "name": "Nombre", + "fieldAlreadyExists": "Ya existe un campo con este nombre.", + "nameNotAllowed": "Este nombre de campo no está permitido.", + "nameTooLong": "Este nombre de campo es demasiado largo.", + "addDescription": "Añadir descripción", + "description": "Descripción", + "dbIndex": "Índice", + "dbIndexError": "Este tipo de campo no puede tener un índice. Por favor, elimínalo antes de guardar o cambia el tipo de campo.", + "dbIndexDescription": "Indexar puede mejorar significativamente el rendimiento del filtrado, pero ralentiza las operaciones de creación, actualización y eliminación.", + "defaultValueDisabledByConstraint": "No se puede establecer un valor predeterminado con una restricción de valor único", + "dbIndexDisabledTooltip": "La indexación no está disponible para este tipo de campo." + }, + "fieldLookupSubForm": { + "noTable": "Necesita al menos un campo de fila de vínculo para crear un campo de búsqueda.", + "selectThroughFieldLabel": "Seleccione un campo de fila de enlace", + "selectTargetFieldLabel": "Seleccione un campo para buscar" + }, + "fieldFormulaNumberSubForm": { + "typeLabel": "Tipo de número", + "integer": "Entero", + "decimal": "Décimal", + "decimalPlacesLabel": "Lugares decimales", + "allowNegative": "Permitir negativo" + }, + "fieldRatingSubForm": { + "maxValue": "Max", + "color": "Color", + "style": "Estilo" + }, + "rowCreateModal": { + "addField": "Añadir campo" + }, + "selectRowContent": { + "search": "Filas de búsqueda", + "hideFields": "Ocultar campos" + }, + "rowEditModal": { + "addField": "Añadir campo", + "showHiddenFields": "Mostrar campos ocultos", + "hideHiddenFields": "Ocultar campos ocultos" + }, + "rowEditFieldMultipleSelect": { + "addOption": "Escoge una opción" + }, + "rowEditFieldFile": { + "addFile": "Agregar un archivo", + "sizes": { + "0": "Bytes", + "1": "KB", + "2": "MB", + "3": "GB", + "4": "TB", + "5": "PB" + } + }, + "rowEditFieldLinkRow": { + "addLink": "Elige un enlace", + "keepOnlyOneValue": "Mantén solo un valor. Este campo solo admite una relación. El valor se guarda si queda únicamente una relación." + }, + "tableCSVImporter": { + "chooseFileLabel": "Elija el archivo CSV", + "chooseFileDescription": "Puede importar un CSV existente cargando el archivo .CSV con datos tabulares. La mayoría de las aplicaciones de hojas de cálculo le permitirán exportar su hoja de cálculo como un archivo .CSV.", + "chooseFile": "Elija el archivo CSV", + "columnSeparator": "Separador de columnas", + "recordSeparator": "separador de registros", + "unitSeparator": "Separador de unidades", + "encoding": "Codificación", + "firstRowHeader": "La primera fila es el encabezado", + "limitFileSize": "El tamaño máximo de archivo es {limit} MB.", + "limitError": "No es posible importar más de {limit} filas.", + "emptyCSV": "Este archivo CSV está vacío." + }, + "tableForm": { + "name": "Nombre" + }, + "tableXMLImporter": { + "fileLabel": "Elija el archivo XML", + "fileDescription": "Puede importar un XML existente cargando el archivo .XML con datos tabulares, es decir:", + "chooseButton": "Elija el archivo XML", + "processingError": "Ocurrió un error al procesar XML: {errors}", + "emptyError": "Este archivo XML está vacío.", + "limitFileSize": "El tamaño máximo de archivo es {limit} MB.", + "limitError": "No es posible importar más de {limit} filas." + }, + "tableJSONImporter": { + "fileLabel": "Elija el archivo JSON", + "fileDescription": "Puede importar un archivo JSON existente cargando el archivo .json con datos tabulares, es decir:", + "chooseButton": "Elija el archivo JSON", + "encodingLabel": "Codificación", + "processingError": "Ocurrió un error al analizar JSON: {error}", + "arrayError": "El archivo JSON no es una matriz.", + "emptyError": "Este archivo JSON está vacío.", + "limitFileSize": "El tamaño máximo de archivo es {limit} MB.", + "limitError": "No es posible importar más de {limit} filas." + }, + "tablePasteImporter": { + "pasteLabel": "Pegar los datos de la tabla", + "pasteDescription": "Puede copiar las celdas de una hoja de cálculo y pegarlas a continuación.", + "firstRowHeader": "La primera fila es el encabezado", + "limitError": "No es posible importar más de {limit} filas." + }, + "importFileModal": { + "title": "Crear nueva tabla", + "importLabel": "¿Le gustaría importar datos existentes?", + "newTable": "Comenzar con una nueva tabla", + "addButton": "Agregar tabla", + "uploading": "Subiendo...", + "preparing": "Preparando datos...", + "importError": "Algo falló durante la importación del archivo", + "openCreatedTable": "Abrir la tabla creada", + "reportTitleFailure": "Filas fallidas", + "reportTitleSuccess": "Importación exitosa, pero...", + "reportMessage": "No se han podido importar los siguientes índices de fila:", + "stateRowCreation": "Importando...", + "statePreValidation": "Validando datos...", + "showReport": "Mostrar informe de error", + "stateCreateTable": "Creando tabla...", + "additionalImportTitle": "Importar a {tabla}", + "showTable": "mostrar tabla", + "importButton": "Importar", + "fieldMappingTitle": "Cartografía de campo", + "fieldMappingDescription": "Hemos asignado automáticamente las columnas de los campos Baserow en su tabla. Puedes cambiarlas a continuación. Cualquier celda incompatible permanecerá vacía después de la importación.", + "selectImportMessage": "Selecciona los datos que quieras importar.", + "filePreview": "Vista previa del contenido del archivo", + "importPreview": "Vista previa de la importación", + "changeImporterType": "Cambiar el tipo de importación", + "defaultName": "Tabla", + "useUpsertField": "Actualizar filas si ya existen", + "upsertTooltip": "Coincidir filas existentes usando un campo único para sobrescribir los datos con los valores importados." + }, + "formulaAdvancedEditContext": { + "textAreaFormulaInputPlaceholder": "Haga clic para editar la fórmula", + "fields": "Campos", + "functions": "Funciones", + "operators": "Operadores", + "fieldType": "Un campo {type}" + }, + "fieldFormulaInitialSubForm": { + "formulaInputPlaceholder": "Haga clic para editar la fórmula", + "refreshFormulaOptions": "Actualizar opciones de fórmula" + }, + "formulaFieldItemDescription": { + "syntax": "Sintaxis", + "examples": "Ejemplos" + }, + "viewSearchContext": { + "searchInRows": "Buscar en todas las filas", + "hideNotMatching": "ocultar filas que no coinciden" + }, + "viewsContext": { + "searchView": "Buscar vistas", + "noViews": "No se encontraron vistas", + "collaborative": "Colaboración" + }, + "viewFilterTypeLinkRow": { + "unnamed": "fila sin nombre {value}", + "choose": "elegir fila" + }, + "viewFilterContext": { + "addFilter": "Añadir filtro", + "disableAllFilters": "Todo impedido", + "noFilterTitle": "Aún no creaste ningún filtro", + "noFilterText": "Los filtros le permiten mostrar filas que se aplican a sus condiciones.", + "where": "Donde", + "and": "Y", + "or": "O", + "relatedFieldNotFound": "El campo relacionado no se encuentra.", + "filterTypeNotFound": "El tipo de filtro no es compatible.", + "noCompatibleFilterTypesErrorTitle": "No hay tipos de filtro compatibles", + "noCompatibleFilterTypesErrorMessage": "Ninguno de sus campos tiene ningún tipo de filtro compatible", + "addFilterGroup": "Añadir grupo de filtros" + }, + "viewFilterTypeFileTypeDropdown": { + "image": "imagen", + "document": "documento" + }, + "createViewModal": { + "createNew": "Crear nueva {view}", + "add": "Añadir {view}" + }, + "shareViewLink": { + "shareView": "Compartir {viewTypeSharingLinkName}", + "shareViewTitle": "Aún no has compartido la vista", + "sharedViewTitle": "Este {viewTypeSharingLinkName} se comparte actualmente a través de un enlace privado", + "sharedViewDescription": "Las personas que tienen el enlace pueden ver {viewTypeSharingLinkName}.", + "disableLink": "Desactivar enlace compartido", + "generateNewUrl": "generar nueva url", + "copyURL": "copiar URL", + "EnablePassword": "Restringir acceso con una contraseña", + "DisablePassword": "El acceso está protegido con contraseña", + "ChangePassword": "Cambiar", + "shareViewText": "El enlace privado compartible permite que cualquiera pueda ver los datos en esta vista.", + "shareViewLinkTitle": "Crear un enlace privado", + "notSharedYetText": "Permitir que cualquiera pueda ver los datos en esta vista o sincronizar eventos con su calendario externo.", + "createPrivateLink": "Crear un enlace privado" + }, + "viewSortContext": { + "noSortTitle": "Todavía no has creado una clasificación", + "noSortText": "Ordenar le permite ordenar filas por un campo.", + "sortBy": "Ordenar por", + "thenBy": "Luego por", + "addSort": "elegir un campo para ordenar por" + }, + "viewSort": { + "sort": "Ordenar | 1 Ordenar | {count} clasifica" + }, + "viewRotateSlugModal": { + "title": "Actualizar URL", + "refreshWarning": "¿Está seguro de que desea actualizar la URL de {viewName}? Después de actualizar, se generará una nueva URL y no será posible acceder a {viewTypeSharingLinkName} a través de la antigua URL. Todas las personas con las que haya compartido la URL no podrán acceder a {viewTypeSharingLinkName}.", + "generateNewURL": "Generar nueva URL" + }, + "viewFieldsContext": { + "coverField": "campo de cobertura", + "noCover": "Sin cobertura", + "search": "Buscar campos", + "hideAll": "Esconder todo", + "showAll": "Mostrar todo" + }, + "viewFilterTypeBoolean": { + "selected": "Seleccionado" + }, + "viewFilter": { + "filter": "Filtro | 1 filtro | {count} filtros", + "hasAllValuesEqual": "tiene todos los valores iguales", + "hasValueHigherThan": "tiene un valor mayor que", + "hasValueHigherThanOrEqual": "tiene un valor mayor o igual que", + "hasValueLowerThan": "tiene un valor menor que", + "hasValueLowerThanOrEqual": "tiene un valor menor o igual que", + "hasNotValueHigherThan": "no tiene un valor mayor que", + "hasNotValueHigherThanOrEqual": "no tiene un valor mayor o igual que", + "hasNotValueLowerThan": "no tiene un valor menor que", + "hasNotValueLowerThanOrEqual": "no tiene un valor menor que o igual que" + }, + "viewContext": { + "exportView": "Exportar vista", + "renameView": "Renombrar vista", + "webhooks": "Webhooks", + "deleteView": "Eliminar vista", + "importFile": "Importar archivo", + "duplicateView": "Duplicar vista", + "toPersonal": "A personal", + "toCollaborative": "A colaboración" + }, + "deleteViewModal": { + "title": "Eliminar {name}", + "description": "¿Está seguro de que desea eliminar la vista {nombre}? Los datos de la tabla se conservarán, pero se eliminarán los filtros, clasificaciones y anchos de campo relacionados con la vista.", + "delete": "Eliminar vista" + }, + "viewForm": { + "name": "Nombre", + "whoCanEdit": "Quién puede editarlo" + }, + "galleryViewHeader": { + "customizeCards": "Personalizar tarjetas" + }, + "gridViewHide": { + "hideField": "Ocultar campos | 1 campo oculto | {count} campos ocultos" + }, + "gridViewFieldType": { + "insertLeft": "Insertar a la izquierda", + "insertRight": "Insertar a la derecha", + "createFilter": "Crear filtro", + "sortField": "Clasificar", + "hideField": "Ocultar campo", + "duplicate": "Duplicar campo", + "dataSyncField": "El campo es de sólo lectura y forma parte de la sincronización de datos de la tabla.", + "dataSyncFieldTwoWaySync": "El campo está sincronizado con la sincronización de datos de la tabla.", + "noWriteValues": "Los cambios en este campo están restringidos." + }, + "gridViewRow": { + "rowNotMatchingFilters": "La fila no coincide con los filtros", + "rowNotMatchingSearch": "La fila no coincide con la búsqueda", + "rowHasMoved": "La fila se ha movido" + }, + "gridView": { + "insertRowAbove": "Insertar fila arriba", + "insertRowBelow": "Insertar fila debajo", + "enlargeRow": "Ampliar fila", + "deleteRow": "Borrar fila", + "rowCount": "Sin filas | 1 fila | {count} filas", + "selectRow": "Seleccionar fila", + "duplicateRow": "Duplicar fila", + "copyCells": "Copiar células", + "deleteRows": "Borrar filas", + "hiddenRowsInsertedTitle": "Filas añadidas", + "hiddenRowsInsertedMessage": "{number} se han añadido filas nuevas, pero no son visibles debido a los filtros activos.", + "copiedRowURLMessage": "La URL de la fila {id} se ha copiado en el portapapeles.", + "copiedRowURL": "URL de la fila copiada", + "copyRowURL": "Copiar URL de fila", + "tooManyItemsTitle": "Demasiados artículos", + "tooManyItemsDescription": "No es posible actualizar más de {limit} filas a la vez, así que sólo actualizamos la primera.", + "generateCellsValues": "Generar valores con IA", + "AIValuesGenerationErrorTitle": "Falló la generación de valor de la IA", + "AIValuesGenerationErrorMessage": "Por favor, comprueba tu API_KEY y verifica el modelo seleccionado.", + "copyCellsWithHeader": "Copiar celdas con encabezado", + "generateAllAiValues": "Generar todos los valores de IA" + }, + "gridViewFieldLinkRow": { + "unnamed": "fila sin nombre {value}", + "keepOnlyOneValue": "Mantener solo un valor" + }, + "gridViewIdentifierOptions": { + "id": "Identificador de fila", + "count": "Número de filas" + }, + "previewAny": { + "externalWarning": "Abrir su archivo a través de un servicio externo expone su archivo a sus servidores." + }, + "exportTableModal": { + "failedTitle": "Exportación fallida", + "failedDescription": "La exportación falló debido a un error del servidor.", + "cancelledTitle": "Exportación cancelada", + "cancelledDescription": "La exportación fue cancelada.", + "title": "Exportar {name}" + }, + "exporterTypeChoices": { + "formatLabel": "¿A qué formato le gustaría exportar?" + }, + "exportTableForm": { + "viewLabel": "Seleccione la vista para exportar:", + "typeError": "No hay ningún tipo de exportador disponible, seleccione una vista diferente o la tabla completa." + }, + "exportTableLoadingBar": { + "export": "Exportar", + "download": "Descargar" + }, + "exportTableDropdown": { + "exportEntireTable": "Exportar toda la tabla" + }, + "tableCSVExporter": { + "columnSeparatorLabel": "Separador de columnas", + "recordSeparator": "separador de registros", + "unitSeparator": "Separador de unidades", + "encodingLabel": "Codificación", + "firstRowIsHeaderLabel": "La primera fila es el encabezado", + "includeHeader": "Incluir nombres de campos como encabezado" + }, + "apiDocsDatabase": { + "pageTitle": "Documentación de la API de la base de datos de {name}", + "back": "volver al tablero", + "openDatabase": "base de datos abierta" + }, + "apiDocsComponent": { + "title": "REST API", + "intro": "Una vez que haya creado el esquema de su base de datos y la clave API en {settingsLink}, su base de datos Baserow proporciona sus propios puntos finales de API REST para crear, leer, actualizar y eliminar filas.", + "settings": "ajustes", + "selectApplicationTitle": "¿Para qué base de datos desea ver la documentación?", + "signIn": "inicia sesión para empezar", + "back": "volver al tablero" + }, + "viewAggregationType": { + "emptyCount": "{Empty}", + "notEmptyCount": "Lleno", + "emptyPercentage": "Porcentaje vacío", + "notEmptyPercentage": "Porcentaje lleno", + "checkedCount": "Comprobado", + "notCheckedCount": "Desenfrenado", + "checkedPercentage": "Porcentaje marcado", + "notCheckedPercentage": "Porcentaje sin marcar", + "min": "Min", + "max": "Max", + "earliestDate": "Fecha más temprana", + "earliestDateShort": "Más temprano", + "latestDate": "fecha más reciente", + "latestDateShort": "Más reciente", + "uniqueCount": "Único", + "sum": "Sum", + "average": "Promedio", + "median": "Median", + "stdDev": "Desviación Estándar", + "stdDevShort": "Desviación Estándar", + "variance": "Diferencia", + "count": "Contar", + "distribution": "Distribución", + "othersCount": "Otros" + }, + "databaseForm": { + "importLabel": "¿Le gustaría importar datos existentes?", + "emptyLabel": "Empezar desde el principio", + "airtableLabel": "Importar desde Airtable" + }, + "importFromAirtable": { + "airtableShareLinkTitle": "Comparte un enlace a tu Base", + "airtableShareLinkDescription": "Para importar tu base de Airtable, necesitas disponer de un enlace compartido de toda la base. En Airtable, haz clic en el botón «Compartir» en la esquina superior derecha después de abrir tu base. Después, debes escoger la opción «Compartir mediante enlace\". En la ventana emergente de compartir pulsa la pestaña «Compartir públicamente» y luego en «Enlace privado de solo lectura». Copia el enlace público y pégalo en el campo de entrada que aparece a continuación.", + "airtableShareLinkBeta": "Esta funcionalidad importará la mayor parte de los datos, pero existen incompatibilidades. Por lo tanto, se añadirá una tabla llamada \"Airtable import report\" que contendrá una lista de cosas que no fueron importadas o que se importaron parcialmente.", + "airtableShareLinkPaste": "Pega el enlace aquí", + "importButtonLabel": "Importar desde Airtable", + "openButtonLabel": "Abrir base de datos importada", + "importError": "Algo salió mal", + "statePending": "Esperando para empezar", + "stateFailed": "Fallido", + "stateFinished": "Terminado", + "stateDownloadingBase": "Descargando el esquema base", + "stateConverting": "Conversión a Baserow", + "stateDownloadingFiles": "Descargando archivos", + "stateImporting": "Importando", + "stateImportingTable": "Importando tabla {table}", + "errorJobAlreadyRunningTitle": "Ya corriendo", + "errorJobAlreadyRunningDescription": "Ya se está ejecutando otro trabajo de importación. Tienes que esperar a que termine antes de empezar otro.", + "linkError": "El enlace debería parecerse así: https://airtable.com/shrxxxxxxxxxxxxxx", + "skipFiles": "Omitir la importación de archivos", + "skipFilesHelper": "Una base de Airtable con muchos archivos puede ralentizar la importación. Al habilitar esta opción se omite la importación de los archivos.", + "useSession": "Autenticación de sesión", + "useSessionHelper": "Utiliza esto si la base compartida públicamente requiere autenticación.", + "sessionDescription": "Si la importación devuelve «The Airtable base requires authentication.», puede ser que la configuración organizacional de Airtable impida acceder a la base sin autenticarte primero. Para ello, debes extraer manualmente la sesión y la firma. Abre la URL de la base pública compartida en tu navegador y, si es necesario, inicia sesión. Haz clic en el menú de la aplicación en la esquina superior derecha → «Más herramientas» → «Herramientas de desarrollador». En la pestaña «Aplicación» (en Firefox «Almacenamiento») selecciona «https://airtable.com». Busca los valores de cookie «__Host‑airtable‑session» y «__Host‑airtable‑session.sig» y pégalos en los campos que aparecen a continuación.", + "sessionLabel": "Cookie de sesión (__Host‑airtable‑session)", + "sessionSignatureLabel": "Cookie de firma de sesión (__Host‑airtable‑session.sig)" + }, + "viewDecorator": { + "decorator": "Color | 1 Color | {recuento} Colores" + }, + "chooseSingleSelectField": { + "addSelectField": "Añadir campo de selección individual", + "warningWhenNothingToChooseOrCreate": "No hay campos de selección únicos para elegir y no tienes permisos para hacer uno." + }, + "viewDecoratorContext": { + "addDecorator": "Añadir decorador" + }, + "shareViewEnablePasswordModal": { + "newPasswordTitle": "Introduce una contraseña", + "newPasswordDescription": "El enlace público sólo será accesible después de introducir la contraseña. Esta contraseña se guardará encriptada.", + "changePasswordTitle": "Cambiar contraseña", + "changePasswordDescription": "Al cambiar la contraseña, la anterior dejará de funcionar. Esta contraseña se guardará encriptada.", + "changePasswordSave": "Cambiar contraseña", + "newPasswordSave": "Establecer contraseña" + }, + "shareViewDisablePasswordModal": { + "title": "Desactivar la protección de contraseña", + "description": "¿Estás seguro que quieres desactivar la protección por contraseña de este enlace público? Al desactivarla, la contraseña se borrará y no será posible recuperarla", + "disable": "Desactivar" + }, + "publicViewAuthLogin": { + "title": "Esta página está protegida por contraseña", + "description": "Introduce la contraseña correcta para acceder a la página.", + "enter": "Entrar", "error": { - "title": "Ha ocurrido un error", - "message": "Ocurrió un error al recuperar la fila adyacente" + "incorrectPasswordTitle": "Contraseña incorrecta", + "incorrectPasswordText": "La contraseña proporcionada es incorrecta." } - } + }, + "apiDocsTableDeleteRows": { + "description": "Elimina las filas existentes de {nombre}.", + "items": "Una matriz de identificadores de fila que deben ser eliminados." + }, + "apiDocsTableUpdateRows": { + "description": "Actualiza filas existentes de {nombre}.", + "id": "La identificación de la fila." + }, + "apiDocsTableCreateRows": { + "description": "Crear nuevas filas de {nombre}.", + "before": "Si se proporciona, las filas recién creadas se posicionarán antes de la fila con la identificación proporcionada." + }, + "importer": { + "parsing": "Análisis de datos", + "preparing": "Preparando datos", + "inProgress": "En proceso...", + "loading": "Cargando el archivo", + "decoding": "Descodificando datos", + "fieldDefaultName": "Campo {conteo}" + }, + "formViewMeta": { + "includeRowId": "Utiliza {row_id} para incluir el id de la fila recién creada en el URL." + }, + "databaseDashboardSidebarLinks": { + "apiDocumentation": "Documentación del API" + }, + "formViewField": { + "required": "requerido", + "showWhenMatchingConditions": "mostrar cuando se cumplen las condiciones", + "addCondition": "Añadir condición", + "descriptionPlaceholder": "Descripción", + "addConditionGroup": "Añadir grupo de condiciones", + "showFieldAs": "Mostrar campo como", + "includeAllSelectOptions": "Incluir todas las opciones seleccionadas", + "includeAllSelectOptionsHelper": "Elige las opciones de selección que deben incluirse en el formulario utilizando este desplegable", + "noSelectOptions": "No hay opciones de selección disponibles.", + "noCollaboratorsAvailable": "No hay colaboradores disponibles.", + "cannotSumitValues": "Este campo es de solo lectura y no se mostrará en el formulario." + }, + "duplicateFieldContext": { + "duplicate": "Duplicar campo", + "cloneData": "Copiar datos", + "soon": "Disponible pronto", + "readOnlyField": "Los valores de las células se rellenarán automáticamente." + }, + "fieldmultipleCollaboratorsDropdown": { + "notFound": "Colaborador no encontrado" + }, + "gridViewFieldFile": { + "dropFileHere": "Suelta los archivos aquí", + "dropHere": "Dejar caer aquí" + }, + "snapshotsModal": { + "createLabel": "Crear una nueva imagen instantánea", + "create": "Crear instantánea", + "snapshotRestoredErrorTitle": "Se ha producido un error", + "snapshotRestoredErrorMessage": "La instantánea no ha podido ser restaurada. Favor de intentarlo más tarde.", + "snapshotDeletedErrorTitle": "Se ha producido un error", + "snapshotDeletedErrorMessage": "La imagen no ha podido ser eliminada. Favor de intentarlo otra vez mas tarde.", + "title": "imágenes", + "description": "Las instantáneas son una copia completa de tu {nombre_aplicacion_tipo} del momento en que fueron creadas. Al restaurarlas se creará una duplicación de esos datos. Las instantáneas se eliminan automáticamente al cabo de un año.", + "descriptionLimits": "Puedes tener un máximo de {n} instantáneas por espacio de trabajo. | Puedes tener un máximo de {n} instantáneas por espacio de trabajo. | Puedes tener un máximo de {n} instantáneas por espacio de trabajo.", + "snapshot": "Imagen", + "limitReached": "Se ha alcanzado el límite de imágenes máximas.", + "importingState": "Creando", + "reset": "Crear otra", + "cancel": "Cancelar", + "noSnapshots": "Aún no hay instantáneas de esta aplicación.", + "nameAlreadyExists": "Ya existe una instantánea con este nombre." + }, + "deleteSnapshotModal": { + "content": "¿Estás seguro de que quieres eliminar permanentemente la imagen instantánea {nombre}?", + "confirm": "Borrar", + "title": "Borrar imagen instantánea" + }, + "snapshotListItem": { + "restore": "restaurar", + "delete": "borrar", + "created": "creada" + }, + "formViewModeType": { + "form": "Forma", + "formDescription": "Todos los campos son visibles y se apilan verticalmente." + }, + "formViewHeader": { + "mode": "Modo", + "preview": "Vista previa", + "fields": "Campos" + }, + "formViewModePreviewForm": { + "addCoverImage": "Agregar una imagen de portada", + "addLogo": "Añadir un logo", + "noFields": "Este formulario no tiene ningún campo. Haz clic en un campo de la barra lateral izquierda para añadir uno.", + "titlePlaceholder": "Título", + "descriptionPlaceholder": "Descripción", + "noFieldsTitle": "Este formulario no tiene ningún campo", + "noFieldsContent": "Haz clic en un campo en la barra lateral izquierda para añadir uno." + }, + "table": { + "chooseView": "Elige la vista", + "adjacentRow": { + "notification": { + "error": { + "title": "Se ha producido un error", + "message": "Se ha producido un error al recuperar la fila adyacente" + }, + "notFound": { + "next": { + "title": "No hay más filas", + "message": "No hay ninguna fila siguiente" + }, + "previous": { + "title": "No hay más filas", + "message": "No hay fila anterior" + } + } + }, + "toast": { + "notFound": { + "previous": { + "message": "No hay fila anterior", + "title": "No hay más filas" + }, + "next": { + "title": "No hay más filas", + "message": "No hay siguiente fila" + } + }, + "error": { + "title": "Ha ocurrido un error", + "message": "Ocurrió un error al recuperar la fila adyacente" + } + } + } + }, + "rowEditFieldMultipleCollaborators": { + "addCollaborator": "Elige un colaborador" + }, + "duplicateTableJobType": { + "duplicatedTitle": "Tabla duplicada", + "duplicating": "Duplicando", + "name": "Duplicar tabla" + }, + "apiDocsUploadFile": { + "description": "Sube un archivo a Baserow cargando el contenido del archivo directamente. Se espera una multiparte de `archivo` que contenga el contenido del archivo. La respuesta se puede utilizar para [subir un archivo a una fila]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row).", + "file": "La multiparte `archivo` que contiene el contenido del archivo." + }, + "apiDocsUploadFileViaURL": { + "url": "La URL que desea que Baserow descargue y cargue en tu nombre.", + "description": "Sube un archivo a Baserow descargándolo de la URL proporcionada. La respuesta puede utilizarse para [cargar un archivo en una fila]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row)." + }, + "fileField": { + "errorEmptyFileNameTitle": "Nombre de archivo inválido", + "errorEmptyFileNameMessage": "No puede establecer un nombre vacío para un archivo." + }, + "viewOwnershipType": { + "collaborative": "Colabora", + "personal": "Personal" + }, + "gridViewRowsAddContext": { + "title": "Crear varias filas", + "choice": "Añade {rowAmountChoice} filas" + }, + "fieldSelectThroughFieldSubForm": { + "noTable": "Necesitas al menos un campo de enlace a tabla para crear este campo.", + "selectThroughFieldLabel": "Selecciona un campo de enlace a la tabla" + }, + "fieldRollupSubForm": { + "label": "Función de enrollado", + "selectTargetFieldLabel": "Selecciona un campo para enrollar" + }, + "apiDocsFiltersBuilderModal": { + "userFieldNames": "Nombres de campos de usuario", + "json": "JSON", + "title": "Creador de parámetros de filtros", + "queryParameter": "Parámetro de consulta" + }, + "viewGroupBy": { + "groupBy": "Agrupar | Agrupar por 1 campos | Agrupar por {cuenta} campos" + }, + "rowHistorySidebar": { + "you": "Tú", + "name": "Historia", + "empty": "Aún no hay cambios. Podrás seguir cualquier cambio a esta fila aquí.", + "created": "creó esta fila", + "updated": "actualizó esta fila", + "submitted": "envió esta fila", + "deleted": "eliminó esta fila", + "restored": "restauró esta fila", + "createdUndo": "deshizo la creación de la fila", + "updatedUndo": "deshizo la actualización de la fila", + "deletedUndo": "deshizo la eliminación de la fila" + }, + "viewGroupByContext": { + "groupBy": "Agrupar por", + "thenBy": "Y luego por", + "addGroupBy": "Elegir un campo por el que agrupar", + "noGroupByTitle": "Aún no has creado ninguna agrupación", + "noGroupByText": "Agrupar filas por un campo." + }, + "collaboratorAddedToRowNotification": { + "title": "{sender} te asignó a {nombreDeCampo} en la fila {rowId} en {nombreDeTabla}", + "deletedUser": "Un usuario eliminado", + "unknownUser": "Un usuario desconocido" + }, + "fieldCollaboratorSubForm": { + "notifyUserWhenAdded": "Notificar al usuario cuando se añade" + }, + "viewFieldConditionsForm": { + "addCondition": "Añadir condición", + "addConditionGroup": "Añadir grupo de condiciones" + }, + "formSubmittedNotification": { + "title": "Se ha enviado {nombreDelFormulario} en la tabla {nombreDeLaTabla}:", + "moreValues": "0 | y 1 campo más. | y {cuenta} campos más." + }, + "fieldDurationSubForm": { + "durationFormatLabel": "Formato de duración" + }, + "fieldPasswordSubForm": { + "description": "El campo de contraseña también puede ser usado por la autenticación de usuario en el constructor de aplicaciones.", + "allowEndpointAuthentication": "Permitir la autenticación del punto final (endpoint) API", + "allowEndpointAuthenticationHelp": "Esto expone un punto final (endpoint) donde se pueden comprobar el ID de la fila y la contraseña para ver si son correctos. Esto permite usar Baserow como servidor de autenticación en el lado del servidor (backend)." + }, + "rowEditFieldPassword": { + "setPassword": "Establecer contraseña" + }, + "rowHistoryFieldPassword": { + "passwordSet": "Se ha establecido la contraseña", + "passwordUpdated": "Se ha actualizado la contraseña", + "passwordDeleted": "Se ha borrado la contraseña" + }, + "fieldLongTextSubForm": { + "enableRichTextFormatting": "Activar el formato de texto enriquecido" + }, + "dataProviderTypes": { + "fieldsName": "Campos" + }, + "userMentionInRichTextFieldNotification": { + "deletedUser": "Un usuario eliminado", + "title": "{sender} te mencionó en el campo {fieldName} de la fila {rowId} en {tableName}" + }, + "databaseImportStep": { + "tableNameLabel": "Nombre de la tabla", + "title": "Importa tus datos", + "description": "Mueve tus datos a Baserow, en sólo unos clics." + }, + "databaseScratchTrackStep": { + "title": "¿Qué te gustaría seguir?", + "description": "Elige entre los casos de uso más populares o crea el tuyo propio.", + "addYourOwn": "Añade el tuyo", + "tableName": "Nombre de la tabla", + "productsRow1": "Rebranding del sitio web", + "productsRow3": "Campaña publicitaria de pago", + "teamsRow1": "Ventas", + "teamsRow2": "Recursos Humanos", + "teamsRow3": "Mercadotecnia", + "tasks": "Tareas", + "tasksRow1": "Rediseño del logo", + "campaignsRow1": "Venta de verano", + "campaignsRow2": "Premios de fidelidad", + "campaignsRow3": "Relanzamiento de la marca", + "rowName": "Nombre de la fila", + "thisIncludes": "Esto incluye:", + "projects": "Proyectos", + "productsRow2": "Investigación de clientes", + "teams": "Equipos", + "tasksRow2": "Enviar correo electrónico", + "tasksRow3": "Escribir una entrada en el blog", + "campaigns": "Campañas" + }, + "databaseStep": { + "title": "Crea tu primera base de datos", + "description": "Selecciona desde dónde te gustaría comenzar:", + "databaseNameLabel": "Nombre de la base de datos", + "scratch": "Esbozo", + "import": "Archivo", + "airtable": "Airtable", + "template": "Plantilla" + }, + "ViewFilterTypeDateUpgradeToMultiStep": { + "migrateButtonText": "Migrar al filtro de fecha de varios pasos", + "migrateButtonTooltip": "Nuevo filtro disponible. Haga clic para actualizar. Funciona igual." + }, + "formViewMetaControls": { + "whenSubmittedLabel": "Al enviar el formulario", + "showMessage": "Mostrar un mensaje", + "urlRedirect": "Redirigir a URL", + "theMessage": "El mensaje", + "theURL": "La URL" + }, + "changePrimaryFieldModal": { + "primaryFieldLabel": "Campo primario", + "existingPrimary": "«{name}» es actualmente el campo primario.", + "title": "Cambiar el campo primario", + "change": "Cambiar" + }, + "databaseDashboardResourceLinks": { + "description": "Más información sobre nuestro código", + "title": "Documentación de la API" + }, + "databaseScratchTrackFieldsStep": { + "campaignsDetailsRow3": "Revitaliza tu negocio y cautiva a tu público con un relanzamiento de marca dinámico que se adapte perfectamente a las tendencias actuales del mercado y a los deseos de los clientes.", + "title": "Elija campos para cada fila", + "description": "Selecciona hasta {selectedFieldsLimitCount} campos. Puedes agregarlo más tarde.", + "fieldName": "Nombre", + "fieldType": "Tipo de campo", + "fieldDescription": "Descripción", + "fieldDetails": "Detalles", + "fieldNumber": "Número", + "fieldDate": "Fecha", + "fieldBoolean": "Terminado", + "fieldDuration": "Duración", + "fieldUrl": "URL", + "fieldEmail": "Correo electrónico", + "fieldRating": "Clasificación", + "fieldCategory": "Categoría", + "fieldBudget": "Presupuesto", + "fieldCompleted": "Completado", + "fieldNotes": "Notas", + "fieldRole": "Rol", + "fieldPhone": "Teléfono", + "fieldKickoffDate": "Fecha de lanzamiento", + "fieldDueDate": "Fecha prevista", + "fieldActive": "Activo", + "fieldEstimatedDays": "Días estimados", + "fieldStartDate": "Fecha de inicio", + "fieldEndDate": "Fecha límite", + "projectsCategoryDesign": "Diseño", + "projectsCategoryDevelopment": "Desarrollo", + "projectsCategoryMarketing": "Marketing", + "projectsNotesRow1": "Acme está buscando un rebranding completo de tu página web con las siguientes pautas.", + "projectsNotesRow2": "Investigar si los usuarios actuales de Soylent están interesados en un nuevo portal de usuarios.", + "projectsNotesRow3": "Me pregunto si vale la pena hacer esto después del boicot a los anuncios de Facebook. Los estudios muestran que las campañas de anuncios pagos se han vuelto cada vez menos efectivas.", + "teamsRoleDesigner": "Diseñador", + "teamsRoleDeveloper": "Desarrollador", + "teamsRoleMarketer": "Comercializador", + "tasksDetailsRow1": "Es necesario mejorar el logotipo para que el CTA sea más claro.", + "tasksDetailsRow2": "El diseño está un poco desfasado, por lo que es posible que tengamos que ajustar el mapa de la página aquí también.", + "tasksDetailsRow3": "El nuevo pie de página debe incluir nuestra información de contacto y también un CTA pequeño (pero claro).", + "campaignsDetailsRow1": "¡Aumenta tus ahorros con nuestras rebajas de verano, con descuentos imbatibles en todos tus productos favoritos!", + "campaignsDetailsRow2": "Aumenta la fidelidad y el compromiso de tus clientes con nuestro atractivo programa de fidelización, diseñado para recompensar a tus clientes más fieles.", + "customFieldsDescriptionRow2": "Vitae justo eget magna fermentum iaculis eu non diam.", + "customFieldsDescriptionRow3": "Convallis tellus id interdum velit laoreet id donec ultrices tincidunt.", + "customFieldsDescriptionRow1": "Turpis massa tincidunt dui ut ornare lectus sit amet est." + }, + "createTableModal": { + "title": "Crear nueva tabla", + "defaultName": "Tabla", + "newTable": "Empezar con una nueva tabla", + "importLabel": "¿Deseas importar datos existentes?" + }, + "createTable": { + "showTable": "Mostrar tabla", + "addButton": "Añadir tabla", + "uploading": "Subiendo...", + "preparing": "Preparando los datos...", + "importError": "Algo ha ido mal durante la importación del archivo", + "stateRowCreation": "Importando...", + "statePreValidation": "Validando los datos...", + "stateCreateTable": "Creando tabla..." + }, + "importErrorReport": { + "reportTitleFailure": "Filas que fallan", + "reportMessage": "No se han podido importar los siguientes índices de fila:", + "reportTitleSuccess": "Importación exitosa, pero..." + }, + "createViewLink": { + "inCompatibleWithDataSync": "Este tipo de vista no es compatible con una tabla de sincronización de datos." + }, + "dataSyncType": { + "icalCalendar": "Sincronizar iCal", + "syncError": "Error de sincronización", + "postgresql": "Sincronizar tabla PostgreSQL" + }, + "createDataSync": { + "next": "Siguiente", + "fields": "Selecciona los campos que deseas sincronizar", + "create": "Crear y sincronizar tabla", + "error": "Algo salió mal durante la sincronización", + "autoAddLabel": "Agregar automáticamente nuevas propiedades", + "autoAddHelper": "Automáticamente agrega y sincroniza las propiedades recién disponibles del origen de datos en la tabla de Baserow. Ten en cuenta que, para que esto funcione, todas las propiedades deben estar sincronizadas.", + "twoWaySyncLabel": "Sincronización bidireccional" + }, + "syncTableModal": { + "title": "Sincronizar {name}", + "sync": "Sincronizar tabla", + "hide": "Ocultar", + "description": "Esta tabla está vinculada a una sincronización de datos. Al hacer clic en el botón de sincronización, los datos se sincronizarán con la fuente. Durante este proceso, se coloca un bloqueo en las filas actualizadas, lo que puede ralentizar temporalmente las solicitudes de la API o las modificaciones de la tabla." + }, + "gridViewRowHeight": { + "name": "Altura", + "medium": "Mediano", + "large": "Grande", + "small": "Pequeño" + }, + "iCalCalendarDataSync": { + "name": "URL de iCal", + "description": "La sincronización del calendario iCal, se sincroniza automáticamente con las entradas del archivo de calendario de la URL. Solo admite el tipo de archivo ICS (Internet Calendar and Scheduling)." + }, + "postgreSQLDataSync": { + "host": "Host", + "username": "Nombre de usuario", + "password": "Contraseña", + "database": "Base de datos", + "schema": "Esquema", + "table": "Tabla", + "port": "Puerto", + "sslMode": "Modo SSL", + "description": "Sincroniza una tabla de PostgreSQL con una tabla de Baserow que coincida con los detalles proporcionados a continuación. Tenga en cuenta que cuando se inicia la sincronización, se seleccionarán todas las filas de la tabla proporcionada. Aunque Baserow solo selecciona datos, recomendamos encarecidamente limitar al usuario a una conexión de solo lectura." + }, + "configureDataSyncVisibleFields": { + "syncTable": "Sincronizar al guardar", + "title": "Modificar los campos sincronizados", + "fields": "Campos sincronizados" + }, + "configureDataSyncSettings": { + "syncTable": "Sincronizar al guardar", + "title": "Cambiar la sincronización de datos" + }, + "configureDataSyncModal": { + "syncSettings": "Ajustes de sincronización", + "syncedFields": "Campos sincronizados", + "title": "Sincronización de datos" + }, + "apiDocsPasswordFieldAuthentication": { + "title": "autenticación de {name}", + "description": "Comprueba si la contraseña y la fila proporcionadas coinciden con lo almacenado en la celda.", + "fieldId": "El ID del campo donde se debe comprobar la contraseña.", + "rowId": "El ID de la fila donde se debe comprobar la contraseña.", + "password": "La contraseña que debe verificarse para saber si es correcta." + }, + "apiDocsListTables": { + "listTablesDescription": "Este endpoint solo funciona en combinación con la autenticación mediante token. Enumera todas las tablas a las que el token tiene acceso de crear, leer, actualizar o eliminar.", + "listTables": "Listar todas las tablas" + }, + "fieldMultipleSelectSubForm": { + "optionsLabel": "Opciones", + "defaultOptionsLabel": "Opciones predeterminadas" + }, + "fieldBooleanSubForm": { + "defaultValue": "Predeterminado" + }, + "viewFieldConditionItem": { + "filterMisconfigured": "El campo al que está asociado este filtro ha sido eliminado." + }, + "webhookDeactivatedNotification": { + "body": "{name} webhook ha sido desactivado porque falló demasiadas veces consecutivamente." + }, + "webhookPayloadTooLargeNotification": { + "body": "El payload para el webhook {name} con ID de evento {event_id} era demasiado grande. El contenido se ha dividido en varios lotes, pero los datos que superan el límite de lote de {batch_limit} fueron descartados." + }, + "tablesGuidedTourStep": { + "title": "Configurar tablas", + "content": "Las tablas almacenan tu información ordenadamente. Crea una nueva tabla dentro de tu base de datos para comenzar a estructurar tus datos." + }, + "filterSortGroupGuidedTourStep": { + "title": "Encuentra y organiza tus datos", + "content": "Ubica rápidamente la información filtrando y ordenando tus filas. Agrupa instantáneamente por cualquiera de los campos para visualizar claramente los patrones y simplificar tus flujos de trabajo." + }, + "addFieldGuidedTourStep": { + "title": "Personaliza tus datos", + "content": "Haz clic en «+» para añadir nuevos campos (columnas). Elige entre varios tipos de campo para capturar exactamente lo que más importa a tu proyecto." + }, + "createViewGuidedTourStep": { + "title": "Personaliza tus vistas", + "content": "Crea vistas personalizadas como cuadrícula, calendario, kanban o galería para visualizar tus datos exactamente como los quieres." + }, + "createFormViewGuidedTourStep": { + "title": "Crear un formulario", + "content": "Construye rápidamente formularios a partir de tus tablas para recopilar respuestas directamente en tu tabla, agilizando la recopilación de datos." + }, + "viewOptionsGuidedTourStep": { + "title": "Opciones de vista", + "content": "Haz clic en los tres puntos junto a la vista para exportar, importar, duplicar y configurar un webhook." + }, + "fieldRules": { + "errorTitle": "Error durante el procesamiento de la regla de campo", + "ruleDoesNotExist": "La regla no existe", + "ruleTypeDoesNotExist": "El tipo de regla no existe", + "ruleAlreadyExists": "La regla ya existe" } - }, - "rowEditFieldMultipleCollaborators": { - "addCollaborator": "Elige un colaborador" - }, - "duplicateTableJobType": { - "duplicatedTitle": "Tabla duplicada", - "duplicating": "Duplicando" - }, - "apiDocsUploadFile": { - "description": "Sube un archivo a Baserow cargando el contenido del archivo directamente. Se espera una multiparte de `archivo` que contenga el contenido del archivo. La respuesta se puede utilizar para [subir un archivo a una fila]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row).", - "file": "La multiparte `archivo` que contiene el contenido del archivo." - }, - "apiDocsUploadFileViaURL": { - "url": "La URL que desea que Baserow descargue y cargue en tu nombre.", - "description": "Sube un archivo a Baserow descargándolo de la URL proporcionada. La respuesta puede utilizarse para [cargar un archivo en una fila]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row)." - }, - "fileField": { - "errorEmptyFileNameTitle": "Nombre de archivo inválido", - "errorEmptyFileNameMessage": "No puede establecer un nombre vacío para un archivo." - }, - "viewOwnershipType": { - "collaborative": "Colabora", - "personal": "Personal" - }, - "gridViewRowsAddContext": { - "title": "Crear varias filas", - "choice": "Añade {rowAmountChoice} filas" - }, - "fieldSelectThroughFieldSubForm": { - "noTable": "Necesitas al menos un campo de enlace a tabla para crear este campo.", - "selectThroughFieldLabel": "Selecciona un campo de enlace a la tabla" - }, - "fieldRollupSubForm": { - "label": "Función de enrollado", - "selectTargetFieldLabel": "Selecciona un campo para enrollar" - }, - "apiDocsFiltersBuilderModal": { - "userFieldNames": "Nombres de campos de usuario", - "json": "JSON", - "title": "Creador de parámetros de filtros", - "queryParameter": "Parámetro de consulta" - }, - "viewGroupBy": { - "groupBy": "Agrupar | Agrupar por 1 campos | Agrupar por {cuenta} campos" - }, - "rowHistorySidebar": { - "you": "Tú", - "name": "Historia", - "empty": "Aún no hay cambios. Podrás seguir cualquier cambio a esta fila aquí." - }, - "viewGroupByContext": { - "groupBy": "Agrupar por", - "thenBy": "Y luego por", - "addGroupBy": "Elegir un campo por el que agrupar", - "noGroupByTitle": "Aún no has creado ninguna agrupación", - "noGroupByText": "Agrupar filas por un campo." - }, - "collaboratorAddedToRowNotification": { - "title": "{remitente} te asignó a {nombreDeCampo} en la fila {rowId} en {nombreDeTabla}.", - "deletedUser": "Un usuario eliminado" - }, - "fieldCollaboratorSubForm": { - "notifyUserWhenAdded": "Notificar al usuario cuando se añade" - }, - "viewFieldConditionsForm": { - "addCondition": "Añadir condición", - "addConditionGroup": "Añadir grupo de condiciones" - }, - "formSubmittedNotification": { - "title": "Se ha enviado {nombreDelFormulario} en la tabla {nombreDeLaTabla}:", - "moreValues": "0 | y 1 campo más. | y {cuenta} campos más." - }, - "fieldDurationSubForm": { - "durationFormatLabel": "Formato de duración" - }, - "fieldPasswordSubForm": { - "description": "Todavía no es posible hacer nada directamente con el campo de contraseña, esto sólo es utilizado por la autenticación de usuario en el constructor de aplicaciones." - }, - "rowEditFieldPassword": { - "setPassword": "Establecer contraseña" - }, - "rowHistoryFieldPassword": { - "passwordSet": "Se ha establecido la contraseña", - "passwordUpdated": "Se ha actualizado la contraseña", - "passwordDeleted": "Se ha borrado la contraseña" - }, - "fieldLongTextSubForm": { - "enableRichTextFormatting": "Activar el formato de texto enriquecido" - }, - "dataProviderTypes": { - "fieldsName": "Campos" - }, - "userMentionInRichTextFieldNotification": { - "deletedUser": "Un usuario eliminado", - "title": "{sender} le ha mencionado en el campo {fieldName} de la fila {rowId} en {tableName}." - }, - "databaseImportStep": { - "tableNameLabel": "Nombre de la tabla", - "title": "Importa tus datos", - "description": "Mueve tus datos a Baserow, en sólo unos clics." - }, - "databaseScratchTrackStep": { - "title": "¿Qué te gustaría seguir?", - "description": "Elige entre los casos de uso más populares o crea el tuyo propio.", - "addYourOwn": "Añade el tuyo", - "tableName": "Nombre de la tabla", - "productsRow1": "Rebranding del sitio web", - "productsRow3": "Campaña publicitaria de pago", - "teamsRow1": "Ventas", - "teamsRow2": "RH", - "teamsRow3": "Marketing", - "tasks": "Tareas", - "tasksRow1": "Rediseño del logo", - "campaignsRow1": "Venta de verano", - "campaignsRow2": "Premios de fidelidad", - "campaignsRow3": "Relanzamiento de la marca", - "rowName": "Nombre de la fila", - "thisIncludes": "Esto incluye:", - "projects": "Proyectos", - "productsRow2": "Investigación de clientes", - "teams": "Equipos", - "tasksRow2": "Enviar correo electrónico", - "tasksRow3": "Escribir una entrada en el blog", - "campaigns": "Campañas" - }, - "databaseStep": { - "title": "Crea tu primera base de datos", - "description": "Cuéntanos en qué estás trabajando.", - "databaseNameLabel": "Nombre de la base de datos", - "scratch": "Desde cero", - "import": "De archivo", - "airtable": "Desde Airtable" - }, - "ViewFilterTypeDateUpgradeToMultiStep": { - "migrateButtonText": "Migrar al filtro de fecha de varios pasos", - "migrateButtonTooltip": "Nuevo filtro disponible. Haga clic para actualizar. Funciona igual." - }, - "formViewMetaControls": { - "whenSubmittedLabel": "Al enviar el formulario", - "showMessage": "Mostrar un mensaje", - "urlRedirect": "Redirigir a URL", - "theMessage": "El mensaje", - "theURL": "La URL" - }, - "changePrimaryFieldModal": { - "primaryFieldLabel": "Campo primario", - "existingPrimary": "«{name}» es actualmente el campo primario.", - "title": "Cambiar el campo primario", - "change": "Cambiar" - }, - "databaseDashboardResourceLinks": { - "description": "Más información sobre nuestro código", - "title": "Documentación de la API" - }, - "databaseScratchTrackFieldsStep": { - "campaignsDetailsRow3": "Revitaliza tu negocio y cautiva a tu público con un relanzamiento de marca dinámico que se adapte perfectamente a las tendencias actuales del mercado y a los deseos de los clientes.", - "title": "Elija campos para cada fila", - "description": "Selecciona hasta {selectedFieldsLimitCount} campos. Puedes agregarlo más tarde.", - "fieldName": "Nombre", - "fieldType": "Tipo de campo", - "fieldDescription": "Descripción", - "fieldDetails": "Detalles", - "fieldNumber": "Número", - "fieldDate": "Fecha", - "fieldBoolean": "Terminado", - "fieldDuration": "Duración", - "fieldUrl": "URL", - "fieldEmail": "Correo electrónico", - "fieldRating": "Clasificación", - "fieldCategory": "Categoría", - "fieldBudget": "Presupuesto", - "fieldCompleted": "Completado", - "fieldNotes": "Notas", - "fieldRole": "Rol", - "fieldPhone": "Teléfono", - "fieldKickoffDate": "Fecha de lanzamiento", - "fieldDueDate": "Fecha prevista", - "fieldActive": "Activo", - "fieldEstimatedDays": "Días estimados", - "fieldStartDate": "Fecha de inicio", - "fieldEndDate": "Fecha límite", - "projectsCategoryDesign": "Diseño", - "projectsCategoryDevelopment": "Desarrollo", - "projectsCategoryMarketing": "Marketing", - "projectsNotesRow1": "Acme está buscando un rebranding completo de tu página web con las siguientes pautas.", - "projectsNotesRow2": "Investigar si los usuarios actuales de Soylent están interesados en un nuevo portal de usuarios.", - "projectsNotesRow3": "Me pregunto si vale la pena hacer esto después del boicot a los anuncios de Facebook. Los estudios muestran que las campañas de anuncios pagos se han vuelto cada vez menos efectivas.", - "teamsRoleDesigner": "Diseñador", - "teamsRoleDeveloper": "Desarrollador", - "teamsRoleMarketer": "Comercializador", - "tasksDetailsRow1": "Es necesario mejorar el logotipo para que el CTA sea más claro.", - "tasksDetailsRow2": "El diseño está un poco desfasado, por lo que es posible que tengamos que ajustar el mapa de la página aquí también.", - "tasksDetailsRow3": "El nuevo pie de página debe incluir nuestra información de contacto y también un CTA pequeño (pero claro).", - "campaignsDetailsRow1": "¡Aumenta tus ahorros con nuestras rebajas de verano, con descuentos imbatibles en todos tus productos favoritos!", - "campaignsDetailsRow2": "Aumenta la fidelidad y el compromiso de tus clientes con nuestro atractivo programa de fidelización, diseñado para recompensar a tus clientes más fieles.", - "customFieldsDescriptionRow2": "Vitae justo eget magna fermentum iaculis eu non diam.", - "customFieldsDescriptionRow3": "Convallis tellus id interdum velit laoreet id donec ultrices tincidunt.", - "customFieldsDescriptionRow1": "Turpis massa tincidunt dui ut ornare lectus sit amet est." - }, - "createTableModal": { - "title": "Crear nueva tabla", - "defaultName": "Tabla", - "newTable": "Empezar con una nueva tabla", - "importLabel": "¿Deseas importar datos existentes?" - }, - "createTable": { - "showTable": "Mostrar tabla", - "addButton": "Añadir tabla", - "uploading": "Subiendo...", - "preparing": "Preparando los datos...", - "importError": "Algo ha ido mal durante la importación del archivo", - "stateRowCreation": "Importando...", - "statePreValidation": "Validando los datos...", - "stateCreateTable": "Creando tabla..." - }, - "importErrorReport": { - "reportTitleFailure": "Filas que fallan", - "reportMessage": "No se han podido importar los siguientes índices de fila:", - "reportTitleSuccess": "Importación exitosa, pero..." - }, - "createViewLink": { - "inCompatibleWithDataSync": "Este tipo de vista no es compatible con una tabla de sincronización de datos." - }, - "dataSyncType": { - "icalCalendar": "Sincronizar iCal", - "syncError": "Error de sincronización", - "postgresql": "Sincronizar tabla PostgreSQL" - }, - "createDataSync": { - "next": "Siguiente", - "fields": "Selecciona los campos que deseas sincronizar", - "create": "Crear y sincronizar tabla", - "error": "Algo salió mal durante la sincronización" - }, - "syncTableModal": { - "title": "Sincronizar {name}", - "sync": "Sincronizar tabla", - "hide": "Ocultar", - "description": "Esta tabla está vinculada a una sincronización de datos. Al hacer clic en el botón de sincronización, los datos se sincronizarán con la fuente. Durante este proceso, se coloca un bloqueo en las filas actualizadas, lo que puede ralentizar temporalmente las solicitudes de la API o las modificaciones de la tabla." - }, - "gridViewRowHeight": { - "name": "Altura", - "medium": "Mediano", - "large": "Grande", - "small": "Pequeño" - }, - "iCalCalendarDataSync": { - "name": "URL de iCal", - "description": "La sincronización del calendario iCal, se sincroniza automáticamente con las entradas del archivo de calendario de la URL. Solo admite el tipo de archivo ICS (Internet Calendar and Scheduling)." - }, - "postgreSQLDataSync": { - "host": "Host", - "username": "Nombre de usuario", - "password": "Contraseña", - "database": "Base de datos", - "schema": "Esquema", - "table": "Tabla", - "port": "Puerto", - "sslMode": "Modo SSL", - "description": "Sincroniza una tabla de PostgreSQL con una tabla de Baserow que coincida con los detalles proporcionados a continuación. Tenga en cuenta que cuando se inicia la sincronización, se seleccionarán todas las filas de la tabla proporcionada. Aunque Baserow solo selecciona datos, recomendamos encarecidamente limitar al usuario a una conexión de solo lectura." - }, - "configureDataSyncVisibleFields": { - "syncTable": "Sincronizar al guardar", - "title": "Modificar los campos sincronizados", - "fields": "Campos sincronizados" - }, - "configureDataSyncSettings": { - "syncTable": "Sincronizar al guardar", - "title": "Cambiar la sincronización de datos" - }, - "configureDataSyncModal": { - "syncSettings": "Ajustes de sincronización", - "syncedFields": "Campos sincronizados", - "title": "Sincronización de datos" - } } diff --git a/web-frontend/modules/database/locales/uk.json b/web-frontend/modules/database/locales/uk.json index bd2cce1db7..e720e4fde7 100644 --- a/web-frontend/modules/database/locales/uk.json +++ b/web-frontend/modules/database/locales/uk.json @@ -1,732 +1,831 @@ { "webhookModal": { - "title": "", - "createWebhook": "", - "backToList": "" + "title": "Вебхуки {name}", + "createWebhook": "Створити вебхук", + "backToList": "Повернутися до списку" }, "deleteWebhookModal": { - "title": "", - "deleteButton": "", - "body": "" + "title": "Видалити {webhookName}", + "deleteButton": "Видалити вебхук", + "body": "Ви впевнені, що хочете видалити цей вебхук? Ви не зможете відновити його пізніше." }, "webhookList": { - "noWebhooksMessage": "" + "noWebhooksMessage": "Ви ще не створили жодного вебхука. Вебхуки можна використовувати для інформування сторонніх систем, коли рядок у Baserow було створено, оновлено або видалено." }, "testWebhookModal": { - "title": "", - "unreachable": "" + "title": "Тестувати вебхук", + "unreachable": "Сервер недоступний" }, "webhookForm": { "inputLabels": { - "name": "", - "value": "", - "requestMethod": "", - "url": "", - "userFieldNames": "", - "events": "", - "headers": "", - "example": "" + "name": "Назва", + "value": "Значення", + "requestMethod": "Метод", + "url": "URL", + "userFieldNames": "Назви полів користувача", + "events": "Які події мають викликати цей вебхук?", + "headers": "Додаткові заголовки", + "example": "Приклад даних" }, "errors": { - "urlField": "", - "invalidHeaders": "" + "urlField": "Має бути дійсною URL-адресою, що починається з «https://» або «http://».", + "invalidHeaders": "Один із заголовків недійсний." }, "checkbox": { - "sendUserFieldNames": "" + "sendUserFieldNames": "Використовувати назву поля замість id" }, "radio": { - "allEvents": "", - "customEvents": "" + "allEvents": "Надсилати все", + "customEvents": "Дозвольте вибрати окремі події" }, - "triggerButton": "", + "triggerButton": "Запустити тестовий вебхук", "deactivated": { - "title": "", - "content": "", - "activate": "" + "title": "Вебхук деактивовано", + "content": "Цей вебхук було деактивовано через занадто багато послідовних помилок. Перевірте журнал викликів для отримання додаткової інформації. Натисніть кнопку нижче, щоб активувати його знову. Не забудьте зберегти вебхук після активації.", + "activate": "Активувати" }, "deprecatedEventType": { "title": "", "description": "", "convert": "" - } + }, + "triggerWhenFieldsHaveChanged": "Викликати при зміні полів", + "helpTriggerWhenFieldsHaveChanged": "Буде викликано лише якщо значення комірки вибраних полів зміниться." }, "webhook": { - "details": "", - "lastCall": "", - "noCalls": "", - "callLog": "", - "triggerDescription": "" + "details": "деталі", + "lastCall": "Останній виклик: {lastCallTime}", + "noCalls": "Викликів не було", + "callLog": "Журнал викликів", + "triggerDescription": "Викликається на кожну подію | Викликається на {count} подію | Викликається на {count} подій" }, "createWebhook": { - "errorTableWebhookMaxLimitExceededTitle": "", - "errorTableWebhookMaxLimitExceededDescription": "" + "errorTableWebhookMaxLimitExceededTitle": "Перевищено максимальну кількість вебхуків", + "errorTableWebhookMaxLimitExceededDescription": "Неможливо створити вебхук, оскільки перевищено максимальну кількість вебхуків на таблицю." }, "sidebar": { - "viewAPI": "", - "createTable": "" + "viewAPI": "Переглянути документацію API", + "createTable": "Нова таблиця" }, "sidebarItem": { - "exportTable": "" + "exportTable": "Експортувати таблицю", + "webhooks": "Вебхуки", + "lastSynced": "Остання синхронізація", + "notSynced": "не синхронізовано", + "sync": "Синхронізувати таблицю", + "updateSyncConfig": "Оновити конфігурацію синхронізації" }, "duplicateTableJobType": { - "duplicating": "", - "duplicatedTitle": "" + "duplicating": "Дублювання", + "duplicatedTitle": "Таблицю продубльовано", + "name": "Дублювати таблицю" }, "apiToken": { - "create": "", - "read": "", - "update": "", - "delete": "", - "tokenPrefix": "", - "viewAPIDocs": "", - "generateNewToken": "", - "showOrHide": "", - "copyToClipboard": "", - "showDatabases": "" + "create": "створити", + "read": "читати", + "update": "оновити", + "delete": "видалити", + "tokenPrefix": "Токен:", + "viewAPIDocs": "Переглянути документацію API", + "generateNewToken": "Згенерувати новий токен", + "showOrHide": "Показати або приховати токен", + "copyToClipboard": "Копіювати до буфера обміну", + "showDatabases": "показати бази даних" }, "apiTokenSettings": { - "title": "", - "createToken": "", - "noTokensMessage": "", - "hasFullPermissions": "", - "hasOnlySelectedPermissions": "", - "noPermissions": "", - "createNewTitle": "", - "backToOverview": "" + "title": "Токени бази даних", + "createToken": "Створити токен", + "noTokensMessage": "Ви ще не створили токен бази даних. Ви можете використовувати токени бази даних для автентифікації в кінцевих точках REST API, де можна створювати, читати, оновлювати та видаляти рядки. Можна встановити дозволи на рівні таблиці.", + "hasFullPermissions": "Має повні дозволи, також для всіх дочірніх елементів.", + "hasOnlySelectedPermissions": "Має дозволи лише для вибраних дочірніх елементів.", + "noPermissions": "Не має дозволів.", + "createNewTitle": "Створити новий токен бази даних", + "backToOverview": "Повернутися до огляду" }, "apiTokenForm": { - "nameLabel": "", - "workspaceLabel": "" + "nameLabel": "Назва", + "workspaceLabel": "Робочий простір" }, "apiDocsSelectDatabase": { - "needOneDatabase": "" + "needOneDatabase": "Вам потрібно мати принаймні одну базу даних, щоб переглянути документацію API." }, "apiDocsExample": { - "requestSample": "", - "responseSample": "", - "userFieldNames": "" + "requestSample": "Приклад запиту", + "responseSample": "Приклад відповіді", + "userFieldNames": "Назви полів користувача" }, "apiDocsParameter": { - "optional": "", - "defaultValue": "" + "optional": "необов'язково", + "defaultValue": "За замовчуванням: {value}" }, "apiDocsTableGetRow": { - "description": "", - "rowId": "" + "description": "Отримати один рядок {name}.", + "rowId": "Унікальний ідентифікатор рядка, який запитується." }, "apiDocsErrors": { - "errorCode": "", - "name": "", - "description": "", - "okDescription": "", - "badRequestDescription": "", - "unauthorizedDescription": "", - "notFoundDescription": "", - "requestEntityTooLargeDescription": "", - "internalErrorDescription": "", - "badGatewayDescription": "", - "unavailableDescription": "" + "errorCode": "Код помилки", + "name": "Назва", + "description": "Опис", + "okDescription": "Запит успішно виконано.", + "badRequestDescription": "Запит містить недійсні значення або JSON не вдалося розібрати.", + "unauthorizedDescription": "Коли ви намагаєтесь отримати доступ до кінцевої точки без дійсного токена бази даних.", + "notFoundDescription": "Рядок або таблицю не знайдено.", + "requestEntityTooLargeDescription": "Запит перевищив максимально допустимий розмір даних.", + "internalErrorDescription": "Сервер зіткнувся з неочікуваною помилкою.", + "badGatewayDescription": "Baserow перезапускається або відбувається неочікуваний збій.", + "unavailableDescription": "Сервер не зміг обробити ваш запит вчасно." }, "apiDocsTableFields": { - "tableTitle": "", - "tableId": "", - "description": "", - "id": "", - "name": "", - "type": "", - "compatibleFilters": "" + "tableTitle": "Таблиця {name}", + "tableId": "ID цієї таблиці:", + "description": "Кожен рядок у таблиці {name} містить наступні поля.", + "id": "ID", + "name": "Назва", + "type": "Тип", + "compatibleFilters": "Сумісні фільтри" }, "apiDocsTableListRows": { - "description": "", - "page": "", - "size": "", - "userFieldNames": "", - "search": "", - "orderBy": "", - "filter": "", - "filterLink": "", - "filterType": "", - "include": "", - "exclude": "", - "viewId": "" + "description": "Щоб отримати список рядків у таблиці *{name}*, потрібно зробити `GET` запит до кінцевої точки *{name}*. Відповідь розбита на сторінки, і за замовчуванням повертається перша сторінка. Потрібну сторінку можна отримати, вказавши параметри запиту `page` та `size`.", + "page": "Визначає, яку сторінку рядків слід повернути.", + "size": "Визначає, скільки рядків має повертатися на сторінку.", + "userFieldNames": "Коли параметр GET `user_field_names` надано і його значення є одним з наступних: `y`, `yes`, `true`, `t`, `on`, `1` або порожній рядок, назви полів, що повертаються цією кінцевою точкою, будуть фактичними назвами полів.\n\nЯкщо параметр GET `user_field_names` не надано або він не відповідає жодному з вищезазначених значень, усі повернуті назви полів будуть `field_`, за яким слідує id поля. Наприклад, `field_1` посилається на поле з id `1`.\n\n Крім того, коли встановлено `user_field_names`, змінюється поведінка інших параметрів GET `order_by`, `include` та `exclude`. Вони натомість очікують списки фактичних назв полів, розділених комами.", + "search": "Якщо надано, будуть повернуті лише рядки з даними, що відповідають пошуковому запиту.", + "orderBy": "За бажанням рядки можна впорядкувати за полями, розділеними комою. За замовчуванням або якщо перед полем стоїть '+', поле впорядковується за зростанням (A-Z), але якщо перед полем стоїть '-', його можна впорядкувати за спаданням (Z-A).\n\n #### З `user_field_names`:\n\n `order_by` має бути списком назв полів для сортування, розділених комами. Наприклад, якщо ви надасте такий параметр GET `order_by=My Field,-My Field 2`, рядки будуть відсортовані за полем `My Field` за зростанням. Якщо деякі поля мають однакове значення, ця підмножина буде відсортована за полем `My Field 2` за спаданням.\n\n Переконайтеся, що поля з назвами, що починаються з `+` або `-`, явно мають перед собою ще один `+` або `-`. Наприклад, `+-Name`.\n\n Назви полів, що містять коми, мають бути взяті в лапки: `\"Name ,\"`. Якщо назви полів містять лапки, їх потрібно екранувати символом `\\`. Наприклад: `Name \\\"`. \n\n#### Без `user_field_names`:\n\n `order_by` має бути списком `field_`, за яким слідує id поля для сортування, розділених комами. Наприклад, якщо ви надасте такий параметр GET `order_by=field_1,-field_2`, рядки будуть відсортовані за `field_1` за зростанням. Якщо деякі поля мають однакове значення, ця підмножина буде відсортована за `field_2` за спаданням.", + "filter": "Рядки можна необов'язково фільтрувати, використовуючи ті ж фільтри перегляду, що доступні для переглядів. Можна застосувати кілька фільтрів, якщо вони відповідають тому ж формату. Змінні `field` та `filter` вказують, як і де застосовувати фільтр відповідно.\n\n#### З `user_field_names`:\n\nНаприклад, якщо ви надасте такий параметр GET: `filter__Name__equal=test`, будуть повернуті лише рядки, де значення `Name` дорівнює 'test'. Цей метод зворотно сумісний і перевірятиме за `field_id`, якщо не вдасться знайти за назвою.\n\n#### Без `user_field_names`:\n\nНаприклад, якщо ви надасте такий параметр GET: `filter__field_1__equal=test`, будуть повернуті лише рядки, де значення `field_1` дорівнює 'test'.\n\nЗверніть увагу, що якщо надано параметр filters, цей параметр буде проігноровано. ", + "filterLink": "Список усіх фільтрів можна знайти тут.", + "filterType": "- `AND`: Вказує, що рядки повинні відповідати всім наданим фільтрам.\n- `OR`: Вказує, що рядки повинні відповідати лише одному з фільтрів.\n\n Це працює лише якщо надано два або більше фільтрів.", + "include": "За замовчуванням усі поля включені у відповідь. Ви можете вибрати підмножину полів для включення, надавши параметр запиту include.\n\n #### З `user_field_names`:\n\n `include` має бути списком назв полів для включення в результати, розділених комами. Наприклад, якщо ви надасте такий параметр GET: `include=My Field,-My Field 2`, то лише ці поля будуть включені (якщо вони явно не виключені).\n\n Назви полів, що містять коми, мають бути взяті в лапки: `\"Name ,\"`. Якщо назви полів містять лапки, їх потрібно екранувати символом `\\`. Наприклад: `Name \\\"`.\n\n #### Без `user_field_names`:\n\n `include` має бути списком `field_`, за яким слідує id поля для включення в результати, розділених комами. Наприклад: якщо ви надасте такий параметр GET `include=field_1,field_2`, то лише поля з id `1` та id `2` будуть включені (якщо вони явно не виключені).", + "exclude": "За замовчуванням усі поля включені у відповідь. Ви можете вибрати підмножину полів для виключення, надавши параметр запиту exclude.\n\n #### З `user_field_names`:\n\n `exclude` має бути списком назв полів для виключення з результатів, розділених комами. Наприклад, якщо ви надасте такий параметр GET: `exclude=My Field,-My Field 2`, то ці поля будуть виключені.\n\n Назви полів, що містять коми, мають бути взяті в лапки: `\"Name ,\"`. Якщо назви полів містять лапки, їх потрібно екранувати символом `\\`. Наприклад: `Name \\\"`.\n\n #### Без `user_field_names`:\n\n `exclude` має бути списком `field_`, за яким слідує id поля для виключення з результатів, розділених комами. Наприклад: якщо ви надасте такий параметр GET `exclude=field_1,field_2`, то поля з id `1` та id `2` будуть виключені.", + "viewId": "За замовчуванням жодні фільтри та сортування, крім тих, що визначені в параметрах запиту, не застосовуються. Ви можете додати фільтри та сортування перегляду, надавши його `id` у параметрі GET `view_id`. Наприклад, якщо ви надасте такий параметр GET `view_id=1`, то будуть застосовані фільтри та сортування, визначені в перегляді з id `1`. Ви можете знайти `view_id` у контекстному меню будь-якого перегляду. Це число в дужках за назвою перегляду. \n\n #### З `filter__{field}__{filter}` \n\n Будуть застосовані як фільтр, наданий у параметрі запиту, так і фільтри, визначені в перегляді.\n\n #### З `order_by` \n\n Якщо надано `order_by`, то сортування, визначене в перегляді, буде проігноровано.", + "filters": "Рядки можна необов'язково фільтрувати, використовуючи ті ж фільтри перегляду, що доступні для переглядів. Цей параметр приймає серіалізований JSON рядок, що містить дерево фільтрів для застосування до цього перегляду. Дерево фільтрів — це вкладена структура, що містить фільтри, які потрібно застосувати. \n\n#### З `user_field_names`:\n\nПриклад дійсного дерева фільтрів: `{\"filter_type\": \"AND\", \"filters\": [{\"field\": \"Name\", \"type\": \"equal\", \"value\": \"test\"}]}`.\n\n#### Без `user_field_names`:\n\nНаприклад, якщо ви надасте такий параметр GET: `{\"filter_type\": \"AND\", \"filters\": [{\"field\": 1, \"type\": \"equal\", \"value\": \"test\"}]}`\n\nЗверніть увагу, що якщо цей параметр надано, всі інші `filter__{field}__{filter}` будуть проігноровані, так само як і параметр filter_type.", + "filtersBuilder": "Відкрити конструктор параметрів фільтрів", + "join": "Дозволяє запитувати пошук значень полів з цільової таблиці через існуючі поля зв'язаних рядків. Назва параметра має бути назвою існуючого поля зв'язаного рядка, за якою слідує __join. Значенням має бути список назв полів, для яких ми хочемо отримати додаткові значення. Ви можете надати одне або кілька цільових полів. Неможливо отримати значення поля зв'язаного рядка в цільовій таблиці.\n\n #### З `user_field_names`:\n\n `join` має бути списком назв полів для включення в результати, розділених комами. Наприклад: якщо ви надасте такий параметр GET `LinkRowField__join=MyField,MyField2`, то значення `MyField` та `My Field2` у таблиці, зв'язаній через `LinkRowField`, будуть включені у відповідь.\n\n#### Без `user_field_names`:\n\n `join` має бути списком `field_`, за яким слідує id поля для включення в результати, розділених комами. Наприклад: якщо ви надасте такий параметр GET `field_1__join=field_2,field_3`, то значення `field_2` та `field_3` у таблиці, зв'язаній через `field_1`, будуть включені у відповідь." }, "apiDocsIntro": { - "intro": "", - "autoDocDescription": "", - "databaseId": "", - "jsClient": "", - "pythonClient": "" + "intro": "База даних {name} надає простий спосіб інтегрувати дані з будь-якою зовнішньою системою. API дотримується семантики REST, використовує JSON для кодування об'єктів та покладається на стандартні HTTP-коди, машинно- та людино-зрозумілі помилки для сигналізації про результати операцій.", + "autoDocDescription": "Ця документація генерується автоматично на основі таблиць та полів у вашій базі даних. Якщо ви вносите зміни до бази даних, таблиці або полів, інтерфейс API також може змінитися. Тому переконайтеся, що ви оновлюєте свою реалізацію API відповідно.", + "databaseId": "ID цієї бази даних:", + "jsClient": "Приклад JavaScript клієнта API:", + "pythonClient": "Приклад Python клієнта API:" }, "apiDocsTableListFields": { - "description": "", - "resultFieldProperties": "", - "id": "", - "name": "", - "tableId": "", - "order": "", - "primary": "", - "type": "", - "extraProps": "", - "readOnly": "" + "description": "Щоб отримати список полів таблиці {name}, потрібно зробити `GET` запит до кінцевої точки полів {name}. Перелік полів можливий лише якщо токен бази даних має дозволи на читання, створення або оновлення.", + "resultFieldProperties": "Властивості полів результату", + "id": "Первинний ключ поля. Може використовуватися для генерації назви стовпця бази даних шляхом додавання префікса `field_`.", + "name": "Назва поля.", + "tableId": "ID пов'язаної таблиці.", + "order": "Порядок поля в таблиці. 0 для першого поля.", + "primary": "Вказує, чи є поле первинним. Якщо `true`, поле не можна видалити, і значення має представляти весь рядок.", + "type": "Тип, визначений для цього поля.", + "extraProps": "Деякі додаткові властивості тут не описані, оскільки вони специфічні для типу.", + "readOnly": "Вказує, чи є поле полем лише для читання. Якщо true, неможливо оновити значення комірки.", + "descriptionField": "Опис поля" }, "apiDocsTableDeleteRow": { - "description": "", - "rowId": "" + "description": "Видаляє існуючий рядок {name}.", + "rowId": "Унікальний ідентифікатор рядка, який потрібно видалити." }, "apiDocsTableDeleteRows": { - "description": "", - "items": "" + "description": "Видаляє існуючі рядки {name}.", + "items": "Масив id рядків, які потрібно видалити." }, "apiDocsTableMoveRow": { - "description": "", - "rowId": "", - "before": "" + "description": "Переміщує існуючий рядок {name} перед іншим рядком. Якщо `before_id` не надано, рядок буде переміщено в кінець таблиці.", + "rowId": "Переміщує рядок, пов'язаний зі значенням.", + "before": "Переміщує рядок, пов'язаний із заданим `row_id`, перед рядком, пов'язаним із наданим значенням. Якщо не надано, рядок буде переміщено в кінець." }, "apiDocsUploadFile": { - "description": "", - "file": "" + "description": "Завантажує файл до Baserow шляхом прямого завантаження вмісту файлу. Очікується `file` multipart, що містить вміст файлу. Відповідь потім можна використати для [завантаження файлу до рядка]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row).", + "file": "`file` multipart, що містить вміст файлу." }, "apiDocsUploadFileViaURL": { - "description": "", - "url": "" + "description": "Завантажує файл до Baserow, завантаживши його з наданої URL-адреси. Відповідь потім можна використати для [завантаження файлу до рядка]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row).", + "url": "URL-адреса, яку ви хочете, щоб Baserow завантажив від вашого імені." }, "apiDocsTableUpdateRow": { - "description": "", - "rowId": "", - "before": "" + "description": "Оновлює існуючий рядок {name}.", + "rowId": "Унікальний ідентифікатор рядка, який потрібно оновити.", + "before": "Якщо надано, новостворений рядок буде розміщено перед рядком із наданим id." }, "apiDocsTableUpdateRows": { - "description": "", - "id": "" + "description": "Оновлює існуючі рядки {name}.", + "id": "ID рядка." }, "apiDocsTableCreateRow": { - "description": "", - "before": "" + "description": "Створити новий рядок {name}.", + "before": "Якщо надано, новостворений рядок буде розміщено перед рядком із наданим id." }, "apiDocsTableCreateRows": { - "description": "", - "before": "" + "description": "Створити нові рядки {name}.", + "before": "Якщо надано, новостворені рядки будуть розміщені перед рядком із наданим id." }, "apiDocsAuth": { - "description": "", - "settingsLink": "" + "description": "Baserow використовує просту автентифікацію на основі токенів. Вам потрібно згенерувати принаймні один токен бази даних у ваших {settingsLink}, щоб використовувати описані нижче кінцеві точки. Можна надати дозволи на створення, читання, оновлення та видалення на рівні таблиці для кожного токена. Ви можете автентифікуватися в API, надавши свій токен у заголовку HTTP authorization bearer token. Усі запити API повинні бути автентифіковані та виконуватися через HTTPS.", + "settingsLink": "налаштуваннях" }, "apiDocsFilters": { - "filter": "", - "exampleValue": "", - "example": "", - "field": "" + "filter": "Фільтр", + "exampleValue": "Приклад значення", + "example": "Повний приклад", + "field": "поле {name}", + "deprecated": "застаріло" }, "fieldTextSubForm": { - "placeholder": "" + "placeholder": "Текст за замовчуванням" }, "fieldSingleSelectSubForm": { - "optionsLabel": "" + "optionsLabel": "Параметри", + "defaultOptionLabel": "Параметр за замовчуванням" }, "fieldSingleSelectDropdown": { - "notFound": "" + "notFound": "Параметр не знайдено" }, "fieldmultipleCollaboratorsDropdown": { - "notFound": "" + "notFound": "Співавтора не знайдено" }, "fieldDateSubForm": { - "dateFormatLabel": "", - "dateFormatEuropean": "", - "dateFormatUS": "", - "dateFormatISO": "", - "includeTimeLabel": "", - "timeFormatLabel": "", - "24Hour": "", - "12Hour": "" + "dateFormatLabel": "Формат дати", + "dateFormatEuropean": "Європейський", + "dateFormatUS": "Американський", + "dateFormatISO": "ISO", + "includeTimeLabel": "Включити час", + "timeFormatLabel": "Формат часу", + "24Hour": "24 години", + "12Hour": "12 годин", + "showTimezoneLabel": "Показати часовий пояс", + "forceTimezoneLabel": "Встановити часовий пояс для всіх співавторів", + "forceTimezoneValue": "Часовий пояс", + "addTimezoneOffsetLabel": "Конвертувати значення (додати {utcOffsetDiff} хвилин)", + "subTimezoneOffsetLabel": "Конвертувати значення (відняти {utcOffsetDiff} хвилин)" }, "fieldLinkRowSubForm": { - "noTable": "", - "selectTableLabel": "", - "hasRelatedFieldLabel": "" + "noTable": "Вам потрібна принаймні одна інша таблиця в тій же базі даних для зв'язку.", + "selectTableLabel": "Виберіть таблицю для зв'язку", + "hasRelatedFieldLabel": "Створити пов'язане поле в зв'язаній таблиці", + "limitToView": "Обмежити вибір переглядом", + "limitToViewDescription": "Зверніть увагу, що це лише візуально. Все ще можливо створювати зв'язки поза переглядом через пов'язану таблицю або API.", + "allowMultipleRelations": "Дозволити кілька зв'язків" }, "fieldSelectOptions": { - "add": "" + "add": "Додати параметр" }, "fieldNumberSubForm": { - "typeLabel": "", - "integer": "", - "decimal": "", - "decimalPlacesLabel": "", - "allowNegative": "" + "typeLabel": "Тип числа", + "integer": "Ціле", + "decimal": "Десяткове", + "decimalPlacesLabel": "Десяткові знаки", + "allowNegative": "Дозволити від'ємні", + "separatorLabel": "Роздільник тисяч та десяткових", + "prefixPlaceholder": "Префікс", + "suffixPlaceholder": "Суфікс", + "prefixAndSuffixLabel": "Префікс / суфікс", + "spaceComma": "Пробіл, кома (1 000 000,00)", + "spacePeriod": "Пробіл, крапка (1 000 000.00)", + "commaPeriod": "Кома, крапка (1,000,000.00)", + "periodComma": "Крапка, кома (1.000.000,00)", + "noFormatting": "Без форматування", + "defaultValueLabel": "Значення за замовчуванням", + "defaultValuePlaceholder": "Введіть значення за замовчуванням" }, "fieldContext": { - "editField": "", - "deleteField": "", - "hideField": "", - "showField": "" + "editField": "Редагувати поле", + "deleteField": "Видалити поле", + "hideField": "Приховати поле", + "showField": "Показати поле", + "changePrimaryField": "Змінити первинне поле" }, "fieldForm": { - "name": "", - "fieldAlreadyExists": "", - "nameNotAllowed": "", - "nameTooLong": "" + "name": "Назва", + "fieldAlreadyExists": "Поле з такою назвою вже існує.", + "nameNotAllowed": "Ця назва поля не дозволена.", + "nameTooLong": "Ця назва поля занадто довга.", + "description": "Опис", + "addDescription": "Додати опис", + "dbIndex": "Індекс", + "dbIndexError": "Цей тип поля не може мати індекс. Будь ласка, видаліть його перед збереженням або змініть тип поля.", + "dbIndexDescription": "Індексування може значно покращити продуктивність фільтрації, але сповільнює операції створення, оновлення та видалення.", + "defaultValueDisabledByConstraint": "Неможливо встановити значення за замовчуванням з обмеженням унікальності", + "dbIndexDisabledTooltip": "Індексування недоступне для цього типу поля." }, "fieldLookupSubForm": { "noTable": "", "selectThroughFieldLabel": "", - "selectTargetFieldLabel": "" + "selectTargetFieldLabel": "Виберіть поле для пошуку" }, "fieldFormulaNumberSubForm": { - "typeLabel": "", - "integer": "", - "decimal": "", - "decimalPlacesLabel": "", - "allowNegative": "" + "typeLabel": "Тип числа", + "integer": "Ціле число", + "decimal": "Десяткове", + "decimalPlacesLabel": "Знаки після коми", + "allowNegative": "Дозволити від'ємні" }, "fieldRatingSubForm": { - "maxValue": "", - "color": "", - "style": "" + "maxValue": "Макс", + "color": "Колір", + "style": "Стиль" }, "rowCreateModal": { - "addField": "" + "addField": "Додати поле" }, "selectRowContent": { - "search": "" + "search": "Пошук рядків", + "hideFields": "Приховати поля" }, "rowEditModal": { - "addField": "", - "showHiddenFields": "", - "hideHiddenFields": "" + "addField": "Додати поле", + "showHiddenFields": "Показати приховані поля", + "hideHiddenFields": "Приховати приховані поля" }, "rowEditFieldMultipleSelect": { - "addOption": "" + "addOption": "Виберіть опцію" }, "rowEditFieldMultipleCollaborators": { - "addCollaborator": "" + "addCollaborator": "Виберіть співробітника" }, "rowEditFieldFile": { - "addFile": "", + "addFile": "Додати файл", "sizes": { - "0": "", - "1": "", - "2": "", - "3": "", - "4": "", - "5": "" + "0": "Байт", + "1": "КБ", + "2": "МБ", + "3": "ГБ", + "4": "ТБ", + "5": "ПБ" } }, "rowEditFieldLinkRow": { - "addLink": "" + "addLink": "Виберіть посилання", + "keepOnlyOneValue": "Залишити лише одне значення. Це поле підтримує лише один зв'язок. Значення зберігається, якщо залишається лише один зв'язок." }, "tableCSVImporter": { - "chooseFileLabel": "", - "chooseFileDescription": "", - "chooseFile": "", - "columnSeparator": "", - "recordSeparator": "", - "unitSeparator": "", - "encoding": "", - "firstRowHeader": "", - "limitFileSize": "", - "limitError": "", - "emptyCSV": "" + "chooseFileLabel": "Виберіть CSV файл", + "chooseFileDescription": "Ви можете імпортувати існуючий CSV, завантаживши файл .CSV з табличними даними. Більшість табличних програм дозволяють експортувати таблицю як файл .CSV.", + "chooseFile": "Виберіть CSV файл", + "columnSeparator": "Роздільник стовпців", + "recordSeparator": "роздільник записів", + "unitSeparator": "роздільник одиниць", + "encoding": "Кодування", + "firstRowHeader": "Перший рядок — заголовок", + "limitFileSize": "Максимальний розмір файлу — {limit} МБ.", + "limitError": "Неможливо імпортувати більше ніж {limit} рядків.", + "emptyCSV": "Цей CSV файл порожній." }, "importer": { - "fieldDefaultName": "", - "loading": "", - "decoding": "", - "parsing": "", - "preparing": "", - "inProgress": "" + "fieldDefaultName": "Поле {count}", + "loading": "Завантаження файлу", + "decoding": "Декодування даних", + "parsing": "Аналіз даних", + "preparing": "Підготовка даних", + "inProgress": "Виконується..." }, "tableForm": { - "name": "" + "name": "Назва" }, "tableXMLImporter": { - "fileLabel": "", - "fileDescription": "", - "chooseButton": "", - "processingError": "", - "emptyError": "", - "limitFileSize": "", - "limitError": "" + "fileLabel": "Виберіть XML файл", + "fileDescription": "Ви можете імпортувати існуючий XML, завантаживши файл .XML з табличними даними, наприклад:", + "chooseButton": "Виберіть XML файл", + "processingError": "Помилка при обробці XML: {errors}", + "emptyError": "Цей XML файл порожній.", + "limitFileSize": "Максимальний розмір файлу — {limit} МБ.", + "limitError": "Неможливо імпортувати більше ніж {limit} рядків." }, "tableJSONImporter": { - "fileLabel": "", - "fileDescription": "", - "chooseButton": "", - "encodingLabel": "", - "processingError": "", - "arrayError": "", - "emptyError": "", - "limitFileSize": "", - "limitError": "" + "fileLabel": "Виберіть JSON файл", + "fileDescription": "Ви можете імпортувати існуючий JSON файл, завантаживши файл .json з табличними даними, наприклад:", + "chooseButton": "Виберіть JSON файл", + "encodingLabel": "Кодування", + "processingError": "Помилка при аналізі JSON: {error}", + "arrayError": "JSON файл не є масивом.", + "emptyError": "Цей JSON файл порожній.", + "limitFileSize": "Максимальний розмір файлу — {limit} МБ.", + "limitError": "Неможливо імпортувати більше ніж {limit} рядків." }, "tablePasteImporter": { - "pasteLabel": "", - "pasteDescription": "", - "firstRowHeader": "", - "limitError": "" + "pasteLabel": "Вставте дані таблиці", + "pasteDescription": "Ви можете скопіювати клітинки з таблиці та вставити їх нижче.", + "firstRowHeader": "Перший рядок — заголовок", + "limitError": "Неможливо імпортувати більше ніж {limit} рядків." }, "importFileModal": { "title": "", - "defaultName": "", + "defaultName": "Таблиця", "changeImporterType": "", - "additionalImportTitle": "", - "importLabel": "", - "newTable": "", + "additionalImportTitle": "Імпортувати до {table}", + "importLabel": "Бажаєте імпортувати існуючі дані?", + "newTable": "Почати з нової таблиці", "addButton": "", - "showTable": "", - "importButton": "", - "uploading": "", - "preparing": "", - "importError": "", + "showTable": "показати таблицю", + "importButton": "Імпорт", + "uploading": "Завантаження...", + "preparing": "Підготовка даних...", + "importError": "Щось пішло не так під час імпорту файлу", "openCreatedTable": "", "showReport": "", "reportTitleFailure": "", "reportTitleSuccess": "", "reportMessage": "", - "stateRowCreation": "", - "statePreValidation": "", - "stateCreateTable": "", - "fieldMappingTitle": "", - "fieldMappingDescription": "", - "selectImportMessage": "", - "filePreview": "", - "importPreview": "" + "stateRowCreation": "Імпорт...", + "statePreValidation": "Перевірка даних...", + "stateCreateTable": "Створення таблиці...", + "fieldMappingTitle": "Зіставлення полів", + "fieldMappingDescription": "Ми автоматично зіставили стовпці з полями Baserow у вашій таблиці. Ви можете змінити їх нижче. Будь-яка несумісна клітинка залишиться порожньою після імпорту.", + "selectImportMessage": "Виберіть дані для імпорту.", + "filePreview": "Попередній перегляд вмісту файлу", + "importPreview": "Попередній перегляд імпорту", + "useUpsertField": "Оновлювати рядки, якщо вони вже існують", + "upsertTooltip": "Зіставляйте існуючі рядки за унікальним полем для перезапису даних імпортованими значеннями." }, "formulaAdvancedEditContext": { - "textAreaFormulaInputPlaceholder": "", - "fields": "", - "functions": "", - "operators": "", - "fieldType": "" + "textAreaFormulaInputPlaceholder": "Натисніть для редагування формули", + "fields": "Поля", + "functions": "Функції", + "operators": "Оператори", + "fieldType": "Поле типу {type}" }, "fieldFormulaInitialSubForm": { - "formulaInputPlaceholder": "", - "refreshFormulaOptions": "" + "formulaInputPlaceholder": "Натисніть для редагування формули", + "refreshFormulaOptions": "Оновити параметри формули" }, "formulaFieldItemDescription": { - "syntax": "", - "examples": "" + "syntax": "Синтаксис", + "examples": "Приклади" }, "viewSearchContext": { - "searchInRows": "", - "hideNotMatching": "" + "searchInRows": "Пошук у всіх рядках", + "hideNotMatching": "приховати рядки, що не відповідають" }, "viewsContext": { - "searchView": "", - "noViews": "", - "collaborative": "" + "searchView": "Пошук представлень", + "noViews": "Представлень не знайдено", + "collaborative": "Спільні" }, "viewFilterTypeLinkRow": { - "unnamed": "", - "choose": "" + "unnamed": "безіменний рядок {value}", + "choose": "Виберіть рядок" }, "viewFilterContext": { - "addFilter": "", - "disableAllFilters": "", - "noFilterTitle": "", - "noFilterText": "", - "where": "", - "and": "", - "or": "", - "relatedFieldNotFound": "", - "filterTypeNotFound": "", - "noCompatibleFilterTypesErrorTitle": "", - "noCompatibleFilterTypesErrorMessage": "" + "addFilter": "Додати фільтр", + "disableAllFilters": "всі вимкнено", + "noFilterTitle": "Ви ще не створили фільтр", + "noFilterText": "Фільтри дозволяють показувати рядки, що відповідають вашим умовам.", + "where": "Де", + "and": "І", + "or": "Або", + "relatedFieldNotFound": "Пов'язане поле не знайдено.", + "filterTypeNotFound": "Тип фільтра несумісний.", + "noCompatibleFilterTypesErrorTitle": "Немає сумісних типів фільтрів", + "noCompatibleFilterTypesErrorMessage": "Жодне з ваших полів не має сумісних типів фільтрів", + "addFilterGroup": "Додати групу фільтрів" }, "viewFilterTypeFileTypeDropdown": { - "image": "", - "document": "" + "image": "зображення", + "document": "документ" }, "createViewModal": { - "createNew": "", - "add": "" + "createNew": "Створити нове {view}", + "add": "Додати {view}" }, "shareViewLink": { - "shareView": "", - "shareViewTitle": "", - "sharedViewTitle": "", - "sharedViewDescription": "", - "disableLink": "", - "generateNewUrl": "", - "copyURL": "", - "EnablePassword": "", - "DisablePassword": "", - "ChangePassword": "" + "shareView": "Поділитися {viewTypeSharingLinkName}", + "shareViewTitle": "Ви ще не поділилися представленням", + "sharedViewTitle": "Це {viewTypeSharingLinkName} наразі доступне через приватне посилання", + "sharedViewDescription": "Люди, які мають посилання, можуть бачити {viewTypeSharingLinkName}.", + "disableLink": "Вимкнути спільне посилання", + "generateNewUrl": "згенерувати нове посилання", + "copyURL": "копіювати URL", + "EnablePassword": "Обмежити доступ паролем", + "DisablePassword": "Доступ захищений паролем", + "ChangePassword": "Змінити", + "shareViewText": "Приватне посилання для поширення дозволяє будь-кому переглядати дані в цьому представленні.", + "createPrivateLink": "Створити приватне посилання", + "notSharedYetText": "Дозвольте будь-кому переглядати дані в цьому представленні або синхронізувати події з вашим зовнішнім календарем." }, "viewSortContext": { - "noSortTitle": "", - "noSortText": "", - "sortBy": "", - "thenBy": "", - "addSort": "" + "noSortTitle": "Ви ще не створили сортування", + "noSortText": "Сортування дозволяє впорядковувати рядки за полем.", + "sortBy": "Сортувати за", + "thenBy": "Потім за", + "addSort": "виберіть поле для сортування" }, "viewSort": { - "sort": "" + "sort": "Сортувати | 1 сортування | {count} сортувань" }, "viewDecorator": { - "decorator": "" + "decorator": "Колір | 1 колір | {count} кольорів" }, "viewRotateSlugModal": { - "title": "", - "refreshWarning": "", - "generateNewURL": "" + "title": "Оновити URL", + "refreshWarning": "Ви впевнені, що хочете оновити URL для {viewName}? Після оновлення буде згенеровано новий URL, і доступ до {viewTypeSharingLinkName} за старим URL буде неможливий. Усі, з ким ви поділилися URL, не зможуть отримати доступ до {viewTypeSharingLinkName}.", + "generateNewURL": "Згенерувати новий URL" }, "shareViewEnablePasswordModal": { - "newPasswordTitle": "", - "newPasswordDescription": "", - "newPasswordSave": "", - "changePasswordTitle": "", - "changePasswordDescription": "", - "changePasswordSave": "" + "newPasswordTitle": "Введіть пароль", + "newPasswordDescription": "Публічне посилання буде доступне лише після введення пароля. Цей пароль буде збережено в зашифрованому вигляді.", + "newPasswordSave": "Встановити пароль", + "changePasswordTitle": "Змінити пароль", + "changePasswordDescription": "Після зміни пароля попередній перестане працювати. Цей пароль буде збережено в зашифрованому вигляді.", + "changePasswordSave": "Змінити пароль" }, "shareViewDisablePasswordModal": { - "title": "", - "description": "", - "disable": "" + "title": "Вимкнути захист паролем", + "description": "Ви впевнені, що хочете вимкнути захист паролем для цього публічного посилання? Після вимкнення пароль буде видалено, і його неможливо буде відновити", + "disable": "Вимкнути" }, "publicViewAuthLogin": { - "title": "", - "description": "", - "enter": "", + "title": "Ця сторінка захищена паролем", + "description": "Введіть правильний пароль для доступу до сторінки.", + "enter": "Увійти", "error": { - "incorrectPasswordTitle": "", - "incorrectPasswordText": "" + "incorrectPasswordTitle": "Неправильний пароль", + "incorrectPasswordText": "Наданий пароль неправильний." } }, "viewFieldsContext": { - "coverField": "", - "noCover": "", - "search": "", - "hideAll": "", - "showAll": "" + "coverField": "Поле обкладинки", + "noCover": "Без обкладинки", + "search": "Пошук полів", + "hideAll": "Приховати всі", + "showAll": "Показати всі" }, "viewFilterTypeBoolean": { - "selected": "" + "selected": "Вибрано" }, "viewFilter": { - "filter": "" + "filter": "Фільтр | 1 фільтр | {count} фільтрів", + "hasAllValuesEqual": "всі значення рівні", + "hasValueHigherThan": "має значення більше ніж", + "hasValueHigherThanOrEqual": "має значення більше або рівне", + "hasValueLowerThan": "має значення менше ніж", + "hasValueLowerThanOrEqual": "має значення менше або рівне", + "hasNotValueHigherThan": "не має значення більше ніж", + "hasNotValueHigherThanOrEqual": "не має значення більше або рівне", + "hasNotValueLowerThan": "не має значення менше ніж", + "hasNotValueLowerThanOrEqual": "не має значення менше або рівне" }, "viewContext": { - "exportView": "", - "duplicateView": "", - "renameView": "", - "webhooks": "", - "importFile": "", - "deleteView": "" + "exportView": "Експортувати представлення", + "duplicateView": "Дублювати представлення", + "renameView": "Перейменувати представлення", + "webhooks": "Вебхуки", + "importFile": "Імпортувати файл", + "deleteView": "Видалити представлення", + "toPersonal": "Зробити особистим", + "toCollaborative": "Зробити спільним" }, "deleteViewModal": { - "title": "", - "description": "", - "delete": "" + "title": "Видалити {name}", + "description": "Ви впевнені, що хочете видалити представлення {name}? Дані таблиці буде збережено, але фільтри, сортування та ширину полів, пов'язані з представленням, буде видалено.", + "delete": "Видалити представлення" }, "viewForm": { - "name": "", - "whoCanEdit": "" + "name": "Назва", + "whoCanEdit": "Хто може редагувати" }, "viewOwnershipType": { - "collaborative": "", - "personal": "" + "collaborative": "Спільний", + "personal": "Особистий" }, "galleryViewHeader": { - "customizeCards": "" + "customizeCards": "Налаштувати картки" }, "gridViewHide": { - "hideField": "" + "hideField": "Приховати поля | 1 приховане поле | {count} прихованих полів" }, "gridViewFieldType": { - "insertLeft": "", - "insertRight": "", - "createFilter": "", - "duplicate": "", - "sortField": "", - "hideField": "" + "insertLeft": "Вставити зліва", + "insertRight": "Вставити справа", + "createFilter": "Створити фільтр", + "duplicate": "Дублювати поле", + "sortField": "Сортувати", + "hideField": "Приховати поле", + "dataSyncField": "Поле доступне лише для читання та є частиною синхронізації даних таблиці.", + "dataSyncFieldTwoWaySync": "Поле синхронізовано із синхронізацією даних таблиці.", + "noWriteValues": "Зміни цього поля обмежені." }, "gridViewRow": { - "rowNotMatchingFilters": "", - "rowNotMatchingSearch": "", - "rowHasMoved": "" + "rowNotMatchingFilters": "Рядок не відповідає фільтрам", + "rowNotMatchingSearch": "Рядок не відповідає пошуку", + "rowHasMoved": "Рядок переміщено" }, "gridView": { - "selectRow": "", - "insertRowAbove": "", - "insertRowBelow": "", - "duplicateRow": "", - "enlargeRow": "", - "deleteRow": "", - "deleteRows": "", - "copyCells": "", - "rowCount": "", - "hiddenRowsInsertedTitle": "", - "hiddenRowsInsertedMessage": "" + "selectRow": "Вибрати рядок", + "insertRowAbove": "Вставити рядок вище", + "insertRowBelow": "Вставити рядок нижче", + "duplicateRow": "Дублювати рядок", + "enlargeRow": "Розгорнути рядок", + "deleteRow": "Видалити рядок", + "deleteRows": "Видалити рядки", + "copyCells": "Копіювати клітинки", + "rowCount": "Немає рядків | 1 рядок | {count} рядків", + "hiddenRowsInsertedTitle": "Рядки додано", + "hiddenRowsInsertedMessage": "{number} нових рядків було додано, але вони не відображаються через активні фільтри.", + "copyRowURL": "Копіювати URL рядка", + "copiedRowURL": "URL рядка скопійовано", + "copiedRowURLMessage": "URL рядка {id} скопійовано до буфера обміну.", + "copyCellsWithHeader": "Копіювати клітинки із заголовком", + "generateCellsValues": "Згенерувати значення за допомогою ШІ", + "generateAllAiValues": "Згенерувати всі значення ШІ", + "tooManyItemsTitle": "Забагато елементів", + "tooManyItemsDescription": "Неможливо оновити більше ніж {limit} рядків одночасно, тому оновлено лише перші.", + "AIValuesGenerationErrorTitle": "Не вдалося згенерувати значення ШІ", + "AIValuesGenerationErrorMessage": "Перевірте свій API_KEY та обрану модель." }, "gridViewFieldFile": { - "dropHere": "", - "dropFileHere": "" + "dropHere": "Перетягніть сюди", + "dropFileHere": "Перетягніть файли сюди" }, "gridViewFieldLinkRow": { - "unnamed": "" + "unnamed": "безіменний рядок {value}", + "keepOnlyOneValue": "Залишити лише одне значення" }, "gridViewIdentifierOptions": { - "id": "", - "count": "" + "id": "Ідентифікатор рядка", + "count": "Кількість" }, "gridViewRowsAddContext": { - "title": "", - "choice": "" + "title": "Створити кілька рядків", + "choice": "Додати {rowAmountChoice} рядків" }, "formViewMeta": { - "includeRowId": "" + "includeRowId": "Використовуйте {row_id}, щоб включити ідентифікатор новоствореного рядка в URL." }, "previewAny": { - "externalWarning": "" + "externalWarning": "Відкриття файлу через зовнішній сервіс передає ваш файл на їхні сервери." }, "exportTableModal": { - "failedTitle": "", - "failedDescription": "", - "cancelledTitle": "", - "cancelledDescription": "" + "failedTitle": "Помилка експорту", + "failedDescription": "Експорт не вдався через помилку сервера.", + "cancelledTitle": "Експорт скасовано", + "cancelledDescription": "Експорт було скасовано.", + "title": "Експорт {name}" }, "exporterTypeChoices": { - "formatLabel": "" + "formatLabel": "У який формат ви хочете експортувати?" }, "exportTableForm": { - "viewLabel": "", - "typeError": "" + "viewLabel": "Виберіть представлення для експорту:", + "typeError": "Тип експорту недоступний, виберіть інше представлення або всю таблицю." }, "exportTableLoadingBar": { - "export": "", - "download": "" + "export": "Експорт", + "download": "Завантажити" }, "exportTableDropdown": { - "exportEntireTable": "" + "exportEntireTable": "Експортувати всю таблицю" }, "tableCSVExporter": { - "columnSeparatorLabel": "", - "recordSeparator": "", - "unitSeparator": "", - "encodingLabel": "", - "firstRowIsHeaderLabel": "" + "columnSeparatorLabel": "Роздільник стовпців", + "recordSeparator": "роздільник записів", + "unitSeparator": "роздільник одиниць", + "encodingLabel": "Кодування", + "firstRowIsHeaderLabel": "", + "includeHeader": "Включити назви полів як заголовок" }, "apiDocsDatabase": { - "pageTitle": "", - "back": "", - "openDatabase": "" + "pageTitle": "Документація API бази даних {name}", + "back": "Назад до панелі керування", + "openDatabase": "відкрити базу даних" }, "apiDocsComponent": { - "title": "", - "intro": "", - "settings": "", - "selectApplicationTitle": "", - "signIn": "", - "back": "" + "title": "REST API", + "intro": "Після створення схеми бази даних та API ключа в {settingsLink} ваша база даних Baserow надає власні REST API ендпоінти для створення, читання, оновлення та видалення рядків.", + "settings": "налаштуваннях", + "selectApplicationTitle": "Для якої бази даних ви хочете переглянути документацію?", + "signIn": "Увійдіть, щоб почати", + "back": "Назад до панелі керування" }, "viewAggregationType": { - "emptyCount": "", - "notEmptyCount": "", - "emptyPercentage": "", - "notEmptyPercentage": "", - "checkedCount": "", - "notCheckedCount": "", - "checkedPercentage": "", - "notCheckedPercentage": "", - "min": "", - "max": "", - "earliestDate": "", - "earliestDateShort": "", - "latestDate": "", - "latestDateShort": "", - "uniqueCount": "", - "sum": "", - "average": "", - "median": "", - "stdDev": "", - "stdDevShort": "", - "variance": "" + "emptyCount": "(Порожньо)", + "notEmptyCount": "Заповнено", + "emptyPercentage": "Відсоток порожніх", + "notEmptyPercentage": "Відсоток заповнених", + "checkedCount": "Позначено", + "notCheckedCount": "Не позначено", + "checkedPercentage": "Відсоток позначених", + "notCheckedPercentage": "Відсоток не позначених", + "min": "Мін", + "max": "Макс", + "earliestDate": "Найраніша дата", + "earliestDateShort": "Найраніша", + "latestDate": "Найпізніша дата", + "latestDateShort": "Найпізніша", + "uniqueCount": "Унікальні", + "sum": "Сума", + "average": "Середнє", + "median": "Медіана", + "stdDev": "Стандартне відхилення", + "stdDevShort": "Станд. відх.", + "variance": "Дисперсія", + "count": "Кількість", + "distribution": "Розподіл", + "othersCount": "Інші" }, "databaseForm": { - "importLabel": "", - "emptyLabel": "", - "airtableLabel": "" + "importLabel": "Бажаєте імпортувати існуючі дані?", + "emptyLabel": "Почати з нуля", + "airtableLabel": "Імпорт з Airtable" }, "importFromAirtable": { - "airtableShareLinkTitle": "", + "airtableShareLinkTitle": "Поділіться посиланням на вашу базу", "airtableShareLinkDescription": "", - "airtableShareLinkBeta": "", - "airtableShareLinkPaste": "", - "importButtonLabel": "", - "openButtonLabel": "", - "importError": "", - "statePending": "", - "stateFailed": "", - "stateFinished": "", - "stateDownloadingBase": "", - "stateConverting": "", - "stateDownloadingFiles": "", - "stateImporting": "", - "stateImportingTable": "", - "errorJobAlreadyRunningTitle": "", - "errorJobAlreadyRunningDescription": "", - "linkError": "" + "airtableShareLinkBeta": "Ця функція імпортує більшість даних, але є несумісності. Тому буде додано таблицю «Звіт імпорту Airtable», що містить перелік елементів, які не були імпортовані або імпортовані частково.", + "airtableShareLinkPaste": "Вставте посилання тут", + "importButtonLabel": "Імпорт з Airtable", + "openButtonLabel": "Відкрити імпортовану базу даних", + "importError": "Щось пішло не так", + "statePending": "Очікування початку", + "stateFailed": "Не вдалося", + "stateFinished": "Завершено", + "stateDownloadingBase": "Завантаження схеми бази", + "stateConverting": "Конвертація в Baserow", + "stateDownloadingFiles": "Завантаження файлів", + "stateImporting": "Імпорт", + "stateImportingTable": "Імпорт таблиці {table}", + "errorJobAlreadyRunningTitle": "Вже виконується", + "errorJobAlreadyRunningDescription": "Інше завдання імпорту вже виконується. Потрібно дочекатися його завершення перед запуском нового.", + "linkError": "Посилання має виглядати так: https://airtable.com/shrxxxxxxxxxxxxxx", + "skipFiles": "Пропустити імпорт файлів", + "skipFilesHelper": "База Airtable з великою кількістю файлів може сповільнити імпорт. Увімкнення цієї опції пропускає імпорт файлів.", + "useSession": "Автентифікація сесії", + "useSessionHelper": "Використовуйте це, якщо публічно поширена база вимагає автентифікації.", + "sessionDescription": "Якщо імпорт відповідає «База Airtable вимагає автентифікації», то можливо, що налаштування організації в Airtable забороняють доступ до бази без попередньої автентифікації. Для цього потрібно вручну отримати сесію та підпис. Відвідайте URL публічно поширеної бази у браузері та увійдіть, якщо потрібно. Натисніть на меню програми у верхньому правому куті -> «Інші інструменти» -> «Інструменти розробника». Відкрийте вкладку «Application» (у Firefox «Storage») та натисніть на «https://airtable.com». Тепер знайдіть значення cookie «__Host-airtable-session» та «__Host-airtable-session.sig» і вставте їх у поля нижче.", + "sessionLabel": "Cookie сесії (__Host-airtable-session)", + "sessionSignatureLabel": "Cookie підпису сесії (__Host-airtable-session.sig)" }, "chooseSingleSelectField": { - "addSelectField": "" + "addSelectField": "Додати поле одиничного вибору", + "warningWhenNothingToChooseOrCreate": "Немає полів одиничного вибору для вибору, і у вас немає дозволу на створення нового." }, "viewDecoratorContext": { - "addDecorator": "" + "addDecorator": "Додати декоратор" }, "databaseDashboardSidebarLinks": { "apiDocumentation": "" }, "formViewField": { - "required": "", - "descriptionPlaceholder": "", - "showWhenMatchingConditions": "", - "addCondition": "" + "required": "обов'язкове", + "descriptionPlaceholder": "Опис", + "showWhenMatchingConditions": "показувати, коли умови виконані", + "addCondition": "Додати умову", + "includeAllSelectOptions": "включити всі варіанти вибору", + "includeAllSelectOptionsHelper": "Виберіть варіанти вибору, які потрібно включити у форму, використовуючи цей спадний список", + "addConditionGroup": "Додати групу умов", + "showFieldAs": "Показувати поле як", + "noSelectOptions": "Немає доступних варіантів вибору.", + "noCollaboratorsAvailable": "Немає доступних співробітників.", + "cannotSumitValues": "Це поле доступне лише для читання і не відображатиметься у формі." }, "duplicateFieldContext": { - "duplicate": "", - "cloneData": "", - "readOnlyField": "" + "duplicate": "Дублювати поле", + "cloneData": "Копіювати дані", + "readOnlyField": "Значення клітинок будуть заповнені автоматично." }, "snapshotsModal": { - "title": "", - "description": "", - "descriptionLimits": "", - "createLabel": "", - "create": "", - "snapshotRestoredErrorTitle": "", - "snapshotRestoredErrorMessage": "", - "snapshotDeletedErrorTitle": "", - "snapshotDeletedErrorMessage": "", - "limitReached": "", - "snapshot": "", - "importingState": "", - "reset": "" + "title": "знімки", + "description": "Знімки — це повна копія вашого {applicationTypeName} на момент їх створення. При відновленні буде створено дублікат цих даних. Знімки автоматично видаляються через рік.", + "descriptionLimits": "Ви можете мати максимум {n} знімків на робочу область. | Ви можете мати максимум {n} знімок на робочу область. | Ви можете мати максимум {n} знімків на робочу область.", + "createLabel": "Створити новий знімок", + "create": "Створити знімок", + "snapshotRestoredErrorTitle": "Сталася помилка", + "snapshotRestoredErrorMessage": "Не вдалося відновити знімок. Спробуйте пізніше.", + "snapshotDeletedErrorTitle": "Сталася помилка", + "snapshotDeletedErrorMessage": "Не вдалося видалити знімок. Спробуйте пізніше.", + "limitReached": "Досягнуто ліміт максимальної кількості знімків.", + "snapshot": "Знімок", + "importingState": "Створення", + "reset": "Створити ще один", + "cancel": "Скасувати", + "noSnapshots": "Знімків для цього застосунку ще немає.", + "nameAlreadyExists": "Знімок з такою назвою вже існує." }, "deleteSnapshotModal": { - "title": "", - "content": "", - "confirm": "" + "title": "Видалити знімок", + "content": "Ви впевнені, що хочете назавжди видалити знімок {name}?", + "confirm": "Видалити" }, "snapshotListItem": { - "restore": "", - "delete": "", - "created": "" + "restore": "відновити", + "delete": "видалити", + "created": "створено" }, "formViewModeType": { - "form": "", - "formDescription": "" + "form": "Форма", + "formDescription": "Усі поля видимі та розташовані вертикально." }, "formViewHeader": { - "mode": "", - "preview": "", - "fields": "" + "mode": "Режим", + "preview": "Попередній перегляд", + "fields": "Поля" }, "formViewModePreviewForm": { - "addCoverImage": "", - "addLogo": "", - "titlePlaceholder": "", - "descriptionPlaceholder": "", - "noFields": "" + "addCoverImage": "Додати обкладинку", + "addLogo": "Додати логотип", + "titlePlaceholder": "Заголовок", + "descriptionPlaceholder": "Опис", + "noFields": "", + "noFieldsTitle": "Ця форма не має полів", + "noFieldsContent": "Натисніть на поле в лівій бічній панелі, щоб додати його." }, "table": { "adjacentRow": { @@ -745,12 +844,345 @@ "title": "", "message": "" } + }, + "toast": { + "notFound": { + "next": { + "title": "Більше немає рядків", + "message": "Наступного рядка немає" + }, + "previous": { + "title": "Більше немає рядків", + "message": "Попереднього рядка немає" + } + }, + "error": { + "title": "Сталася помилка", + "message": "Сталася помилка під час отримання сусіднього рядка" + } } }, - "chooseView": "" + "chooseView": "Виберіть представлення" }, "fileField": { - "errorEmptyFileNameTitle": "", - "errorEmptyFileNameMessage": "" + "errorEmptyFileNameTitle": "Недійсна назва файлу", + "errorEmptyFileNameMessage": "Не можна встановити порожню назву для файлу." + }, + "apiDocsFiltersBuilderModal": { + "title": "Конструктор параметрів фільтрів", + "userFieldNames": "Назви полів користувача", + "json": "JSON", + "queryParameter": "Параметр запиту" + }, + "apiDocsPasswordFieldAuthentication": { + "title": "Автентифікація {name}", + "description": "Перевіряє, чи відповідають наданий пароль та рядок тому, що зберігається в комірці.", + "fieldId": "ID поля, де потрібно перевірити пароль.", + "rowId": "ID рядка, де потрібно перевірити пароль.", + "password": "Пароль, який потрібно перевірити на правильність." + }, + "apiDocsListTables": { + "listTables": "Список усіх таблиць", + "listTablesDescription": "Ця кінцева точка працює лише в поєднанні з автентифікацією токеном. Вона перераховує всі таблиці, до яких токен має доступ на створення, читання, оновлення або видалення." + }, + "fieldMultipleSelectSubForm": { + "optionsLabel": "Параметри", + "defaultOptionsLabel": "Параметри за замовчуванням" + }, + "fieldBooleanSubForm": { + "defaultValue": "За замовчуванням" + }, + "fieldDurationSubForm": { + "durationFormatLabel": "Формат тривалості" + }, + "fieldSelectThroughFieldSubForm": { + "noTable": "Для створення цього поля вам потрібне принаймні одне поле посилання на таблицю.", + "selectThroughFieldLabel": "Виберіть поле посилання на таблицю" + }, + "fieldRollupSubForm": { + "label": "Функція зведення", + "selectTargetFieldLabel": "Виберіть поле для зведення" + }, + "createTableModal": { + "title": "Створити нову таблицю", + "defaultName": "Таблиця", + "importLabel": "Бажаєте імпортувати існуючі дані?", + "newTable": "Почати з нової таблиці" + }, + "createTable": { + "showTable": "показати таблицю", + "addButton": "Додати таблицю", + "uploading": "Завантаження...", + "preparing": "Підготовка даних...", + "importError": "Щось пішло не так під час імпорту файлу", + "stateRowCreation": "Імпорт...", + "statePreValidation": "Перевірка даних...", + "stateCreateTable": "Створення таблиці..." + }, + "importErrorReport": { + "reportTitleFailure": "Рядки з помилками", + "reportTitleSuccess": "Імпорт успішний, але...", + "reportMessage": "Наступні індекси рядків не вдалося імпортувати:" + }, + "fieldLongTextSubForm": { + "enableRichTextFormatting": "Увімкнути форматування тексту" + }, + "viewFieldConditionsForm": { + "addCondition": "Додати умову", + "addConditionGroup": "Додати групу умов" + }, + "viewFieldConditionItem": { + "filterMisconfigured": "Поле, з яким пов'язаний цей фільтр, було видалено." + }, + "createViewLink": { + "inCompatibleWithDataSync": "Цей тип представлення несумісний з таблицею синхронізації даних." + }, + "viewGroupByContext": { + "noGroupByTitle": "Ви ще не створили жодних групувань", + "noGroupByText": "Групуйте рядки разом за полем.", + "groupBy": "Групувати за", + "thenBy": "Потім за", + "addGroupBy": "виберіть поле для групування" + }, + "viewGroupBy": { + "groupBy": "Групувати | Групувати за 1 полем | Групувати за {count} полями" + }, + "formViewMetaControls": { + "whenSubmittedLabel": "Коли форму надіслано", + "showMessage": "Показати повідомлення", + "urlRedirect": "Перенаправити на URL", + "theMessage": "Повідомлення", + "theURL": "URL" + }, + "databaseDashboardResourceLinks": { + "title": "Документація API", + "description": "Дізнайтеся більше про наш код" + }, + "changePrimaryFieldModal": { + "title": "Змінити основне поле", + "change": "Змінити", + "primaryFieldLabel": "Основне поле", + "existingPrimary": "\"{name}\" наразі є основним полем." + }, + "fieldCollaboratorSubForm": { + "notifyUserWhenAdded": "Сповіщати користувача при додаванні" + }, + "collaboratorAddedToRowNotification": { + "title": "{sender} призначив вас до {fieldName} у рядку {rowId} у {tableName}", + "unknownUser": "Невідомий користувач" + }, + "formSubmittedNotification": { + "title": "{formName} було надіслано в таблиці {tableName}:", + "moreValues": "0 | та ще 1 поле. | та ще {count} полів." + }, + "rowHistorySidebar": { + "name": "Історія", + "empty": "Змін ще немає. Тут ви зможете відстежувати будь-які зміни цього рядка.", + "you": "Ви", + "created": "створив цей рядок", + "updated": "оновив цей рядок", + "submitted": "надіслав цей рядок", + "deleted": "видалив цей рядок", + "restored": "відновив цей рядок", + "createdUndo": "скасувати створення рядка", + "updatedUndo": "скасувати оновлення рядка", + "deletedUndo": "скасувати видалення рядка" + }, + "fieldPasswordSubForm": { + "allowEndpointAuthentication": "Дозволити автентифікацію через API ендпоінт", + "allowEndpointAuthenticationHelp": "Це відкриває ендпоінт, де можна перевірити ID рядка та пароль на коректність. Це дозволяє використовувати Baserow як бекенд автентифікації.", + "description": "Поле пароля також може використовуватися для автентифікації користувачів у конструкторі застосунків." + }, + "rowEditFieldPassword": { + "setPassword": "Встановити пароль" + }, + "rowHistoryFieldPassword": { + "passwordSet": "Пароль встановлено", + "passwordUpdated": "Пароль оновлено", + "passwordDeleted": "Пароль видалено" + }, + "dataProviderTypes": { + "fieldsName": "Поля" + }, + "userMentionInRichTextFieldNotification": { + "title": "{sender} згадав вас у полі {fieldName} рядка {rowId} у {tableName}", + "deletedUser": "Видалений користувач" + }, + "databaseImportStep": { + "title": "Імпортуйте ваші дані", + "description": "Перенесіть ваші дані до Baserow за кілька кліків.", + "tableNameLabel": "Назва таблиці" + }, + "databaseScratchTrackFieldsStep": { + "title": "Виберіть поля для кожного рядка", + "description": "Виберіть до {selectedFieldsLimitCount} полів. Ви зможете додати більше пізніше.", + "fieldName": "Назва", + "fieldType": "Тип поля", + "fieldDescription": "Опис", + "fieldDetails": "Деталі", + "fieldNumber": "Число", + "fieldDate": "Дата", + "fieldBoolean": "Завершено", + "fieldDuration": "Тривалість", + "fieldUrl": "URL", + "fieldEmail": "Email", + "fieldRating": "Рейтинг", + "fieldCategory": "Категорія", + "fieldKickoffDate": "Дата початку", + "fieldDueDate": "Дата завершення", + "fieldBudget": "Бюджет", + "fieldCompleted": "Завершено", + "fieldNotes": "Нотатки", + "fieldRole": "Роль", + "fieldPhone": "Телефон", + "fieldActive": "Активний", + "fieldEstimatedDays": "Орієнтовна кількість днів", + "fieldStartDate": "Дата початку", + "fieldEndDate": "Дата завершення", + "projectsCategoryDesign": "Дизайн", + "projectsCategoryDevelopment": "Розробка", + "projectsCategoryMarketing": "Маркетинг", + "projectsNotesRow1": "Acme шукає повний ребрендинг свого веб-сайту з наступними рекомендаціями.", + "projectsNotesRow2": "Дослідити, чи зацікавлені поточні користувачі Soylent у новому користувацькому порталі.", + "projectsNotesRow3": "Чи варто це робити після бойкоту реклами Facebook. Дослідження показують, що платні рекламні кампанії стають все менш ефективними.", + "teamsRoleDesigner": "Дизайнер", + "teamsRoleDeveloper": "Розробник", + "teamsRoleMarketer": "Маркетолог", + "tasksDetailsRow1": "Логотип потрібно покращити, щоб зробити заклик до дії зрозумілішим.", + "tasksDetailsRow2": "Структура трохи невірна, тому нам, можливо, також потрібно скоригувати карту сайту.", + "tasksDetailsRow3": "Новий футер повинен містити нашу контактну інформацію та невеликий (але чіткий) заклик до дії.", + "campaignsDetailsRow1": "Розігрійте свої заощадження з нашим гарячим літнім розпродажем, що пропонує неперевершені знижки на всі ваші улюблені товари!", + "campaignsDetailsRow2": "Підвищте утримання та залученість клієнтів за допомогою нашої привабливої програми лояльності, розробленої для винагородження ваших найвідданіших клієнтів.", + "campaignsDetailsRow3": "Оживіть свій бізнес та захопіть аудиторію динамічним перезапуском бренду, який ідеально відповідає сучасним ринковим тенденціям та бажанням клієнтів.", + "customFieldsDescriptionRow1": "Turpis massa tincidunt dui ut ornare lectus sit amet est.", + "customFieldsDescriptionRow2": "Vitae justo eget magna fermentum iaculis eu non diam.", + "customFieldsDescriptionRow3": "Convallis tellus id interdum velit laoreet id donec ultrices tincidunt." + }, + "databaseScratchTrackStep": { + "title": "Що ви хочете відстежувати?", + "description": "Виберіть із популярних варіантів використання або створіть власний.", + "addYourOwn": "Додати власний", + "tableName": "Назва таблиці", + "rowName": "Назва рядка", + "thisIncludes": "Це включає:", + "projects": "Проєкти", + "productsRow1": "Ребрендинг веб-сайту", + "productsRow2": "Дослідження клієнтів", + "productsRow3": "Платна рекламна кампанія", + "teams": "Команди", + "teamsRow1": "Продажі", + "teamsRow2": "HR", + "teamsRow3": "Маркетинг", + "tasks": "Завдання", + "tasksRow1": "Редизайн логотипу", + "tasksRow2": "Надіслати email", + "tasksRow3": "Написати статтю для блогу", + "campaigns": "Кампанії", + "campaignsRow1": "Літній розпродаж", + "campaignsRow2": "Програма лояльності", + "campaignsRow3": "Перезапуск бренду" + }, + "databaseStep": { + "title": "Створіть свою першу базу даних", + "description": "Виберіть, з чого почати:", + "databaseNameLabel": "Назва бази даних", + "scratch": "З нуля", + "import": "Файл", + "airtable": "Airtable", + "template": "Шаблон" + }, + "ViewFilterTypeDateUpgradeToMultiStep": { + "migrateButtonText": "Перейти на багатокроковий фільтр дати", + "migrateButtonTooltip": "Доступний новий фільтр. Натисніть для оновлення. Працює так само." + }, + "dataSyncType": { + "syncError": "Помилка синхронізації", + "icalCalendar": "Синхронізація iCal каналу", + "postgresql": "Синхронізація таблиці PostgreSQL" + }, + "iCalCalendarDataSync": { + "name": "iCal URL", + "description": "Синхронізація календаря iCal автоматично синхронізується із записами у файлі календаря за URL. Підтримується лише формат файлу ICS (Internet Calendar and Scheduling)." + }, + "postgreSQLDataSync": { + "description": "Синхронізує таблицю PostgreSQL з таблицею Baserow відповідно до наданих нижче даних. Зверніть увагу, що при початку синхронізації будуть обрані всі рядки в наданій таблиці. Хоча Baserow лише читає дані, ми наполегливо рекомендуємо обмежити користувача підключенням лише для читання.", + "host": "Хост", + "username": "Ім'я користувача", + "password": "Пароль", + "database": "База даних", + "schema": "Схема", + "table": "Таблиця", + "port": "Порт", + "sslMode": "Режим SSL" + }, + "createDataSync": { + "next": "Далі", + "fields": "Виберіть поля, які ви хочете синхронізувати", + "create": "Створити та синхронізувати таблицю", + "error": "Щось пішло не так під час синхронізації", + "autoAddLabel": "Автоматично додавати нові властивості", + "autoAddHelper": "Автоматично додає та синхронізує нові доступні властивості з джерела даних до таблиці Baserow. Зверніть увагу, що для роботи цієї функції всі властивості мають бути синхронізовані.", + "twoWaySyncLabel": "Двостороння синхронізація" + }, + "syncTableModal": { + "title": "Синхронізувати {name}", + "description": "Ця таблиця пов'язана з синхронізацією даних. Коли ви натиснете кнопку синхронізації, дані будуть синхронізовані з джерелом. Під час цього процесу на оновлені рядки накладається блокування, що може тимчасово сповільнити API запити або зміни таблиці.", + "sync": "Синхронізувати таблицю", + "hide": "Приховати" + }, + "gridViewRowHeight": { + "name": "Висота", + "small": "Малий", + "medium": "Середній", + "large": "Великий" + }, + "configureDataSyncModal": { + "title": "Синхронізація даних", + "syncedFields": "Синхронізовані поля", + "syncSettings": "Налаштування синхронізації" + }, + "configureDataSyncVisibleFields": { + "title": "Змінити синхронізовані поля", + "fields": "Синхронізовані поля", + "syncTable": "Синхронізувати при збереженні" + }, + "configureDataSyncSettings": { + "title": "Змінити синхронізацію даних", + "syncTable": "Синхронізувати при збереженні" + }, + "webhookDeactivatedNotification": { + "body": "Вебхук {name} було деактивовано через занадто багато послідовних невдач." + }, + "webhookPayloadTooLargeNotification": { + "body": "Корисне навантаження для вебхука {name} з ID події {event_id} було занадто великим. Вміст було розділено на кілька пакетів, але дані, що перевищують ліміт пакета {batch_limit}, було відкинуто." + }, + "tablesGuidedTourStep": { + "title": "Налаштування таблиць", + "content": "Таблиці зберігають вашу інформацію впорядковано. Створіть нову таблицю в базі даних, щоб почати структурувати дані." + }, + "filterSortGroupGuidedTourStep": { + "title": "Знаходьте та організовуйте дані", + "content": "Швидко знаходьте інформацію за допомогою фільтрації та сортування рядків. Миттєво групуйте за будь-якими полями для чіткої візуалізації закономірностей та спрощення робочих процесів." + }, + "addFieldGuidedTourStep": { + "title": "Налаштуйте свої дані" + }, + "createViewGuidedTourStep": { + "title": "Персоналізуйте свої представлення", + "content": "Створюйте власні представлення, як-от сітка, календар, канбан або галерея, щоб візуалізувати дані саме так, як вам потрібно." + }, + "createFormViewGuidedTourStep": { + "title": "Створіть форму", + "content": "Швидко створюйте форми з ваших таблиць для збору відповідей безпосередньо в таблицю, спрощуючи збір даних." + }, + "viewOptionsGuidedTourStep": { + "title": "Параметри представлення", + "content": "Натисніть на три крапки поруч із представленням, щоб експортувати, імпортувати, дублювати та налаштувати вебхук." + }, + "fieldRules": { + "errorTitle": "Помилка під час обробки правила поля", + "ruleDoesNotExist": "Правило не існує", + "ruleTypeDoesNotExist": "Тип правила не існує", + "ruleAlreadyExists": "Правило вже існує" } } diff --git a/web-frontend/modules/integrations/locales/es.json b/web-frontend/modules/integrations/locales/es.json index 80c625d47b..a3b603b0e6 100644 --- a/web-frontend/modules/integrations/locales/es.json +++ b/web-frontend/modules/integrations/locales/es.json @@ -16,7 +16,11 @@ "searchFieldPlaceHolder": "Introduce un término de búsqueda...", "noTableChosenForFiltering": "Elige una tabla para empezar a utilizar los filtros de fuentes de datos.", "sortTabTitle": "Ordenar", - "noTableChosenForSorting": "Elige una tabla para empezar a utilizar la ordenación de fuentes de datos." + "noTableChosenForSorting": "Elige una tabla para empezar a utilizar la ordenación de fuentes de datos.", + "advancedConfig": "Avanzado", + "defaultResultCount": "Cantidad de resultados predeterminada", + "defaultResultCountHelp": "El número predeterminado de registros que esta fuente de datos obtendrá en tu página. Si estableces el valor en 0 y lo utilizas en un elemento de colección, mejorarás el rendimiento al cargar la página porque sólo se recuperarán los registros cuando el elemento se pagine.", + "defaultResultCountPlaceholder": "Valor predeterminado…" }, "localBaserowTableServiceConditionalForm": { "addFilter": "Añadir filtro adicional", @@ -24,11 +28,12 @@ "filterTypeNotFound": "El tipo de filtro no es compatible.", "noCompatibleFilterTypesErrorTitle": "No hay tipos de filtro compatibles", "noCompatibleFilterTypesErrorMessage": "Ninguno de tus campos tiene ningún tipo de filtro compatible", - "formulaFilterInputPlaceholder": "Introducir texto...", + "formulaFilterInputPlaceholder": "Elige una fórmula…", "useFormulaForValue": "Utiliza una fórmula para este filtro", "noFilterTitle": "Aún no has creado un filtro de fuente de datos", "noFilterText": "Los filtros de fuente de datos le permiten mostrar las filas de la tabla Baserow que se aplican a tus condiciones.", - "useDefaultForValue": "Utiliza el filtro por defecto para este campo" + "useDefaultForValue": "Utiliza el filtro por defecto para este campo", + "textFilterInputPlaceholder": "Escribe el texto…" }, "localBaserowTableServiceSortForm": { "noTableChosenForSorting": "Elige una tabla para empezar a utilizar la ordenación de fuentes de datos.", @@ -36,39 +41,98 @@ "noSortTitle": "Aún no has creado un tipo de fuente de datos", "sortBy": "Ordenar por", "thenBy": "Luego por", - "addSort": "Añadir ordenación adicional" + "addSort": "Añadir ordenación adicional", + "sortMisconfigured": "El campo con el que está asociado este orden ha sido enviado a la papelera." }, "dataProviderType": { - "dataSource": "Origen de los datos", + "dataSource": "Fuente de datos", "pageParameter": "Parámetro" }, "localBaserowTableSelector": { "chooseNoView": "No seleccionado", "viewFieldLabel": "Vista", "tableFieldLabel": "Tabla", - "databaseFieldLabel": "Base de datos" + "databaseFieldLabel": "Base de datos", + "dataSyncedTableDescription": "Tabla sincronizada de dato" }, "integrationType": { "localBaserow": "Baserow local", "localBaserowSummary": "Baserow local - {name}, {username}", - "localBaserowWarning": "Autorizar su cuenta les otorga a todos los que tienen permisos de edición en la aplicación acceso completo a los datos a los que usted tiene acceso. Es posible crear un segundo usuario, otorgarle los permisos correctos y usarlo." + "localBaserowWarning": "Autorizar su cuenta les otorga a todos los que tienen permisos de edición en la aplicación acceso completo a los datos a los que usted tiene acceso. Es posible crear un segundo usuario, otorgarle los permisos correctos y usarlo.", + "smtp": "Correo electrónico SMTP", + "slackBot": "Bot de Slack", + "ai": "IA" }, "serviceType": { "localBaserowGetRow": "Obtener una sola fila", "localBaserowListRows": "Enumerar varias filas", - "localBaserowAggregateRows": "Resumir campo" + "localBaserowAggregateRows": "Resumir campo", + "localBaserowGetRowDescription": "Leer una única fila de una tabla de Baserow.", + "localBaserowListRowsDescription": "Lee varias filas de una tabla de Baserow.", + "localBaserowAggregateRowsDescription": "Resume un campo de una tabla de Baserow.", + "localBaserowCreateRow": "Crea una fila", + "localBaserowCreateRowDescription": "Crea una fila nueva en una tabla de Baserow.", + "localBaserowUpdateRow": "Actualiza una fila", + "localBaserowUpdateRowDescription": "Actualiza una fila existente en una tabla de Baserow.", + "localBaserowDeleteRow": "Elimina una fila", + "localBaserowDeleteRowDescription": "Elimina una fila en una tabla de Baserow.", + "localBaserowRowsCreated": "Se crean filas", + "localBaserowRowsCreatedDescription": "Se activa cuando se crean filas en una tabla de Baserow.", + "localBaserowRowsUpdated": "Se actualizan filas", + "localBaserowRowsUpdatedDescription": "Se activa cuando se actualizan filas en una tabla de Baserow.", + "localBaserowRowsDeleted": "Se eliminan filas", + "localBaserowRowsDeletedDescription": "Se activa cuando se eliminan filas en una tabla de Baserow.", + "coreHTTPTrigger": "Recibe una solicitud HTTP", + "coreHTTPTriggerDescription": "Se activa cuando se recibe una solicitud HTTP.", + "coreHTTPRequest": "Envía una solicitud HTTP", + "coreHTTPRequestDescription": "Envía una solicitud HTTP a un punto final especificado.", + "coreSMTPEmail": "Envía un correo electrónico", + "coreRouter": "Enrutador", + "coreRouterEdgesRequired": "Se requiere al menos un borde", + "coreRouterEdgeLabelRequired": "Se requiere una etiqueta de rama.", + "coreRouterEdgeConditionRequired": "Se requiere una condición de rama.", + "coreRouterDescription": "Dirige el flujo de trabajo a la siguiente rama basándote en una condición.", + "coreSMTPEmailDescription": "Envía un correo electrónico usando la configuración SMTP.", + "coreIteration": "Iterador", + "coreIterationDescription": "Itera sobre los elementos.", + "errorFromEmailMissing": "No se ha especificado la dirección del Remitente del correo", + "errorToEmailsMissing": "No se ha especificado la dirección del Destinatario del correo", + "misconfigured": "Configurado incorrectamente", + "trashedField": "Campo eliminado", + "errorUrlMissing": "No se ha especificado la Url", + "errorNoTableSelected": "No se ha seleccionado una tabla", + "errorFilterInError": "Al menos un filtro está mal configurado", + "errorSortingInError": "Al menos uno de los criterios de ordenación está mal configurado", + "errorNoFieldSelected": "No se ha seleccionado un campo", + "errorNoAggregationTypeSelected": "No se ha seleccionado un tipo de agregación", + "corePeriodic": "Disparador periódico", + "corePeriodicDescription": "Dispara el flujo de trabajo de forma periódica en intervalos especificados", + "corePeriodicErrorIntervalMissing": "Se requiere un intervalo.", + "errorIterationSourceMissing": "No se ha especificado la propiedad de origen", + "aiAgent": "Solicitud de IA", + "aiAgentDescription": "Ejecuta las solicitudes de IA usando los modelos generativos de IA configurados.", + "errorNoIntegrationSelected": "No se ha seleccionado una integración", + "errorNoAIProviderSelected": "No se ha seleccionado un proveedor de IA", + "errorNoAIModelSelected": "No se ha seleccionado un modelo de IA", + "errorNoPromptProvided": "No has proporcionado una solicitud de IA", + "errorNoChoicesProvided": "No se ha proporcionado opciones para el tipo de salida de elección", + "slackWriteMessage": "Envía un mensaje de Slack", + "slackWriteMessageDescription": "Envías un mensaje a un #canal específico de Slack", + "slackWriteMessageMissingChannel": "Se requiere un canal.", + "slackWriteMessageMissingMessage": "Se requiere un mensaje.", + "slackWriteMessageMissingIntegration": "No se ha seleccionado una integración de Slack." }, "userSourceType": { "localBaserow": "Autenticación de la tabla de Baserow" }, "localBaserowForm": { "user": "Usuario", - "userMessage": "Al crear esta conexión, está autorizando a la aplicación a utilizar su cuenta para realizar cambios en su espacio de trabajo local Baserow." + "userMessage": "Al crear esta conexión, estás autorizando a la aplicación a usar tu cuenta para realizar cambios en tu espacio de trabajo local de Baserow." }, "localBaserowIntegrationType": { "localBaserowNoUser": "Baserow local - No configurado", "localBaserowSummary": "Baserow local - {name}, {username}", - "localBaserowWarning": "Autorizar tu cuenta da a todos los que tienen permisos de edición en la aplicación acceso completo a los datos a los que tú tienes acceso. Es posible crear un segundo usuario, darle los permisos adecuados y utilizarlo." + "localBaserowWarning": "Al autorizar tu cuenta, cualquier persona con permisos de edición en la aplicación tendrá acceso total a los datos a los que tú tienes acceso. Puedes crear un segundo usuario, asignarle los permisos adecuados y utilizar ese usuario." }, "integrationsCommon": { "singleRow": "una sola fila", @@ -81,5 +145,178 @@ "noTableChosenForFiltering": "Seleccione una tabla para comenzar a utilizar filtros de fuente de datos.", "filterTabTitle": "Filtros", "searchFieldPlaceHolder": "Introduzca un término de búsqueda..." + }, + "slackBotIntegrationType": { + "slackBotSummary": "Bot de Slack", + "slackBotNoToken": "Bot de Slack – No configurado" + }, + "aiIntegrationType": { + "inheritingWorkspace": "Configuración heredada de IA del espacio de trabajo", + "overridingProviders": "Sobrescribiendo {count} proveedor|Sobrescribiendo {count} proveedores" + }, + "aiForm": { + "description": "Configura los ajustes del proveedor de IA para esta integración. Por defecto, se heredan los ajustes de IA del espacio de trabajo.", + "workspaceSettingsTitle": "Ajustes de IA del espacio de trabajo", + "workspaceSettingsDescription": "Esta integración hereda los ajustes del proveedor de IA de tu espacio de trabajo por defecto. Puedes reemplazar los proveedores específicos a continuación.", + "overrideWorkspaceSettings": "Sobrescribe la configuración del espacio de trabajo para este proveedor", + "inherited": "Heredado", + "overridden": "Sobrescrito" + }, + "aiAgentServiceForm": { + "integrationLabel": "Integración", + "providerLabel": "Proveedor de IA", + "providerPlaceholder": "Selecciona un proveedor de IA…", + "modelLabel": "Modelo de IA", + "modelPlaceholder": "Selecciona un modelo…", + "outputTypeLabel": "Tipo de salida", + "outputTypeHelp": "Elige cómo debe formatear la IA su respuesta. Si defines opciones, obligas al modelo a responder únicamente con una de esas opciones.", + "outputTypeText": "Texto", + "outputTypeChoice": "Elección", + "temperatureLabel": "Temperatura", + "temperaturePlaceholder": "ej. 0.7", + "temperatureHelp": "Controla la aleatoriedad. Los valores bajos (0‑0.3) son más centrados y deterministas. Los valores altos (0.7‑2.0) son más creativos y variados.", + "promptLabel": "Solicitud", + "promptPlaceholder": "Introduce tu solicitud aquí…", + "choicesLabel": "Opciones", + "choicePlaceholder": "Introduce una opción de elección aquí…", + "addChoice": "Añade una opción", + "choicesRequired": "Al menos se requiere una opción" + }, + "serviceRefinementForms": { + "filterTabTitle": "Filtrar | 1 Filtro | {count} Filtros", + "sortTabTitle": "Ordenar | 1 Orden | {count} Ordenamientos", + "searchTabTitle": "Buscar | 1 Búsqueda | {count} Búsquedas", + "searchFieldPlaceHolder": "Introduce un término de búsqueda…", + "noTableChosenForFiltering": "Elige una tabla para comenzar a usar filtros de origen de datos.", + "noTableChosenForSorting": "Elige una tabla para comenzar a usar ordenamientos de origen de datos.", + "refinements": "Configuración detallada" + }, + "slackBotForm": { + "supportSetupDescription": "Según la configuración de tu espacio de trabajo de Slack, es posible que puedas crear una nueva aplicación de Slack. De lo contrario, un administrador tendrá que hacerlo por ti. Si estás reutilizando una aplicación existente que pueda escribir mensajes, pasa a la sección titulada «Emparejamiento con tu aplicación de Slack».", + "tokenLabel": "Token de usuario bot", + "tokenPlaceholder": "xoxb‑1234‑…", + "tokenMustStartWith": "El token debe comenzar con «xoxb-»", + "supportHeading": "¿Necesitas ayuda?", + "supportDescription": "Si necesitas cualquier asistencia para conectar tu aplicación Slack, por favor consulta los pasos a continuación.", + "supportSetupHeading": "1. Configuración de la aplicación", + "supportSetupStep1": "Navega a la <a href=\"https://api.slack.com/apps\" target=\"_blank\">página de aplicaciones</a> de tu espacio de trabajo.", + "supportSetupStep2": "Crea una nueva aplicación, elige «Desde cero» e ingresa un nombre. Selecciona el espacio de trabajo en el que tu aplicación debe operar y haz clic en «Crear».", + "supportSetupStep3": "En la barra lateral izquierda, navega a «OAuth y Permisos», desplázate hacia abajo hasta «Permisos» y, bajo «Permisos del token de bot», selecciona «Añadir un permiso OAuth».", + "supportSetupStep4": "Para permitir que tu aplicación publique mensajes, añade el alcance <pre>chat:write</pre>.", + "supportPairingHeading": "2. Conexión de tu aplicación Slack", + "supportPairingStep1": "Si tu aplicación es nueva: navega a «Configuración» > «Instalar aplicación». Haz clic en el botón verde para instalar la aplicación en tu espacio de trabajo.", + "supportPairingStep2": "Copia tu «Token OAuth de usuario bot» y almacénalo en el campo «Token de usuario bot» de este formulario.", + "supportPairingStep3": "Finalmente, si tu aplicación es nueva: en Slack, invita tu aplicación al canal que hayas elegido con <pre>/invite {'@'}nombreDeTuApp nombreDeTuCanal</pre>" + }, + "coreHTTPRequestServiceForm": { + "httpMethod": "Método HTTP", + "url": "URL del destino (API endpoint)", + "queryParams": "Parámetros de consulta", + "name": "Nombre", + "value": "Valor", + "namePlaceholder": "Nombre...", + "valuePlaceholder": "Valor...", + "headers": "Encabezados", + "addQueryParam": "añadir parámetro de consulta", + "addHeader": "añadir encabezado", + "formData": "Datos del formulario", + "addFormData": "añadir datos del formulario", + "bodyType": "Tipo de cuerpo", + "bodyContent": "Contenido del cuerpo", + "urlPlaceholder": "Introducir la URL del destino (API endpoint)…", + "bodyPlaceholder": "Añadir cuerpo de la solicitud…", + "timeoutPlaceholder": "Introducir tiempo de espera (API timeout)…", + "nameFieldRequired": "La propiedad «nombre» es obligatoria.", + "seconds": "segundos", + "nameFieldInvalid": "El nombre debe contener sólo caracteres alfanuméricos, guiones o guiones bajos, y no debe comenzar con un guión ni con un guión bajo.", + "timeout": "Tiempo de espera" + }, + "slackWriteMessageServiceForm": { + "alertMessage": "Esta acción debe estar emparejada con una aplicación de Slack. Por favor, sigue la guía en la ventana emergente de integraciones para comenzar.", + "integrationLabel": "Integración", + "channelLabel": "Canal", + "channelPlaceholder": "Introducir un nombre de canal", + "messageLabel": "Mensaje", + "messagePlaceholder": "Escribe un mensaje…", + "channelNoPrefix": "Elimina el ‘#’ antes del nombre del canal." + }, + "smtpIntegrationType": { + "smtpSummary": "SMTP - {host}:{port}" + }, + "smtpForm": { + "host": "Servidor SMTP", + "hostPlaceholder": "smtp.gmail.com", + "port": "Puerto SMTP", + "portPlaceholder": "587", + "useTls": "Usar TLS", + "username": "Nombre de usuario", + "usernamePlaceholder": "tu-correo{'@'}ejemplo.com", + "password": "Contraseña", + "passwordPlaceholder": "tu-contraseña" + }, + "smtpEmailForm": { + "integrationDropdownLabel": "Integración", + "fromEmail": "Dirección del remitente (From)", + "fromEmailPlaceholder": "remitente{'@'}ejemplo.com", + "fromName": "Nombre del remitente", + "fromNamePlaceholder": "Tu nombre", + "toEmails": "Dirección de los destinatarios (To)", + "toEmailsPlaceholder": "destinatario1{'@'}ejemplo.com, destinatario2{'@'}ejemplo.com", + "ccEmails": "Correos en copia (CC)", + "bccEmails": "Correos en copia oculta (BCC)", + "ccEmailsPlaceholder": "destinatarioencopia1{'@'}ejemplo.com, destinatarioencopia2{'@'}ejemplo.com", + "bccEmailsPlaceholder": "destinatarioencopiaoculta1{'@'}ejemplo.com, destinatarioencopiaoculta2{'@'}ejemplo.com", + "subject": "Asunto", + "subjectPlaceholder": "Asunto del mensaje de correo", + "bodyType": "Tipo de contenido", + "bodyTypePlain": "Texto plano", + "bodyTypeHtml": "HTML", + "body": "Contenido", + "bodyPlaceholder": "Tu contenido de correo…" + }, + "routerForm": { + "defaultEdgeLabelLabel": "Etiqueta de rama predeterminada", + "defaultEdgeLabelPlaceholder": "Predeterminado", + "defaultEdgeLabelDescription": "Opcionalmente elige la etiqueta para mostrar en la rama predeterminada.", + "branchesHeading": "Ramas", + "branchesDescription": "Las ramas te permiten ejecutar nodos solo cuando se cumple una condición. Las ramas se ejecutan de izquierda a derecha hasta que se cumpla una condición; de lo contrario, se ejecutará la rama predeterminada. ", + "branchLabel": "Etiqueta", + "branchConditionLabel": "Condición", + "branchConditionPlaceholder": "Introduce una condición…", + "addEdge": "Añadir rama", + "edgeDefaultName": "Rama", + "noLabel": "Sin etiqueta", + "edgeDeletionLastEdge": "No puedes eliminar la última rama.", + "edgeDeletionHasOutput": "No se puede eliminar una rama si tiene una salida." + }, + "coreIterationServiceForm": { + "source": "Fuente", + "sourcePlaceholder": "Selecciona una fuente…" + }, + "periodicForm": { + "intervalLabel": "Intervalo", + "intervalHelper": "Elige con qué frecuencia quieres que este flujo de trabajo se ejecute", + "everyMinute": "Cada {minute} minutos", + "everyMinuteDefault": "Cada minutos especificados", + "everyHour": "Cada hora", + "everyDay": "Cada día", + "everyWeek": "Cada semana", + "everyMonth": "Cada mes", + "hour": "Hora", + "minute": "Minuto", + "minuteFrequency": "Cada minutos", + "dayOfWeek": "Día de la semana", + "dayOfMonth": "Día del mes", + "hourPlaceholder": "0-23", + "minutePlaceholder": "0-59", + "minuteFrequencyPlaceholder": "15", + "dayOfMonthPlaceholder": "1-31", + "minuteHelper": "Este flujo de trabajo se ejecutará cada minutos especificados", + "hourHelper": "Este flujo de trabajo se ejecutará cada hora en el minuto especificado en tu zona horaria local ({timezone})", + "dayHelper": "Este flujo de trabajo se ejecutará todos los días a la hora especificada en tu zona horaria local ({timezone})", + "weekHelper": "Este flujo de trabajo se ejecutará cada semana en el día y hora especificados en tu zona horaria local ({timezone})", + "monthHelper": "Este flujo de trabajo se ejecutará cada mes en el día y la hora especificados en tu zona horaria local ({timezone})", + "deactivatedTitle": "Disparador periódico desactivado", + "deactivatedText": "Este disparador periódico ha sido desactivado automáticamente debido a fallos consecutivos." } } diff --git a/web-frontend/modules/integrations/locales/uk.json b/web-frontend/modules/integrations/locales/uk.json index 0967ef424b..882cc6f787 100644 --- a/web-frontend/modules/integrations/locales/uk.json +++ b/web-frontend/modules/integrations/locales/uk.json @@ -1 +1,312 @@ -{} +{ + "dataProviderType": { + "pageParameter": "Параметр", + "dataSource": "Джерело даних" + }, + "integrationsCommon": { + "singleRow": "один рядок", + "multipleRows": "декілька рядків" + }, + "integrationType": { + "localBaserow": "Локальний Baserow", + "smtp": "SMTP Email", + "slackBot": "Slack бот", + "ai": "ШІ" + }, + "localBaserowIntegrationType": { + "localBaserowSummary": "Локальний Baserow - {name}, {username}", + "localBaserowNoUser": "Локальний Baserow - Не налаштовано", + "localBaserowWarning": "Авторизація вашого облікового запису надає кожному, хто має дозвіл на редагування застосунку, повний доступ до даних, до яких ви маєте доступ. Можна створити другого користувача, надати йому відповідні дозволи та використовувати його." + }, + "aiIntegrationType": { + "inheritingWorkspace": "Успадковування налаштувань ШІ робочого простору", + "overridingProviders": "Перевизначено {count} провайдер|Перевизначено {count} провайдери|Перевизначено {count} провайдерів" + }, + "slackBotIntegrationType": { + "slackBotSummary": "Slack бот", + "slackBotNoToken": "Slack бот - Не налаштовано" + }, + "serviceType": { + "localBaserowGetRow": "Отримати один рядок", + "localBaserowGetRowDescription": "Прочитати один рядок з таблиці Baserow.", + "localBaserowListRows": "Отримати декілька рядків", + "localBaserowListRowsDescription": "Читає декілька рядків з таблиці Baserow.", + "localBaserowAggregateRows": "Підсумувати поле", + "localBaserowAggregateRowsDescription": "Підсумовує поле в таблиці Baserow.", + "localBaserowCreateRow": "Створити рядок", + "localBaserowCreateRowDescription": "Створює новий рядок у таблиці Baserow.", + "localBaserowUpdateRow": "Оновити рядок", + "localBaserowUpdateRowDescription": "Оновлює існуючий рядок у таблиці Baserow.", + "localBaserowDeleteRow": "Видалити рядок", + "localBaserowDeleteRowDescription": "Видаляє рядок у таблиці Baserow.", + "localBaserowRowsCreated": "Рядки створено", + "localBaserowRowsCreatedDescription": "Спрацьовує, коли рядки створюються в таблиці Baserow.", + "localBaserowRowsUpdated": "Рядки оновлено", + "localBaserowRowsUpdatedDescription": "Спрацьовує, коли рядки оновлюються в таблиці Baserow.", + "localBaserowRowsDeleted": "Рядки видалено", + "localBaserowRowsDeletedDescription": "Спрацьовує, коли рядки видаляються в таблиці Baserow.", + "coreHTTPTrigger": "Отримати HTTP-запит", + "coreHTTPTriggerDescription": "Спрацьовує, коли отримано HTTP-запит.", + "coreHTTPRequest": "Надіслати HTTP-запит", + "coreHTTPRequestDescription": "Надсилає HTTP-запит до вказаної кінцевої точки.", + "coreSMTPEmail": "Надіслати Email", + "coreRouter": "Маршрутизатор", + "coreRouterEdgesRequired": "Потрібна принаймні одна гілка", + "coreRouterEdgeLabelRequired": "Потрібна мітка гілки.", + "coreRouterEdgeConditionRequired": "Потрібна умова гілки.", + "coreRouterDescription": "Направляє робочий процес до наступної гілки на основі умови.", + "coreSMTPEmailDescription": "Надсилає електронний лист за допомогою конфігурації SMTP.", + "coreIteration": "Ітератор", + "coreIterationDescription": "Ітерація по елементах.", + "errorFromEmailMissing": "Відсутня властивість \"Від кого\"", + "errorToEmailsMissing": "Відсутня властивість \"Кому\"", + "misconfigured": "Неправильно налаштовано", + "trashedField": "Видалене поле", + "errorUrlMissing": "Відсутня властивість URL", + "errorNoTableSelected": "Таблицю не вибрано", + "errorFilterInError": "Принаймні один фільтр налаштовано неправильно", + "errorSortingInError": "Принаймні одне сортування налаштовано неправильно", + "errorNoFieldSelected": "Поле не вибрано", + "errorNoAggregationTypeSelected": "Тип агрегації не вибрано", + "corePeriodic": "Періодичний тригер", + "corePeriodicDescription": "Запускає робочий процес періодично із заданими інтервалами", + "corePeriodicErrorIntervalMissing": "Потрібен інтервал.", + "errorIterationSourceMissing": "Відсутня властивість джерела", + "aiAgent": "ШІ промпт", + "aiAgentDescription": "Виконує ШІ промпти за допомогою налаштованих генеративних моделей ШІ.", + "errorNoIntegrationSelected": "Інтеграцію не вибрано", + "errorNoAIProviderSelected": "Провайдера ШІ не вибрано", + "errorNoAIModelSelected": "Модель ШІ не вибрано", + "errorNoPromptProvided": "Промпт не надано", + "errorNoChoicesProvided": "Не надано варіантів для типу виводу \"вибір\"", + "slackWriteMessage": "Надіслати повідомлення в Slack", + "slackWriteMessageDescription": "Надсилає повідомлення до певного #каналу Slack", + "slackWriteMessageMissingChannel": "Потрібен канал.", + "slackWriteMessageMissingMessage": "Потрібне повідомлення.", + "slackWriteMessageMissingIntegration": "Інтеграцію Slack не вибрано." + }, + "userSourceType": { + "localBaserow": "Автентифікація через таблицю Baserow" + }, + "localBaserowForm": { + "user": "Користувач", + "userMessage": "Створюючи це підключення, ви дозволяєте застосунку використовувати ваш обліковий запис для внесення змін у ваш локальний робочий простір Baserow." + }, + "aiForm": { + "description": "Налаштуйте параметри провайдера ШІ для цієї інтеграції. За замовчуванням успадковуються налаштування ШІ робочого простору.", + "workspaceSettingsTitle": "Налаштування ШІ робочого простору", + "workspaceSettingsDescription": "Ця інтеграція за замовчуванням успадковує налаштування провайдера ШІ з вашого робочого простору. Ви можете перевизначити конкретних провайдерів нижче.", + "overrideWorkspaceSettings": "Перевизначити налаштування робочого простору для цього провайдера", + "inherited": "Успадковано", + "overridden": "Перевизначено" + }, + "aiAgentServiceForm": { + "integrationLabel": "Інтеграція", + "providerLabel": "Провайдер ШІ", + "providerPlaceholder": "Виберіть провайдера ШІ...", + "modelLabel": "Модель ШІ", + "modelPlaceholder": "Виберіть модель...", + "outputTypeLabel": "Тип виводу", + "outputTypeHelp": "Виберіть, як ШІ повинен форматувати свою відповідь. Якщо ви визначите варіанти, модель буде змушена відповідати лише одним із цих варіантів.", + "outputTypeText": "Текст", + "outputTypeChoice": "Вибір", + "temperatureLabel": "Температура", + "temperaturePlaceholder": "напр. 0.7", + "temperatureHelp": "Контролює випадковість. Нижчі значення (0-0.3) більш цілеспрямовані та детерміновані. Вищі значення (0.7-2.0) більш креативні та різноманітні.", + "promptLabel": "Промпт", + "promptPlaceholder": "Введіть ваш промпт тут...", + "choicesLabel": "Варіанти", + "choicePlaceholder": "Введіть варіант вибору...", + "addChoice": "Додати варіант", + "choicesRequired": "Потрібен принаймні один варіант" + }, + "localBaserowGetRowForm": { + "rowFieldLabel": "ID рядка", + "invalidFormula": "Формула недійсна", + "rowFieldPlaceHolder": "Виберіть ID рядка", + "rowFieldHelpText": "Залиште це значення порожнім, щоб повернути перший рядок.", + "searchFieldPlaceHolder": "Введіть пошуковий запит...", + "noTableChosenForFiltering": "Виберіть таблицю, щоб почати використовувати фільтри джерела даних.", + "noTableChosenForSorting": "Виберіть таблицю, щоб почати використовувати сортування джерела даних." + }, + "localBaserowListRowsForm": { + "searchFieldPlaceHolder": "Введіть пошуковий запит...", + "noTableChosenForFiltering": "Виберіть таблицю, щоб почати використовувати фільтри джерела даних.", + "noTableChosenForSorting": "Виберіть таблицю, щоб почати використовувати сортування джерела даних.", + "advancedConfig": "Розширені", + "defaultResultCount": "Кількість результатів за замовчуванням", + "defaultResultCountHelp": "Кількість записів за замовчуванням, яку це джерело даних отримуватиме на вашій сторінці. Встановлення значення 0 та використання його на елементі колекції покращить продуктивність завантаження сторінки, отримуючи записи лише під час пагінації елемента.", + "defaultResultCountPlaceholder": "Значення за замовчуванням..." + }, + "serviceRefinementForms": { + "filterTabTitle": "Фільтр | 1 фільтр | {count} фільтри | {count} фільтрів", + "sortTabTitle": "Сортування | 1 сортування | {count} сортування | {count} сортувань", + "searchTabTitle": "Пошук | 1 пошук | {count} пошуки | {count} пошуків", + "searchFieldPlaceHolder": "Введіть пошуковий запит...", + "noTableChosenForFiltering": "Виберіть таблицю, щоб почати використовувати фільтри джерела даних.", + "noTableChosenForSorting": "Виберіть таблицю, щоб почати використовувати сортування джерела даних.", + "refinements": "Уточнення" + }, + "localBaserowAggregateRowsForm": { + "aggregationFieldLabel": "Поле", + "aggregationTypeLabel": "Агрегація", + "searchFieldPlaceHolder": "Введіть пошуковий запит...", + "noTableChosenForFiltering": "Виберіть таблицю, щоб почати використовувати фільтри джерела даних." + }, + "localBaserowTableServiceConditionalForm": { + "addFilter": "Додати додатковий фільтр", + "noFilterTitle": "Ви ще не створили фільтр джерела даних", + "noFilterText": "Фільтри джерела даних дозволяють показувати рядки таблиці Baserow, які відповідають вашим умовам.", + "relatedFieldNotFound": "Пов'язане поле не знайдено.", + "filterTypeNotFound": "Тип фільтра несумісний.", + "noCompatibleFilterTypesErrorTitle": "Немає сумісних типів фільтрів", + "noCompatibleFilterTypesErrorMessage": "Жодне з ваших полів не має сумісних типів фільтрів", + "textFilterInputPlaceholder": "Введіть текст...", + "formulaFilterInputPlaceholder": "Виберіть формулу...", + "useFormulaForValue": "Використовувати формулу для цього фільтра", + "useDefaultForValue": "Використовувати стандартний фільтр для цього поля" + }, + "localBaserowTableServiceSortForm": { + "noSortTitle": "Ви ще не створили сортування джерела даних", + "noSortText": "Сортування дозволяє сортувати рядки за полем.", + "sortBy": "Сортувати за", + "thenBy": "Потім за", + "addSort": "Додати додаткове сортування", + "noTableChosenForSorting": "Виберіть таблицю, щоб почати використовувати сортування джерела даних.", + "sortMisconfigured": "Поле, з яким пов'язане це сортування, було видалено." + }, + "coreHTTPRequestServiceForm": { + "httpMethod": "HTTP метод", + "url": "URL кінцевої точки", + "queryParams": "Параметри запиту", + "name": "Назва", + "value": "Значення", + "namePlaceholder": "Назва...", + "valuePlaceholder": "Значення...", + "headers": "Заголовки", + "addQueryParam": "додати параметр запиту", + "addHeader": "додати заголовок", + "formData": "Дані форми", + "addFormData": "додати дані форми", + "bodyType": "Тип тіла", + "bodyContent": "Вміст тіла", + "urlPlaceholder": "Введіть URL кінцевої точки...", + "bodyPlaceholder": "Додайте тіло запиту...", + "timeoutPlaceholder": "Введіть тайм-аут...", + "nameFieldRequired": "Властивість назви є обов'язковою.", + "seconds": "секунд", + "nameFieldInvalid": "Назва повинна містити лише буквено-цифрові символи, дефіси або підкреслення, і не повинна починатися з дефіса або підкреслення.", + "timeout": "Тайм-аут" + }, + "slackBotForm": { + "tokenLabel": "Токен користувача бота", + "tokenPlaceholder": "xoxb-1234-...", + "tokenMustStartWith": "Токен повинен починатися з \"xoxb-\"", + "supportHeading": "Потрібна допомога?", + "supportDescription": "Якщо вам потрібна допомога з підключенням до вашого застосунку Slack, зверніться до кроків нижче.", + "supportSetupHeading": "1. Налаштування застосунку", + "supportSetupDescription": "Залежно від налаштувань вашого робочого простору Slack, ви можете створити новий застосунок Slack. В іншому випадку адміністратор повинен зробити це за вас. Якщо ви повторно використовуєте існуючий застосунок, який може надсилати повідомлення, перейдіть до розділу \"Підключення до вашого застосунку Slack\".", + "supportSetupStep2": "Створіть новий застосунок, виберіть \"З нуля\" та введіть назву. Виберіть робочий простір, у якому повинен працювати ваш застосунок, і натисніть \"Створити\".", + "supportSetupStep3": "На лівій бічній панелі перейдіть до \"OAuth & Permissions\", прокрутіть вниз до Scopes і в розділі \"Bot Token Scopes\" виберіть \"Add an OAuth Scope\".", + "supportPairingHeading": "2. Підключення до вашого застосунку Slack", + "supportPairingStep1": "Якщо ваш застосунок новий: перейдіть до \"Settings\" > \"Install App\". Натисніть зелену кнопку, щоб встановити застосунок у ваш робочий простір.", + "supportPairingStep2": "Скопіюйте ваш \"Bot User OAuth Token\" і збережіть його в полі \"Токен користувача бота\" у цій формі.", + "supportSetupStep1": "Перейдіть до вашого робочого простору .", + "supportSetupStep4": "Щоб дозволити вашому додатку надсилати повідомлення, додайте
chat:write
область." + }, + "slackWriteMessageServiceForm": { + "alertMessage": "Ця дія повинна бути пов'язана із застосунком Slack. Дотримуйтесь інструкцій у спливаючому вікні інтеграцій, щоб почати.", + "integrationLabel": "Інтеграція", + "channelLabel": "Канал", + "channelPlaceholder": "Введіть назву каналу", + "messageLabel": "Повідомлення", + "messagePlaceholder": "Введіть повідомлення...", + "channelNoPrefix": "Видаліть \"#\" перед назвою каналу." + }, + "localBaserowTableSelector": { + "viewFieldLabel": "Вигляд", + "tableFieldLabel": "Таблиця", + "chooseNoView": "Не вибрано", + "databaseFieldLabel": "База даних", + "dataSyncedTableDescription": "Синхронізована таблиця даних" + }, + "smtpIntegrationType": { + "smtpSummary": "SMTP - {host}:{port}" + }, + "smtpForm": { + "host": "SMTP хост", + "hostPlaceholder": "smtp.gmail.com", + "port": "SMTP порт", + "portPlaceholder": "587", + "useTls": "Використовувати TLS", + "username": "Ім'я користувача", + "usernamePlaceholder": "your-email@example.com", + "password": "Пароль", + "passwordPlaceholder": "ваш-пароль" + }, + "smtpEmailForm": { + "integrationDropdownLabel": "Інтеграція", + "fromEmail": "Від кого (Email)", + "fromEmailPlaceholder": "sender@example.com", + "fromName": "Від кого (Ім'я)", + "fromNamePlaceholder": "Ваше ім'я", + "toEmails": "Кому (Email)", + "toEmailsPlaceholder": "recipient1@example.com,recipient2@example.com", + "ccEmails": "Копія (CC)", + "ccEmailsPlaceholder": "cc1@example.com,cc2@example.com", + "bccEmails": "Прихована копія (BCC)", + "bccEmailsPlaceholder": "bcc1@example.com,bcc2@example.com", + "subject": "Тема", + "subjectPlaceholder": "Тема вашого листа", + "bodyType": "Тип тіла", + "bodyTypePlain": "Звичайний текст", + "bodyTypeHtml": "HTML", + "body": "Тіло", + "bodyPlaceholder": "Вміст вашого листа..." + }, + "coreIterationServiceForm": { + "source": "Джерело", + "sourcePlaceholder": "Виберіть джерело..." + }, + "routerForm": { + "defaultEdgeLabelLabel": "Мітка гілки за замовчуванням", + "defaultEdgeLabelPlaceholder": "За замовчуванням", + "defaultEdgeLabelDescription": "За бажанням виберіть мітку для відображення на гілці за замовчуванням.", + "branchesHeading": "Гілки", + "branchesDescription": "Гілки дозволяють виконувати вузли лише коли умова виконана. Гілки виконуються зліва направо, поки не буде виконана умова, інакше буде виконана гілка за замовчуванням. ", + "branchLabel": "Мітка", + "branchConditionLabel": "Умова", + "branchConditionPlaceholder": "Введіть умову...", + "addEdge": "Додати гілку", + "edgeDefaultName": "Гілка", + "noLabel": "Без мітки", + "edgeDeletionLastEdge": "Ви не можете видалити останню гілку.", + "edgeDeletionHasOutput": "Гілку не можна видалити, якщо вона має вивід." + }, + "periodicForm": { + "intervalLabel": "Інтервал", + "intervalHelper": "Виберіть, як часто ви хочете запускати цей робочий процес", + "everyMinute": "Кожні {minute} хвилин", + "everyMinuteDefault": "Кожні вказані хвилини", + "everyHour": "Щогодини", + "everyDay": "Щодня", + "everyWeek": "Щотижня", + "everyMonth": "Щомісяця", + "hour": "Година", + "minute": "Хвилина", + "minuteFrequency": "Кожні хвилини", + "dayOfWeek": "День тижня", + "dayOfMonth": "День місяця", + "hourPlaceholder": "0-23", + "minutePlaceholder": "0-59", + "minuteFrequencyPlaceholder": "15", + "dayOfMonthPlaceholder": "1-31", + "minuteHelper": "Цей робочий процес буде запускатися кожні вказані хвилини", + "hourHelper": "Цей робочий процес буде запускатися щогодини у вказану хвилину у вашому місцевому часовому поясі ({timezone})", + "dayHelper": "Цей робочий процес буде запускатися щодня у вказаний час у вашому місцевому часовому поясі ({timezone})", + "weekHelper": "Цей робочий процес буде запускатися щотижня у вказаний день і час у вашому місцевому часовому поясі ({timezone})", + "monthHelper": "Цей робочий процес буде запускатися щомісяця у вказаний день і час у вашому місцевому часовому поясі ({timezone})", + "deactivatedTitle": "Періодичний тригер деактивовано", + "deactivatedText": "Цей періодичний тригер було автоматично деактивовано через послідовні невдачі." + } +}