Merge pull request #128 from sqkkyzx/develop
feat(translations): Add Simplified Chinese translation
This commit is contained in:
@@ -20,6 +20,12 @@
|
||||
<br/><strong>Japanese</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="docs/README_zhcn.md">
|
||||
<img src="https://flagcdn.com/24x18/cn.png" alt="Chinese" />
|
||||
<br/><strong>Chinese</strong>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -176,5 +182,3 @@ Here are some ways you can help improve CheckCle:
|
||||
CheckCle is released under the MIT License.
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
@@ -119,6 +119,9 @@ export const Header = ({
|
||||
<DropdownMenuItem onClick={() => setLanguage("ja")} className={language === "ja" ? "bg-accent" : ""}>
|
||||
{t("japanese")}
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem onClick={() => setLanguage("zhcn")} className={language === "zhcn" ? "bg-accent" : ""}>
|
||||
{t("simplifiedChinese")}
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
|
||||
@@ -212,4 +215,4 @@ export const Header = ({
|
||||
</div>
|
||||
</header>
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@ export const commonTranslations: CommonTranslations = {
|
||||
english: "Englisch",
|
||||
khmer: "Khmer",
|
||||
german: "Deutsch",
|
||||
simplifiedChinese: "Simplified Chinese",
|
||||
goodMorning: "Guten Morgen",
|
||||
goodAfternoon: "Guten Nachmittag",
|
||||
goodEvening: "Guten Abend",
|
||||
|
||||
@@ -8,6 +8,7 @@ export const commonTranslations: CommonTranslations = {
|
||||
english: "English",
|
||||
khmer: "Khmer",
|
||||
german: "Deutsch",
|
||||
simplifiedChinese: "Simplified Chinese",
|
||||
goodMorning: "Good morning",
|
||||
goodAfternoon: "Good afternoon",
|
||||
goodEvening: "Good evening",
|
||||
|
||||
@@ -2,14 +2,16 @@ import enTranslations from './en';
|
||||
import kmTranslations from './km';
|
||||
import deTranslations from './de';
|
||||
import jaTranslations from './ja';
|
||||
import zhcnTranslations from './zhcn';
|
||||
|
||||
export type Language = "en" | "km" | "de" | "ja";
|
||||
export type Language = "en" | "km" | "de" | "ja" | "zhcn";
|
||||
|
||||
export const translations = {
|
||||
en: enTranslations,
|
||||
km: kmTranslations,
|
||||
de: deTranslations,
|
||||
ja: jaTranslations,
|
||||
zhcn: zhcnTranslations,
|
||||
};
|
||||
|
||||
// Type for accessing translations by module and key
|
||||
|
||||
@@ -7,6 +7,7 @@ export const commonTranslations: CommonTranslations = {
|
||||
english: "English",
|
||||
khmer: "Khmer",
|
||||
german: "Deutsch",
|
||||
simplifiedChinese: "简体中文",
|
||||
japanese: "日本語",
|
||||
goodMorning: "おはようございます",
|
||||
goodAfternoon: "こんにちは",
|
||||
@@ -26,4 +27,4 @@ export const commonTranslations: CommonTranslations = {
|
||||
description: "説明",
|
||||
success: "成功",
|
||||
error: "エラー",
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@ export const commonTranslations: CommonTranslations = {
|
||||
english: "អង់គ្លេស",
|
||||
khmer: "ខ្មែរ",
|
||||
german: "Deutsch",
|
||||
simplifiedChinese: "简体中文",
|
||||
goodMorning: "អរុណសួស្តី",
|
||||
goodAfternoon: "ទិវាសួស្តី",
|
||||
goodEvening: "សាយណ្ហសួស្តី",
|
||||
|
||||
@@ -5,6 +5,9 @@ export interface CommonTranslations {
|
||||
language: string;
|
||||
english: string;
|
||||
khmer: string;
|
||||
german: string;
|
||||
japanese: string;
|
||||
simplifiedChinese: string;
|
||||
goodMorning: string;
|
||||
goodAfternoon: string;
|
||||
goodEvening: string;
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
import { AboutTranslations } from '../types/about';
|
||||
|
||||
export const aboutTranslations: AboutTranslations = {
|
||||
aboutCheckcle: "关于 Checkcle",
|
||||
systemDescription: "Checkcle 是一个开源监控平台,可提供有关服务器和服务健康状况的实时洞察、事件管理以及透明化运营。以 MIT 许可证发布。",
|
||||
systemVersion: "系统版本",
|
||||
license: "许可证",
|
||||
mitLicense: "MIT 许可证",
|
||||
links: "链接",
|
||||
viewOnGithub: "在 GitHub 上查看",
|
||||
viewDocumentation: "查看文档",
|
||||
followOnX: "在 X 上关注",
|
||||
joinDiscord: "加入 Discord",
|
||||
quickActions: "快速操作",
|
||||
quickActionsDescription: "快速访问常用的监控操作和功能。选择下面的操作开始。",
|
||||
quickTips: "快速提示",
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
import { CommonTranslations } from '../types/common';
|
||||
|
||||
export const commonTranslations: CommonTranslations = {
|
||||
welcome: "欢迎",
|
||||
logout: "注销",
|
||||
language: "语言",
|
||||
english: "English",
|
||||
khmer: "Khmer",
|
||||
german: "Deutsch",
|
||||
simplifiedChinese: "简体中文",
|
||||
goodMorning: "早上好",
|
||||
goodAfternoon: "下午好",
|
||||
goodEvening: "晚上好",
|
||||
profile: "个人资料",
|
||||
settings: "设置",
|
||||
documentation: "文档",
|
||||
notifications: "通知",
|
||||
close: "关闭",
|
||||
cancel: "取消",
|
||||
view: "查看",
|
||||
edit: "编辑",
|
||||
delete: "删除",
|
||||
status: "状态",
|
||||
time: "时间",
|
||||
title: "标题",
|
||||
description: "描述",
|
||||
success: "成功",
|
||||
error: "错误",
|
||||
};
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
import { IncidentTranslations } from '../types/incident';
|
||||
|
||||
export const incidentTranslations: IncidentTranslations = {
|
||||
incidentManagement: '事件管理',
|
||||
incidentsManagementDesc: '跟踪和管理服务事件及其解决方案',
|
||||
unresolvedIncidents: '未解决',
|
||||
resolvedIncidents: '已解决',
|
||||
activeIncidents: '活动事件',
|
||||
criticalIssues: '关键问题',
|
||||
avgResolutionTime: '平均解决时间',
|
||||
noIncidents: '没有活动事件',
|
||||
createIncident: '创建事件',
|
||||
investigating: '调查中',
|
||||
identified: '已识别',
|
||||
monitoring: '监控',
|
||||
resolved: '已解决',
|
||||
scheduleIncidentManagement: '计划与事件管理',
|
||||
incidentName: '事件名称',
|
||||
incidentStatus: '事件状态',
|
||||
highPriority: '高优先级',
|
||||
configurationSettings: '配置设置',
|
||||
incidentCreatedSuccess: '事件创建成功',
|
||||
basicInfo: '基本信息',
|
||||
serviceId: '服务 ID',
|
||||
assignedTo: '分配给',
|
||||
unassigned: '未分配',
|
||||
timeline: '时间线',
|
||||
incidentTime: '事件时间',
|
||||
resolutionTime: '解决时间',
|
||||
systems: '系统',
|
||||
noSystems: '没有受影响的系统',
|
||||
impactAnalysis: '影响分析',
|
||||
rootCause: '根本原因',
|
||||
resolutionSteps: '解决步骤',
|
||||
lessonsLearned: '经验',
|
||||
resolutionDetails: '解决详情',
|
||||
assignment: '分配',
|
||||
download: '下载',
|
||||
downloadPdf: '下载 PDF',
|
||||
print: '打印',
|
||||
confidentialNote: '此文档为机密文件,仅供内部使用。',
|
||||
generatedOn: '生成时间',
|
||||
enterResolutionSteps: '输入解决此事件的步骤',
|
||||
enterLessonsLearned: '输入从此事件中学到的经验',
|
||||
editIncident: '编辑事件',
|
||||
editIncidentDesc: '更新此事件的详细信息',
|
||||
updating: '更新中...',
|
||||
update: '更新',
|
||||
create: '创建',
|
||||
creating: '创建中...',
|
||||
configuration: '配置',
|
||||
failedToUpdateStatus: '更新状态失败',
|
||||
inProgress: '进行中',
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
import { Translations } from '../types';
|
||||
import { commonTranslations } from './common';
|
||||
import { menuTranslations } from './menu';
|
||||
import { loginTranslations } from './login';
|
||||
import { aboutTranslations } from './about';
|
||||
import { servicesTranslations } from './services';
|
||||
import { maintenanceTranslations } from './maintenance';
|
||||
import { incidentTranslations } from './incident';
|
||||
import { sslTranslations } from './ssl';
|
||||
import { settingsTranslations } from './settings';
|
||||
|
||||
const zhcnTranslations: Translations = {
|
||||
common: commonTranslations,
|
||||
menu: menuTranslations,
|
||||
login: loginTranslations,
|
||||
about: aboutTranslations,
|
||||
services: servicesTranslations,
|
||||
maintenance: maintenanceTranslations,
|
||||
incident: incidentTranslations,
|
||||
ssl: sslTranslations,
|
||||
settings: settingsTranslations
|
||||
};
|
||||
|
||||
export default zhcnTranslations;
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
import { LoginTranslations } from '../types/login';
|
||||
|
||||
export const loginTranslations: LoginTranslations = {
|
||||
signInToYourAccount: "登录您的账号",
|
||||
dontHaveAccount: "没有账号?",
|
||||
createOne: "创建一个",
|
||||
signInWithGoogle: "使用 Google 登录",
|
||||
orContinueWith: "或",
|
||||
email: "邮箱",
|
||||
password: "密码",
|
||||
forgot: "忘记密码?",
|
||||
signIn: "登录",
|
||||
signingIn: "登录中...",
|
||||
loginSuccessful: "登录成功",
|
||||
loginSuccessMessage: "您已成功登录。",
|
||||
loginFailed: "登录失败",
|
||||
authenticationFailed: "身份验证失败",
|
||||
bySigningIn: "通过登录,您同意我们的",
|
||||
termsAndConditions: "条款与条件",
|
||||
and: "和",
|
||||
privacyPolicy: "隐私政策",
|
||||
};
|
||||
@@ -0,0 +1,68 @@
|
||||
|
||||
import { MaintenanceTranslations } from '../types/maintenance';
|
||||
|
||||
export const maintenanceTranslations: MaintenanceTranslations = {
|
||||
scheduledMaintenance: '计划维护',
|
||||
scheduledMaintenanceDesc: '查看和管理您系统和服务的计划维护窗口',
|
||||
upcomingMaintenance: '即将',
|
||||
ongoingMaintenance: '进行中',
|
||||
completedMaintenance: '已完成',
|
||||
createMaintenanceWindow: '创建维护',
|
||||
totalScheduledHours: '总计划小时',
|
||||
maintenanceName: '维护名称',
|
||||
maintenanceStatus: '状态',
|
||||
scheduledStart: '计划开始时间',
|
||||
scheduledEnd: '计划结束时间',
|
||||
affectedServices: '受影响的服务',
|
||||
impact: '影响',
|
||||
minor: '次要',
|
||||
major: '主要',
|
||||
critical: '关键',
|
||||
none: '无',
|
||||
actions: '操作',
|
||||
scheduled: '计划',
|
||||
inprogress: '进行中',
|
||||
completed: '已完成',
|
||||
cancelled: '已取消',
|
||||
markAsInProgress: '标记为进行中',
|
||||
markAsCompleted: '标记为已完成',
|
||||
markAsCancelled: '标记为已取消',
|
||||
confirmDelete: '确认删除',
|
||||
deleteMaintenanceConfirmation: '您确定要删除此维护窗口吗?',
|
||||
thisActionCannotBeUndone: '此操作无法撤销。',
|
||||
maintenanceDeleted: '维护已删除',
|
||||
maintenanceDeletedDesc: '维护窗口已成功删除。',
|
||||
errorDeletingMaintenance: '删除维护窗口时出错。',
|
||||
statusUpdated: '状态更新',
|
||||
maintenanceStatusUpdated: '维护状态已成功更新。',
|
||||
errorUpdatingMaintenanceStatus: '更新维护状态时出错。',
|
||||
createMaintenance: '创建维护',
|
||||
createMaintenanceDesc: '为您的服务计划新的维护窗口',
|
||||
enterTitle: '输入维护标题',
|
||||
enterDescription: '输入详细的维护描述',
|
||||
startTime: '开始时间',
|
||||
endTime: '结束时间',
|
||||
selectDate: '选择日期',
|
||||
enterAffectedServices: '输入受影响的服务',
|
||||
separateServicesWithComma: '用逗号分隔多个服务',
|
||||
priority: '优先级',
|
||||
selectPriority: '选择优先级',
|
||||
selectStatus: '选择状态',
|
||||
selectImpact: '选择影响',
|
||||
notifySubscribers: '通知订阅者',
|
||||
notifySubscribersDesc: '当此维护开始时,向所有订阅者发送通知',
|
||||
maintenanceCreated: '创建维护',
|
||||
maintenanceCreatedDesc: '维护窗口已成功计划。',
|
||||
errorCreatingMaintenance: '创建维护窗口时出错。',
|
||||
errorFetchingMaintenanceData: '获取维护数据时出错。',
|
||||
low: '低',
|
||||
medium: '中',
|
||||
high: '高',
|
||||
created: '创建',
|
||||
lastUpdated: '最后更新',
|
||||
subscribersWillBeNotified: '订阅者将在维护开始时收到通知',
|
||||
noNotifications: '不会发送通知',
|
||||
noScheduledMaintenance: '没有计划的维护',
|
||||
noMaintenanceWindows: '没有此时间段的维护窗口。通过点击“创建维护”按钮创建一个。',
|
||||
maintenanceCreatedSuccess: '维护窗口创建成功',
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
import { MenuTranslations } from '../types/menu';
|
||||
|
||||
export const menuTranslations: MenuTranslations = {
|
||||
uptimeMonitoring: "Uptime 监控",
|
||||
instanceMonitoring: "实例监控",
|
||||
sslDomain: "SSL & 域名",
|
||||
scheduleIncident: "计划与事件",
|
||||
operationalPage: "运营页面",
|
||||
reports: "报告",
|
||||
regionalMonitoring: "区域监控",
|
||||
settingPanel: "设置面板",
|
||||
generalSettings: "一般设置",
|
||||
userManagement: "用户管理",
|
||||
notificationSettings: "通知设置",
|
||||
alertsTemplates: "警报模板",
|
||||
rolesManagement: "角色管理",
|
||||
dataRetention: "数据保留",
|
||||
backupSettings: "备份设置",
|
||||
aboutSystem: "关于系统",
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
import { ServicesTranslations } from '../types/services';
|
||||
|
||||
export const servicesTranslations: ServicesTranslations = {
|
||||
serviceName: "服务名称",
|
||||
serviceType: "服务类型",
|
||||
serviceStatus: "服务状态",
|
||||
responseTime: "响应时间",
|
||||
uptime: "Uptime",
|
||||
lastChecked: "最后检查时间",
|
||||
noServices: "没有符合您筛选条件的服务。",
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
import { SettingsTranslations } from '../types/settings';
|
||||
|
||||
export const settingsTranslations: SettingsTranslations = {
|
||||
// Tabs
|
||||
systemSettings: "系统设置",
|
||||
mailSettings: "邮件设置",
|
||||
|
||||
// System Settings
|
||||
appName: "应用名称",
|
||||
appURL: "应用 URL",
|
||||
senderName: "发送者名称",
|
||||
senderEmail: "发送者邮箱地址",
|
||||
hideControls: "隐藏控件",
|
||||
|
||||
// Mail Settings
|
||||
smtpSettings: "SMTP 配置",
|
||||
smtpEnabled: "启用 SMTP",
|
||||
smtpHost: "SMTP 主机",
|
||||
smtpPort: "SMTP 端口",
|
||||
smtpUsername: "SMTP 用户名",
|
||||
smtpPassword: "SMTP 密码",
|
||||
smtpAuthMethod: "认证方法",
|
||||
enableTLS: "启用 TLS",
|
||||
localName: "本地名称",
|
||||
|
||||
// Test Email
|
||||
testEmail: "测试邮箱",
|
||||
sendTestEmail: "发送测试邮箱",
|
||||
emailTemplate: "邮箱模板",
|
||||
verification: "验证",
|
||||
passwordReset: "密码重置",
|
||||
confirmEmailChange: "确认邮箱变更",
|
||||
otp: "OTP",
|
||||
loginAlert: "登录警报",
|
||||
authCollection: "认证集合",
|
||||
selectCollection: "选择集合",
|
||||
toEmailAddress: "收件人邮箱地址",
|
||||
enterEmailAddress: "输入收件人邮箱地址",
|
||||
sending: "发送中...",
|
||||
|
||||
// Actions and status
|
||||
save: "保存变更",
|
||||
saving: "保存中...",
|
||||
settingsUpdated: "设置已成功更新",
|
||||
errorSavingSettings: "保存设置时出错",
|
||||
errorFetchingSettings: "加载设置时出错",
|
||||
testConnection: "测试连接",
|
||||
testingConnection: "测试连接中...",
|
||||
connectionSuccess: "连接成功",
|
||||
connectionFailed: "连接失败"
|
||||
};
|
||||
@@ -0,0 +1,116 @@
|
||||
|
||||
import { SSLTranslations } from '../types/ssl';
|
||||
|
||||
export const sslTranslations: SSLTranslations = {
|
||||
// Page and section titles
|
||||
sslDomainManagement: "SSL & 域名管理",
|
||||
monitorSSLCertificates: "监控和管理您的域名的 SSL 证书",
|
||||
addSSLCertificate: "添加 SSL 证书",
|
||||
editSSLCertificate: "编辑 SSL 证书",
|
||||
deleteSSLCertificate: "删除 SSL 证书",
|
||||
sslCertificateDetails: "SSL 证书详情",
|
||||
detailedInfo: "关于",
|
||||
viewDetailedInformation: "查看详细信息",
|
||||
|
||||
// Status related
|
||||
valid: "有效",
|
||||
expiringSoon: "即将过期",
|
||||
expired: "已过期",
|
||||
pending: "待处理",
|
||||
|
||||
// Statistics and cards
|
||||
validCertificates: "有效证书",
|
||||
expiringSoonCertificates: "即将过期",
|
||||
expiredCertificates: "已过期",
|
||||
|
||||
// Form fields
|
||||
domain: "域",
|
||||
domainName: "域名",
|
||||
domainCannotChange: "域名创建后不能更改",
|
||||
warningThreshold: "警告阈值",
|
||||
warningThresholdDays: "警告阈值(天)",
|
||||
expiryThreshold: "过期阈值",
|
||||
expiryThresholdDays: "过期阈值(天)",
|
||||
notificationChannel: "通知渠道",
|
||||
chooseChannel: "选择通知渠道",
|
||||
whereToSend: "通知渠道",
|
||||
daysBeforeExpiration: "过期前警告天数",
|
||||
daysBeforeCritical: "过期前关键警告天数",
|
||||
getNotifiedExpiration: "获取证书即将过期的通知",
|
||||
getNotifiedCritical: "获取证书即将过期的关键通知",
|
||||
|
||||
// Table headers and fields
|
||||
issuer: "发行机构",
|
||||
expirationDate: "过期日期",
|
||||
daysLeft: "剩余天数",
|
||||
status: "状态",
|
||||
lastNotified: "最后通知时间",
|
||||
actions: "操作",
|
||||
validFrom: "有效从",
|
||||
validUntil: "有效至",
|
||||
validityDays: "有效期天数",
|
||||
validityPeriod: "有效期",
|
||||
organization: "组织",
|
||||
commonName: "通用名称",
|
||||
serialNumber: "序列号",
|
||||
algorithm: "算法",
|
||||
subjectAltNames: "主题备用名称",
|
||||
subjectAlternativeNames: "主题备用名称",
|
||||
resolvedIP: "解析 IP",
|
||||
issuedTo: "颁发给",
|
||||
days: "天",
|
||||
|
||||
// Buttons and actions
|
||||
addDomain: "添加域名",
|
||||
refreshAll: "刷新所有",
|
||||
cancel: "取消",
|
||||
addCertificate: "添加证书",
|
||||
check: "检查",
|
||||
view: "查看",
|
||||
edit: "编辑",
|
||||
delete: "删除",
|
||||
close: "关闭",
|
||||
saveChanges: "保存更改",
|
||||
updating: "更新中",
|
||||
|
||||
// Sections in detail view
|
||||
basicInformation: "基本信息",
|
||||
validity: "有效期",
|
||||
issuerInfo: "发行机构信息",
|
||||
technicalDetails: "技术详情",
|
||||
technicalInformation: "技术信息",
|
||||
monitoringConfig: "监控配置",
|
||||
monitoringConfiguration: "监控配置",
|
||||
recordInfo: "记录信息",
|
||||
certificateDetails: "证书详情",
|
||||
|
||||
// Notifications and messages
|
||||
sslCertificateAdded: "SSL 证书添加成功",
|
||||
sslCertificateUpdated: "SSL 证书更新成功",
|
||||
sslCertificateDeleted: "SSL 证书删除成功",
|
||||
sslCertificateRefreshed: "SSL 证书为 {domain} 刷新成功",
|
||||
allCertificatesRefreshed: "所有 {count} 证书刷新成功",
|
||||
someCertificatesFailed: "{success} 证书刷新成功,{failed} 失败",
|
||||
failedToAddCertificate: "添加 SSL 证书失败",
|
||||
failedToLoadCertificates: "加载 SSL 证书失败",
|
||||
failedToUpdateCertificate: "更新 SSL 证书失败",
|
||||
failedToDeleteCertificate: "删除 SSL 证书失败",
|
||||
failedToCheckCertificate: "检查 SSL 证书失败",
|
||||
noCertificatesToRefresh: "没有证书可刷新",
|
||||
startingRefreshAll: "开始刷新 {count} 证书",
|
||||
checkingSSLCertificate: "检查 SSL 证书...",
|
||||
deleteConfirmation: "确定要删除 {domain} 的证书吗?",
|
||||
deleteWarning: "此操作无法撤销。这将永久删除证书。",
|
||||
|
||||
// Misc
|
||||
unknown: "未知",
|
||||
never: "从不",
|
||||
none: "无",
|
||||
loadingChannels: "加载通知渠道...",
|
||||
noChannelsFound: "未找到通知渠道",
|
||||
noSSLCertificates: "未找到 SSL 证书",
|
||||
created: "创建时间",
|
||||
lastUpdated: "最后更新时间",
|
||||
lastNotification: "最后通知时间",
|
||||
collectionId: "集合 ID"
|
||||
};
|
||||
+7
-1
@@ -20,6 +20,12 @@
|
||||
<br/><strong>日本語</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="README_zhcn.md">
|
||||
<img src="https://flagcdn.com/24x18/cn.png" alt="Chinese" />
|
||||
<br/><strong>Chinese</strong>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -208,4 +214,4 @@ CheckCleはMITライセンスの下でリリースされています。
|
||||
|
||||
[](https://www.star-history.com/#operacle/checkcle&Date)
|
||||
|
||||
CheckCleで情報を把握し、オンラインを維持しましょう! 🌐
|
||||
CheckCleで情報を把握し、オンラインを維持しましょう! 🌐
|
||||
|
||||
@@ -20,6 +20,12 @@
|
||||
<br/><strong>Japanese</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="README_zhcn.md">
|
||||
<img src="https://flagcdn.com/24x18/cn.png" alt="Chinese" />
|
||||
<br/><strong>Chinese</strong>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -0,0 +1,185 @@
|
||||
## 🌐 选择语言
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="../README.md">
|
||||
<img src="https://flagcdn.com/24x18/gb.png" alt="English" />
|
||||
<br/><strong>English</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="README_km.md">
|
||||
<img src="https://flagcdn.com/24x18/kh.png" alt="Khmer" />
|
||||
<br/><strong>ខ្មែរ</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="README_ja.md">
|
||||
<img src="https://flagcdn.com/24x18/jp.png" alt="Japanese" />
|
||||
<br/><strong>Japanese</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="README_zhcn.md">
|
||||
<img src="https://flagcdn.com/24x18/cn.png" alt="Chinese" />
|
||||
<br/><strong>Chinese</strong>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p align="center">
|
||||
感谢所有的贡献者、用户和支持者,是你们让这个项目蓬勃发展。
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
🚀 <strong>敬请关注更多更新、功能和改进。</strong>
|
||||
</p>
|
||||
|
||||

|
||||
|
||||
# 🚀 CheckCle是什么??
|
||||
|
||||
CheckCle 是一款开源解决方案,用于对全栈系统、应用程序和基础设施进行无缝实时监控。它为开发人员、系统管理员和 DevOps 团队提供其环境各层(无论是服务器、应用程序还是服务)的深入洞察和可操作数据。借助 CheckCle,你可以在整个技术堆栈中获得可见性、控制权以及确保最佳性能的能力。
|
||||
|
||||
## 🎯 在线演示
|
||||
👉 **马上试试看:** [CheckCle Live Demo](https://demo.checkcle.io)
|
||||
用户名: admin@example.com | 密码: Admin123456
|
||||
|
||||
## 🌟 核心功能
|
||||
### 📝 开发路线图 : [DEVELOPMENT_ROADMAP](docs/DEVELOPMENT_ROADMAP.md)
|
||||
|
||||
### 服务可用性与基础设施/服务器监控
|
||||
- 监控 HTTP、DNS 和 Ping 协议
|
||||
- 监控基于 TCP 的服务与 API(如 FTP、SMTP、HTTP)
|
||||
- 跟踪详细的可用性(正常运行时间)、响应时间与性能问题
|
||||
- 分布式区域监控
|
||||
- 事件历史(UP / DOWN / WARNING / PAUSE:上线 / 下线 / 警告 / 暂停)
|
||||
- SSL 与域名监控(域名、签发者、到期日期、剩余天数、状态、上次通知)
|
||||
- 基础设施与服务器监控:支持 Linux(🐧Debian、Ubuntu、CentOS、Red Hat 等)与 Windows(Beta);提供 CPU、内存、磁盘使用、网络活动等服务器指标;一行命令安装的 Agent 脚本
|
||||
- 维护计划与事件管理
|
||||
- 运行状态 / 公共状态页
|
||||
- 通过电子邮件、Telegram、Discord 和 Slack 通知
|
||||
- 报告与分析
|
||||
- 设置面板(用户管理、数据保留、多语言、主题〔深色/浅色模式〕、通知渠道与告警模板)
|
||||
|
||||
## #️⃣ 入门指南
|
||||
|
||||
### 当前架构支持
|
||||
* ✅ x86_64 PC、笔记本电脑、服务器 (amd64)
|
||||
* ✅ 现代树莓派3/4/5(搭载64位操作系统)、Apple Silicon Macs (arm64)
|
||||
|
||||
### 使用以下方法之一安装 CheckCle :
|
||||
|
||||
1. 使用Docker Compose配置进行安装(推荐)
|
||||
```bash
|
||||
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
checkcle:
|
||||
image: operacle/checkcle:latest
|
||||
container_name: checkcle
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8090:8090" # Web 应用端口
|
||||
volumes:
|
||||
- /opt/pb_data:/mnt/pb_data # 将主机目录映射到容器路径
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 4096
|
||||
hard: 8192
|
||||
|
||||
```
|
||||
2. 使用 docker run 进行安装。只需复制下面的 docker run 命令
|
||||
```bash
|
||||
docker run -d \
|
||||
--name checkcle \
|
||||
--restart unless-stopped \
|
||||
-p 8090:8090 \
|
||||
-v /opt/pb_data:/mnt/pb_data \
|
||||
--ulimit nofile=4096:8192 \
|
||||
operacle/checkcle:latest
|
||||
|
||||
```
|
||||
|
||||
3. 网页管理
|
||||
|
||||
默认网址: http://0.0.0.0:8090
|
||||
用户名: admin@example.com
|
||||
密码: Admin123456
|
||||
|
||||
4. 遵循以下快速入门指南 https://docs.checkcle.io
|
||||
|
||||
###
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
## 🌟 面向社区的 CheckCle
|
||||
|
||||
- 以热忱打造:由一位开源爱好者为社区创建
|
||||
- 免费且开源:完全免费,无任何隐藏费用
|
||||
- 协作与连接:结识同样热爱开源的志同道合者
|
||||
|
||||
---
|
||||
|
||||
## 赞助商
|
||||
🙏 我们非常感谢我们的赞助商。你们的贡献使我们能够维护基础设施(托管、域名)、运行测试,并继续开发有价值的功能。
|
||||
|
||||
### 🥈 白银在线保障合作伙伴
|
||||
|
||||
<a href="https://github.com/michaelortnerit">
|
||||
<img src="https://avatars.githubusercontent.com/u/135371107?v=4" width="75" height="75" style="border-radius: 50%; display: block;" />
|
||||
</a>
|
||||
|
||||
### 🧡 支持者
|
||||
|
||||
<a href="https://github.com/samang-dauth">
|
||||
<img src="https://avatars.githubusercontent.com/u/4575656?v=4" width="75" height="75" style="border-radius: 50%; display: block;" />
|
||||
</a>
|
||||
|
||||
### 🤝 生态系统与社区合作伙伴
|
||||
<a href="https://github.com/gitbookio">
|
||||
<img src="https://avatars.githubusercontent.com/u/7111340?s=200&v=4"
|
||||
width="75" height="75"
|
||||
style="border-radius: 50%; display: block;" />
|
||||
</a>
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 👥 贡献者
|
||||
感谢你为让CheckCle变得更好所做出的贡献与持续努力,你太棒了 🫶
|
||||
|
||||
[](https://github.com/operacle/checkcle/graphs/contributors)
|
||||
|
||||
---
|
||||
|
||||
## 🤝 贡献方式
|
||||
|
||||
以下是你可以帮助改进 CheckCle 的一些方式:
|
||||
|
||||
- 🐞 **报告问题** – 发现故障/异常?请在提交 [GitHub Issue](https://github.com/operacle/checkcle/issues) 告诉我们。
|
||||
- 🌟 **建议功能** – 有个点子?发起 [Discussion](https://github.com/operacle/checkcle/discussions) 讨论,或提交一个功能请求 [Feature Request Issue](https://github.com/operacle/checkcle/issues)。
|
||||
- 🛠 **提交 Pull Request** – 改进代码、修复缺陷、添加功能,或完善文档。
|
||||
- 📝 **改善文档** – 就算是修正一个错别字也很有帮助!
|
||||
- 🌍 **传播项目** – 给 [CheckCle](https://github.com/operacle/checkcle.git) 仓库点个 Star ⭐,在社交平台分享,并邀请更多人参与贡献!
|
||||
|
||||
---
|
||||
|
||||
## 🌍 联系我们
|
||||
- 网站: [checkcle.io](https://checkcle.io)
|
||||
- 文档: [docs.checkcle.io](https://docs.checkcle.io) | 非常感谢 [GitBook](https://github.com/gitbookio) 赞助 CheckCle 的开源站点计划(OSS Site Plan)!
|
||||
- 在 Discord 上聊天: 加入我们的 [@discord](https://discord.gg/xs9gbubGwX) 频道
|
||||
- 在 X 上关注我们: [@checkcle_oss](https://x.com/checkcle_oss)
|
||||
|
||||
## 📜 许可证
|
||||
|
||||
CheckCle 遵循 MIT 许可证发布。
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user