Files
multica/packages/views/locales/en/settings.json
2026-07-11 17:26:45 +08:00

473 lines
24 KiB
JSON

{
"auto_save": {
"saving": "Saving…",
"saved": "Saved",
"failed": "Couldn't save",
"toast_saved": "Changes saved"
},
"preferences": {
"general_title": "General",
"theme": {
"title": "Theme",
"light": "Light",
"dark": "Dark",
"system": "System"
},
"language": {
"title": "Language",
"english": "English",
"chinese": "中文",
"korean": "한국어",
"japanese": "日本語",
"sync_failed": "Language saved on this device, but failed to sync to your account. Other devices may show the previous language."
},
"timezone": {
"title": "Viewing Timezone",
"browser_suffix": " (browser)",
"hint": "Used for dashboards, charts, and any 'today' label shown to you. It's a personal preference that applies across all your workspaces.",
"sync_failed": "Failed to save your timezone preference."
}
},
"chat": {
"floating_title": "Floating window",
"floating_label": "Floating chat window",
"floating_hint": "Show the floating chat button in the corner of every page. Off by default — turn it on to summon chat anywhere; when off, Chat lives only in this tab."
},
"page": {
"title": "Settings",
"my_account": "My Account",
"workspace_fallback": "Workspace",
"tabs": {
"profile": "Profile",
"preferences": "Preferences",
"chat": "Chat",
"notifications": "Notifications",
"tokens": "API Tokens",
"general": "General",
"repositories": "Repositories",
"github": "GitHub",
"integrations": "Integrations",
"labs": "Labs",
"members": "Members"
}
},
"account": {
"section_profile": "Personal information",
"avatar_label": "Avatar",
"click_avatar_hint": "Click to upload avatar",
"name_label": "Name",
"profile_description_label": "About you",
"profile_description_hint": "Shared with agents working on your behalf — role, stack, preferences, anything you'd tell a new collaborator on day one.",
"profile_description_placeholder": "e.g. Backend engineer (Go + Postgres). Prefer terse PRs and tests alongside the change.",
"profile_description_too_long": "Profile is too long (max {{max}} characters; currently {{count}}).",
"save": "Update Profile",
"saving": "Updating...",
"toast_avatar_updated": "Avatar updated",
"toast_avatar_failed": "Failed to upload avatar",
"toast_profile_updated": "Profile updated",
"toast_profile_failed": "Failed to update profile"
},
"notifications": {
"title": "Inbox Notifications",
"description": "Control which events generate inbox notifications. Muted event types are silently filtered — you can still see them by visiting the issue directly.",
"toast_failed": "Failed to update notification settings",
"groups": {
"assignments": {
"label": "Assignments",
"description": "When you are assigned or unassigned from an issue"
},
"status_changes": {
"label": "Status changes",
"description": "When an issue you follow changes status (e.g. todo, in progress, done)"
},
"comments": {
"label": "Comments & Mentions",
"description": "New comments on issues you follow, or when someone @mentions you"
},
"updates": {
"label": "Priority & Due date",
"description": "When priority or due date changes on issues you follow"
},
"agent_activity": {
"label": "Agent activity",
"description": "When an agent task completes or fails"
}
},
"system": {
"title": "System Notifications",
"description": "Control native OS notification banners shown when Multica is in the background.",
"label": "Show system notifications",
"hint": "Show a banner from your operating system for new inbox items when the app isn't focused."
},
"browser": {
"label": "Browser notifications",
"hint": "Allow this browser to show notification banners for new inbox items.",
"enable": "Enable",
"granted": "This browser can show notification banners.",
"denied": "Blocked by your browser. Enable notifications for this site in your browser settings.",
"enabled_badge": "Enabled"
}
},
"tokens": {
"title": "API Tokens",
"description": "Personal access tokens allow the CLI and external integrations to authenticate with your account.",
"name_placeholder": "Token name (e.g. My CLI)",
"expiry": {
"30": "30 days",
"90": "90 days",
"365": "1 year",
"never": "No expiry"
},
"create": "Create",
"creating": "Creating...",
"toast_load_failed": "Failed to load tokens",
"toast_create_failed": "Failed to create token",
"toast_revoked": "Token revoked",
"toast_revoke_failed": "Failed to revoke token",
"metadata_prefix": "{{prefix}}... · Created {{created}} · {{lastUsed}}",
"last_used_with_date": "Last used {{date}}",
"last_used_never": "Never used",
"expires_with_date": " · Expires {{date}}",
"revoke_aria": "Revoke {{name}}",
"revoke_tooltip": "Revoke",
"revoke_dialog": {
"title": "Revoke token",
"description": "This token will be permanently revoked and can no longer be used. This cannot be undone.",
"cancel": "Cancel",
"confirm": "Revoke"
},
"created_dialog": {
"title": "Token created",
"description": "Copy your personal access token now. You won't be able to see it again.",
"copy_tooltip": "Copy token",
"done": "Done"
}
},
"workspace": {
"section_general": "Workspace details",
"logo_label": "Workspace logo",
"change_logo_aria": "Change workspace logo",
"click_logo_hint": "Click the logo to upload a new image",
"toast_logo_updated": "Workspace logo updated",
"toast_logo_failed": "Failed to upload workspace logo",
"name_label": "Name",
"description_label": "Description",
"description_placeholder": "What does this workspace focus on?",
"context_label": "Context",
"context_placeholder": "Background information and context for AI agents working in this workspace",
"slug_label": "Slug",
"issue_prefix_label": "Issue prefix",
"issue_prefix_hint": "Used in issue numbers like {{example}}.",
"prefix_confirm_title": "Change issue prefix?",
"prefix_confirm_description": "All issues will be renumbered from {{oldPrefix}}-N to {{newPrefix}}-N. External references — pull request titles, branch names, links in docs and chat — that use {{oldPrefix}}-N will stop resolving.",
"save": "Save",
"saving": "Saving...",
"manage_hint": "Only admins and owners can update workspace settings.",
"toast_saved": "Workspace settings saved",
"toast_save_failed": "Failed to save workspace settings",
"danger_zone": "Danger Zone",
"leave_title": "Leave workspace",
"leave_sole_owner": "You're the only owner. Promote another member to owner first, or delete the workspace.",
"leave_sole_member": "You're the only member. Delete the workspace to leave.",
"leave_default": "Remove yourself from this workspace.",
"leave_button": "Leave workspace",
"leaving": "Leaving...",
"leave_confirm_title": "Leave workspace",
"leave_confirm_description": "Leave {{name}}? You will lose access until re-invited.",
"toast_leave_failed": "Failed to leave workspace",
"delete_title": "Delete workspace",
"delete_description": "Permanently delete this workspace and its data.",
"delete_button": "Delete workspace",
"deleting": "Deleting...",
"toast_delete_failed": "Failed to delete workspace",
"confirm_cancel": "Cancel",
"confirm_action": "Confirm"
},
"delete_workspace_dialog": {
"title": "Delete workspace",
"description": "This cannot be undone. All issues, agents, and data will be permanently removed.",
"type_to_confirm_prefix": "To confirm, type",
"type_to_confirm_suffix": " below.",
"cancel": "Cancel",
"confirm": "Delete workspace",
"deleting": "Deleting..."
},
"labs": {
"section_placeholder_title": "No experiments yet",
"section_placeholder_description": "Experimental settings will land here as they ship. Today this tab is intentionally empty.",
"toast_failed": "Failed to update setting"
},
"github": {
"page_description": "Connect a GitHub App, control how Pull Requests show up inside Multica, and decide what your agents leave behind in commit history.",
"section_master": "Enable GitHub features",
"master_description_on": "When off, every GitHub UI affordance is hidden and no new side-effects are written. Existing data is kept on the backend. Not a development team? Just turn it off here.",
"master_description_off": "GitHub features are turned off. The PR sidebar, co-author trailer, and auto-link are paused. Data on the backend is not deleted.",
"section_connection": "Connection",
"connection_title": "GitHub App",
"connection_description_prefix": "Link issues to pull requests automatically. When a PR with",
"connection_description_suffix": "in its branch, title, or body is merged, the corresponding issue moves to",
"connection_description_done": "Done",
"connection_identifier_example": "MUL-123",
"connected_to": "Connected to {{login}}",
"connect_github": "Connect GitHub",
"connect_opening": "Opening…",
"connect_disabled_tooltip": "GitHub App is not configured on this server",
"disconnect": "Disconnect",
"disconnecting": "Disconnecting…",
"disconnect_confirm_title": "Disconnect GitHub App",
"disconnect_confirm_description": "Multica will stop receiving webhooks for this installation. Existing PR mirrors and links are kept; reconnect any time to resume updates.",
"disconnect_confirm_cancel": "Cancel",
"disconnect_confirm_action": "Disconnect",
"not_configured": "GitHub integration is not configured for this deployment. Operators must set",
"not_configured_and": "and",
"read_only_hint": "Read-only view. Only workspace admins and owners can connect or disconnect GitHub.",
"contact_admin_to_connect": "GitHub is not connected for this workspace. Ask an admin or owner to set up the GitHub App.",
"connected_by": "Connected by {{name}}",
"toast_not_configured": "GitHub integration is not configured for this deployment",
"toast_open_failed": "Failed to open GitHub install",
"toast_disconnect_failed": "Failed to disconnect GitHub App",
"toast_disconnected": "GitHub App disconnected",
"section_features": "Features",
"feature_pr_sidebar_label": "Pull Request sidebar",
"feature_pr_sidebar_description": "Show linked pull requests inside the issue detail sidebar.",
"feature_co_author_label": "Co-authored-by trailer",
"feature_co_author_description_prefix": "Append",
"feature_co_author_description_suffix": "to commits authored by agents.",
"feature_auto_link_label": "Auto-link issues and PRs",
"feature_auto_link_description": "Match PR titles, bodies, and branch names against issue identifiers and create the link automatically.",
"section_repositories": "Repositories",
"repositories_shortcut_label": "Repository URLs live in the Repositories tab",
"repositories_shortcut_link": "Manage repositories →",
"toast_failed": "Failed to update GitHub settings"
},
"lark": {
"section_title": "Lark",
"page_description": "Connect each Multica Agent to a Lark (飞书) PersonalAgent Bot. Members can DM the Bot, @ it in groups, and type /issue to spin up a new Multica issue.",
"not_enabled_title": "Lark integration not enabled",
"not_enabled_description_prefix": "Set",
"not_enabled_description_suffix": "on the server to enable Lark Bot installations.",
"not_enabled_self_host_hint": "Self-hosters: see the project README for details.",
"preview_title": "Lark Bot installation coming soon",
"preview_description": "The at-rest key is set, but the Lark HTTP client is not wired in this build. The install entry point will appear here once the transport is enabled in a follow-up release.",
"connected_bots": "Connected bots",
"loading": "Loading…",
"empty_title": "No bots connected yet",
"empty_description_prefix": "Open an Agent in this workspace and click",
"empty_description_cta": "Bind to Lark",
"empty_description_suffix": "to install a Bot for it.",
"revoked_badge": "revoked",
"region_feishu": "Feishu",
"region_lark": "Lark",
"installed_at_label": "Installed {{when}}",
"disconnect": "Disconnect",
"disconnecting": "Disconnecting…",
"disconnect_confirm_title": "Disconnect this Lark bot?",
"disconnect_confirm_description": "The Bot will stop receiving Lark messages and the WebSocket connection will be torn down. The installation row is kept for audit; you can re-install later from the same Agent.",
"disconnect_confirm_cancel": "Cancel",
"toast_disconnected": "Disconnected Lark bot",
"toast_disconnect_failed": "Disconnect failed",
"bind_button": "Bind to Lark",
"bind_button_title": "Bind {{agent}} to a Lark Bot",
"bind_button_feishu": "Bind to Feishu",
"bind_button_lark": "Bind to Lark",
"bind_button_feishu_title": "Bind {{agent}} to a Feishu (mainland) Bot",
"bind_button_lark_title": "Bind {{agent}} to a Lark (international) Bot",
"agent_bot_connected_label": "Connected to Lark",
"agent_bot_manage_link": "Manage in Lark",
"agent_bot_manage_tooltip": "Open this Bot's app page in Lark — manage scopes, edit display name, request additional permissions.",
"agent_bot_connected_label_feishu": "Connected to Feishu",
"agent_bot_connected_label_lark": "Connected to Lark",
"agent_bot_manage_link_feishu": "Manage in Feishu",
"agent_bot_manage_link_lark": "Manage in Lark",
"agent_bot_manage_tooltip_feishu": "Open this Bot's app page in Feishu — manage scopes, edit display name, request additional permissions.",
"agent_bot_manage_tooltip_lark": "Open this Bot's app page in Lark — manage scopes, edit display name, request additional permissions.",
"agent_bot_disconnect_tooltip": "Unbind this Lark Bot from the Agent. The Bot will stop receiving Lark messages.",
"install_dialog_title": "Bind to Lark",
"install_dialog_description": "Open Lark on your phone and scan the code below to create a PersonalAgent Bot.",
"install_dialog_description_for_agent": "Open Lark on your phone and scan the code below to create a Bot for {{agent}}.",
"install_dialog_title_feishu": "Bind to Feishu",
"install_dialog_title_lark": "Bind to Lark",
"install_dialog_description_feishu": "Open Feishu on your phone and scan the code below to create a PersonalAgent Bot.",
"install_dialog_description_lark": "Open Lark on your phone and scan the code below to create a PersonalAgent Bot.",
"install_dialog_description_for_agent_feishu": "Open Feishu on your phone and scan the code below to create a Bot for {{agent}}.",
"install_dialog_description_for_agent_lark": "Open Lark on your phone and scan the code below to create a Bot for {{agent}}.",
"install_starting": "Preparing QR code…",
"install_scan_hint": "Lark → Scan → authorize the new PersonalAgent.",
"install_open_link_fallback": "Or tap here to open in Lark",
"install_success": "Install complete — your Bot is online.",
"install_success_toast": "Lark Bot installed",
"install_scan_hint_feishu": "Feishu → Scan → authorize the new PersonalAgent.",
"install_scan_hint_lark": "Lark → Scan → authorize the new PersonalAgent.",
"install_open_link_fallback_feishu": "Or tap here to open in Feishu",
"install_open_link_fallback_lark": "Or tap here to open in Lark",
"install_success_toast_feishu": "Feishu Bot installed",
"install_success_toast_lark": "Lark Bot installed",
"install_close": "Close",
"install_retry": "Scan again",
"install_poll_retry": "Network blip while checking install status — retrying.",
"install_error_expired": "QR expired before authorization. Scan again.",
"install_error_access_denied": "Install cancelled in Lark.",
"install_error_protocol": "Lark refused the install — try again.",
"install_error_bot_info": "Authorized, but Multica couldn't fetch the Bot's identity. Try again.",
"install_error_conflict": "Could not save the installation. Another bot may already be bound to this agent.",
"install_error_installer_bind": "Installed the bot, but could not bind your Lark identity. Try again or contact support.",
"install_error_session_lost": "Install session expired or was lost. Scan again to start over.",
"install_error_forbidden": "You no longer have permission to install Lark Bots in this workspace. Ask a workspace admin to continue.",
"install_error_generic": "Install failed. Try again."
},
"composio": {
"section_title": "Composio",
"page_description": "Connect the Composio apps your agents can act on. Only apps configured with an enabled auth config in your Composio project appear here.",
"not_enabled_title": "Composio integration not enabled",
"not_enabled_description_prefix": "Set",
"not_enabled_description_suffix": "on the server to enable Composio toolkit connections.",
"loading": "Loading toolkits…",
"load_failed": "Failed to load Composio toolkits.",
"empty_title": "No connectable apps yet",
"empty_description": "No toolkit has an enabled auth config in your Composio project yet. Enable one in the Composio dashboard to make it available here.",
"search_placeholder": "Search toolkits…",
"connect": "Connect",
"connecting": "Connecting…",
"connected": "Connected",
"disconnect": "Disconnect",
"disconnecting": "Disconnecting…",
"connect_failed": "Couldn't start the connection. Please try again.",
"disconnect_failed": "Couldn't disconnect. Please try again.",
"toast_disconnected": "Disconnected",
"disconnect_confirm_title": "Disconnect this app?",
"disconnect_confirm_description": "Your connected account will be revoked at Composio and your agents will lose access to this toolkit. You can reconnect later.",
"disconnect_confirm_cancel": "Cancel",
"connections_load_failed": "Couldn't load your existing connections, so connected status may be incomplete.",
"toast_connected": "Connected",
"toast_connect_failed": "Couldn't complete the connection. Please try again.",
"last_used": "Last used {{when}}",
"last_used_never": "Never used",
"expired": "Token expired",
"reconnect": "Reconnect"
},
"slack": {
"section_title": "Slack",
"page_description": "Connect each Multica Agent to its own Slack bot. Members can DM the bot, @mention it in a channel, and type /issue to spin up a new Multica issue.",
"not_enabled_title": "Slack integration not enabled",
"not_enabled_description_prefix": "Set",
"not_enabled_description_suffix": "on the server to enable Slack bot installations.",
"not_enabled_self_host_hint": "Self-hosters: see the project README for details.",
"preview_title": "Slack install coming soon",
"preview_description": "The at-rest key is set, but the hosted Slack app's OAuth credentials are not configured in this deployment. The Connect button will appear here once they are set.",
"connected_bots": "Connected bots",
"loading": "Loading…",
"empty_title": "No bots connected yet",
"empty_description_prefix": "Open an Agent in this workspace and click",
"empty_description_cta": "Connect Slack",
"empty_description_suffix": "to install a bot for it.",
"revoked_badge": "revoked",
"installed_at_label": "Installed {{when}}",
"disconnect": "Disconnect",
"disconnecting": "Disconnecting…",
"disconnect_confirm_title": "Disconnect this Slack bot?",
"disconnect_confirm_description": "The bot will stop receiving Slack messages for this workspace. The installation row is kept for audit; you can re-install later from the same Agent.",
"disconnect_confirm_cancel": "Cancel",
"toast_disconnected": "Disconnected Slack bot",
"toast_disconnect_failed": "Disconnect failed",
"bind_button": "Connect Slack",
"bind_button_title": "Connect {{agent}} to a Slack bot",
"connecting": "Opening Slack…",
"connect_failed_toast": "Could not start the Slack install",
"agent_bot_connected_label": "Connected to Slack",
"agent_bot_disconnect_tooltip": "Unbind this Slack bot from the Agent. The bot will stop receiving Slack messages.",
"agent_bot_manage_link": "Open in Slack",
"agent_bot_manage_tooltip": "Open this bot's Slack workspace.",
"byo_dialog_title": "Connect a Slack bot",
"byo_video_cta": "Watch the setup walkthrough",
"byo_docs_link": "Step-by-step: connect your Multica agent to Slack",
"byo_bot_token_label": "Bot token (xoxb-)",
"byo_app_token_label": "App-level token (xapp-)",
"byo_submit": "Connect",
"byo_submitting": "Connecting…",
"byo_cancel": "Cancel",
"byo_success_toast": "Slack bot connected",
"byo_failed_toast": "Could not connect the Slack bot"
},
"repositories": {
"section_title": "Repositories",
"description": "Git repositories associated with this workspace. Agents use these to clone and work on code.",
"url_placeholder": "https://git.example.com/org/repo.git or git@git.example.com:org/repo.git",
"url_empty": "(empty URL)",
"description_placeholder": "Description (e.g. Go backend + Next.js frontend)",
"add": "Add repository",
"save": "Save",
"saving": "Saving...",
"saved_hint": "All changes saved",
"empty": "No repositories yet.",
"edit_aria": "Edit repository",
"cancel_aria": "Cancel edit",
"delete_aria": "Delete repository",
"delete_confirm_title": "Delete repository?",
"delete_confirm_description": "This repository will be removed from the workspace immediately.",
"delete_confirm_cancel": "Cancel",
"delete_confirm_action": "Delete repository",
"manage_hint": "Only admins and owners can manage repositories.",
"toast_saved": "Repositories saved",
"toast_save_failed": "Failed to save repositories"
},
"desktop": {
"tabs": {
"updates": "Updates"
},
"updates": {
"title": "Updates",
"description": "The desktop app checks for new versions automatically once an hour and shortly after launch, downloading them in the background. You'll be prompted to restart once an update is ready.",
"current_version": "Current version",
"check_section_title": "Check for updates",
"check_section_description": "Trigger a check now instead of waiting for the next automatic poll. Available updates download in the background and show a restart prompt when ready.",
"up_to_date": "You're on the latest version.",
"downloading": "v{{version}} is downloading in the background — you'll be notified when it's ready to install.",
"check_now": "Check now",
"checking": "Checking…"
}
},
"members": {
"section_title": "Members ({{count}})",
"invite_title": "Invite member",
"invite_email_placeholder": "user@company.com",
"invite_button": "Invite",
"inviting": "Inviting...",
"toast_invitation_sent": "Invitation sent",
"toast_invitation_failed": "Failed to send invitation",
"no_members": "No members found.",
"pending_title": "Pending invitations ({{count}})",
"pending_status": "Pending",
"revoke_invitation_tooltip": "Revoke invitation",
"revoke_invitation_title": "Revoke invitation",
"revoke_invitation_description": "Revoke the invitation to {{email}}? They will no longer be able to join this workspace.",
"toast_invitation_revoked": "Invitation revoked",
"toast_invitation_revoke_failed": "Failed to revoke invitation",
"toast_role_updated": "Role updated",
"toast_role_failed": "Failed to update member",
"toast_member_removed": "Member removed",
"toast_member_remove_failed": "Failed to remove member",
"remove_member_title": "Remove {{name}}",
"remove_member_description": "Remove {{name}} from {{workspace}}? They will lose access to this workspace.",
"confirm_cancel": "Cancel",
"confirm_action": "Confirm",
"change_role": "Change role",
"remove_action": "Remove from workspace",
"cannot_demote_last_owner_title": "Promote another member to owner first — a workspace must keep at least one owner.",
"cannot_demote_last_owner": "Cannot demote the last owner",
"roles": {
"owner": {
"label": "Owner",
"description": "Full access, manage all settings"
},
"admin": {
"label": "Admin",
"description": "Manage members and settings"
},
"member": {
"label": "Member",
"description": "Create and work on issues"
}
}
}
}