Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
195 changes: 127 additions & 68 deletions client/public/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"title": "About"
},
"admin": {
"api_keys_description": "Create, review, and revoke API keys for external agents that need content access.",
"back_to_site": "Back to site",
"compat_tasks_description": "Run compatibility jobs in bulk to backfill missing AI summaries and image blurhash metadata for older posts.",
"health_description": "Review required configuration, missing integrations, and risks that can affect runtime behavior.",
Expand All @@ -12,6 +13,64 @@
"title": "Admin",
"writing_description": "Write, edit, and publish content from the private management workspace."
},
"api_keys": {
"title": "API Keys",
"loading": "Loading API keys...",
"empty": "No API keys have been created yet.",
"copied": "Copied to clipboard.",
"never": "Never",
"revoke": "Revoke",
"create": {
"title": "Create Agent API Key",
"description": "Generate a bearer token for an external agent that needs to read or write Rin content.",
"name_label": "Label",
"name_placeholder": "Agent Writer",
"expiry_label": "Expiration",
"submit": "Create key",
"creating": "Creating..."
},
"expiry": {
"never": "Never expires",
"30d": "Expires in 30 days",
"90d": "Expires in 90 days"
},
"secret": {
"title": "Copy the secret now",
"description": "Rin only shows the full key once. Store it in your agent tool before dismissing this message.",
"copy": "Copy key",
"dismiss": "Dismiss"
},
"list": {
"title": "Existing keys",
"description": "Use this list to review active keys, last use, and expiration."
},
"status": {
"active": "Active",
"revoked": "Revoked"
},
"fields": {
"created_at": "Created: {{date}}",
"last_used_at": "Last used: {{date}}",
"expires_at": "Expires: {{date}}",
"capabilities": "Capabilities: {{scopes}}"
},
"docs": {
"title": "Agent setup",
"description": "Built-in instructions for external agents that use Rin with an API key.",
"scope_note": "These keys are intended for blog content workflows such as creating posts, updating drafts, publishing moments, and uploading media.",
"routes_note": "Admin configuration routes stay blocked for API-key auth. Use an interactive admin session for settings and diagnostics.",
"copy_curl": "Copy curl example",
"open_skill": "Open bundled skill"
},
"revoke_confirm": {
"title": "Revoke API key",
"description": "Revoke {{name}}? External agents using it will stop working immediately."
},
"errors": {
"name_required": "A label is required.",
"create_failed": "Failed to create API key."
}
},
"compat_tasks": {
"title": "Compatibility Tasks",
"loading": "Loading compatibility task status...",
Expand Down Expand Up @@ -281,47 +340,47 @@
"success": "Favicon update was successful"
}
},
"footer": {
"desc": "Set the footer content of the site (HTML)",
"title": "Footer"
},
"webhook": {
"title": "Webhook",
"url": {
"title": "Webhook URL",
"desc": "Set the webhook endpoint used for comment and friend-link notifications. Template variables are supported here too, which is useful for GET query strings."
},
"method": {
"title": "Webhook Method",
"desc": "Set the HTTP method used for webhook requests, such as POST, PUT, or PATCH"
},
"content_type": {
"title": "Webhook Content-Type",
"desc": "Set the Content-Type header sent with webhook requests, for example application/json or text/plain"
},
"headers": {
"title": "Webhook Headers",
"desc": "Customize webhook headers as a JSON object template. Available variables are the same as the body template.",
"label": "Webhook headers JSON"
},
"body_template": {
"title": "Webhook Body Template",
"desc": "Customize the outgoing webhook payload. Available variables: {{event}}, {{message}}, {{title}}, {{url}}, {{username}}, {{content}}, {{description}}.",
"label": "Webhook body template"
},
"test": {
"title": "Send Test Webhook",
"desc": "Send a test request with the current webhook settings. Unsaved values in this page are used directly.",
"button": "Send Test",
"sending": "Sending...",
"placeholder": "Optional test message. Leave empty to use the default test payload.",
"success": "Webhook test sent successfully",
"failed": "Webhook test failed"
}
},
"maintenance": {
"title": "Maintenance"
},
"footer": {
"desc": "Set the footer content of the site (HTML)",
"title": "Footer"
},
"webhook": {
"title": "Webhook",
"url": {
"title": "Webhook URL",
"desc": "Set the webhook endpoint used for comment and friend-link notifications. Template variables are supported here too, which is useful for GET query strings."
},
"method": {
"title": "Webhook Method",
"desc": "Set the HTTP method used for webhook requests, such as POST, PUT, or PATCH"
},
"content_type": {
"title": "Webhook Content-Type",
"desc": "Set the Content-Type header sent with webhook requests, for example application/json or text/plain"
},
"headers": {
"title": "Webhook Headers",
"desc": "Customize webhook headers as a JSON object template. Available variables are the same as the body template.",
"label": "Webhook headers JSON"
},
"body_template": {
"title": "Webhook Body Template",
"desc": "Customize the outgoing webhook payload. Available variables: {{event}}, {{message}}, {{title}}, {{url}}, {{username}}, {{content}}, {{description}}.",
"label": "Webhook body template"
},
"test": {
"title": "Send Test Webhook",
"desc": "Send a test request with the current webhook settings. Unsaved values in this page are used directly.",
"button": "Send Test",
"sending": "Sending...",
"placeholder": "Optional test message. Leave empty to use the default test payload.",
"success": "Webhook test sent successfully",
"failed": "Webhook test failed"
}
},
"maintenance": {
"title": "Maintenance"
},
"friend": {
"apply": {
"desc": "Allow other users to apply for friend links (requires review)",
Expand Down Expand Up @@ -574,33 +633,33 @@
"summary": "login.enabled is disabled.",
"suggestion": "Enable login in settings if this instance needs interactive admin access."
},
"missing": {
"impact": "Users can see the login entry but no working login method is configured.",
"summary": "Neither GitHub OAuth nor password login is configured.",
"suggestion": "Configure RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET or ADMIN_USERNAME/ADMIN_PASSWORD."
},
"default_password": {
"impact": "The admin account is still using the default username and password, which is a critical security risk.",
"summary": "ADMIN_USERNAME/ADMIN_PASSWORD are still set to admin / admin123.",
"suggestion": "Change the default username or password immediately before exposing the site."
},
"oauth_missing": {
"impact": "Only the local password account can sign in. Other users cannot log in and comment through OAuth.",
"summary": "GitHub OAuth is not configured.",
"suggestion": "Configure RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET if you expect other users to log in."
},
"ready": {
"impact": "Admin sign-in is available.",
"summary": "OAuth login is configured and the current password login configuration is not using the default credentials.",
"suggestion": "No action required."
},
"details": {
"github_configured": "GitHub OAuth: configured",
"github_missing": "GitHub OAuth: missing",
"password_configured": "Password login: configured",
"password_missing": "Password login: missing",
"password_default": "Password login: using default credentials"
}
"missing": {
"impact": "Users can see the login entry but no working login method is configured.",
"summary": "Neither GitHub OAuth nor password login is configured.",
"suggestion": "Configure RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET or ADMIN_USERNAME/ADMIN_PASSWORD."
},
"default_password": {
"impact": "The admin account is still using the default username and password, which is a critical security risk.",
"summary": "ADMIN_USERNAME/ADMIN_PASSWORD are still set to admin / admin123.",
"suggestion": "Change the default username or password immediately before exposing the site."
},
"oauth_missing": {
"impact": "Only the local password account can sign in. Other users cannot log in and comment through OAuth.",
"summary": "GitHub OAuth is not configured.",
"suggestion": "Configure RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET if you expect other users to log in."
},
"ready": {
"impact": "Admin sign-in is available.",
"summary": "OAuth login is configured and the current password login configuration is not using the default credentials.",
"suggestion": "No action required."
},
"details": {
"github_configured": "GitHub OAuth: configured",
"github_missing": "GitHub OAuth: missing",
"password_configured": "Password login: configured",
"password_missing": "Password login: missing",
"password_default": "Password login: using default credentials"
}
},
"storage": {
"title": "Object storage",
Expand Down
140 changes: 72 additions & 68 deletions client/public/locales/zh-CN/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -281,47 +281,47 @@
"success": "网站图标更新成功"
}
},
"footer": {
"desc": "设置显示于站点底部的内容(HTML)",
"title": "站点底部内容"
},
"webhook": {
"title": "Webhook",
"url": {
"title": "Webhook 地址",
"desc": "设置评论和友链通知使用的 webhook 地址。这里同样支持模板变量,适合 GET 场景拼接 query string。"
},
"method": {
"title": "Webhook Method",
"desc": "设置 webhook 请求使用的 HTTP Method,例如 GET、POST、PUT 或 PATCH"
},
"content_type": {
"title": "Webhook Content-Type",
"desc": "设置 webhook 请求发送时使用的 Content-Type,例如 application/json 或 text/plain"
},
"headers": {
"title": "Webhook 请求头",
"desc": "以 JSON 模板自定义 webhook 请求头。可用变量与请求体模板一致。",
"label": "Webhook 请求头 JSON"
},
"body_template": {
"title": "Webhook 请求体模板",
"desc": "自定义 webhook 发出的请求体。可用变量:{{event}}、{{message}}、{{title}}、{{url}}、{{username}}、{{content}}、{{description}}。",
"label": "Webhook 请求体模板"
},
"test": {
"title": "发送测试 Webhook",
"desc": "使用当前页面里的 webhook 设置发送一次测试请求。未保存的修改也会直接生效。",
"button": "发送测试",
"sending": "发送中...",
"placeholder": "可选的测试消息内容。留空时会使用默认测试负载。",
"success": "Webhook 测试发送成功",
"failed": "Webhook 测试发送失败"
}
},
"maintenance": {
"title": "维护"
},
"footer": {
"desc": "设置显示于站点底部的内容(HTML)",
"title": "站点底部内容"
},
"webhook": {
"title": "Webhook",
"url": {
"title": "Webhook 地址",
"desc": "设置评论和友链通知使用的 webhook 地址。这里同样支持模板变量,适合 GET 场景拼接 query string。"
},
"method": {
"title": "Webhook Method",
"desc": "设置 webhook 请求使用的 HTTP Method,例如 GET、POST、PUT 或 PATCH"
},
"content_type": {
"title": "Webhook Content-Type",
"desc": "设置 webhook 请求发送时使用的 Content-Type,例如 application/json 或 text/plain"
},
"headers": {
"title": "Webhook 请求头",
"desc": "以 JSON 模板自定义 webhook 请求头。可用变量与请求体模板一致。",
"label": "Webhook 请求头 JSON"
},
"body_template": {
"title": "Webhook 请求体模板",
"desc": "自定义 webhook 发出的请求体。可用变量:{{event}}、{{message}}、{{title}}、{{url}}、{{username}}、{{content}}、{{description}}。",
"label": "Webhook 请求体模板"
},
"test": {
"title": "发送测试 Webhook",
"desc": "使用当前页面里的 webhook 设置发送一次测试请求。未保存的修改也会直接生效。",
"button": "发送测试",
"sending": "发送中...",
"placeholder": "可选的测试消息内容。留空时会使用默认测试负载。",
"success": "Webhook 测试发送成功",
"failed": "Webhook 测试发送失败"
}
},
"maintenance": {
"title": "维护"
},
"friend": {
"apply": {
"desc": "允许其他用户申请友链(需审核)",
Expand Down Expand Up @@ -487,6 +487,10 @@
"wordpress": {
"desc": "上传 WordPress 导出的 XML 文件",
"title": "从 WordPress 导入"
},
"mcp": {
"title": "MCP / Skill",
"desc": "Rin 已经提供了读写文章所需的 RESTful API。你可以基于这些接口封装一层轻量 MCP 服务,再配合 Skill 提示文件供外部 Agent 调用。可参考仓库内的 MCP 指南与示例文件。"
}
},
"sitename": "站点名称",
Expand Down Expand Up @@ -574,33 +578,33 @@
"summary": "login.enabled 已关闭。",
"suggestion": "如果此实例需要交互式后台访问,请在设置中启用登录。"
},
"missing": {
"impact": "用户可以看到登录入口,但没有任何可用的登录方式。",
"summary": "GitHub OAuth 和密码登录都未配置。",
"suggestion": "请配置 RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET 或 ADMIN_USERNAME/ADMIN_PASSWORD。"
},
"default_password": {
"impact": "管理员账号仍在使用默认用户名和密码,属于严重安全风险。",
"summary": "ADMIN_USERNAME/ADMIN_PASSWORD 仍然是 admin / admin123。",
"suggestion": "在公开站点前请立即修改默认用户名或密码。"
},
"oauth_missing": {
"impact": "当前只能使用本地密码账号登录,其他用户无法通过 OAuth 登录并评论。",
"summary": "GitHub OAuth 未配置。",
"suggestion": "如果希望其他用户登录,请配置 RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET。"
},
"ready": {
"impact": "后台登录可用。",
"summary": "OAuth 登录已配置,且当前密码登录未使用默认凭据。",
"suggestion": "无需处理。"
},
"details": {
"github_configured": "GitHub OAuth:已配置",
"github_missing": "GitHub OAuth:未配置",
"password_configured": "密码登录:已配置",
"password_missing": "密码登录:未配置",
"password_default": "密码登录:使用默认凭据"
}
"missing": {
"impact": "用户可以看到登录入口,但没有任何可用的登录方式。",
"summary": "GitHub OAuth 和密码登录都未配置。",
"suggestion": "请配置 RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET 或 ADMIN_USERNAME/ADMIN_PASSWORD。"
},
"default_password": {
"impact": "管理员账号仍在使用默认用户名和密码,属于严重安全风险。",
"summary": "ADMIN_USERNAME/ADMIN_PASSWORD 仍然是 admin / admin123。",
"suggestion": "在公开站点前请立即修改默认用户名或密码。"
},
"oauth_missing": {
"impact": "当前只能使用本地密码账号登录,其他用户无法通过 OAuth 登录并评论。",
"summary": "GitHub OAuth 未配置。",
"suggestion": "如果希望其他用户登录,请配置 RIN_GITHUB_CLIENT_ID/RIN_GITHUB_CLIENT_SECRET。"
},
"ready": {
"impact": "后台登录可用。",
"summary": "OAuth 登录已配置,且当前密码登录未使用默认凭据。",
"suggestion": "无需处理。"
},
"details": {
"github_configured": "GitHub OAuth:已配置",
"github_missing": "GitHub OAuth:未配置",
"password_configured": "密码登录:已配置",
"password_missing": "密码登录:未配置",
"password_default": "密码登录:使用默认凭据"
}
},
"storage": {
"title": "对象存储",
Expand Down
Loading
Loading