From b2c952fc5f451c39b6df35c182879049cae5fb15 Mon Sep 17 00:00:00 2001 From: xLight <xbluelight@gmail.com> Date: Tue, 25 Oct 2022 20:00:47 +0000 Subject: [PATCH] Chinese Translate --- .../modules/database/locales/zh_Hans.json | 855 +++++++++++------- 1 file changed, 551 insertions(+), 304 deletions(-) diff --git a/web-frontend/modules/database/locales/zh_Hans.json b/web-frontend/modules/database/locales/zh_Hans.json index 9c7dec314..a248c16c6 100644 --- a/web-frontend/modules/database/locales/zh_Hans.json +++ b/web-frontend/modules/database/locales/zh_Hans.json @@ -1,490 +1,737 @@ { + "table": { + "chooseView": "选择视图", + "adjacentRow": { + "notification": { + "notFound": { + "next": { + "title": "没有更多行", + "message": "没有下一行" + }, + "previous": { + "title": "没有更多行", + "message": "没有上一行" + } + }, + "error": { + "title": "发生错误", + "message": "检索相邻行时出错" + } + } + } + }, "webhookModal": { - "title": "", - "createWebhook": "", - "backToList": "" + "title": "{name} Webhooks", + "createWebhook": "创建Webhook", + "backToList": "返回列表" }, "deleteWebhookModal": { - "title": "", - "deleteButton": "", - "body": "" + "title": "删除 {webhookName}", + "deleteButton": "删除Webhook", + "body": "您确定要删除这个 Webhook 吗?以后您将无法恢复它。" }, "webhookList": { - "noWebhooksMessage": "" + "noWebhooksMessage": "您还没有创建任何 Webhook。当 Baserow 中的行创建、更新或删除时,可以使用 Webhook 通知第三方系统。" }, "testWebhookModal": { - "title": "", - "unreachable": "" + "title": "测试 Webhook", + "unreachable": "服务器不可达" }, "webhookForm": { "inputLabels": { - "name": "", - "value": "", - "requestMethod": "", - "url": "", - "userFieldNames": "", - "events": "", - "headers": "", - "example": "" + "name": "名称", + "value": "值", + "requestMethod": "请求方法", + "url": "URL", + "userFieldNames": "用户字段名", + "events": "哪些事件应该触发这个 Webhook?", + "headers": "附加http headers", + "example": "示例载荷" }, "errors": { - "urlField": "", - "invalidHeaders": "" + "urlField": "必须是一个以 'https://' 或 'http://' 开头的有效 url。", + "invalidHeaders": "其中一个http header无效。" }, "checkbox": { - "sendUserFieldNames": "" + "sendUserFieldNames": "使用字段名代替 id" }, "radio": { - "allEvents": "", - "customEvents": "" + "allEvents": "把所有东西都发给我", + "customEvents": "让我选择个别事件" }, - "triggerButton": "", + "triggerButton": "触发测试Webhook", "deactivated": { - "title": "", - "content": "", - "activate": "" + "title": "Webhook 已停用", + "content": "此webhook已被停用,因为连续失败太多。详情请查看通话记录。点击下方按钮再次激活。激活后不要忘记保存webhook。" , + "activate": "激活" + }, + "deprecatedEventType": { + "title": "不推荐使用的事件类型", + "description": "此 webhook 不会一次接收所有更改行的信息。请将其转换为批处理样式的事件类型。这会将 JSON 正文负载更改为包含多行的格式。", + "convert": "转换" } }, "webhook": { - "details": "", - "lastCall": "", - "noCalls": "", - "callLog": "", - "triggerDescription": "" + "details": "详情", + "lastCall": "最后一次调用:{lastCallTime}", + "noCalls": "没有调用", + "callLog": "调用记录", + "triggerDescription": "每个事件触发 | {count} 个事件触发 | {count} 个事件触发" }, "createWebhook": { - "errorTableWebhookMaxLimitExceededTitle": "", - "errorTableWebhookMaxLimitExceededDescription": "" + "errorTableWebhookMaxLimitExceededTitle": "超过最大webhook限制", + "errorTableWebhookMaxLimitExceededDescription": "无法创建 webhook,因为已超过每个表的最大 webhook 数量。" }, "sidebar": { - "viewAPI": "", - "createTable": "" + "viewAPI": "查看 API 文档", + "createTable": "创建表" }, "sidebarItem": { - "exportTable": "" + "exportTable": "导出表" + }, + "duplicateTableJobType": { + "duplicating": "副本创建中", + "duplicatedTitle": "表副本已创建" }, "apiToken": { - "create": "", - "read": "", - "update": "", - "delete": "", - "tokenPrefix": "", - "viewAPIDocs": "", - "generateNewToken": "", - "showOrHide": "", - "copyToClipboard": "", - "showDatabases": "" + "create": "create", + "read": "read", + "update": "update", + "delete": "delete", + "tokenPrefix": "Token:", + "viewAPIDocs": "查看 API 文档", + "generateNewToken": "生成新Token", + "showOrHide": "显示或隐藏Token", + "copyToClipboard": "复制到剪贴板", + "showDatabases": "显示数据库" }, "apiTokenSettings": { - "title": "", - "createToken": "", - "noTokensMessage": "", - "hasFullPermissions": "", - "hasOnlySelectedPermissions": "", - "noPermissions": "", - "createNewTitle": "", - "backToOverview": "" + "title": "个人 API Token", + "createToken": "创建Token", + "noTokensMessage": "您尚未创建 API Token。您可以使用 API Token对 REST API 端点进行身份验证,您可以在其中创建、读取、更新和删除行。可以在表级别设置权限。", + "hasFullPermissions": "拥有全部权限,对所有孩子也一样。", + "hasOnlySelectedPermissions": "只对选定的孩子有权限。", + "noPermissions": "没有权限。", + "createNewTitle": "创建新的 API Token", + "backToOverview": "返回概览" }, "apiTokenForm": { - "nameLabel": "", - "groupLabel": "" + "nameLabel": "名称", + "groupLabel": "分组" }, "apiDocsSelectDatabase": { - "needOneDatabase": "" + "needOneDatabase": "您需要至少有一个数据库才能查看 API 文档。" }, "apiDocsExample": { - "requestSample": "", - "responseSample": "", - "userFieldNames": "" + "requestSample": "Request样本", + "responseSample": "Response样本", + "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": "" + "description": "要列出 *{name}* 表中的行,必须向 *{name}* 端点发出 `GET` 请求。响应是分页的,默认情况下会返回第一页。正确的页面可以通过提供 `page` 和 `size` 查询参数来获取。", + "page": "定义应该返回哪一页行。", + "size": "定义每页应该返回多少行。", + "userFieldNames": "如果为 `user_field_names` GET 参数提供了任何值,则此端点返回的字段名称将是字段的实际名称。\n\n 如果未提供 `user_field_names` GET 参数,则所有返回的字段名称将是 `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 例如,如果您提供以下 GET 参数 `filter__field_1__equal=test`,则只会返回 field_1 的值等于 test 的行。", + "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 \\\"`。\n\n #### 没有 `user_field_names`:\n\n `include` 应该是逗号分隔的 `field_` 列表,后跟要包含的字段的 id 结果。例如:如果您提供以下 GET 参数 `exclude=field_1,field_2` 则 ID 为 1 和 ID 为 2 的字段将仅包含这些字段(除非它们被明确排除)", + "exclude": "默认情况下所有字段都包含在响应中。您可以通过提供 exclude 查询参数来选择要排除的字段子集。\n\n #### With `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": "默认情况下,不应用查询参数中定义的过滤器和排序。您可以通过在 `view_id` GET 参数中提供视图的`id`来添加视图的过滤器和排序。对于例如,如果您提供以下 GET 参数 `view_id=1`,则将应用在 id 为 `1` 的视图中定义的过滤器和排序。您可以在任何给定视图的上下文菜单中找到 `view_id`。它是视图名称后面括号中的数字。\n\n #### 使用 `filter__{field}__{filter}` \n\n 查询参数中提供的过滤器和视图中定义的过滤器都将被应用。 \n\n #### 使用 `order_by` \n\n 如果提供了 `order_by`,则视图中定义的排序将被忽略。" }, "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": "" + "description": "要列出 {name} 表的字段,必须向 {name} 字段端点发出 `GET` 请求。只有在令牌具有读取、创建或更新权限时才能列出字段。" , + "resultFieldProperties": "结果字段属性", + "id": "字段主键。可以通过添加`field_`前缀来生成数据库列名。", + "name": "字段名。", + "tableId": "相关表id。", + "order": "表中的字段顺序。第一个字段为 0。", + "primary": "表示该字段是否为主字段。如果为 `true`,则该字段不能被删除,该值应代表整行。", + "type": "为该字段定义的类型。", + "extraProps": "一些额外的属性在这里没有描述,因为它们是特定于类型的。", + "readOnly": "表示该字段是否为只读字段。如果为true,则无法更新单元格值。" }, "apiDocsTableDeleteRow": { - "description": "", - "rowId": "" + "description": "删除现有的 {name} 行。", + "rowId": "需要删除的行的唯一标识。" + }, + "apiDocsTableDeleteRows": { + "description": "删除现有的 {name} 行。", + "items": "应该删除的行 ID 数组。" }, "apiDocsTableMoveRow": { - "description": "", - "rowId": "", - "before": "" + "description": "将现有的 {name} 行移动到另一行之前。如果没有提供 `before_id`,则该行将移动到表的末尾。", + "rowId": "移动与值相关的行。", + "before": "将与给定 `row_id` 相关的行移动到与提供的值相关的行之前。如果未提供,则该行将移动到末尾。" + }, + "apiDocsUploadFile": { + "description": "通过直接上传文件内容将文件上传到 Baserow。一个 `file` 多部分应该包含文件内容。然后可以使用响应来[将文件上传到一行]({PUBLIC_BACKEND_URL}/api /redoc/#tag/Database-table-rows/operation/update_database_table_row).", + "file": "包含文件内容的 `file` 多部分。" + }, + "apiDocsUploadFileViaURL": { + "description": "通过从提供的 URL 下载文件将文件上传到 Baserow。然后可以使用响应 [将文件上传到行]({PUBLIC_BACKEND_URL}/api/redoc/#tag/Database-table-rows /operation/update_database_table_row).", + "url": "您希望 Baserow 代表您下载和上传的 URL。" }, "apiDocsTableUpdateRow": { - "description": "", - "rowId": "", - "before": "" + "description": "更新现有的 {name} 行。", + "rowId": "需要更新的行的唯一标识。", + "before": "如果提供,则新创建的行将位于具有提供的 id 的行之前。" + }, + "apiDocsTableUpdateRows": { + "description": "更新现有的 {name} 行。", + "id": "行 ID。" }, "apiDocsTableCreateRow": { - "description": "", - "before": "" + "description": "创建一个新的 {name} 行。", + "before": "如果提供,则新创建的行将位于具有提供的 id 的行之前。" + }, + "apiDocsTableCreateRows": { + "description": "创建新的 {name} 行。", + "before": "如果提供,那么新创建的行将被定位在具有提供的 id 的行之前。" }, "apiDocsAuth": { - "description": "", - "settingsLink": "" + "description": "Baserow 使用简单的基于令牌的身份验证。您需要在 {settingsLink} 中生成至少一个 API 令牌才能使用下面描述的端点。可以授予创建、读取、更新和删除权限直到表每个令牌的级别。您可以通过在 HTTP 授权承载令牌标头中提供您的 API 令牌来对 API 进行身份验证。所有 API 请求都必须经过身份验证并通过 HTTPS 发出。", + "settingsLink": "设置" }, "apiDocsFilters": { - "filter": "", - "exampleValue": "", - "example": "", - "field": "" + "filter": "过滤器", + "exampleValue": "示例值", + "example": "完整示例", + "field": "字段 {name}" }, "fieldTextSubForm": { - "placeholder": "" + "placeholder": "默认文本" }, "fieldSingleSelectSubForm": { - "optionsLabel": "" + "optionsLabel": "选项" }, "fieldSingleSelectDropdown": { - "notFound": "" + "notFound": "未找到选项" + }, + "fieldmultipleCollaboratorsDropdown": { + "notFound": "未找到合作者" }, "fieldDateSubForm": { - "dateFormatLabel": "", - "dateFormatEuropean": "", - "dateFormatUS": "", - "dateFormatISO": "", - "includeTimeLabel": "", - "timeFormatLabel": "", - "24Hour": "", - "12Hour": "" + "dateFormatLabel": "日期格式", + "dateFormatEuropean": "欧洲", + "dateFormatUS": "美国", + "dateFormatISO": "ISO", + "includeTimeLabel": "包括时间", + "timeFormatLabel": "时间格式", + "24小时": "24 小时", + "12小时": "12 小时" }, "fieldLinkRowSubForm": { - "noTable": "", - "selectTableLabel": "" + "noTable": "您至少需要在同一个数据库中链接另一个表。", + "selectTableLabel": "选择要链接的表", + "hasRelatedFieldLabel": "在链接表中创建相关字段" }, "fieldSelectOptions": { - "add": "" + "add": "添加一个选项" }, "fieldNumberSubForm": { - "typeLabel": "", - "integer": "", - "decimal": "", - "decimalPlacesLabel": "", - "allowNegative": "" + "typeLabel": "数字类型", + "integer": "整型", + "decimal": "十进制小数", + "decimalPlacesLabel": "小数位数", + "allowNegative": "允许负数" }, "fieldContext": { - "editField": "", - "deleteField": "" + "editField": "编辑字段", + "deleteField": "删除字段", + "hideField": "隐藏字段", + "showField": "显示字段" }, "fieldForm": { - "name": "", - "fieldAlreadyExists": "", - "nameNotAllowed": "", - "nameTooLong": "" + "name": "名称", + "fieldAlreadyExists": "同名字段已经存在。", + "nameNotAllowed": "该字段名不允许。", + "nameTooLong": "这个字段名太长了。" }, "fieldLookupSubForm": { - "noTable": "", - "selectThroughFieldLabel": "", - "selectTargetFieldLabel": "" + "noTable": "您至少需要一个链接行字段来创建查找的字段。", + "selectThroughFieldLabel": "选择一个链接行字段", + "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": "搜索行" }, "rowEditModal": { - "addField": "" + "addField": "添加字段", + "showHiddenFields": "显示隐藏字段", + "hideHiddenFields": "隐藏隐藏字段" }, "rowEditFieldMultipleSelect": { - "addOption": "" + "addOption": "添加另一个选项" + }, + "rowEditFieldMultipleCollaborators": { + "addCollaborator": "添加合作者" }, "rowEditFieldFile": { - "addFile": "", + "addFile": "添加文件", "sizes": { - "0": "", - "1": "", - "2": "", - "3": "", - "4": "", - "5": "" + "0": "字节", + "1": "KB", + "2": "MB", + "3": "GB", + "4": "TB", + "5": "PB" } }, "rowEditFieldLinkRow": { - "addLink": "" + "addLink": "添加另一个链接" }, "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}MB。", + "limitError": "不能导入超过 {limit} 行。", + "emptyCSV": "此 CSV 文件为空。" + }, + "importer": { + "fieldDefaultName": "Field {count}", + "loading": "Loading file", + "decoding": "Decoding data", + "parsing": "Parsing data", + "preparing": "Preparing data", + "inProgress": "In progress..." }, "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}MB。", + "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}MB。", + "limitError": "不能导入超过 {limit} 行。" }, "tablePasteImporter": { - "pasteLabel": "", - "pasteDescription": "", - "firstRowHeader": "", - "limitError": "" + "pasteLabel": "粘贴表格数据", + "pasteDescription": "您可以从电子表格中复制单元格并将它们粘贴到下方。", + "firstRowHeader": "第一行是字段名", + "limitError": "不能导入超过 {limit} 行。" }, "importFileModal": { - "title": "", - "importLabel": "", - "newTable": "", - "addButton": "" + "title": "创建新表", + "changeImporterType": "更改导入类型", + "additionalImportTitle": "导入 {table}", + "importLabel": "要导入现有数据吗?", + "newTable": "从新表开始", + "addButton": "添加表格", + "showTable": "显示表", + "importButton": "导入", + "uploading": "上传中...", + "preparing": "正在准备数据...", + "importError": "文件导入过程中出现问题", + "openCreatedTable": "打开创建的表", + "showReport": "显示错误报告", + "reportTitleFailure": "失败的行", + "reportTitleSuccess": "导入成功但是...", + "reportMessage": "以下行索引无法导入:", + "stateRowCreation": "正在导入...", + "statePreValidation": "验证数据...", + "stateCreateTable": "正在创建表...", + "fieldMappingTitle": "字段映射", + "fieldMappingDescription": "我们已经自动映射了您表格中 Baserow 字段的列。您可以在下面更改它们。任何不兼容的单元格在导入后将保持为空。", + "selectImportMessage": "请选择要导入的数据。", + "filePreview": "文件内容预览", + "importPreview": "导入预览" }, "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": "" + "searchView": "搜索视图", + "noViews": "未找到视图" }, "viewFilterTypeLinkRow": { - "unnamed": "", - "choose": "" + "unnamed": "未命名行 {value}", + "choose": "选择行" }, "viewFilterContext": { - "addFilter": "", - "disableAllFilters": "", - "noFilterTitle": "", - "noFilterText": "", - "where": "", - "and": "", - "or": "" + "addFilter": "添加过滤器", + "disableAllFilters": "全部已禁用", + "noFilterTitle": "您还没有创建过滤器", + "noFilterText": "过滤器允许您显示适用于您的条件的行。", + "where": "条件是", + "and": "与", + "or": "或", + "relatedFieldNotFound": "未找到相关字段。", + "filterTypeNotFound": "过滤器类型不兼容。" }, "viewFilterTypeFileTypeDropdown": { - "image": "", - "document": "" + "image": "图片", + "document": "文档" }, "createViewModal": { - "createNew": "", - "add": "" + "createNew": "创建新的 {view}", + "add": "添加 {view}" }, "shareViewLink": { - "shareView": "", - "shareViewTitle": "", - "sharedViewTitle": "", - "sharedViewDescription": "", - "disableLink": "", - "generateNewUrl": "", - "copyURL": "" + "shareView": "分享 {viewTypeSharingLinkName}", + "shareViewTitle": "创建一个指向 {viewTypeSharingLinkName} 的私有共享链接", + "sharedViewTitle": "此 {viewTypeSharingLinkName} 目前通过私人链接共享", + "sharedViewDescription": "知道链接的人可以看到 {viewTypeSharingLinkName}。", + "disableLink": "禁用共享链接", + "generateNewUrl": "生成新网址", + "copyURL": "复制 URL", + "EnablePassword": "使用密码限制访问", + "DisablePassword": "访问受密码保护", + "ChangePassword": "更改" }, "viewSortContext": { - "noSortTitle": "", - "noSortText": "", - "sortBy": "", - "thenBy": "", - "addSort": "" + "noSortTitle": "你还没有创建排序", + "noSortText": "排序允许您按字段对行进行排序。", + "sortBy": "排序依据", + "thenBy": "然后再依据", + "addSort": "选择要排序的字段" }, "viewSort": { - "sort": "" + "sort": "排序 | 1 次排序 | {count} 次排序" + }, + "viewDecorator": { + "decorator": "颜色 | 1 种颜色 | {count} 种颜色" }, "viewRotateSlugModal": { - "title": "", - "refreshWarning": "", - "generateNewURL": "" + "title": "刷新网址", + "refreshWarning": "您确定要刷新 {viewName} 的 URL 吗?刷新后会生成一个新的 URL,并且无法通过旧 URL 访问 {viewTypeSharingLinkName}。您拥有的所有人与之共享 URL,将无法访问 {viewTypeSharingLinkName}。", + "generateNewURL": "生成新 URL" + }, + "shareViewEnablePasswordModal": { + "newPasswordTitle": "输入密码", + "newPasswordDescription": "公共链接只有在输入密码后才能访问。这个密码将被加密保存。", + "newPasswordSave": "设置密码", + "changePasswordTitle": "更改密码", + "changePasswordDescription": "更改密码后,之前的密码将失效。此密码将被加密保存。", + "changePasswordSave": "更改密码" + }, + "shareViewDisablePasswordModal": { + "title": "禁用密码保护", + "description": "您确定要禁用此公共链接的密码保护吗?禁用后密码将被删除且无法恢复", + "disable": "禁用" + }, + "publicViewAuthLogin": { + "title": "此页面受密码保护", + "description": "输入正确的密码访问页面。", + "enter": "进入", + "error": { + "incorrectPasswordTitle": "密码错误", + "incorrectPasswordText": "提供的密码不正确。" + } }, "viewFieldsContext": { - "coverField": "", - "noCover": "", - "search": "", - "hideAll": "", - "showAll": "" + "coverField": "封面字段", + "noCover": "没有封面", + "search": "搜索字段", + "hideAll": "全部隐藏", + "showAll": "显示全部" }, "viewFilterTypeBoolean": { - "selected": "" + "selected": "已选中" }, "viewFilter": { - "filter": "" + "filter": "过滤器 | 1 个过滤器 | {count} 个过滤器" }, "viewContext": { - "exportView": "", - "renameView": "", - "deleteView": "" + "exportView": "导出视图", + "duplicateView": "创建副本视图", + "renameView": "重命名视图", + "webhooks": "Webhooks", + "importFile": "导入文件", + "deleteView": "删除视图" }, "deleteViewModal": { - "title": "", - "description": "", - "delete": "" + "title": "删除 {name}", + "description": "您确定要删除视图 {name} 吗?表数据将被保留,但与视图相关的过滤器、排序和字段宽度将被删除。", + "delete": "删除视图" }, "viewForm": { - "name": "" + "name": "名称" }, "galleryViewHeader": { - "customizeCards": "" + "customizeCards": "自定义卡片" }, "gridViewHide": { - "hideField": "" + "hideField": "隐藏字段 | 1 个隐藏字段 | {count} 个隐藏字段" }, "gridViewFieldType": { - "createFilter": "", - "sortField": "", - "hideField": "" + "insertLeft": "向左插入", + "insertRight": "插入右边", + "createFilter": "创建过滤器", + "duplicate": "创建副本字段", + "sortField": "排序", + "hideField": "隐藏字段" }, "gridViewRow": { - "rowNotMatchingFilters": "", - "rowNotMatchingSearch": "", - "rowHasMoved": "" + "rowNotMatchingFilters": "行不匹配过滤器", + "rowNotMatchingSearch": "行不匹配搜索", + "rowHasMoved": "行已移动" }, "gridView": { - "insertRowAbove": "", - "insertRowBelow": "", - "enlargeRow": "", - "deleteRow": "", - "rowCount": "" + "selectRow": "选择行", + "insertRowAbove": "在上面插入行", + "insertRowBelow": "在下面插入行", + "duplicateRow": "创建副本行", + "enlargeRow": "放大行", + "deleteRow": "删除行", + "deleteRows": "删除行", + "copyCells": "复制单元格", + "rowCount": "无行 | 1 行 | {count} 行" + }, + "gridViewFieldFile": { + "dropHere": "放在这里", + "dropFileHere": "把文件放到这里" }, "gridViewFieldLinkRow": { - "unnamed": "" + "unnamed": "未命名行 {value}" }, "gridViewIdentifierOptions": { - "id": "", - "count": "" + "id": "行标识符", + "count": "计数" + }, + "formViewMeta": { + "includeRowId": "使用 {row_id} 在 URL 中包含新创建的行 ID。" }, "previewAny": { - "externalWarning": "" + "externalWarning": "通过外部服务打开您的文件会将您的文件暴露给他们的服务器。" }, "exportTableModal": { - "failedTitle": "", - "failedDescription": "", - "cancelledTitle": "", - "cancelledDescription": "" + "failedTitle": "导出失败", + "failedDescription": "由于服务器错误,导出失败。", + "cancelledTitle": "导出取消", + "cancelledDescription": "导出被取消。" }, "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": "第一行是字段名" }, "apiDocsDatabase": { - "pageTitle": "", - "back": "", - "openDatabase": "" + "pageTitle": "{name} 数据库 API 文档", + "back": "返回仪表板", + "openDatabase": "打开数据库" }, "apiDocsComponent": { - "title": "", - "intro": "", - "settings": "", - "selectApplicationTitle": "", - "signIn": "", - "back": "" + "title": "REST API", + "intro": "在 {settingsLink} 创建数据库架构和 API 密钥后,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": "方差" + }, + "databaseForm": { + "importLabel": "要导入现有数据吗?", + "emptyLabel": "从零开始", + "airtableLabel": "从 Airtable (beta) 导入" + }, + "importFromAirtable": { + "airtableShareLinkTitle": "分享一个链接到你的基地", + "airtableShareLinkDescription": "要导入您的Airtable基地,您需要有一个指向您整个基地的共享链接。在Airtable中,打开您的基地后点击右上角的分享按钮。之后您必须选择“Access to base”选项。在共享模式中,您可以单击“创建到整个基地的共享链接”按钮,然后单击“私有只读链接”。复制公共链接并将其粘贴到下面的输入中.", + "airtableShareLinkBeta": "请注意,此功能处于测试阶段,您的表格、字段(公式、查找和计数除外)和数据将被导入。您的视图不会被导入。", + "airtableShareLinkPaste": "在此处粘贴链接", + "importButtonLabel": "从 Airtable 导入", + "openButtonLabel": "打开导入的数据库", + "importError": "出了点问题", + "statePending": "等待开始", + "stateFailed": "失败", + "stateFinished": "完成", + "stateDownloadingBase": "下载基础架构", + "stateConverting": "转换为 Baserow", + "stateDownloadingFiles": "正在下载文件", + "stateImporting": "正在导入", + "stateImportingTable": "正在导入表 {table}", + "errorJobAlreadyRunningTitle": "已经在运行", + "errorJobAlreadyRunningDescription": "另一个导入作业已在运行。您需要等待该作业完成后再开始另一个作业。", + "linkError": "链接应该是这样的:https://airtable.com/shrxxxxxxxxxxxxxx" + }, + "chooseSingleSelectField": { + "addSelectField": "添加单选字段" + }, + "viewDecoratorContext": { + "addDecorator": "添加装饰器" + }, + "databaseDashboardSidebarLinks": { + "apiDocumentation": "API 文档" + }, + "formViewField": { + "required": "必填", + "descriptionPlaceholder": "描述", + "showWhenMatchingConditions": "条件满足时显示", + "addCondition": "添加条件" + }, + "duplicateFieldContext": { + "duplicate": "创建副本字段", + "cloneData": "复制数据", + "readOnlyField": "单元格值会自动填充。" + }, + "snapshotsModal": { + "title": "快照", + "description": "快照是创建时数据库的完整副本。恢复时将创建该数据的副本。一年后会自动删除快照。", + "descriptionLimits": "每个组最多可以有 {n} 个快照。| 每个组最多可以有 {n} 个快照。| 每个组最多可以有 {n} 个快照。", + "createLabel": "创建一个新快照", + "create": "创建快照", + "snapshotRestoredErrorTitle": "发生错误", + "snapshotRestoredErrorMessage": "快照无法恢复,请稍后再试。", + "snapshotDeletedErrorTitle": "发生错误", + "snapshotDeletedErrorMessage": "快照无法删除,请稍后再试。", + "limitReached": "已达到最大快照数限制。", + "snapshot": "快照", + "importingState": "正在创建", + "reset": "创建另一个" + }, + "deleteSnapshotModal": { + "title": "删除快照", + "content": "您确定要永久删除快照 {name}?", + "confirm": "删除" + }, + "snapshotListItem": { + "restore": "恢复", + "delete": "删除", + "created": "已创建" + }, + "formViewModeType": { + "form": "表单", + "formDescription": "所有字段都可见且垂直堆叠。" + }, + "formViewHeader": { + "mode": "模式", + "preview": "预览", + "fields": "字段" + }, + "formViewModePreviewForm": { + "addCoverImage": "添加封面图片", + "addLogo": "添加Logo", + "titlePlaceholder": "标题", + "descriptionPlaceholder": "描述", + "noFields": "此表单没有任何字段。单击左侧边栏中的字段添加一个。" } }