1
0
mirror of https://gitlab.com/bramw/baserow.git synced 2024-11-24 16:36:46 +00:00
bramw_baserow/web-frontend/modules/database/locales/en.json
Bram Wiepjes 65ac06ebb1 Merge branch '3196-rich-table-cells-copy' into 'develop'
Resolve "Rich table cells copy"

Closes #3196

See merge request baserow/baserow!2877
2024-11-15 13:43:13 +00:00

1012 lines
48 KiB
JSON

{
"webhookModal": {
"title": "{name} webhooks",
"createWebhook": "Create webhook",
"backToList": "Back to list"
},
"deleteWebhookModal": {
"title": "Delete {webhookName}",
"deleteButton": "Delete webhook",
"body": "Are you sure you want to delete this webhook? You will not be able to restore it later."
},
"webhookList": {
"noWebhooksMessage": "You have not created any webhooks yet. Webhooks can be used in order to inform 3rd party systems when a row in Baserow has been created, updated or deleted."
},
"testWebhookModal": {
"title": "Test webhook",
"unreachable": "Server unreachable"
},
"webhookForm": {
"inputLabels": {
"name": "Name",
"value": "Value",
"requestMethod": "Method",
"url": "URL",
"userFieldNames": "User field names",
"events": "Which events should trigger this webhook?",
"headers": "Additional headers",
"example": "Example payload"
},
"errors": {
"urlField": "Must be a valid url starting with 'https://' or 'http://'.",
"invalidHeaders": "One of the headers is invalid."
},
"checkbox": {
"sendUserFieldNames": "Use field name instead of id"
},
"radio": {
"allEvents": "Send me everything",
"customEvents": "Let me select individual events"
},
"triggerButton": "Trigger test webhook",
"deactivated": {
"title": "Webhook is deactivated",
"content": "This webhook has been deactivated because there have been too many consecutive failures. Please check the call log for more details. Click on the button below to activate it again. Don't forgot to save the webhook after activating.",
"activate": "Activate"
},
"triggerWhenFieldsHaveChanged": "Trigger when fields have changed",
"helpTriggerWhenFieldsHaveChanged": "Will only be triggered if the cell value of the chosen fields changes."
},
"webhook": {
"details": "details",
"lastCall": "Last call: {lastCallTime}",
"noCalls": "No calls made",
"callLog": "Call log",
"triggerDescription": "Triggers on every event | Triggers on {count} event | Triggers on {count} events"
},
"createWebhook": {
"errorTableWebhookMaxLimitExceededTitle": "Max webhooks exceeded",
"errorTableWebhookMaxLimitExceededDescription": "Can't create the webhook because the maximum amount of webhooks per table has been exceeded."
},
"sidebar": {
"viewAPI": "View API Docs",
"createTable": "New table"
},
"sidebarItem": {
"exportTable": "Export table",
"webhooks": "Webhooks",
"lastSynced": "Last synced",
"notSynced": "not synced",
"sync": "Sync table"
},
"duplicateTableJobType": {
"duplicating": "Duplicating",
"duplicatedTitle": "Table duplicated"
},
"apiToken": {
"create": "create",
"read": "read",
"update": "update",
"delete": "delete",
"tokenPrefix": "Token:",
"viewAPIDocs": "View API documentation",
"generateNewToken": "Generate new token",
"showOrHide": "Show or hide the token",
"copyToClipboard": "Copy to clipboard",
"showDatabases": "show databases"
},
"apiTokenSettings": {
"title": "Database tokens",
"createToken": "Create token",
"noTokensMessage": "You have not yet created a database token. You can use database tokens to authenticate with the REST API endpoints where you can create, read, update and delete rows. It is possible to set permissions on table level.",
"hasFullPermissions": "Has full permissions, also to all children.",
"hasOnlySelectedPermissions": "Has only permissions to the selected children.",
"noPermissions": "Doesn't have permissions.",
"createNewTitle": "Create new database token",
"backToOverview": "Back to overview"
},
"apiTokenForm": {
"nameLabel": "Name",
"workspaceLabel": "Workspace"
},
"apiDocsSelectDatabase": {
"needOneDatabase": "You need to have at least one database to view the API documentation."
},
"apiDocsExample": {
"requestSample": "Request sample",
"responseSample": "Response sample",
"userFieldNames": "User field names"
},
"apiDocsParameter": {
"optional": "optional",
"defaultValue": "Default: {value}"
},
"apiDocsTableGetRow": {
"description": "Fetch a single {name} row.",
"rowId": "The unique identifier of the row that is requested."
},
"apiDocsErrors": {
"errorCode": "Error code",
"name": "Name",
"description": "Description",
"okDescription": "Request completed successfully.",
"badRequestDescription": "The request contains invalid values or the JSON could not be parsed.",
"unauthorizedDescription": "When you try to access an endpoint without a valid database token.",
"notFoundDescription": "Row or table is not found.",
"requestEntityTooLargeDescription": "The request exceeded the maximum allowed payload size.",
"internalErrorDescription": "The server encountered an unexpected condition.",
"badGatewayDescription": "Baserow is restarting or an unexpected outage is in progress.",
"unavailableDescription": "The server could not process your request in time."
},
"apiDocsTableFields": {
"tableTitle": "{name} table",
"tableId": "The ID of this table is:",
"description": "Each row in the {name} table contains the following fields.",
"id": "ID",
"name": "Name",
"type": "Type",
"compatibleFilters": "Compatible filters"
},
"apiDocsTableListRows": {
"description": "To list rows in the *{name}* table a `GET` request has to be made to the *{name}* endpoint. The response is paginated and by default the first page is returned. The correct page can be fetched by providing the `page` and `size` query parameters.",
"page": "Defines which page of rows should be returned.",
"size": "Defines how many rows should be returned per page.",
"userFieldNames": "When the `user_field_names` GET parameter is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty string, the field names returned by this endpoint will be the actual names of the fields.\n\nIf the `user_field_names` GET parameter is not provided, or if it does not match any of the above values, then all returned field names will be `field_` followed by the id of the field. For example `field_1` refers to the field with an id of `1`.\n\n Additionally when `user_field_names` is set then the behaviour of the other GET parameters `order_by`, `include` and `exclude` changes. They instead expect comma separated lists of the actual field names instead.",
"search": "If provided only rows with data that matches the search query are going to be returned.",
"orderBy": "Optionally the rows can be ordered by fields separated by comma. By default or if prepended with a '+' a field is ordered in ascending (A-Z) order, but by prepending the field with a '-' it can be ordered descending (Z-A).\n\n #### With `user_field_names`:\n\n `order_by` should be a comma separated list of the field names to order by. For example if you provide the following GET parameter `order_by=My Field,-My Field 2` the rows will ordered by the field called `My Field` in ascending order. If some fields have the same value, that subset will be ordered by the field called `My Field 2` in descending order.\n\n Ensure fields with names starting with a `+` or `-` are explicitly prepended with another `+` or `-`. E.g `+-Name`.\n\n The name of fields containing commas must be surrounded by quotes: `\"Name ,\"`. If the field names contain quotes, then they must be escaped using the `\\` character. Eg: `Name \\\"`. \n\n#### Without `user_field_names`:\n\n `order_by` should be a comma separated list of `field_` followed by the id of the field to order by. For example if you provide the following GET parameter `order_by=field_1,-field_2` the rows will ordered by `field_1` in ascending order. If some fields have the same value, that subset will be ordered by `field_2` in descending order.",
"filters": "Rows can optionally be filtered using the same view filters that are available for the views. This parameter accepts a JSON serialized string containing the filter tree to apply to this view. The filter tree is a nested structure containing the filters that need to be applied. \n\n#### With `user_field_names`:\n\nAn example of a valid filter tree is the following: `{\"filter_type\": \"AND\", \"filters\": [{\"field\": \"Name\", \"type\": \"equal\", \"value\": \"test\"}]}`.\n\n#### Without `user_field_names`:\n\nFor example, if you optionally provide the following GET parameter: `{\"filter_type\": \"AND\", \"filters\": [{\"field\": 1, \"type\": \"equal\", \"value\": \"test\"}]}`\n\nPlease note that if this parameter is provided, all other `filter__{field}__{filter}` will be ignored, as well as the filter_type parameter.",
"filter": "Rows can optionally be filtered using the same view filters that are available for the views. Multiple filters may be applied if they follow the same format. The `field` and `filter` variables indicate how and where to apply the filter, respectively.\n\n#### With `user_field_names`:\n\nFor example, if you optionally provide the following GET parameter: `filter__Name__equal=test`, only rows where the value of `Name` equals 'test' will be returned. This method is backwards compatible and will check against `field_id` if it fails on the name.\n\n#### Without `user_field_names`:\n\nFor example, if you optionally provide the following GET parameter: `filter__field_1__equal=test`, only rows where the value of `field_1` equals 'test' will be returned.\n\nPlease note that if the filters parameter is provided, this parameter will be ignored. ",
"filterLink": "A list of all filters can be found here.",
"filterType": "- `AND`: Indicates that the rows must match all the provided filters.\n- `OR`: Indicates that the rows only have to match one of the filters.\n\n This works only if two or more filters are provided.",
"include": "All the fields are included in the response by default. You can select a subset of fields to include by providing the include query parameter.\n\n #### With `user_field_names`:\n\n `include` should be a comma separated list of field names to be included in results. For example if you provide the following GET param: `include=My Field,-My Field 2` then only those fields will be included (unless they are explicitly excluded).\n\n The name of fields containing commas must be surrounded by quotes: `\"Name ,\"`. If the field names contain quotes, then they must be escaped using the `\\` character. Eg: `Name \\\"`.\n\n #### Without `user_field_names`:\n\n `include` should be a comma separated list of `field_` followed by the id of the field to include in the results. For example: If you provide the following GET parameter `include=field_1,field_2` then the fields with id `1` and id `2` then only those fields will be included (unless they are explicitly excluded).",
"exclude": "All the fields are included in the response by default. You can select a subset of fields to exclude by providing the exclude query parameter.\n\n #### With `user_field_names`:\n\n `exclude` should be a comma separated list of field names to be excluded from the results. For example if you provide the following GET param: `exclude=My Field,-My Field 2` then those fields will be excluded.\n\n The name of fields containing commas must be surrounded by quotes: `\"Name ,\"`. If the field names contain quotes, then they must be escaped using the `\\` character. Eg: `Name \\\"`.\n\n #### Without `user_field_names`:\n\n `exclude` should be a comma separated list of `field_` followed by the id of the field to exclude from the results. For example: If you provide the following GET parameter `exclude=field_1,field_2` then the fields with id `1` and id `2` will be excluded.",
"viewId": "By default non of the filters and sorts outside of the ones defined in the query parameters are applied. You can add the filters and sorts of a view by providing its `id` in the `view_id` GET parameter. For example if you provide the following GET parameter `view_id=1` then the filters and sorts defined in the view with id `1` will be applied. You can find the `view_id` in the context menu of any given view. It is the number in brackets behind the view name. \n\n #### With `filter__{field}__{filter}` \n\n Both the filter provided in the query parameter and the filters defined in the view will be applied.\n\n #### With `order_by` \n\n If `order_by` is provided then the sort defined in the view will be ignored.",
"filtersBuilder": "Open filters parameter builder",
"join": "Makes it possible to request a lookup of field values from a target table through existing link row fields. The parameter name has to be the name of an existing link row field, followed by __join. The value should be a list of field names for which we want to lookup additional values. You can provide one or multiple target fields. It is not possible to lookup a value of a link row field in the target table.\n\n #### With `user_field_names`:\n\n `join` should be a comma separated list of field names to be included in results. For example: If you provide the following GET parameter `LinkRowField__join=MyField,MyField2` then the values of `MyField` and `My Field2` in the table linked by `LinkRowField` will be included in the response .\n\n#### Without `user_field_names`:\n\n `join` should be a comma separated list of `field_` followed by the id of the field to include in the results. For example: If you provide the following GET parameter `field_1__join=field_2,field_3` then the values of `field_2` and `field_3` in the table linked by `field_1` will be included in the response."
},
"apiDocsIntro": {
"intro": "The {name} database provides an easy way to integrate the data with any external system. The API follows REST semantics, uses JSON to encode objects and relies on standard HTTP codes, machine and human readable errors to signal operation outcomes.",
"autoDocDescription": "This documentation is generated automatically based on the tables and fields that are in your database. If you make changes to your database, table or fields it could be that the API interface has also changed. Therefore, make sure that you update your API implementation accordingly.",
"databaseId": "The ID of this database is:",
"jsClient": "JavaScript example API client:",
"pythonClient": "Python example API client:"
},
"apiDocsTableListFields": {
"description": "To list fields of the {name} table a `GET` request has to be made to the {name} fields endpoint. It's only possible to list the fields if the database token has read, create or update permissions.",
"resultFieldProperties": "Result field properties",
"id": "Field primary key. Can be used to generate the database column name by adding `field_` prefix.",
"name": "Field name.",
"tableId": "Related table id.",
"order": "Field order in table. 0 for the first field.",
"primary": "Indicates if the field is a primary field. If `true` the field cannot be deleted and the value should represent the whole row.",
"type": "Type defined for this field.",
"extraProps": "Some extra properties are not described here because they are type specific.",
"readOnly": "Indicates whether the field is a read only field. If true, it's not possible to update the cell value.",
"descriptionField": "Field description"
},
"apiDocsTableDeleteRow": {
"description": "Deletes an existing {name} row.",
"rowId": "The unique identifier of the row that needs to be deleted."
},
"apiDocsTableDeleteRows": {
"description": "Deletes existing {name} rows.",
"items": "An array of row ids that should be deleted."
},
"apiDocsTableMoveRow": {
"description": "Moves an existing {name} row before another row. If no `before_id` is provided, then the row will be moved to the end of the table.",
"rowId": "Moves the row related to the value.",
"before": "Moves the row related to the given `row_id` before the row related to the provided value. If not provided, then the row will be moved to the end."
},
"apiDocsUploadFile": {
"description": "Uploads a file to Baserow by uploading the file contents directly. A `file` multipart is expected containing the file contents. The response can then be used to [upload a file to a row]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row).",
"file": "The `file` multipart containing the file contents."
},
"apiDocsUploadFileViaURL": {
"description": "Uploads a file to Baserow by downloading it from the provided URL. The response can then be used to [upload a file to a row]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows/operation/update_database_table_row).",
"url": "The URL you would like Baserow to download and upload on your behalf."
},
"apiDocsTableUpdateRow": {
"description": "Updates an existing {name} row.",
"rowId": "The unique identifier of the row that needs to be updated.",
"before": "If provided then the newly created row will be positioned before the row with the provided id."
},
"apiDocsTableUpdateRows": {
"description": "Updates existing {name} rows.",
"id": "The row id."
},
"apiDocsTableCreateRow": {
"description": "Create a new {name} row.",
"before": "If provided then the newly created row will be positioned before the row with the provided id."
},
"apiDocsTableCreateRows": {
"description": "Create new {name} rows.",
"before": "If provided then the newly created rows will be positioned before the row with the provided id."
},
"apiDocsAuth": {
"description": "Baserow uses a simple token based authentication. You need to generate at least one database token in your {settingsLink} to use the endpoints described below. It is possible to give create, read, update and delete permissions up until table level per token. You can authenticate to the API by providing your token in the HTTP authorization bearer token header. All API requests must be authenticated and made over HTTPS.",
"settingsLink": "settings"
},
"apiDocsFilters": {
"filter": "Filter",
"exampleValue": "Example value",
"example": "Full example",
"field": "field {name}",
"deprecated": "deprecated"
},
"apiDocsFiltersBuilderModal": {
"title": "Filters parameter builder",
"userFieldNames": "User field names",
"json": "JSON",
"queryParameter": "Query parameter"
},
"fieldTextSubForm": {
"placeholder": "Default text"
},
"fieldSingleSelectSubForm": {
"optionsLabel": "Options"
},
"fieldSingleSelectDropdown": {
"notFound": "Option not found"
},
"fieldmultipleCollaboratorsDropdown": {
"notFound": "Collaborator not found"
},
"fieldDateSubForm": {
"dateFormatLabel": "Date format",
"dateFormatEuropean": "European",
"dateFormatUS": "US",
"dateFormatISO": "ISO",
"includeTimeLabel": "Include time",
"showTimezoneLabel": "Show timezone",
"forceTimezoneLabel": "Set timezone for all collaborators",
"forceTimezoneValue": "Timezone",
"addTimezoneOffsetLabel": "Convert values (add {utcOffsetDiff} minutes)",
"subTimezoneOffsetLabel": "Convert values (subtract {utcOffsetDiff} minutes)",
"timeFormatLabel": "Time format",
"24Hour": "24 hour",
"12Hour": "12 hour"
},
"fieldLinkRowSubForm": {
"noTable": "You need at least one other table in the same database to link to.",
"selectTableLabel": "Select a table to link to",
"hasRelatedFieldLabel": "Create related field in linked table",
"limitToView": "Limit selection to view",
"limitToViewDescription": "Note that this is only visual. It's still possible to make relationships outside of the view via the related table or API."
},
"fieldSelectOptions": {
"add": "Add an option"
},
"fieldNumberSubForm": {
"typeLabel": "Number type",
"integer": "Integer",
"decimal": "Decimal",
"decimalPlacesLabel": "Decimal places",
"allowNegative": "Allow negative"
},
"fieldDurationSubForm": {
"durationFormatLabel": "Duration format"
},
"fieldContext": {
"editField": "Edit field",
"deleteField": "Delete field",
"hideField": "Hide field",
"showField": "Show field",
"changePrimaryField": "Change primary field"
},
"fieldForm": {
"name": "Name",
"description": "Description",
"fieldAlreadyExists": "A field with this name already exists.",
"nameNotAllowed": "This field name is not allowed.",
"nameTooLong": "This field name is too long.",
"addDescription": "Add description"
},
"fieldSelectThroughFieldSubForm": {
"noTable": "You need at least one link to table field to create this field.",
"selectThroughFieldLabel": "Select a link to table field"
},
"fieldRollupSubForm": {
"label": "Rollup function",
"selectTargetFieldLabel": "Select a field to rollup"
},
"fieldLookupSubForm": {
"selectTargetFieldLabel": "Select a field to lookup"
},
"fieldFormulaNumberSubForm": {
"typeLabel": "Number type",
"integer": "Integer",
"decimal": "Decimal",
"decimalPlacesLabel": "Decimal places",
"allowNegative": "Allow negative"
},
"fieldRatingSubForm": {
"maxValue": "Max",
"color": "Color",
"style": "Style"
},
"rowCreateModal": {
"addField": "Add field"
},
"selectRowContent": {
"search": "Search rows"
},
"rowEditModal": {
"addField": "Add field",
"showHiddenFields": "Show hidden fields",
"hideHiddenFields": "Hide hidden fields"
},
"rowEditFieldMultipleSelect": {
"addOption": "Choose an option"
},
"rowEditFieldMultipleCollaborators": {
"addCollaborator": "Choose a collaborator"
},
"rowEditFieldFile": {
"addFile": "Add a file",
"sizes": {
"0": "Bytes",
"1": "KB",
"2": "MB",
"3": "GB",
"4": "TB",
"5": "PB"
}
},
"rowEditFieldLinkRow": {
"addLink": "Choose a link"
},
"tableCSVImporter": {
"chooseFileLabel": "Choose CSV file",
"chooseFileDescription": "You can import an existing CSV by uploading the .CSV file with tabular data. Most spreadsheet applications will allow you to export your spreadsheet as a .CSV file.",
"chooseFile": "Choose CSV file",
"columnSeparator": "Column separator",
"recordSeparator": "record separator",
"unitSeparator": "unit separator",
"encoding": "Encoding",
"firstRowHeader": "First row is header",
"limitFileSize": "The maximum file size is {limit}MB.",
"limitError": "It is not possible to import more than {limit} rows.",
"emptyCSV": "This CSV file is empty."
},
"importer": {
"fieldDefaultName": "Field {count}",
"loading": "Loading file",
"decoding": "Decoding data",
"parsing": "Parsing data",
"preparing": "Preparing data",
"inProgress": "In progress..."
},
"tableForm": {
"name": "Name"
},
"tableXMLImporter": {
"fileLabel": "Choose XML file",
"fileDescription": "You can import an existing XML by uploading the .XML file with tabular data, i.e.:",
"chooseButton": "Choose XML file",
"processingError": "Error occurred while processing XML: {errors}",
"emptyError": "This XML file is empty.",
"limitFileSize": "The maximum file size is {limit}MB.",
"limitError": "It is not possible to import more than {limit} rows."
},
"tableJSONImporter": {
"fileLabel": "Choose JSON file",
"fileDescription": "You can import an existing JSON file by uploading the .json file with tabular data, i.e.:",
"chooseButton": "Choose JSON file",
"encodingLabel": "Encoding",
"processingError": "Error occurred while parsing JSON: {error}",
"arrayError": "The JSON file is not an array.",
"emptyError": "This JSON file is empty.",
"limitFileSize": "The maximum file size is {limit}MB.",
"limitError": "It is not possible to import more than {limit} rows."
},
"tablePasteImporter": {
"pasteLabel": "Paste the table data",
"pasteDescription": "You can copy the cells from a spreadsheet and paste them below.",
"firstRowHeader": "First row is header",
"limitError": "It is not possible to import more than {limit} rows."
},
"createTableModal": {
"title": "Create new table",
"defaultName": "Table",
"importLabel": "Would you like to import existing data?",
"newTable": "Start with a new table"
},
"createTable": {
"showTable": "show table",
"addButton": "Add table",
"uploading": "Uploading...",
"preparing": "Preparing data...",
"importError": "Something went wrong during the file import",
"stateRowCreation": "Importing...",
"statePreValidation": "Validating data...",
"stateCreateTable": "Creating table..."
},
"importErrorReport": {
"reportTitleFailure": "Failing rows",
"reportTitleSuccess": "Import successful but...",
"reportMessage": "The following row indexes couldn't be imported:"
},
"importFileModal": {
"defaultName": "Table",
"additionalImportTitle": "Import into {table}",
"importLabel": "Would you like to import existing data?",
"newTable": "Start with a new table",
"showTable": "show table",
"importButton": "Import",
"uploading": "Uploading...",
"preparing": "Preparing data...",
"importError": "Something went wrong during the file import",
"fieldMappingTitle": "Field mapping",
"fieldMappingDescription": "We have automatically mapped the columns of the Baserow fields in your table. You can change them below. Any incompatible cell will remain empty after the import.",
"selectImportMessage": "Please select data to import.",
"filePreview": "File content preview",
"importPreview": "Import preview"
},
"formulaAdvancedEditContext": {
"textAreaFormulaInputPlaceholder": "Click to edit the formula",
"fields": "Fields",
"functions": "Functions",
"operators": "Operators",
"fieldType": "A {type} field"
},
"fieldFormulaInitialSubForm": {
"formulaInputPlaceholder": "Click to edit the formula",
"refreshFormulaOptions": "Refresh formula options"
},
"fieldLongTextSubForm": {
"enableRichTextFormatting": "Enable rich text formatting"
},
"formulaFieldItemDescription": {
"syntax": "Syntax",
"examples": "Examples"
},
"viewSearchContext": {
"searchInRows": "Search in all rows",
"hideNotMatching": "hide not matching rows"
},
"viewsContext": {
"searchView": "Search views",
"noViews": "No views found",
"collaborative": "Collaborative"
},
"viewFilterTypeLinkRow": {
"unnamed": "unnamed row {value}",
"choose": "Choose row"
},
"viewFieldConditionsForm": {
"addCondition": "Add condition",
"addConditionGroup": "Add condition group"
},
"viewFilterContext": {
"addFilter": "Add filter",
"addFilterGroup": "Add filter group",
"disableAllFilters": "all disabled",
"noFilterTitle": "You have not yet created a filter",
"noFilterText": "Filters allow you to show rows that apply to your conditions.",
"where": "Where",
"and": "And",
"or": "Or",
"relatedFieldNotFound": "The related field is not found.",
"filterTypeNotFound": "The filter type is not compatible.",
"noCompatibleFilterTypesErrorTitle": "No compatible filter types",
"noCompatibleFilterTypesErrorMessage": "None of your fields have any compatible filter types"
},
"viewFilterTypeFileTypeDropdown": {
"image": "image",
"document": "document"
},
"createViewModal": {
"createNew": "Create new {view}",
"add": "Add {view}"
},
"createViewLink": {
"inCompatibleWithDataSync": "This view type is not compatible with a data sync table."
},
"shareViewLink": {
"shareViewText": "Private shareable link allows anyone to see the data in this view.",
"shareView": "Share {viewTypeSharingLinkName}",
"createPrivateLink": "Create a private link",
"shareViewTitle": "You have not yet shared the view",
"sharedViewTitle": "This {viewTypeSharingLinkName} is currently shared via a private link",
"sharedViewDescription": "People who have the link can see the {viewTypeSharingLinkName}.",
"disableLink": "Disable shared link",
"generateNewUrl": "generate new url",
"copyURL": "copy URL",
"EnablePassword": "Restrict access with a password",
"DisablePassword": "Access is password-protected",
"ChangePassword": "Change",
"notSharedYetText": "Allow anyone to see the data in this view or sync events to your external calendar."
},
"viewGroupByContext": {
"noGroupByTitle": "You have not yet created any groupings",
"noGroupByText": "Group rows together by a field.",
"groupBy": "Group by",
"thenBy": "Then by",
"addGroupBy": "choose a field to group by"
},
"viewGroupBy": {
"groupBy": "Group | Group by 1 fields | Group by {count} fields"
},
"viewSortContext": {
"noSortTitle": "You have not yet created a sort",
"noSortText": "Sorts allow you to sort rows by a field.",
"sortBy": "Sort by",
"thenBy": "Then by",
"addSort": "choose a field to sort by"
},
"viewSort": {
"sort": "Sort | 1 Sort | {count} Sorts"
},
"viewDecorator": {
"decorator": "Color | 1 Color | {count} Colors"
},
"viewRotateSlugModal": {
"title": "Refresh URL",
"refreshWarning": "Are you sure that you want to refresh the URL of {viewName}? After refreshing, a new URL will be generated and it will not be possible to access the {viewTypeSharingLinkName} via the old URL. Everyone that you have shared the URL with, won't be able to access the {viewTypeSharingLinkName}.",
"generateNewURL": "Generate new URL"
},
"shareViewEnablePasswordModal": {
"newPasswordTitle": "Enter a password",
"newPasswordDescription": "The public link will only be accessible after entering the password. This password will be saved encrypted.",
"newPasswordSave": "Set password",
"changePasswordTitle": "Change password",
"changePasswordDescription": "By changing the password, the previous one will no longer work. This password will be saved encrypted.",
"changePasswordSave": "Change password"
},
"shareViewDisablePasswordModal": {
"title": "Disable password protection",
"description": "Are you sure you want to disable password protection for this public link? By disabling, the password will be deleted and it will not be possible to recover it",
"disable": "Disable"
},
"publicViewAuthLogin": {
"title": "This page is password protected",
"description": "Insert the correct password to access the page.",
"enter": "Enter",
"error": {
"incorrectPasswordTitle": "Incorrect password",
"incorrectPasswordText": "The provided password is incorrect."
}
},
"viewFieldsContext": {
"coverField": "Cover field",
"noCover": "No cover",
"search": "Search fields",
"hideAll": "Hide all",
"showAll": "Show all"
},
"viewFilterTypeBoolean": {
"selected": "Selected"
},
"viewFilter": {
"filter": "Filter | 1 Filter | {count} Filters",
"hasAllValuesEqual": "has all values equal"
},
"viewContext": {
"exportView": "Export view",
"duplicateView": "Duplicate view",
"renameView": "Rename view",
"toPersonal": "To personal",
"toCollaborative": "To collaborative",
"webhooks": "Webhooks",
"importFile": "Import file",
"deleteView": "Delete view"
},
"deleteViewModal": {
"title": "Delete {name}",
"description": "Are you sure you want to delete the view {name}? The table data will be preserved, but the filters, sortings and field widths related to the view will be deleted.",
"delete": "Delete view"
},
"viewForm": {
"name": "Name",
"whoCanEdit": "Who can edit"
},
"viewOwnershipType": {
"collaborative": "Collaborative",
"personal": "Personal"
},
"galleryViewHeader": {
"customizeCards": "Customize cards"
},
"gridViewHide": {
"hideField": "Hide Fields | 1 hidden field | {count} hidden fields"
},
"gridViewFieldType": {
"insertLeft": "Insert left",
"insertRight": "Insert right",
"createFilter": "Create filter",
"duplicate": "Duplicate field",
"sortField": "Sort",
"hideField": "Hide field",
"dataSyncField": "The field is read only and part of the table's data sync."
},
"gridViewRow": {
"rowNotMatchingFilters": "Row does not match filters",
"rowNotMatchingSearch": "Row does not match search",
"rowHasMoved": "Row has moved"
},
"gridView": {
"selectRow": "Select row",
"insertRowAbove": "Insert row above",
"insertRowBelow": "Insert row below",
"duplicateRow": "Duplicate row",
"copyRowURL": "Copy Row URL",
"copiedRowURL": "Copied Row URL",
"copiedRowURLMessage": "Row {id}'s URL has been copied to your clipboard.",
"enlargeRow": "Enlarge row",
"deleteRow": "Delete row",
"deleteRows": "Delete rows",
"copyCells": "Copy cells",
"copyCellsWithHeader": "Copy cells with header",
"generateCellsValues": "Generate values with AI",
"rowCount": "No rows | 1 row | {count} rows",
"hiddenRowsInsertedTitle": "Rows added",
"hiddenRowsInsertedMessage": "{number} newly added rows have been added, but are not visible because of the active filters.",
"tooManyItemsTitle": "Too many items",
"tooManyItemsDescription": "It's not possible to update more than {limit} rows at once, so we've only updated the first.",
"AIValuesGenerationErrorTitle": "AI value generation failed",
"AIValuesGenerationErrorMessage": "Please check your API_KEY and verify the selected model."
},
"gridViewFieldFile": {
"dropHere": "Drop here",
"dropFileHere": "Drop files here"
},
"gridViewFieldLinkRow": {
"unnamed": "unnamed row {value}"
},
"gridViewIdentifierOptions": {
"id": "Row identifier",
"count": "Count"
},
"gridViewRowsAddContext": {
"title": "Create multiple rows",
"choice": "Add {rowAmountChoice} rows"
},
"formViewMeta": {
"includeRowId": "Use {row_id} to include the newly created row id in the URL."
},
"formViewMetaControls": {
"whenSubmittedLabel": "When the form is submitted",
"showMessage": "Show a message",
"urlRedirect": "Redirect to URL",
"theMessage": "The message",
"theURL": "The URL"
},
"previewAny": {
"externalWarning": "Opening your file via an external service exposes your file to their servers."
},
"exportTableModal": {
"failedTitle": "Export Failed",
"failedDescription": "The export failed due to a server error.",
"cancelledTitle": "Export Cancelled",
"cancelledDescription": "The export was cancelled."
},
"exporterTypeChoices": {
"formatLabel": "To which format would you like to export?"
},
"exportTableForm": {
"viewLabel": "Select the view to export:",
"typeError": "No exporter type available please select a different view or entire table."
},
"exportTableLoadingBar": {
"export": "Export",
"download": "Download"
},
"exportTableDropdown": {
"exportEntireTable": "Export entire table"
},
"tableCSVExporter": {
"columnSeparatorLabel": "Column separator",
"recordSeparator": "record separator",
"unitSeparator": "unit separator",
"encodingLabel": "Encoding",
"firstRowIsHeaderLabel": "First row is header"
},
"apiDocsDatabase": {
"pageTitle": "{name} database API documentation",
"back": "Back to dashboard",
"openDatabase": "open database"
},
"apiDocsComponent": {
"title": "REST API",
"intro": "After you have created your database schema and API key in the {settingsLink} your Baserow database provides his own REST API endpoints to create, read, update and delete rows.",
"settings": "settings",
"selectApplicationTitle": "For which database do you want to see the documentation?",
"signIn": "Sign in to get started",
"back": "Back to dashboard"
},
"viewAggregationType": {
"emptyCount": "Empty",
"notEmptyCount": "Filled",
"emptyPercentage": "Percent empty",
"notEmptyPercentage": "Percent filled",
"checkedCount": "Checked",
"notCheckedCount": "Unchecked",
"checkedPercentage": "Percent Checked",
"notCheckedPercentage": "Percent Unchecked",
"min": "Min",
"max": "Max",
"earliestDate": "Earliest date",
"earliestDateShort": "Earliest",
"latestDate": "Latest date",
"latestDateShort": "Latest",
"uniqueCount": "Unique",
"sum": "Sum",
"average": "Average",
"median": "Median",
"stdDev": "Standard deviation",
"stdDevShort": "Std dev",
"variance": "Variance"
},
"databaseForm": {
"importLabel": "Would you like to import existing data?",
"emptyLabel": "Start from scratch",
"airtableLabel": "Import from Airtable (beta)"
},
"importFromAirtable": {
"airtableShareLinkTitle": "Share a link to your Base",
"airtableShareLinkDescription": "To import your Airtable base, you need to have a shared link to your entire base. In Airtable, click on the share button in the top right corner after opening your base. After that you must choose the \"Access to base\" option. In the share modal you can click on the \"Create a shared link to the whole base\" button and then on “Private read-only link”. Copy the public link and paste it in the input below.",
"airtableShareLinkBeta": "Note that this feature is in beta, your tables, fields (except formula, lookup and count) and data will be imported. Your views will not be imported.",
"airtableShareLinkPaste": "Paste the link here",
"importButtonLabel": "Import from Airtable",
"openButtonLabel": "Open imported database",
"importError": "Something went wrong",
"statePending": "Waiting to start",
"stateFailed": "Failed",
"stateFinished": "Finished",
"stateDownloadingBase": "Downloading base schema",
"stateConverting": "Converting to Baserow",
"stateDownloadingFiles": "Downloading files",
"stateImporting": "Importing",
"stateImportingTable": "Importing table {table}",
"errorJobAlreadyRunningTitle": "Already running",
"errorJobAlreadyRunningDescription": "Another import job is already running. You need to wait for that one to finish before starting another.",
"linkError": "The link should look like: https://airtable.com/shrxxxxxxxxxxxxxx"
},
"chooseSingleSelectField": {
"addSelectField": "Add single select field",
"warningWhenNothingToChooseOrCreate": "There are no single select fields to choose from and you do not have permissions to make one."
},
"viewDecoratorContext": {
"addDecorator": "Add decorator"
},
"databaseDashboardResourceLinks": {
"title": "API documentation",
"description": "Learn more about our code"
},
"formViewField": {
"required": "required",
"descriptionPlaceholder": "Description",
"showWhenMatchingConditions": "show when conditions are met",
"addCondition": "Add condition",
"addConditionGroup": "Add condition group",
"showFieldAs": "Show field as"
},
"duplicateFieldContext": {
"duplicate": "Duplicate field",
"cloneData": "Copy data",
"readOnlyField": "Cell values will be filled automatically."
},
"changePrimaryFieldModal": {
"title": "Change the primary field",
"change": "Change",
"primaryFieldLabel": "Primary field",
"existingPrimary": "\"{name}\" is currently the primary field."
},
"snapshotsModal": {
"title": "snapshots",
"description": "Snapshots are a full copy of your {applicationTypeName} of the moment when they were created. A duplication of that data will be created when restoring. Snapshots are automatically deleted after one year.",
"descriptionLimits": "You can have a maximum of {n} snapshots per workspace. | You can have a maximum of {n} snapshot per workspace. | You can have a maximum of {n} snapshots per workspace.",
"createLabel": "Create a new snapshot",
"create": "Create snapshot",
"cancel": "Cancel",
"snapshotRestoredErrorTitle": "Error occurred",
"snapshotRestoredErrorMessage": "The snapshot couldn't be restored. please try again later.",
"snapshotDeletedErrorTitle": "Error occurred",
"snapshotDeletedErrorMessage": "The snapshot couldn't be deleted. please try again later.",
"limitReached": "The limit of maximum snapshots has been reached.",
"snapshot": "Snapshot",
"importingState": "Creating",
"reset": "Create another",
"noSnapshots": "No snapshots for this application yet."
},
"deleteSnapshotModal": {
"title": "Delete snapshot",
"content": "Are you sure you want to permanently delete snapshot {name}?",
"confirm": "Delete"
},
"snapshotListItem": {
"restore": "restore",
"delete": "delete",
"created": "created"
},
"formViewModeType": {
"form": "Form",
"formDescription": "All fields are visible and vertically stacked."
},
"formViewHeader": {
"mode": "Mode",
"preview": "Preview",
"fields": "Fields"
},
"formViewModePreviewForm": {
"addCoverImage": "Add a cover image",
"addLogo": "Add a logo",
"titlePlaceholder": "Title",
"descriptionPlaceholder": "Description",
"noFields": "This form doesn't have any fields. Click on a field in the left sidebar to add one."
},
"table": {
"adjacentRow": {
"toast": {
"notFound": {
"next": {
"title": "No more rows",
"message": "There is no next row"
},
"previous": {
"title": "No more rows",
"message": "There is no previous row"
}
},
"error": {
"title": "Error occurred",
"message": "An error occurred while retrieving the adjacent row"
}
}
},
"chooseView": "Choose view"
},
"fileField": {
"errorEmptyFileNameTitle": "Invalid file name",
"errorEmptyFileNameMessage": "You can't set an empty name for a file."
},
"fieldCollaboratorSubForm": {
"notifyUserWhenAdded": "Notify user when added"
},
"collaboratorAddedToRowNotification": {
"title": "{sender} assigned you to {fieldName} in row {rowId} in {tableName}",
"deletedUser": "A deleted user"
},
"formSubmittedNotification": {
"title": "{formName} has been submitted in table {tableName}:",
"moreValues": "0 | and 1 more field. | and {count} more fields."
},
"rowHistorySidebar": {
"name": "History",
"empty": "No changes yet. You'll be able to track any changes to this row here.",
"you": "You"
},
"fieldPasswordSubForm": {
"description": "It's not yet possible to directly do anything with the password field, this is only used by the user authentication in the application builder."
},
"rowEditFieldPassword": {
"setPassword": "Set password"
},
"rowHistoryFieldPassword": {
"passwordSet": "The password was set",
"passwordUpdated": "The password was updated",
"passwordDeleted": "The password was deleted"
},
"dataProviderTypes": {
"fieldsName": "Fields"
},
"userMentionInRichTextFieldNotification": {
"title": "{sender} mentioned you in field {fieldName} of row {rowId} in {tableName}",
"deletedUser": "A deleted user"
},
"databaseImportStep": {
"title": "Import your data",
"description": "Move your data to Baserow, in just a few clicks.",
"tableNameLabel": "Table name"
},
"databaseScratchTrackFieldsStep": {
"title": "Choose fields for every row",
"description": "Pick up to {selectedFieldsLimitCount} fields. You can add more later.",
"fieldName": "Name",
"fieldType": "Field type",
"fieldDescription": "Description",
"fieldDetails": "Details",
"fieldNumber": "Number",
"fieldDate": "Date",
"fieldBoolean": "Finished",
"fieldDuration": "Duration",
"fieldUrl": "URL",
"fieldEmail": "Email",
"fieldRating": "Rating",
"fieldCategory": "Category",
"fieldKickoffDate": "Kickoff date",
"fieldDueDate": "Due date",
"fieldBudget": "Budget",
"fieldCompleted": "Completed",
"fieldNotes": "Notes",
"fieldRole": "Role",
"fieldPhone": "Phone",
"fieldActive": "Active",
"fieldEstimatedDays": "Estimated days",
"fieldStartDate": "Start date",
"fieldEndDate": "End date",
"projectsCategoryDesign": "Design",
"projectsCategoryDevelopment": "Development",
"projectsCategoryMarketing": "Marketing",
"projectsNotesRow1": "Acme is looking for a complete rebranding of their website with the following guidelines.",
"projectsNotesRow2": "Research if the current users of Soylent are interested into a new user portal.",
"projectsNotesRow3": "Wondering if this is worth doing after the Facebook ad boycott. Studies are showing that paid ad campaigns have become increasingly less effective.",
"teamsRoleDesigner": "Designer",
"teamsRoleDeveloper": "Developer",
"teamsRoleMarketer": "Marketer",
"tasksDetailsRow1": "The logo needs to be improved to make the CTA clearer.",
"tasksDetailsRow2": "The structure is a little off, so we may need to adjust the sitemap here as well.",
"tasksDetailsRow3": "The new footer should include our contact information and also a small (but clear) CTA.",
"campaignsDetailsRow1": "Heat up your savings with our sizzling summer sale, featuring unbeatable discounts on all your favorite products!",
"campaignsDetailsRow2": "Boost customer retention and engagement with our enticing loyalty rewards program, designed to reward your most dedicated customers.",
"campaignsDetailsRow3": "Revitalize your business and captivate your audience with a dynamic brand relaunch that aligns perfectly with today's market trends and customer desires.",
"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": "What would you like to track?",
"description": "Choose from popular use cases, or create your own.",
"addYourOwn": "Add your own",
"tableName": "Table name",
"rowName": "Row name",
"thisIncludes": "This includes:",
"projects": "Projects",
"productsRow1": "Rebranding website",
"productsRow2": "Customer research",
"productsRow3": "Paid ad campaign",
"teams": "Teams",
"teamsRow1": "Sales",
"teamsRow2": "HR",
"teamsRow3": "Marketing",
"tasks": "Tasks",
"tasksRow1": "Logo redesign",
"tasksRow2": "Send email",
"tasksRow3": "Write blog post",
"campaigns": "Campaigns",
"campaignsRow1": "Summer Sale",
"campaignsRow2": "Loyalty Rewards",
"campaignsRow3": "Brand Relaunch"
},
"databaseStep": {
"title": "Create your first database",
"description": "Let us know what you're working on.",
"databaseNameLabel": "Database name",
"scratch": "From scratch",
"import": "From file",
"airtable": "From Airtable"
},
"ViewFilterTypeDateUpgradeToMultiStep": {
"migrateButtonText": "Migrate to multi-step date filter",
"migrateButtonTooltip": "New filter available. Click to upgrade. It works the same."
},
"dataSyncType": {
"syncError": "Sync error",
"icalCalendar": "Sync iCal feed",
"postgresql": "Sync PostgreSQL table"
},
"iCalCalendarDataSync": {
"name": "iCal URL",
"description": "The iCal calendar sync, synchronizes automatically with the entries in the calendar file of the URL. It only supports the ICS (Internet Calendar and Scheduling) file type."
},
"postgreSQLDataSync": {
"description": "Synchronizes a PostgreSQL table with a Baserow table matching the provided details below. Note that when the synchronization starts, it will select all the rows in the provided table. Even though Baserow only selects data, we strongly recommend limiting the user to a read-only connection.",
"host": "Host",
"username": "Username",
"password": "Password",
"database": "Database",
"schema": "Schema",
"table": "Table",
"port": "Port",
"sslMode": "SSL Mode"
},
"createDataSync": {
"next": "Next",
"fields": "Select the fields you would like to sync",
"create": "Create and sync table",
"error": "Something went wrong during the sync"
},
"syncTableModal": {
"title": "Sync {name}",
"description": "This table is linked to a data sync. When you click the sync button, the data will be synchronized with the source. During this process, a lock is placed on the updated rows, which may temporarily slow down API requests or table modifications.",
"sync": "Sync table",
"hide": "Hide"
},
"gridViewRowHeight": {
"name": "Height",
"small": "Small",
"medium": "Medium",
"large": "Large"
}
}