From 75bfc37d2b72bc929482442dea56d07a09111c5f Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sun, 6 Jun 2021 20:14:26 +0200 Subject: [PATCH] Added missing files. --- backend/i18n/clean.bat | 5 + backend/i18n/frontend_zh.json | 975 ++++++++++++++++++ backend/i18n/source/frontend.zh.json | 2 + backend/i18n/source/frontend_zh.json | 1 + backend/src/Squidex.Shared/Texts.zh.resx | 1204 ++++++++++++++++++++++ 5 files changed, 2187 insertions(+) create mode 100644 backend/i18n/clean.bat create mode 100644 backend/i18n/frontend_zh.json create mode 100644 backend/i18n/source/frontend.zh.json create mode 100644 backend/i18n/source/frontend_zh.json create mode 100644 backend/src/Squidex.Shared/Texts.zh.resx diff --git a/backend/i18n/clean.bat b/backend/i18n/clean.bat new file mode 100644 index 000000000..eb4f22c8d --- /dev/null +++ b/backend/i18n/clean.bat @@ -0,0 +1,5 @@ +cd translator\Squidex.Translator + +dotnet run translate clean-backend ..\..\..\.. +dotnet run translate clean-frontend ..\..\..\.. + diff --git a/backend/i18n/frontend_zh.json b/backend/i18n/frontend_zh.json new file mode 100644 index 000000000..0e8a66fd7 --- /dev/null +++ b/backend/i18n/frontend_zh.json @@ -0,0 +1,975 @@ +{ + "api.contentApi": "Content API", + "api.generalApi": "General API", + "api.graphql": "GraphQL", + "api.graphqlPageTitle": "GraphQL", + "api.pageTitle": "API", + "api.title": "API", + "apps.allApps": "All Apps", + "apps.appLoadFailed": "Failed to load app. Please reload.", + "apps.appNameHint": "You can only use letters, numbers and dashes and not more than 40 characters.", + "apps.appNameValidationMessage": "Name can contain lower case letters (a-z), numbers and dashes between.", + "apps.appNameWarning": "The app name cannot be changed later.", + "apps.appsButtonCreate": "Apps Overview", + "apps.appsButtonFallbackTitle": "Apps Overview", + "apps.archive": "Archive App", + "apps.archiveConfirmText": "Do you really want to archive this app?", + "apps.archiveConfirmTitle": "Archive App", + "apps.archiveFailed": "Failed to archive app. Please reload.", + "apps.archiveWarning": "Once you archive an app, there is no going back. Please be certain.", + "apps.create": "Create App", + "apps.createBlankApp": "New App", + "apps.createBlankAppDescription": "Create a new blank app without content and schemas.", + "apps.createBlogApp": "New Blog Sample", + "apps.createBlogAppDescription": "Start with our ready to use blog.", + "apps.createFailed": "Failed to create app. Please reload.", + "apps.createProfileApp": "New Profile Sample", + "apps.createProfileAppDescription": "Create your profile page.", + "apps.createWithTemplate": "Create {template} Sample", + "apps.empty": "You are not collaborating to any app yet", + "apps.generalSettings": "General", + "apps.generalSettingsDangerZone": "General", + "apps.image": "Image", + "apps.imageDrop": "Drop to upload", + "apps.leave": "Leave app", + "apps.leaveConfirmText": "Do you really want to leave this app?", + "apps.leaveConfirmTitle": "Leave app.", + "apps.leaveFailed": "Failed to leave app. Please reload.", + "apps.listPageTitle": "Apps", + "apps.loadFailed": "Failed to load apps. Please reload.", + "apps.loadSettingsFailed": "Failed to update UI settings. Please reload.", + "apps.removeImage": "Remove image", + "apps.removeImageFailed": "Failed to remove app image. Please reload.", + "apps.updateFailed": "Failed to update app. Please reload.", + "apps.updateSettingsFailed": "Faield to update UI settings. Please reload.", + "apps.upgradeHintCurrent": "You are on the {plan} plan.", + "apps.upgradeHintUpgrade": "Upgrade!", + "apps.uploadImage": "Drop an file to replace the app image. Use a square size.", + "apps.uploadImageButton": "Upload File", + "apps.uploadImageFailed": "Failed to upload image. Please reload.", + "apps.uploadImageTooBig": "App image is too big.", + "apps.welcomeSubtitle": "Welcome to Squidex.", + "apps.welcomeTitle": "Hi {user}", + "appSettings.editors.deleteConfirmText": "Do you really want to remove this Editor URL?", + "appSettings.editors.deleteConfirmTitle": "Delete Editor URL", + "appSettings.editors.empty": "No Editor URL created yet.", + "appSettings.editors.title": "Custom Editors", + "appSettings.hideScheduler": "Hide dialog for scheduled publishing", + "appSettings.patterns.deleteConfirmText": "Do you really want to remove this pattern?", + "appSettings.patterns.deleteConfirmTitle": "Delete pattern", + "appSettings.patterns.empty": "No pattern created yet.", + "appSettings.patterns.title": "Patterns", + "appSettings.refreshTooltip": "Refresh UI Settings (CTRL + SHIFT + R)", + "appSettings.reloaded": "UI Settings reloaded.", + "appSettings.title": "UI Settings", + "assets.createFolder": "Create Folder", + "assets.createFolderFailed": "Failed to create asset folder. Please reload.", + "assets.createFolderTooltip": "Create new folder (CTRL + SHIFT + G)", + "assets.deleteConfirmText": "Do you really want to delete the asset?", + "assets.deleteConfirmTitle": "Delete asset", + "assets.deleteFailed": "Failed to delete asset. Please reload.", + "assets.deleteFolderConfirmText": "Do you really want to delete the folder and all assets?", + "assets.deleteFolderConfirmTitle": "Delete folder", + "assets.deleteMetadataConfirmText": "Do you really want to remove this metadata?", + "assets.deleteMetadataConfirmTitle": "Remove metadata", + "assets.deleteReferrerConfirmText": "The asset is referenced by a content item.\n\nDo you really want to delete the asset?", + "assets.deleteReferrerConfirmTitle": "Delete asset", + "assets.downloadVersion": "Download this Version", + "assets.dropToUpdate": "Drop to update", + "assets.duplicateFile": "Asset has already been uploaded.", + "assets.editor.flipHorizontally": "Flip Horizontally", + "assets.editor.flipVertically": "Flip Vertically", + "assets.editor.focusPointLabel": "Select position of focus point", + "assets.editor.focusPointPreview": "Preview for different sizes", + "assets.editor.rotateLeft": "Rotate Left", + "assets.editor.rotateRight": "Rotate Right", + "assets.fileTooBig": "Asset is too big.", + "assets.folderName": "Folder Name", + "assets.folderNameHint": "The folder name is used as display name and must not be unique.", + "assets.insertAssets": "Insert Assets", + "assets.linkSelected": "Link selected assets ({count})", + "assets.listPageTitle": "Assets", + "assets.loadFailed": "Failed to load assets. Please reload.", + "assets.loadFoldersFailed": "Failed to load asset folders. Please reload.", + "assets.metadata": "Metadata", + "assets.metadataAdd": "Add Metadata", + "assets.moveFailed": "Failed to move asset. Please reload.", + "assets.protected": "Protected", + "assets.refreshTooltip": "Refresh Assets (CTRL + SHIFT + R)", + "assets.reloaded": "Assets reloaded.", + "assets.removeConfirmText": "Do you really want to remove the asset?", + "assets.removeConfirmTitle": "Remove asset", + "assets.renameFolder": "Rename Folder", + "assets.replaceConfirmText": "Do you really want to replace the asset with a newer version", + "assets.replaceConfirmTitle": "Replace asset?", + "assets.replaceFailed": "Failed to replace asset. Please reload.", + "assets.searchByName": "Search by name", + "assets.searchByTags": "Search by tags", + "assets.selectMany": "Select assets", + "assets.specialFolder.parent": "", + "assets.specialFolder.root": "", + "assets.tabFocusPoint": "Focus Point", + "assets.tabHistory": "History", + "assets.tabImage": "Image", + "assets.tabMetadata": "Metadata", + "assets.tabPreview": "Preview", + "assets.tabTextEditor": "Text Editor", + "assets.updated": "Asset has been updated.", + "assets.updateFailed": "Failed to update asset. Please reload.", + "assets.updateFolderFailed": "Failed to update asset folder. Please reload.", + "assets.uploadByDialog": "Select File(s", + "assets.uploadByDrop": "Drop files here to upload", + "assets.uploaderUploadHere": "No upload in progress, drop files here.", + "assets.uploadFailed": "Failed to upload asset. Please reload.", + "assets.uploadHint": "Drop file on existing item to replace the asset with a newer version.", + "backups.backupCountAssetsLabel": "Assets", + "backups.backupCountAssetsTooltip": "Archived assets", + "backups.backupCountEventsLabel": "Events", + "backups.backupCountEventsTooltip": "Archived events", + "backups.backupDownload": "Download", + "backups.backupDownloadLink": "Ready", + "backups.backupDuration": "Duration", + "backups.deleteConfirmText": "Do you really want to delete the backup?", + "backups.deleteConfirmTitle": "Delete backup", + "backups.deleted": "Backup is about to be deleted.", + "backups.deleteFailed": "Failed to delete backup.", + "backups.empty": "No backups created yet.", + "backups.loadFailed": "Failed to load backups.", + "backups.maximumReached": "Your have reached the maximum number of backups: 10.", + "backups.refreshTooltip": "Refresh backups (CTRL + SHIFT + R)", + "backups.reloaded": "Backups reloaded.", + "backups.restore": "Restore Backup", + "backups.restoreFailed": "Failed to start restore.", + "backups.restoreLastStatus": "Last Restore Operation", + "backups.restoreLastUrl": "Url to backup", + "backups.restoreNewAppName": "Optional app name", + "backups.restorePageTitle": "Restore Backup", + "backups.restoreStarted": "Restore started, it can take several minutes to complete.", + "backups.restoreStartedLabel": "Started", + "backups.restoreStoppedLabel": "Stopped", + "backups.restoreTitle": "Restore Backup", + "backups.start": "Start Backup", + "backups.started": "Backup started, it can take several minutes to complete.", + "backups.startedLabel": "Started", + "backups.startFailed": "Failed to start backup.", + "clients.add": "Add Client", + "clients.addFailed": "Failed to add client. Please reload.", + "clients.allowAnonymous": "Allow anonymous access.", + "clients.allowAnonymousHint": "Allow access to the API without an access token to all resources that are configured via the role of this client. Do not give more than one client anonymous access.", + "clients.apiCallsLimit": "Max API Calls", + "clients.apiCallsLimitHint": "Limit the number of API calls this client can make per month to protect your API contingent for other clients that are more important.", + "clients.clientIdValidationMessage": "Name can only contain letters, numbers, dashes and spaces.", + "clients.clientNamePlaceholder": "Enter client name", + "clients.connect": "Connect", + "clients.connectWizard.cli": "Connect with Squidex CLI", + "clients.connectWizard.cliHint": "Download the CLI and connect to this app to start backups, sync schemas or export content.", + "clients.connectWizard.cliStep1": "Get the latest Squidex CLI", + "clients.connectWizard.cliStep1Download": "[Download the CLI from Github](https://github.com/Squidex/squidex-samples/releases)", + "clients.connectWizard.cliStep1Hint": "The releases contains binaries for all major operation system and a small download if you have .NET Core installed.", + "clients.connectWizard.cliStep2": "Add `` to your `$PATH` variable", + "clients.connectWizard.cliStep3": "Add your app name the CLI config", + "clients.connectWizard.cliStep3Hint": "You can manage configuration to multiple apps in the CLI and switch to an app.", + "clients.connectWizard.cliStep4": "Switch to your app in the CLI", + "clients.connectWizard.manually": "Connect manually", + "clients.connectWizard.manuallyHint": "Get instructions how to establish a connection with Postman or curl.", + "clients.connectWizard.manuallyStep1": "Get a token using curl", + "clients.connectWizard.manuallyStep2": "Just use the following token", + "clients.connectWizard.manuallyStep3": "Add the token as HTTP header to all requests", + "clients.connectWizard.manuallyTokenHint": "Tokens usally expire after 30days, but you can request multiple tokens.", + "clients.connectWizard.postManDocs": "Start with the Postman tutorial in the [Documentation](https://docs.squidex.io/02-documentation/developer-guides/api-overview/postman).", + "clients.connectWizard.sdk": "Connect to your App with SDK", + "clients.connectWizard.sdkHelp": "You need another SDK?", + "clients.connectWizard.sdkHelpLink": "Contact us in the Support Forum", + "clients.connectWizard.sdkHint": "Download an SDK and establish a connection to this app.", + "clients.connectWizard.sdkStep1": "Install the .NET SDK", + "clients.connectWizard.sdkStep1Download": "The SDK is available on [nuget](https://www.nuget.org/packages/Squidex.ClientLibrary/)", + "clients.connectWizard.sdkStep2": "Create a client manager", + "clients.connectWizard.step0Title": "Setup client", + "clients.connectWizard.step1Title": "Choose connection method", + "clients.connectWizard.step2Title": "Connect", + "clients.deleteConfirmText": "Do you really want to revoke the client?", + "clients.deleteConfirmTitle": "Revoke client", + "clients.empty": "No client created yet.", + "clients.loadFailed": "Failed to load clients. Please reload.", + "clients.refreshTooltip": "Refresh clients (CTRL + SHIFT + R)", + "clients.reloaded": "Clients reloaded.", + "clients.revokeFailed": "Failed to revoke client. Please reload.", + "clients.tokenFailed": "Failed to create token. Please retry.", + "comments.create": "Create a comment", + "comments.createFailed": "Failed to create comment.", + "comments.deleteConfirmText": "Do you really want to delete the comment?", + "comments.deleteConfirmTitle": "Delete comment", + "comments.deleteFailed": "Failed to delete comment.", + "comments.follow": "Follow", + "comments.loadFailed": "Failed to load comments.", + "comments.title": "Comments", + "comments.updateFailed": "Failed to update comment.", + "common.actions": "Actions", + "common.administration": "Administration", + "common.administrationPageTitle": "Administration", + "common.api": "API", + "common.apps": "Apps", + "common.aspectRatio": "AspectRatio", + "common.assets": "Assets", + "common.back": "Back", + "common.backendError": "Backend ERROR", + "common.backups": "Backups", + "common.bookmarks": "Bookmarks", + "common.bytes": "bytes", + "common.cancel": "Cancel", + "common.category": "Category", + "common.clear": "Clear", + "common.clientId": "Client Id", + "common.clients": "Clients", + "common.clientSecret": "Client Secret", + "common.clipboardAdded": "Value has been added to your clipboard.", + "common.clone": "Clone", + "common.cluster": "Cluster", + "common.clusterPageTitle": "Cluster", + "common.comments": "Comments", + "common.components": "Components", + "common.confirm": "Confirm", + "common.consumers": "Consumers", + "common.content": "Content", + "common.contents": "Contents", + "common.continue": "Continue", + "common.contributors": "Contributors", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.dateTimeEditor.local": "Local", + "common.dateTimeEditor.now": "Now", + "common.dateTimeEditor.nowTooltip": "Use Now (UTC)", + "common.dateTimeEditor.today": "Today", + "common.dateTimeEditor.todayTooltip": "Use Today (UTC)", + "common.dateTimeEditor.utc": "UTC", + "common.delete": "Delete", + "common.description": "Description", + "common.designer": "Designer", + "common.disabled": "Disabled", + "common.displayName": "Display Name", + "common.edit": "Edit", + "common.email": "Email", + "common.enabled": "Enabled", + "common.error": "Error", + "common.errorBack": "Back to previous page.", + "common.errorNoPermission": "You do not have the permissions to do this.", + "common.errorNotFound": "Not Found", + "common.event": "Event", + "common.events": "Events", + "common.executed": "Executed", + "common.expertMode": "Expert Mode", + "common.extension": "Extension", + "common.failed": "Failed", + "common.fallback": "Fallback", + "common.field": "Field", + "common.files": "Files", + "common.filters": "Filters", + "common.folder": "Folder", + "common.folders": "Folders", + "common.generalSettings": "Common", + "common.generate": "Generate", + "common.github": "Github", + "common.height": "Height", + "common.help": "Help", + "common.helpTour": "Click the help icon to show a context specific help page. Go to", + "common.hide": "Hide", + "common.hints": "Hints", + "common.history": "History", + "common.httpConflict": "Failed to make the update. Another user has made a change. Please reload.", + "common.httpLimit": "You have exceeded the maximum limit of API calls.", + "common.id": "Identity", + "common.label": "Label", + "common.language": "Language", + "common.languages": "Languages", + "common.latitudeShort": "Lat", + "common.loading": "Loading", + "common.logout": "Logout", + "common.logs": "Logs", + "common.longitudeShort": "Lon", + "common.mapHide": "Hide map", + "common.mapShow": "Show map", + "common.message": "Message", + "common.name": "Name", + "common.no": "No", + "common.nothingChanged": "Nothing has been changed.", + "common.noValue": "- No value -", + "common.or": "or", + "common.pagerInfo": "{itemFirst}-{itemLast} of {numberOfItems}", + "common.password": "Password", + "common.passwordConfirm": "Confirm Password", + "common.pattern": "Pattern", + "common.patterns": "Patterns", + "common.permissions": "Permissions", + "common.preview": "Preview", + "common.product": "Squidex Headless CMS", + "common.project": "Project", + "common.queryOperators.contains": "contains", + "common.queryOperators.empty": "is empty", + "common.queryOperators.endsWith": "ends with", + "common.queryOperators.eq": "is equals to", + "common.queryOperators.exists": "exists", + "common.queryOperators.ge": "is greater than or equals to", + "common.queryOperators.gt": "is greater than", + "common.queryOperators.le": "is less than or equals to", + "common.queryOperators.lt": "is less than", + "common.queryOperators.matchs": "matchs", + "common.queryOperators.ne": "is not equals to", + "common.queryOperators.startsWith": "starts with", + "common.refresh": "Refresh", + "common.remember": "Don't ask again", + "common.rename": "Rename", + "common.requiredHint": "required", + "common.reset": "Reset", + "common.restore": "Restore", + "common.role": "Role", + "common.roles": "Roles", + "common.rule": "Rule", + "common.rules": "Rules", + "common.sampleCodeLabel": "Sample Code at", + "common.save": "Save", + "common.saveShortcut": "CTRL + S", + "common.schemas": "Schemas", + "common.search": "Search", + "common.searchGoogleMaps": "Search Google Maps", + "common.searchResults": "Search Results", + "common.separateByLine": "Separate by line", + "common.settings": "Settings", + "common.sidebar": "Sidebar Extension", + "common.sidebarTour": "The sidebar navigation contains useful context specific links. Here you can view the history how this schema has changed over time.", + "common.skipped": "Skipped", + "common.slug": "Slug", + "common.stars.max": "Must not have more than 15 stars", + "common.status": "Status", + "common.statusChangeTo": "Change to", + "common.submit": "Submit", + "common.subscription": "Subscription", + "common.succeeded": "Succeeded", + "common.tagAdd": ", to add tag", + "common.tagAddReference": ", to add reference", + "common.tagAddSchema": ", to add schema", + "common.tags": "Tags", + "common.tagsAll": "All tags", + "common.time": "Time", + "common.update": "Update", + "common.upload": "Upload", + "common.url": "URL", + "common.users": "Users", + "common.value": "Value", + "common.width": "Width", + "common.workflow": "Workflow", + "common.workflows": "Workflows", + "common.yes": "Yes", + "contents.addComponent": "Add Component", + "contents.arrayAddItem": "Add Item", + "contents.arrayClear": "Clear", + "contents.arrayClearConfirmText": "Do you really want to clear the array?", + "contents.arrayClearConfirmTitle": "Clear array", + "contents.arrayCloneItem": "Clone this item", + "contents.arrayCollapseAll": "Collapse all items", + "contents.arrayCollapseItem": "Collapse this item", + "contents.arrayExpandAll": "Expand all items", + "contents.arrayExpandItem": "Expand this item", + "contents.arrayMoveBottom": "Move this item to bottom", + "contents.arrayMoveDown": "Move this item down", + "contents.arrayMoveTop": "Move this item to top", + "contents.arrayMoveUp": "Move this item up", + "contents.arrayNoFields": "Add a nested field first to add items.", + "contents.assetsUpload": "Drop files or click", + "contents.autotranslate": "Autotranslate from master language", + "contents.bulkFailed": "Failed to delete or update content. Please reload.", + "contents.changeStatusTo": "Change content item(s) to {action}", + "contents.changeStatusToImmediately": "Set to {action} immediately.", + "contents.changeStatusToLater": "Set to {action} at a later point date and time.", + "contents.componentNoSchema": "Add at least one schema to set component.", + "contents.componentsNoSchema": "Add at least one schema to add components.", + "contents.contentNotValid": "Content element not valid, please check the field with the red bar on the left in all languages (if localizable).", + "contents.contentTab.editor": "Editor", + "contents.contentTab.references": "References", + "contents.contentTab.referencing": "Referencing", + "contents.create": "New", + "contents.createContentTooltip": "New Content (CTRL + SHIFT + G)", + "contents.created": "Content created successfully.", + "contents.createdByFieldDescription": "The user who created the content item.", + "contents.createFailed": "Failed to create content. Please reload.", + "contents.createFieldDescription": "The date time when the content item was created.", + "contents.createPageTitle": "Create Content", + "contents.createTitle": "New Content", + "contents.currentStatusLabel": "Current Version", + "contents.deleteConfirmText": "Do you really want to delete the content?", + "contents.deleteConfirmTitle": "Delete content", + "contents.deleteManyConfirmText": "Do you really want to delete the selected content items?", + "contents.deleteReferrerConfirmText": "The content is referenced by another content item.\n\nDo you really want to delete this content?", + "contents.deleteReferrerConfirmTitle": "Delete content", + "contents.deleteVersionConfirmText": "Do you really want to delete this version?", + "contents.deleteVersionFailed": "Failed to delete version. Please reload.", + "contents.draftNew": "New Draft", + "contents.draftStatus": "New Version", + "contents.editPageTitle": "Edit Content", + "contents.invariantFieldDescription": "The '{fieldName}' field of the content item.", + "contents.languageModeAll": "All Languages", + "contents.languageModeSingle": "Single Language", + "contents.lastModifiedByFieldDescription": "The user who modified the content item the last time.", + "contents.lastModifiedFieldDescription": "The date time when the content item was modified the last time.", + "contents.lastUpdatedLabel": "Last Updated", + "contents.loadContent": "Load", + "contents.loadContentFailed": "Failed to load content. Please reload.", + "contents.loadDataFailed": "Failed to load data. Please reload.", + "contents.loadFailed": "Failed to load contents. Please reload.", + "contents.loadVersionFailed": "Failed to load a new version. Please reload.", + "contents.localizedFieldDescription": "The '{fieldName}' field of the content item (localized).", + "contents.newStatusFieldDescription": "The new status of the content item.", + "contents.noReference": "- No Reference -", + "contents.noReferences": "This content has no references.", + "contents.noReferencing": "This content is not referenced by another item.", + "contents.pendingChangesTextToChange": "You have unsaved changes.\n\nWhen you change the status you will lose them.\n\n**Do you want to continue anyway?**", + "contents.pendingChangesTextToClose": "You have unsaved changes.\n\nWhen you close the current content view you will lose them.\n\n**Do you want to continue anyway?**", + "contents.pendingChangesTextToPreview": "You have unsaved changes.\n\nYou will not see them on preview.\n\n**Do you want to continue anyway?**", + "contents.pendingChangesTitle": "Unsaved changes", + "contents.publishAll": "Publish All", + "contents.referencesCreateNew": "Add New", + "contents.referencesCreatePublish": "Create and Publish", + "contents.referencesLink": "Link selected contents ({count})", + "contents.referencesSelectExisting": "Select Existing", + "contents.referencesSelectSchema": "Select {schema}", + "contents.refreshTooltip": "Refresh Contents (CTRL + SHIFT + R)", + "contents.reloaded": "Contents reloaded.", + "contents.removeConfirmText": "Do you really want to remove the content?", + "contents.removeConfirmTitle": "Remove content", + "contents.saveAndPublish": "Save and Publish", + "contents.scheduledAt": "at", + "contents.scheduledAtLabel": "at", + "contents.scheduledTo": "to", + "contents.schemasPageTitle": "Contents", + "contents.searchPlaceholder": "Fulltext search", + "contents.searchSchemasPlaceholder": "Search for schemas...", + "contents.selectionCount": "{count} items selected", + "contents.statusFieldDescription": "The status of the content item.", + "contents.statusQueries": "Status Queries", + "contents.stockPhotoEmpty": "Nothing selected", + "contents.stockPhotoSearch": "Search for Photos by Unsplash", + "contents.tableHeaders.created": "Created", + "contents.tableHeaders.createdBy": "Created By", + "contents.tableHeaders.createdByShort": "By", + "contents.tableHeaders.id": "Id", + "contents.tableHeaders.lastModified": "Updated", + "contents.tableHeaders.lastModifiedBy": "Updated By", + "contents.tableHeaders.lastModifiedByShort": "By", + "contents.tableHeaders.nextStatus": "Next Status", + "contents.tableHeaders.status": "Status", + "contents.tableHeaders.version": "Version", + "contents.unpublishReferrerConfirmText": "The content is referenced by another published content item.\n\nDo you really want to unpublish this content?", + "contents.unpublishReferrerConfirmTitle": "Unpublish content", + "contents.unsavedChangesText": "You have unsaved changes. Do you want to load them now?", + "contents.unsavedChangesTitle": "Unsaved changes", + "contents.unsetValue": "Unset value", + "contents.unsetValueConfirmText": "If you unset the value you might loose your changes.\n\nDo you really want to do it?", + "contents.unsetValueConfirmTitle": "Do you want to unset the value?", + "contents.updated": "Content updated successfully.", + "contents.updateFailed": "Failed to update content. Please reload.", + "contents.validate": "Validate", + "contents.validationHint": "Please remember to check all languages when you see validation errors.", + "contents.versionCompare": "Compare", + "contents.versionDelete": "Delete this Version", + "contents.versionFieldDescription": "The version of the content item", + "contents.versionViewing": "Viewing version **{version}**.", + "contents.viewLatest": "View latest", + "contents.viewReset": "Reset Default View", + "contributors.add": "Add Contributor", + "contributors.addFailed": "Failed to add contributors. Please reload.", + "contributors.contributorAssigned": "A new user with the entered email address has been created and assigned as contributor.", + "contributors.contributorAssignedExisting": "User has been assigned", + "contributors.contributorAssignedInvited": "User has been invited and assigned.", + "contributors.contributorAssignedOld": "User has been added as contributor.", + "contributors.deleteConfirmText": "Do you really want to remove the contributor?", + "contributors.deleteConfirmTitle": "Remove contributor", + "contributors.deleteFailed": "Failed to delete contributors. Please reload.", + "contributors.emailPlaceholder": "Find existing user or invite by email", + "contributors.empty": "No contributors found.", + "contributors.import.emailsDetected": "Emails detected: {count}", + "contributors.import.run": "Add Contributors", + "contributors.import.run2": "Import", + "contributors.importButton": "Add many contributors at once", + "contributors.importHintg": "Big team?", + "contributors.importTitle": "Import contributors", + "contributors.loadFailed": "Failed to load contributors. Please reload.", + "contributors.planHint": "Your plan allows up to {maxContributors} contributors.", + "contributors.refreshTooltip": "Refresh contributors (CTRL + SHIFT + R)", + "contributors.reloaded": "Contributors reloaded.", + "contributors.search": "Search", + "contributors.userNotFound": "The user does not exist.", + "dashboard.apiCallsCard": "API Calls", + "dashboard.apiCallsChart": "API Calls Chart", + "dashboard.apiCallsLimitLabel": "Monthly limit", + "dashboard.apiCallsSummaryCard": "API Calls Summary", + "dashboard.apiDocumentationCard": "API Documentation", + "dashboard.apiPerformanceCard": "API Performance (ms): {summary}ms avg", + "dashboard.apiPerformanceChart": "API Performance Chart", + "dashboard.assetSizeCard": "Assets Size (MB", + "dashboard.assetSizeLabel": "Total Size", + "dashboard.assetSizeLimitLabel": "Total limit", + "dashboard.assetTotalSize": "Asset Total Storage Size", + "dashboard.assetUpdloadsCountChart": "Asset Uploads Count Chart", + "dashboard.assetUploadsCard": "Assets Uploads", + "dashboard.assetUploadsSizeChart": "Asset Uploads Size Chart", + "dashboard.configSaved": "Configuration saved.", + "dashboard.contentApi": "Content API", + "dashboard.contentApiDescription": "OpenAPI 3.0 compatible documentation for your app content.", + "dashboard.contentsSummaryCard": "Number of items", + "dashboard.currentMonthLabel": "This month", + "dashboard.downloadLog": "Download Log", + "dashboard.editConfig": "Edit Config", + "dashboard.githubCard": "Github", + "dashboard.githubCardDescription": "Get the source code from Github and report bugs or ask for support.", + "dashboard.historyCard": "History", + "dashboard.pageTitle": "Dashboard", + "dashboard.resetConfigConfirmText": "Do you really want to reset the dashboard to the default?", + "dashboard.resetConfigConfirmTitle": "Reset config", + "dashboard.schemaNewCard": "New Schema", + "dashboard.schemaNewCardDescription": "A schema defines the structure of your content element.", + "dashboard.schemasCard": "Schemas", + "dashboard.schemasCardDescription": "Get an insight to the data model of this app.", + "dashboard.stackedChart": "Stacked", + "dashboard.supportCard": "Feedback & Support", + "dashboard.supportCardDescription": "Provide feedback and request features to help us to improve Squidex.", + "dashboard.trafficChart": "API Traffic Chart", + "dashboard.trafficHeader": "Traffic (MB)", + "dashboard.trafficLimitLabel": "Monthly limit", + "dashboard.trafficSummaryCard": "API Traffic Summary", + "dashboard.welcomeText": "Welcome to **{app}** dashboard.", + "dashboard.welcomeTitle": "Hi {user}", + "eventConsumers.count": "Count", + "eventConsumers.loadFailed": "Failed to load event consumers. Please reload.", + "eventConsumers.pageTitle": "Event Consumers", + "eventConsumers.position": "Position", + "eventConsumers.refreshTooltip": "Refresh event consumers (CTRL + SHIFT + R)", + "eventConsumers.reloaded": "Event Consumers reloaded.", + "eventConsumers.resetFailed": "Failed to reset event consumer. Please reload.", + "eventConsumers.resetTooltip": "Reset Event Consumer", + "eventConsumers.startFailed": "Failed to start event consumer. Please reload.", + "eventConsumers.startTooltip": "Start Event Consumer", + "eventConsumers.stopFailed": "Failed to stop event consumer. Please reload.", + "eventConsumers.stopTooltip": "Stop Event Consumer", + "features.loadFailed": "Failed to load features. Please reload.", + "history.loadFailed": "Failed to load history. Please reload.", + "history.title": "Activity", + "languages.add": "Add Language", + "languages.addFailed": "Failed to add language. Please reload.", + "languages.deleteConfirmText": "Do you really want to remove the language?", + "languages.deleteConfirmTitle": "Remove language", + "languages.deleteFailed": "Failed to delete language. Please reload.", + "languages.loadFailed": "Failed to load languages. Please reload.", + "languages.master": "Is Master", + "languages.masterHint": "Other languages fall back to the master if no fallback is defined.", + "languages.optional": "Is Optional", + "languages.optionalHint": "Values for optional languages must not be entered, even if field is required.", + "languages.refreshTooltip": "Refresh languages (CTRL + SHIFT + R)", + "languages.reloaded": "Languages reloaded.", + "languages.updateFailed": "Failed to change language. Please reload.", + "news.headline": "What's new?", + "news.title": "New Features", + "notifo.subscripeTooltip": "Click this button to subscribe to all changes and to receive push notifications.", + "plans.billingPortal": "Billing Portal", + "plans.billingPortalHint": "Go to Billing Portal for payment history and subscription overview.", + "plans.change": "Change", + "plans.changeConfirmTitle": "Change subscription", + "plans.changeFailed": "Failed to change plan. Please reload.", + "plans.includedCalls": "API Calls", + "plans.includedContributors": "Contributors", + "plans.includedStorage": "Storage", + "plans.includedTraffic": "Traffic", + "plans.loadFailed": "Failed to load plans. Please reload.", + "plans.noPlanConfigured": "No plan configured, this app has unlimited usage.", + "plans.notPlanOwner": "You have not created the subscription. Therefore you cannot change the plan.", + "plans.perMonth": "Per Month", + "plans.perYear": "Per Year", + "plans.refreshTooltip": "Refresh Plans (CTRL + SHIFT + R)", + "plans.reloaded": "Plans reloaded.", + "plans.selected": "Selected", + "profile.title": "Profile", + "profile.userEmail": "Signed in with", + "roles.add": "Add role", + "roles.addFailed": "Failed to add role. Please reload.", + "roles.default.owner": "Can do everything, including deleting the app.", + "roles.default.reader": "Can only read assets and contents.", + "roles.defaults.developer": "Can use the API view, edit assets, contents, schemas, rules, workflows and appSettings.patterns.", + "roles.defaults.editor": "Can edit assets and contents and view workflows.", + "roles.deleteConfirmText": "Delete role", + "roles.deleteConfirmTitle": "Do you really want to delete the role?", + "roles.loadFailed": "Failed to load roles. Please reload.", + "roles.loadPermissionsFailed": "Failed to load permissions. Please reload.", + "roles.permissions": "Permissions", + "roles.permissionsDescription": "Permissions restrict the allowed operations and queries at API level and are a security feature.", + "roles.permissionsPlaceholder": "Start typing to search for permissions", + "roles.properties": "Properties", + "roles.properties.hideAPI": "Hide API", + "roles.properties.hideAssets": "Hide Assets", + "roles.properties.hideContents": "Hide {schema} Contents", + "roles.properties.hideSchemas": "Hide Schemas", + "roles.properties.hideSettings": "Hide Settings", + "roles.propertiesDescription": "Properties describe the behavior of the Management UI, but do not provide security for the API.", + "roles.refreshTooltip": "Refresh roles (CTRL + SHIFT + R)", + "roles.reloaded": "Roles reloaded.", + "roles.revokeFailed": "Failed to revoke role. Please reload.", + "roles.roleNamePlaceholder": "Enter role name", + "roles.updateFailed": "Failed to update role. Please reload.", + "rules.actionData": "Action Data", + "rules.actionHint": "The selection of the action type cannot be changed later.", + "rules.cancelFailed": "Failed to cancel rule. Please reload.", + "rules.create": "New Rule", + "rules.createFailed": "Failed to create rule. Please reload.", + "rules.createTooltip": "New Rule (CTRL + SHIFT + G)", + "rules.deleteConfirmText": "Do you really want to delete the rule?", + "rules.deleteConfirmTitle": "Delete rule", + "rules.deleteFailed": "Failed to delete rule. Please reload.", + "rules.empty": "No rule created yet.", + "rules.emptyAddRule": "Add Rule", + "rules.enqueued": "Rule has been added to the queue.", + "rules.itemPageTitle": "Rule", + "rules.listPageTitle": "Rules", + "rules.loadFailed": "Failed to load Rules. Please reload.", + "rules.readMore": "Read More", + "rules.refreshEventsTooltip": "Refresh Events (CTRL + SHIFT + R)", + "rules.refreshTooltip": "Refresh Rules (CTRL + SHIFT + R)", + "rules.reloaded": "Rules reloaded.", + "rules.restarted": "Rule will start to run in a few seconds.", + "rules.ruleEvents.cancelFailed": "Failed to cancel rule event. Please reload.", + "rules.ruleEvents.enqueue": "Enqueue", + "rules.ruleEvents.enqueued": "Events enqueued. Will be resend in a few seconds.", + "rules.ruleEvents.enqueueFailed": "Failed to enqueue rule event. Please reload.", + "rules.ruleEvents.lastInvokedLabel": "Last Invocation", + "rules.ruleEvents.listPageTitle": "Rule Events", + "rules.ruleEvents.loadFailed": "Failed to load events. Please reload.", + "rules.ruleEvents.nextAttemptLabel": "Next", + "rules.ruleEvents.numAttemptsLabel": "Attempts", + "rules.ruleEvents.reloaded": "RuleEvents reloaded.", + "rules.ruleSimulator.listPageTitle": "Simulator", + "rules.ruleSyntax.if": "If", + "rules.ruleSyntax.then": "then", + "rules.run": "Run", + "rules.runFailed": "Failed to run rule. Please reload.", + "rules.runFromSnapshots": "Run with latest states", + "rules.runningRule": "Rule '{name}' is currently running.", + "rules.runRuleConfirmText": "Do you really want to run the rule for all events?", + "rules.runRuleConfirmTitle": "Run rule", + "rules.simulate": "Simulate", + "rules.simulateTooltip": "Simulate this rules using the last 100 events.", + "rules.simulator": "Simulator", + "rules.stop": "Rule will stop soon.", + "rules.triggerConfirmText": "Do you really want to trigger the rule?", + "rules.triggerConfirmTitle": "Trigger rule", + "rules.triggerFailed": "Failed to trigger rule. Please reload.", + "rules.triggerHint": "The selection of the trigger type cannot be changed later.", + "rules.unnamed": "Unnamed Rule", + "rules.updateFailed": "Failed to update rule. Please reload.", + "schemas.addField": "Add Field", + "schemas.addFieldAndClose": "Create and close", + "schemas.addFieldAndCreate": "Create and add field", + "schemas.addFieldAndEdit": "Create and edit field", + "schemas.addFieldButton": "Add Field", + "schemas.addFieldFailed": "Failed to add field. Please reload.", + "schemas.addNestedField": "Add Nested Field", + "schemas.changeCategoryFailed": "Failed to change category. Please reload.", + "schemas.clone": "Clone Schema", + "schemas.contentEditorUrl": "Content Editor Extension", + "schemas.contentSidebarUrl": "Content Sidebar Extension", + "schemas.contentSidebarUrlHint": "URL to the plugin for the sidebar in the details view.", + "schemas.contentsSidebarUrl": "Contents Sidebar Extension", + "schemas.contentsSidebarUrlHint": "URL to the plugin for the sidebar in the list view.", + "schemas.contextMenuTour": "Open the context menu to delete the schema or to create some scripts for content changes.", + "schemas.create": "Create Schema", + "schemas.createCategory": "Create new category...", + "schemas.createFailed": "Failed to create schema. Please reload.", + "schemas.createSchemaTooltip": "New Schema (CTRL + SHIFT + G)", + "schemas.deleteConfirmText": "Do you really want to delete the schema?", + "schemas.deleteConfirmTitle": "Delete schema", + "schemas.deleteFailed": "Failed to delete schema. Please reload.", + "schemas.deleteFieldFailed": "Failed to delete field. Please reload.", + "schemas.deleteRuleConfirmText": "Do you really want to remove this Field Rule?", + "schemas.deleteRuleConfirmTitle": "Remove Field Rule", + "schemas.deleteUrlConfirmText": "Do you really want to remove this URL?", + "schemas.deleteUrlConfirmTitle": "Remove URL", + "schemas.disableFieldFailed": "Failed to disable field. Please reload.", + "schemas.enableFieldFailed": "Failed to enable field. Please reload.", + "schemas.export.deleteFields": "Delete fields", + "schemas.export.recreateFields": "Recreate fields", + "schemas.export.synchronize": "Synchronize", + "schemas.field.allowedValues": "Allowed Values", + "schemas.field.defaultValue": "Default Value", + "schemas.field.defaultValues": "Default Values", + "schemas.field.defaultValuesHint": "Set the default value per language and override the default value property, if defined. Only use it if really needed.", + "schemas.field.deleteConfirmText": "Do you really want to delete the field?", + "schemas.field.deleteConfirmTitle": "Delete field", + "schemas.field.disable": "Disable in UI", + "schemas.field.disabledMarker": "Disabled", + "schemas.field.editor": "Editor", + "schemas.field.editorUrl": "Editor Url", + "schemas.field.editorUrlHint": "Url to your plugin if you use a custom editor.", + "schemas.field.empty": "No field created yet.", + "schemas.field.enable": "Enable in UI", + "schemas.field.enabledMarker": "Enabled", + "schemas.field.halfWidth": "Half Width", + "schemas.field.halfWidthHint": "Shows the field with only the half width when on the edit or create page, when there is enough space.", + "schemas.field.hiddenMarker": "Hidden", + "schemas.field.hide": "Hide in API", + "schemas.field.hintsHint": "Describe this field for documentation and the UI.", + "schemas.field.inlineEditable": "Inline Editable", + "schemas.field.labelHint": "Display name for documentation and the UI.", + "schemas.field.localizable": "Localizable", + "schemas.field.localizableHint": "You can mark the field as localizable. It means that is dependent on the language, for example a city name.", + "schemas.field.localizableMarker": "localizable", + "schemas.field.lock": "Lock and prevent changes", + "schemas.field.lockConfirmText": "WARNING: Locking a field cannot be undone! Locked field definitions cannot be unlocked, deleted, or changed anymore.\n\nDo you really want to lock this field?", + "schemas.field.lockConfirmTitle": "Lock field", + "schemas.field.lockedMarker": "Locked", + "schemas.field.nameHint": "The name of the field in the API response.", + "schemas.field.namePlaceholder": "Enter field name", + "schemas.field.nameValidationMessage": "Name must be a valid javascript name in camel case.", + "schemas.field.placeholder": "Placeholder", + "schemas.field.placeholderHint": "Define the placeholder for the input control.", + "schemas.field.required": "Required", + "schemas.field.requiredOnPublish": "Required when publishing", + "schemas.field.show": "Show in API", + "schemas.field.tabCommon": "Common", + "schemas.field.tabEditing": "Editing", + "schemas.field.tabValidation": "Validation", + "schemas.field.tagsHint": "Tags to annotate your field for automation processes.", + "schemas.field.unique": "Unique", + "schemas.field.visibleMarker": "Visible", + "schemas.fieldTypes.array.count": "Items", + "schemas.fieldTypes.array.countMax": "Max Items", + "schemas.fieldTypes.array.countMin": "Min Items", + "schemas.fieldTypes.array.description": "List of embedded objects.", + "schemas.fieldTypes.assets.allowDuplicates": "Allow duplicate values", + "schemas.fieldTypes.assets.count": "Count", + "schemas.fieldTypes.assets.countMax": "Max Assets", + "schemas.fieldTypes.assets.countMin": "Min Assets", + "schemas.fieldTypes.assets.description": "Images, videos, documents.", + "schemas.fieldTypes.assets.fileExtensions": "File Extensions", + "schemas.fieldTypes.assets.folderId": "Folder", + "schemas.fieldTypes.assets.folderIdHint": "The asset folder where the new assets will be uploaded to.", + "schemas.fieldTypes.assets.mustBeImage": "Must be Image", + "schemas.fieldTypes.assets.previewFileName": "Only file name", + "schemas.fieldTypes.assets.previewImage": "Only thumbnail or file name if not an image", + "schemas.fieldTypes.assets.previewImageAndFileName": "Thumbnail and file name", + "schemas.fieldTypes.assets.previewMode": "PreviewMode", + "schemas.fieldTypes.assets.previewModeHint": "The preview mode for assets in content lists.", + "schemas.fieldTypes.assets.resolve": "Resolve first asset", + "schemas.fieldTypes.assets.resolveHint": "Show the first referenced asset in the content list.", + "schemas.fieldTypes.assets.size": "Size", + "schemas.fieldTypes.assets.sizeMax": "Min Size", + "schemas.fieldTypes.assets.sizeMin": "Max Size", + "schemas.fieldTypes.boolean.description": "Yes or no, true or false.", + "schemas.fieldTypes.component.description": "Embed another schema to this content.", + "schemas.fieldTypes.components.description": "Embed other schemas to this content as array.", + "schemas.fieldTypes.dateTime.defaultMode": "Default Mode", + "schemas.fieldTypes.dateTime.description": "Events date, opening hours.", + "schemas.fieldTypes.dateTime.rangeMax": "Max Value", + "schemas.fieldTypes.dateTime.rangeMin": "Min Value", + "schemas.fieldTypes.geolocation.description": "Coordinates: latitude and longitude.", + "schemas.fieldTypes.json.description": "Data in JSON format, for developers.", + "schemas.fieldTypes.number.description": "ID, order number, rating, quantity.", + "schemas.fieldTypes.number.range": "Range", + "schemas.fieldTypes.number.rangeMax": "Max Value", + "schemas.fieldTypes.number.rangeMin": "Min Value", + "schemas.fieldTypes.references.count": "Items", + "schemas.fieldTypes.references.countMax": "Max Items", + "schemas.fieldTypes.references.countMin": "Min Items", + "schemas.fieldTypes.references.description": "Links to other content items.", + "schemas.fieldTypes.references.mustBePublished": "References must be published", + "schemas.fieldTypes.references.resolveHint": "Show the name of the referenced item in content list when MaxItems is set to 1.", + "schemas.fieldTypes.string.characters": "Characters", + "schemas.fieldTypes.string.charactersMax": "Max Characters", + "schemas.fieldTypes.string.charactersMin": "Min Characters", + "schemas.fieldTypes.string.contentType": "Content Type", + "schemas.fieldTypes.string.description": "Titles, names, paragraphs.", + "schemas.fieldTypes.string.folderId": "Asset folder", + "schemas.fieldTypes.string.folderIdHint": "The asset folder where the new assets will be uploaded to.", + "schemas.fieldTypes.string.length": "Length", + "schemas.fieldTypes.string.lengthMax": "Max Length", + "schemas.fieldTypes.string.lengthMin": "Min Length", + "schemas.fieldTypes.string.pattern": "Regex Pattern", + "schemas.fieldTypes.string.patternMessage": "Pattern Message", + "schemas.fieldTypes.string.suggestions": "Suggestions", + "schemas.fieldTypes.string.wordHint": "Word count and character count are calculated on the plain text. The plain text is calculated based on the defined content type, which can either be Markdown or HTML.", + "schemas.fieldTypes.string.words": "Words", + "schemas.fieldTypes.string.wordsMax": "Max Words", + "schemas.fieldTypes.string.wordsMin": "Min Words", + "schemas.fieldTypes.tags.count": "Items", + "schemas.fieldTypes.tags.countMax": "Max Items", + "schemas.fieldTypes.tags.countMin": "Min Items", + "schemas.fieldTypes.tags.description": "Special format for tags.", + "schemas.fieldTypes.ui.description": "Separator for editing UI.", + "schemas.hideFieldFailed": "Failed to hide field. Please reload.", + "schemas.import": "Import schema", + "schemas.listFields": "List Fields", + "schemas.listFieldsEmpty": "Drop field here or reorder them to show the fields in the content list. When no list field is defined, the first field is used.", + "schemas.loadFailed": "Failed to load schemas. Please reload.", + "schemas.loadSchemaFailed": "Failed to load schema. Please reload.", + "schemas.lockFieldFailed": "Failed to lock field. Please reload.", + "schemas.modeComponent": "Component", + "schemas.modeComponentDescription": "Can only be embedded to component fields...", + "schemas.modeMultiple": "Multiple contents", + "schemas.modeMultipleDescription": "Best for multiple instances like blog posts, pages, authors, products...", + "schemas.modeSingle": "Single content", + "schemas.modeSingleDescription": "Best for single instances like the home page, privacy policies, settings...", + "schemas.nameWarning": "These values cannot be changed later.", + "schemas.previewUrls.empty": "No preview urls configured.", + "schemas.previewUrls.help": "Checkout the integrated help page to learn more about preview URL's.", + "schemas.previewUrls.namePlaceholder": "Web or Mobile", + "schemas.previewUrls.title": "Preview URLs", + "schemas.previewUrls.urlPlaceholder": "URL with variables", + "schemas.published": "Published", + "schemas.publishedTour": "Note, that you have to publish the schema before you can add content to it.", + "schemas.publishFailed": "Failed to publish schema. Please reload.", + "schemas.referenceFields": "Reference Fields", + "schemas.referenceFieldsEmpty": "Drop field here or reorder them to show the fields when referenced by another content. When no reference field is defined, the list fields are used instead.", + "schemas.reloaded": "Schemas reloaded.", + "schemas.reorderFieldsFailed": "Failed to reorder fields. Please reload.", + "schemas.rules.action": "Action", + "schemas.rules.condition": "Condition in Javascript", + "schemas.rules.empty": "No field rules configured.", + "schemas.rules.title": "Field Rules", + "schemas.rules.when": "when", + "schemas.saved": "Schema saved successfully.", + "schemas.saveFieldAndClose": "Save and close", + "schemas.saveFieldAndNew": "Save and add field", + "schemas.schemaHintsHint": "Describe this schema for documentation and user interfaces.", + "schemas.schemaLabelHint": "Display name for documentation and user interfaces.", + "schemas.schemaNameHint": "You can only use letters, numbers and dashes and not more than 40 characters.", + "schemas.schemaNameValidationMessage": "Name can only contain letters, numbers, dashes and spaces.", + "schemas.schemaTagsHint": "Tags to annotate your schema for automation processes.", + "schemas.searchPlaceholder": "Search for schemas...", + "schemas.showFieldFailed": "Failed to show field. Please reload.", + "schemas.synchronized": "Schema synchronized successfully.", + "schemas.synchronizeFailed": "Failed to synchronize schema. Please reload.", + "schemas.tabFields": "Fields", + "schemas.tabJson": "Json", + "schemas.tabMore": "More", + "schemas.tabScripts": "Scripts", + "schemas.tabUI": "UI", + "schemas.ui": "Assigned fields", + "schemas.ui.unassignedFields": "Unassigned fields", + "schemas.unpublished": "Unpublished", + "schemas.unpublishFailed": "Failed to unpublish schema. Please reload.", + "schemas.updateFailed": "Failed to update schema. Please reload.", + "schemas.updateFieldFailed": "Failed to update field. Please reload.", + "schemas.updatePreviewUrlsFailed": "Failed to configure preview urls. Please reload.", + "schemas.updateRulesFailed": "Failed to update schema rules. Please reload.", + "schemas.updateScriptsFailed": "Failed to update schema scripts. Please reload.", + "schemas.updateUIFieldsFailed": "Failed to update UI fields. Please reload.", + "schemas.validateOnPublish": "Validate when publishing", + "search.addFilter": "Add Filter", + "search.addGroup": "Add Group", + "search.addSorting": "Add Sorting", + "search.advancedTour": "Click this icon to show the advanced search menu!", + "search.customQuery": "Custom Query", + "search.fullTextTour": "Search for content using full text search over all fields and languages!", + "search.help": "Read more about filtering in the [Documentation](https://docs.squidex.io/04-guides/02-api.html).", + "search.myQueries": "My queries", + "search.nameQuery": "Name your query", + "search.queriesEmpty": "Search for {types} and use icon in search form to save query for all contributors.", + "search.queryAllNewestFirst": "All (newest first)", + "search.queryAllOldestFirst": "All (oldest first)", + "search.quickNavPlaceholder": "Quick Nav (Press 'q')", + "search.saveQueryMyself": "Save the query only for myself.", + "search.searchFailed": "Failed to make search. Please reload.", + "search.sharedQueries": "Shared queries", + "search.sorting": "Sorting", + "start.login": "Login to Squidex", + "start.loginHint": "The login button will open a new popup. Once you are logged in successful we will redirect you to the Squidex management portal.", + "start.madeBy": "Proudly made by", + "start.madeByCopyright": "Sebastian Stehle and Contributors, 2016-2021", + "tour.joinForum": "Join our Forum", + "tour.joinGithub": "Join us on Github", + "tour.skip": "Skip Tour", + "tour.step0Next": "Let's take a look around", + "tour.step0Text": "You can start managing and distributing your content right away, but we we'd like to walk you through some basics first...\n\nHow'that", + "tour.step1Next": "Continue", + "tour.step1Text": "An App is the repository for your project, e.g. (blog, web shop or mobile app). You can assign contributors to your app to work together.\n\nYou can create an unlimited number of Apps in Squidex to manage multiple projects at the same time.", + "tour.step2Next": "Keep going!", + "tour.step2Text": "Schemas define the structure of your content, the fields and the data types of a content item.\n\nBefore you can add content to your schema, make sure to hit the 'Publish' button at the top to make the schema available to your content appSettings.editors.", + "tour.step3Next": "Almost there!", + "tour.step3Text": "Content is the actual data in your app which is grouped by the schema.\n\nSelect a published schema first, then add content for this schema.", + "tour.step4Next": "Got It!", + "tour.step4Text": "The assets contains all files that can also be linked to your content. For example images, videos or documents.\n\nYou can upload the assets here and use them later or also upload them directly when you create a new content item with an asset field.", + "tour.step5Text": "But that's not all of the support we can provide.\n\nYou can got to https://docs.squidex.io/> to read more.\n\nDo you want to join our community?", + "tour.step5Title": "Awesome, now you know the basics!", + "tour.tooltipConfirm": "Got It", + "tour.tooltipStop": "Stop Tour", + "tour.welcome": "Welcome to", + "tour.welcomeProduct": "Squidex CMS", + "translate.translateFailed": "Failed to translate text. Please reload.", + "usages.loadCallsFailed": "Failed to load calls usage. Please reload.", + "usages.loadMonthlyCallsFailed": "Failed to load monthly API calls. Please reload.", + "usages.loadStorageFailed": "Failed to load storage usage. Please reload.", + "usages.loadTodayStorageFailed": "Failed to load todays storage size. Please reload.", + "users.create": "New", + "users.createFailed": "Failed to create user. Please reload.", + "users.createPageTitle": "Create User", + "users.createTitle": "New User", + "users.createTooltip": "New User (CTRL + N)", + "users.deleteConfirmText": "Do you really want to delete this user?", + "users.deleteConfirmTitle": "Delete user", + "users.deleteFailed": "Failed to delete user. Please reload.", + "users.editPageTitle": "Edit User", + "users.editTitle": "Edit User", + "users.listPageTitle": "User Management", + "users.listTitle": "Users", + "users.loadFailed": "Failed to load users. Please reload.", + "users.loadUserFailed": "Failed to load user. Please reload.", + "users.lockFailed": "Failed to lock user. Please reload.", + "users.lockTooltip": "Lock User", + "users.passwordConfirmValidationMessage": "Passwords must be the same.", + "users.refreshTooltip": "Refresh Users (CTRL + SHIFT + R)", + "users.reloaded": "Users reloaded.", + "users.search": "Search for user", + "users.unlockFailed": "Failed to unlock user. Please reload.", + "users.unlockTooltip": "Unlock User", + "users.updateFailed": "Failed to update user. Please reload.", + "validation.between": "{field} must be between '{min}' and '{max}'.", + "validation.betweenlength": "{field|upper} must have between {minlength} and {maxlength} item(s).", + "validation.betweenlengthstring": "{field|upper} must have between {minlength} and {maxlength} character(s).", + "validation.email": "{field|upper} must be an email address.", + "validation.exactly": "{field|upper} must be exactly '{expected}'.", + "validation.exactlylength": "{field|upper} must have exactly {expected} item(s).", + "validation.exactlylengthstring": "{field|upper} must have exactly {expected} character(s).", + "validation.match": "{message}", + "validation.max": "{field|upper} must be less or equal to '{max}'.", + "validation.maxlength": "{field|upper} must not have more than {requiredlength} item(s).", + "validation.maxlengthstring": "{field|upper} must not have more than {requiredlength} character(s).", + "validation.min": "{field|upper} must be greater or equal to '{min}'.", + "validation.minlength": "{field|upper} must have at least {requiredlength} item(s).", + "validation.minlengthstring": "{field|upper} must have at least {requiredlength} character(s).", + "validation.pattern": "{field|upper} does not match to the pattern.", + "validation.patternmessage": "{message}", + "validation.required": "{field|upper} is required.", + "validation.requiredTrue": "{field|upper} is required.", + "validation.uniquestrings": "{field|upper} must not contain duplicate values.", + "validation.validarrayvalues": "{field|upper} contains an invalid value: {invalidvalue}.", + "validation.validdatetime": "{field|upper} is not a valid date time.", + "validation.validvalues": "{field|upper} is not a valid value.", + "workflows.add": "Add Workflow", + "workflows.addStep": "Add Step", + "workflows.createFailed": "Failed to create workflow. Please reload.", + "workflows.deleteConfirmText": "Do you really want to remove the workflow?", + "workflows.deleteConfirmTitle": "Delete workflow", + "workflows.deleteFailed": "Failed to delete Workflow. Please reload.", + "workflows.empty": "No workflows created yet.", + "workflows.loadFailed": "Failed to load workflows. Please reload.", + "workflows.notNamed": "Unnamed Workflow", + "workflows.preventUpdates": "Prevent updates", + "workflows.publishedNotRemovable": "Cannot be removed", + "workflows.refreshTooltip": "Refresh workflows (CTRL + SHIFT + R)", + "workflows.reloaded": "Workflows reloaded.", + "workflows.saved": "Workflow has been saved.", + "workflows.schemasHint": "Restrict this workflow to specific schemas or keep it empty for all schemas.", + "workflows.syntax.expression": "Expression", + "workflows.syntax.for": "for", + "workflows.syntax.when": "when", + "workflows.tabEdit": "Editing", + "workflows.tabVisualize": "Visualize", + "workflows.updateFailed": "Failed to update Workflow. Please reload.", + "workflows.workflowNameHint": "Optional name for the workflow.", + "workflows.workflowNamePlaceholder": "Enter workflow name" +} \ No newline at end of file diff --git a/backend/i18n/source/frontend.zh.json b/backend/i18n/source/frontend.zh.json new file mode 100644 index 000000000..7a73a41bf --- /dev/null +++ b/backend/i18n/source/frontend.zh.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/backend/i18n/source/frontend_zh.json b/backend/i18n/source/frontend_zh.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/backend/i18n/source/frontend_zh.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/backend/src/Squidex.Shared/Texts.zh.resx b/backend/src/Squidex.Shared/Texts.zh.resx new file mode 100644 index 000000000..36e59e59f --- /dev/null +++ b/backend/src/Squidex.Shared/Texts.zh.resx @@ -0,0 +1,1204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 字段 '{name|lower}' 必须是绝对 URL。 + + + 字段 '{0}' 必须是绝对 URL。 + + + 字段 '{name|lower}' 必须与 {other|lower} 相同。 + + + 字段 '{0}' 必须与 {1} 相同。 + + + 字段 '{name|lower}' 不是有效的电子邮件地址。 + + + 字段 '{0}' 不是有效的电子邮件地址。 + + + 字段 '{name|lower}' 必须介于 {min} 和 {max} 之间。 + + + 字段 '{0}' 必须介于 {1} 和 {2} 之间。 + + + 字段 '{name|lower}' 无法通过表达式验证。 + + + 字段 '{0}' 无法通过表达式验证。 + + + 字段 '{name|lower}' 是必需的。 + + + 字段 '{0}' 是必需的。 + + + 字段 '{name|lower}' 必须是最大长度为 {max} 的字符串。 + + + 字段 '{0}' 必须是最大长度为 {1} 的字符串。 + + + 字段 '{name|lower}' 必须是最小长度为 {min} 且最大长度为 {max} 的字符串。 + + + 字段 '{0}' 必须是最小长度为 {1} 且最大长度为 {2} 的字符串。 + + + 已存在具有相同 ID 的客户端。 + + + 你不能改变你自己的角色。 + + + 您已达到计划的最大贡献者数量。 + + + 无法删除唯一的所有者。 + + + 应用没有后备语言 '{fallback}'。 + + + 语言已经添加。 + + + 主语言不能有后备语言。 + + + 主语言不能是可选的。 + + + 无法删除主语言。 + + + 同名应用已经存在。 + + + 文件不是图像 + + + 不存在具有此 ID 的计划。 + + + 计划只能由最初配置计划的用户更改。 + + + 无法删除默认角色。 + + + 无法更新默认角色。 + + + 已存在同名角色。 + + + 分配客户端时无法删除角色。 + + + 当分配了贡献者时无法删除角色。 + + + Asset文件夹不存在。 + + + 无法将文件夹添加到自己的子文件夹中。 + + + 您已达到最大Asset大小。 + + + Asset被内容引用,无法删除。 + + + 另一个备份进程已经在运行。 + + + 您不能拥有超过 {max} 个备份。 + + + 还原操作已经在运行。 + + + 您只能访问您的通知。 + + + 评论是由另一个用户创建的。 + + + 动作 + + + 纵横高度 + + + 纵横宽 + + + 计算的默认值 + + + 客户端 ID + + + 客户端 ID + + + 客户端密码 + + + 内容类型 + + + 贡献者 ID 或电子邮件 + + + 关键 + + + 数据 + + + 默认值 + + + 显示名称 + + + 编辑器 + + + 电子邮件 + + + 您没有必要的权限。 + + + 字段 + + + 字段 ID + + + 字段名 + + + 文件 + + + 文件夹名称 + + + 不支持查询搜索子句。 + + + 文件内容类型未定义。 + + + 文件名未定义。 + + + 模型无效。 + + + 请求正文的格式无效。 + + + 客户端不允许。 + + + 验证错误 + + + 初始步骤 + + + 执行脚本失败,Javascript 错误:{message} + + + 脚本禁止操作。 + + + 无法执行脚本,Javascript 语法错误:{message} + + + 脚本拒绝了操作。 + + + 语言代码 + + + 登录 + + + 注销 + + + 最大字符数 + + + 最大高度 + + + 最大项目数 + + + 最大长度 + + + 最大尺寸 + + + 最大值 + + + 最大宽度 + + + 最大字数 + + + 最小字符数 + + + 最小高度 + + + 最小项目 + + + 最小长度 + + + 最小尺寸 + + + 最小值 + + + 最小宽度 + + + 最小词 + + + 名称 + + + - 未找到 - + + + 天数 + + + 无法解析查询:{message},查询:{odata} + + + OData $filter 子句无效:{message} + + + 查询不支持 OData 操作:{odata} + + + OData $search 子句无效:{message} + + + 旧密码 + + + 其他 + + + 分区 + + + 密码 + + + 确认 + + + 模式 + + + 权限 + + + 计划 ID + + + 预览网址 + + + Squidex Headless CMS + + + 属性 + + + 属性 + + + 应用程序目前处于只读模式。 + + + 删除 + + + 结果集太大无法检索。使用 $take 参数减少项目数。 + + + 角色 + + + 保存 + + + Schema ID + + + 注册 + + + 成功 + + + 文本 + + + 触发器 + + + 警告 + + + 工作流程 + + + 步骤 + + + 过渡 + + + 多个内容与查询匹配。 + + + 您只能在内容发布后创建新版本。 + + + 没有要删除的内容。 + + + 无效的 json 类型,预期的对象数组。 + + + 无效的 json 类型,需要字符串数组。 + + + 无效的 json 类型,应为布尔值。 + + + 无效的 json 对象,带有 'schemaId' 字段的预期对象。 + + + 无效组件。未找到 'schemaId' 字段。 + + + 无效组件。找不到Schema。 + + + 无效的 json 类型,预期的纬度/经度对象。 + + + 纬度必须在 -90 到 90 之间。 + + + 经度必须在 -180 到 180 之间。 + + + 无效的 json 类型,需要的数字。 + + + 无效的 json 类型,需要的字符串。 + + + {count} 个引用 + + + 内容被其他内容引用,无法删除或取消发布。 + + + Schema未发布。 + + + 无法更新单个内容。 + + + 无法创建单个内容。 + + + 无法删除单个内容。 + + + 工作流中未定义状态。 + + + 无法将状态从 {oldStatus} 更改为 {newStatus}。 + + + 必须有纵横比 {width}:{height}。 + + + 未找到 ID {id}。 + + + 必须介于 {min} 和 {max} 之间。 + + + 必须正好有 {count} 个字符。 + + + 必须在 {min} 到 {max} 个字符之间。 + + + 不得包含重复值。 + + + 验证失败,内部错误。 + + + 必须正好是 {value}。 + + + 必须是允许的扩展名。 + + + 不是图片。 + + + 无效值。 + + + 必须正好有 {count} 个项目。 + + + 必须介于 {min} 和 {max} 项之间。 + + + 必须小于或等于 {max}。 + + + 不得超过 {max} 个文本字符。 + + + 高度 {height}px 必须小于 {max}px。 + + + {size} 的大小必须小于 {max}。 + + + 宽度 {width}px 必须小于 {max}px。 + + + 不得超过 {max} 个项目。 + + + 不得超过 {max} 个字符。 + + + 不得超过 {max} 个单词。 + + + 必须大于或等于 {min}。 + + + 高度 {height}px 必须大于 {min}px。 + + + {size} 的大小必须大于 {min}。 + + + 宽度 {width}px 必须大于 {min}px。 + + + 必须至少有 {min} 个项目。 + + + 必须至少有 {min} 个字符。 + + + 必须至少有 {min} 个文本字符。 + + + 必须至少有 {min} 个单词。 + + + 不得定义值。 + + + 必须正好有 {count} 个文本字符。 + + + 必须在 {min} 和 {max} 个文本字符之间。 + + + 不允许的值。 + + + 必须遵循模式。 + + + 未找到引用 '{id}'。 + + + 参考 '{id}' 的Schema无效。 + + + 正则表达式太慢了。 + + + 必填字段。 + + + 存在另一个具有相同值的内容。 + + + 不是已知的 {fieldType}。 + + + 必须正好有 {count} 个单词。 + + + 必须在 {min} 到 {max} 个单词之间。 + + + 工作流不允许更新状态为 {status} + + + 发生未知故障。 + + + 电子邮件已被占用。 + + + 用户名已被占用。 + + + 电子邮件无效。 + + + 用户名“{0}”无效,只能包含字母或数字。 + + + 已存在使用此登录名的用户。 + + + 密码不正确。 + + + 密码必须至少有一位 ('0'-'9')。 + + + 密码必须至少有一个小写字母 ('a'-'z')。 + + + 密码必须至少有一个非字母数字字符。 + + + 密码必须至少使用 {0} 个不同的字符。 + + + 密码必须至少有一个大写字母 ('A'-'Z')。 + + + 密码太短。 + + + 此密码以前曾出现在数据泄露事件中,永远不应使用。如果您以前曾在任何地方使用过,请更改它! + + + 用户被锁定。 + + + Json 查询无效:{message} + + + Json 查询无效 json: {message} + + + 实体 ({id}) 已经存在。 + + + 实体 ({id}) 已被删除。 + + + 实体 ({id}) 不存在。 + + + 实体 ({id}) 请求版本 {expectedVersion},但找到 {currentVersion}。 + + + 将客户端 {[Id]} 添加到应用程序 + + + 已撤销客户端 {[Id]} + + + 更新的客户端 {[Id]} + + + 已分配 {user:[Contributor]} 作为 {[Role]} + + + 从应用中删除了 {user:[Contributor]} + + + 添加语言 {[Language]} + + + 已删除语言 {[Language]} + + + 将主语言更改为 {[Language]} + + + 更新的语言 {[Language]} + + + 已将计划更改为 {[Plan]} + + + 重置计划 + + + 添加角色 {[Name]} + + + 已删除角色 {[Name]} + + + 更新角色 {[Name]} + + + 更新的 UI 设置 + + + 替换的Asset。 + + + 更新的Asset。 + + + 上传的Asset。 + + + 创建了 {[Schema]} 内容。 + + + 删除了 {[Schema]} 内容。 + + + 创建了新草稿。 + + + 已删除的草稿。 + + + 已安排将 {[Schema]} 内容的状态更改为 {[Status]}。 + + + 无法安排 {[Schema]} 内容的状态更改。 + + + 更新了 {[Schema]} 内容。 + + + 创建的Schema {[Name]}。 + + + 已删除Schema {[Name]}。 + + + 将字段 {[Field]} 添加到Schema {[Name]}。 + + + 已从Schema {[Name]} 中删除字段 {[Field]}。 + + + Schema{[Name]} 的禁用字段 {[Field]}。 + + + 有Schema {[Name]} 的隐藏字段 {[Field]}。 + + + 已锁定Schema {[Name]} 的字段 {[Field]}。 + + + 已显示Schema {[Name]} 的字段 {[Field]}。 + + + Schema {[Name]} 的重新排序字段。 + + + 已更新Schema {[Name]} 的字段 {[Field]}。 + + + 已发布的Schema {[Name]}。 + + + Schema {[Name]} 的配置脚本。 + + + 未发布的Schema {[Name]}。 + + + 更新的Schema {[Name]}。 + + + 已将 {[Schema]} 内容的状态更改为 {[Status]}。 + + + 您的邮箱在 Github 中设置为私有,请设置为公开以使用 Github 登录。 + + + 另一个规则已经在运行。 + + + 计算出的默认值和默认值不能一起使用。 + + + 字段 '{field}' 已添加两次。 + + + 字段不能是 UI 字段。 + + + Schema field is locked. + + + 已存在同名字段。 + + + Field is not part of the schema. + + + 字段 ID 未涵盖所有字段。 + + + 一个同名的Schema已经存在。 + + + You do not have permission for this schema. + + + Schema {id} does not exist. + + + 无线电编辑器不允许内联编辑。 + + + 只有数组字段可以有嵌套字段。 + + + 嵌套字段不能是数组字段。 + + + 只有在 MaxItems 为 1 时才能解析引用。 + + + 内联编辑只允许用于下拉菜单、slug 和输入字段。 + + + 单选按钮或下拉列表需要允许的值。 + + + 复选框或下拉列表需要允许的值。 + + + UI 字段不能被禁用。 + + + UI 字段无法启用。 + + + UI 字段不能隐藏。 + + + UI 字段无法显示。 + + + {name} 内容 + + + {name} 内容 + + + {name} Schema + + + 此密码以前曾出现在数据泄露事件中,永远不应使用。如果您以前在任何地方使用过它,请更改它! + + + 创建用户 + + + 确认 + + + 既没有配置密码认证,也没有配置外部认证提供商,如谷歌。请检查您的设置和日志。 + + + 管理员用户 + + + 创建管理员用户 + + + 您已经配置了至少一个外部身份验证提供程序,例如 Google。只需转到登录页面并登录即可成为管理员。 + + + 进入登录页面。 + + + OR + + + 安装 + + + 您看到此屏幕是因为尚无用户存在。创建用户后,您将无法再次使用此屏幕。 + + + 自豪地制作 + + + Sebastian Stehle 和贡献者,2016-2021 + + + 通过你的设置,只有管理员可以创建新的应用程序。如果你想改变这个设置 <code>UI__ONLYADMINCANCREATEAPPS=false</code> 作为环境变量。 + + + 通过你的设置,每个用户都可以创建新的应用程序。如果你想改变这个设置 <code>UI__ONLYADMINCANCREATEAPPS=true</code> 作为环境变量。 + + + 您正在使用<strong>文件夹Asset存储</strong>,其中所有Asset都存储在文件系统中。请记住将Asset文件夹包含在您的备份策略中并将其映射到卷, 如果您使用的是 Docker。 + + + 您正在使用 <strong>FTP Asset存储</strong>。由于性能不佳,不建议使用这种存储类型。 + + + 您不是通过 https 访问站点。如果此警告不正确,则 Squidex 无法检测 https Schema,因为您的实例位于反向代理(例如 nginx)之后。确保正确转发 http 标头, 通过 <code>X-Forwarded-*</code> 标头。 + + + 恭喜您,您正在通过安全连接 (https) 访问 Squidex 安装。 + + + 系统清单 + + + 您应该仅通过一个规范 URL 访问 Squidex,并通过 <code>URLS__BASEURL</code> 环境变量配置此 URL。当前的基本 URL <code>{actual}</code>与基本 url <code>{configured}</code> 不匹配。 + + + 恭喜 <code>URLS__BASEURL</code> 环境变量配置正确。 + + + 安装 + + + 不允许此操作,您的帐户可能被锁定。 + + + 拒绝访问 + + + 我同意! + + + Cookies & Analytics + + + <p>我理解并同意 Squidex 使用 cookie 来确保您在我们的平台上获得最佳体验并存储您的登录状态。</p><p>我理解并同意 Squidex已集成 Google Analytics(具有匿名器功能)。Google Analytics 是一项网络分析服务,用于收集和分析有关用户行为的数据。</p><p> 我接受 <a href="{privacyUrl}" target="_blank" rel="noopener">隐私政策</a>.</p> + + + 自动电子邮件(可选) + + + 我理解并同意 Squidex 发送电子邮件来通知我有关新功能、重大更改和停机时间的信息。 + + + 我们需要您的同意 + + + 你必须同意。 + + + 个人信息 + + + 我理解并同意 Squidex 收集从外部身份验证提供商(例如 Google、Microsoft 或 Github)检索到的以下私人信息。<ul class="personal-information"> <li>向所有其他用户提供基本的个人信息(名字、姓氏和照片),以便他们可以将您添加到他们的工作空间。</li><li>您可以随时选择更改这些信息以使您的帐户匿名. </li><li>您的用户帐户具有唯一标识符,对于我们跟踪的所有更改,您进行了这些更改并将此信息提供给其他用户。</li></ul> + + + 同意 + + + 你不能删除自己。 + + + 操作失败 + + + 我们真的很抱歉出现问题。 + + + 错误 + + + 发生意外异常。 + + + 您的账户已被锁定,请联系管理员。 + + + 帐户已锁定 + + + 你不能锁定自己。 + + + + + + 输入邮箱 + + + 电子邮件或密码不正确 + + + {action} with <strong>{provider}</strong> + + + 点击此处登录 + + + 已经注册? + + + 点击此处注册 + + + 还没有账号? + + + 输入密码 + + + + + + 登出! + + + !请关闭这个弹窗。 + + + 注销 + + + 登录添加成功。 + + + 更改密码 + + + 密码更改成功。 + + + 使用客户端凭据通过您的个人资料信息和权限访问 API + + + 客户端 + + + 确认 + + + 生成 + + + 客户端密码生成成功。 + + + 编辑个人资料 + + + 不要向其他用户显示我的个人资料 + + + 登录 + + + 密码 + + + 个人信息 + + + 为规则和脚本使用自定义属性。 + + + 属性 + + + 添加属性 + + + 登录提供程序删除成功。 + + + 设置密码 + + + 密码设置成功。 + + + 个人资料 + + + 账户更新成功。 + + + 账户更新成功。 + + + 上传图片 + + + 图片上传成功。 + + + 您无法解锁自己。 + + + 不允许用户登录。 + + + 找不到用户。 + + + {property|upper} 必须介于 {min} 和 {max} 之间。 + + + {property|upper} 必须大于或等于 {other|lower}。 + + + {property|upper} 必须大于 {other|lower}。 + + + {property|upper} 不是 Javascript 属性名称。 + + + {property|upper} 必须小于或等于 {other|lower}。 + + + {property|upper} 必须小于 {other|lower}。 + + + 图片不是有效图片。 + + + 只能上传一个文件。 + + + {property|upper} 是必需的。 + + + 如果使用 {property1|lower} 或 {property2|lower},则必须定义两者。 + + + 必须定义值。 + + + {property|upper} 不是有效的 slug。 + + + {property|upper} 不是一个有效值。 + + + 多个工作流覆盖所有Schema。 + + + 初始步骤不能发布步骤。 + + + 工作流必须有一个已发布的步骤。 + + + 转换的目标无效。 + + + Schema'{schema}' 被多个工作流覆盖。 + + \ No newline at end of file