add support for zh_cn

This commit is contained in:
jiuhao47
2025-06-30 20:52:49 +08:00
parent 5d0777f67c
commit 39e09bedd3
69 changed files with 1498 additions and 2 deletions

View File

@@ -12,7 +12,7 @@ CREATE TYPE DEPENDENCY_TYPE AS ENUM ('blocked_by');
CREATE TYPE SCHEDULE_TYPE AS ENUM ('daily', 'weekly', 'yearly', 'monthly', 'every_x_days', 'every_x_weeks', 'every_x_months');
CREATE TYPE LANGUAGE_TYPE AS ENUM ('en', 'es', 'pt', 'alb', 'de');
CREATE TYPE LANGUAGE_TYPE AS ENUM ('en', 'es', 'pt', 'alb', 'de', 'zh_cn');
-- START: Users
CREATE SEQUENCE IF NOT EXISTS users_user_no_seq START 1;

View File

@@ -0,0 +1,4 @@
{
"doesNotExistText": "抱歉,您访问的页面不存在。",
"backHomeButton": "返回首页"
}

View File

@@ -0,0 +1,27 @@
{
"continue": "继续",
"setupYourAccount": "设置您的Worklenz账户。",
"organizationStepTitle": "命名您的组织",
"organizationStepLabel": "为您的Worklenz账户选择一个名称。",
"projectStepTitle": "创建您的第一个项目",
"projectStepLabel": "您现在正在做什么项目?",
"projectStepPlaceholder": "例如:营销计划",
"tasksStepTitle": "创建您的第一个任务",
"tasksStepLabel": "输入您将在其中完成的几个任务",
"tasksStepAddAnother": "添加另一个",
"emailPlaceholder": "电子邮件地址",
"invalidEmail": "请输入有效的电子邮件地址",
"or": "或",
"templateButton": "从模板导入",
"goBack": "返回",
"cancel": "取消",
"create": "创建",
"templateDrawerTitle": "从模板中选择",
"step3InputLabel": "通过电子邮件邀请",
"addAnother": "添加另一个",
"skipForNow": "暂时跳过",
"formTitle": "创建您的第一个任务。",
"step3Title": "邀请您的团队一起工作",
"maxMembers": "您最多可以邀请5名成员",
"maxTasks": "您最多可以创建5个任务"
}

View File

@@ -0,0 +1,96 @@
{
"title": "账单",
"currentBill": "当前账单",
"configuration": "配置",
"currentPlanDetails": "当前计划详情",
"upgradePlan": "升级计划",
"cardBodyText01": "免费试用",
"cardBodyText02": "您的试用计划将在1个月19天后到期",
"redeemCode": "兑换码",
"accountStorage": "账户存储",
"used": "已用:",
"remaining": "剩余:",
"charges": "费用",
"tooltip": "当前账单周期的费用",
"description": "描述",
"billingPeriod": "账单周期",
"billStatus": "账单状态",
"perUserValue": "每用户费用",
"users": "用户",
"amount": "金额",
"invoices": "发票",
"transactionId": "交易ID",
"transactionDate": "交易日期",
"paymentMethod": "支付方式",
"status": "状态",
"ltdUsers": "您最多可以添加{{ltd_users}}名用户。",
"totalSeats": "总席位",
"availableSeats": "可用席位",
"addMoreSeats": "添加更多席位",
"drawerTitle": "兑换码",
"label": "兑换码",
"drawerPlaceholder": "输入您的兑换码",
"redeemSubmit": "提交",
"modalTitle": "为您的团队选择最佳计划",
"seatLabel": "席位数量",
"freePlan": "免费计划",
"startup": "初创",
"business": "商业",
"tag": "最受欢迎",
"enterprise": "企业",
"freeSubtitle": "永远免费",
"freeUsers": "最适合个人使用",
"freeText01": "100MB存储",
"freeText02": "3个项目",
"freeText03": "5名团队成员",
"startupSubtitle": "固定费率/月",
"startupUsers": "最多15名用户",
"startupText01": "25GB存储",
"startupText02": "无限活跃项目",
"startupText03": "日程",
"startupText04": "报告",
"startupText05": "订阅项目",
"businessSubtitle": "每用户/月",
"businessUsers": "16 - 200名用户",
"enterpriseUsers": "200 - 500+名用户",
"footerTitle": "请提供一个我们可以联系您的电话号码。",
"footerLabel": "联系电话",
"footerButton": "联系我们",
"redeemCodePlaceHolder": "输入您的兑换码",
"submit": "提交",
"trialPlan": "免费试用",
"trialExpireDate": "有效期至{{trial_expire_date}}",
"trialExpired": "您的免费试用已于{{trial_expire_string}}到期",
"trialInProgress": "您的免费试用将在{{trial_expire_string}}到期",
"required": "此字段为必填项",
"invalidCode": "无效的代码",
"selectPlan": "为您的团队选择最佳计划",
"changeSubscriptionPlan": "更改您的订阅计划",
"noOfSeats": "席位数量",
"annualPlan": "专业 - 年度",
"monthlyPlan": "专业 - 月度",
"freeForever": "永远免费",
"bestForPersonalUse": "最适合个人使用",
"storage": "存储",
"projects": "项目",
"teamMembers": "团队成员",
"unlimitedTeamMembers": "无限团队成员",
"unlimitedActiveProjects": "无限活跃项目",
"schedule": "日程",
"reporting": "报告",
"subscribeToProjects": "订阅项目",
"billedAnnually": "按年计费",
"billedMonthly": "按月计费",
"pausePlan": "暂停计划",
"resumePlan": "恢复计划",
"changePlan": "更改计划",
"cancelPlan": "取消计划",
"perMonthPerUser": "每用户/月",
"viewInvoice": "查看发票",
"switchToFreePlan": "切换到免费计划",
"expirestoday": "今天",
"expirestomorrow": "明天",
"expiredDaysAgo": "{{days}}天前",
"continueWith": "继续使用{{plan}}",
"changeToPlan": "更改为{{plan}}"
}

View File

@@ -0,0 +1,8 @@
{
"overview": "概览",
"name": "组织名称",
"owner": "组织所有者",
"admins": "组织管理员",
"contactNumber": "添加联系电话",
"edit": "编辑"
}

View File

@@ -0,0 +1,12 @@
{
"membersCount": "成员数量",
"createdAt": "创建于",
"projectName": "项目名称",
"teamName": "团队名称",
"refreshProjects": "刷新项目",
"searchPlaceholder": "按项目名称搜索",
"deleteProject": "您确定要删除此项目吗?",
"confirm": "确认",
"cancel": "取消",
"delete": "删除项目"
}

View File

@@ -0,0 +1,8 @@
{
"overview": "概览",
"users": "用户",
"teams": "团队",
"billing": "账单",
"projects": "项目",
"adminCenter": "管理中心"
}

View File

@@ -0,0 +1,33 @@
{
"title": "团队",
"subtitle": "团队",
"tooltip": "刷新团队",
"placeholder": "按名称搜索",
"addTeam": "添加团队",
"team": "团队",
"membersCount": "成员数量",
"members": "成员",
"drawerTitle": "创建新团队",
"label": "团队名称",
"drawerPlaceholder": "名称",
"create": "创建",
"delete": "删除",
"settings": "设置",
"popTitle": "您确定吗?",
"message": "请输入名称",
"teamSettings": "团队设置",
"teamName": "团队名称",
"teamDescription": "团队描述",
"teamMembers": "团队成员",
"teamMembersCount": "团队成员数量",
"teamMembersPlaceholder": "按名称搜索",
"addMember": "添加成员",
"add": "添加",
"update": "更新",
"teamNamePlaceholder": "团队名称",
"user": "用户",
"role": "角色",
"owner": "所有者",
"admin": "管理员",
"member": "成员"
}

View File

@@ -0,0 +1,9 @@
{
"title": "用户",
"subTitle": "用户",
"placeholder": "按名称搜索",
"user": "用户",
"email": "电子邮件",
"lastActivity": "最后活动",
"refresh": "刷新用户"
}

View File

@@ -0,0 +1,23 @@
{
"name": "名称",
"client": "客户",
"category": "类别",
"status": "状态",
"tasksProgress": "任务进度",
"updated_at": "最后更新",
"members": "成员",
"setting": "设置",
"projects": "项目",
"refreshProjects": "刷新项目",
"all": "全部",
"favorites": "收藏",
"archived": "已归档",
"placeholder": "按名称搜索",
"archive": "归档",
"unarchive": "取消归档",
"archiveConfirm": "您确定要归档此项目吗?",
"unarchiveConfirm": "您确定要取消归档此项目吗?",
"clickToFilter": "点击以筛选",
"noProjects": "未找到项目",
"addToFavourites": "添加到收藏"
}

View File

@@ -0,0 +1,5 @@
{
"loggingOut": "正在登出...",
"authenticating": "正在认证...",
"gettingThingsReady": "正在为您准备..."
}

View File

@@ -0,0 +1,12 @@
{
"headerDescription": "重置您的密码",
"emailLabel": "电子邮件",
"emailPlaceholder": "输入您的电子邮件",
"emailRequired": "请输入您的电子邮件!",
"resetPasswordButton": "重置密码",
"returnToLoginButton": "返回登录",
"passwordResetSuccessMessage": "密码重置链接已发送到您的电子邮件。",
"orText": "或",
"successTitle": "重置指令已发送!",
"successMessage": "重置信息已发送到您的电子邮件。请检查您的电子邮件。"
}

View File

@@ -0,0 +1,27 @@
{
"headerDescription": "登录到您的账户",
"emailLabel": "电子邮件",
"emailPlaceholder": "输入您的电子邮件",
"emailRequired": "请输入您的电子邮件!",
"passwordLabel": "密码",
"passwordPlaceholder": "输入您的密码",
"passwordRequired": "请输入您的密码!",
"rememberMe": "记住我",
"loginButton": "登录",
"signupButton": "注册",
"forgotPasswordButton": "忘记密码?",
"signInWithGoogleButton": "使用Google登录",
"dontHaveAccountText": "没有账户?",
"orText": "或",
"successMessage": "您已成功登录!",
"loginError": "登录失败",
"googleLoginError": "Google登录失败",
"validationMessages": {
"email": "请输入有效的电子邮件地址",
"password": "密码必须至少包含8个字符"
},
"errorMessages": {
"loginErrorTitle": "登录失败",
"loginErrorMessage": "请检查您的电子邮件和密码并重试"
}
}

View File

@@ -0,0 +1,29 @@
{
"headerDescription": "注册以开始使用",
"nameLabel": "全名",
"namePlaceholder": "输入您的全名",
"nameRequired": "请输入您的全名!",
"nameMinCharacterRequired": "全名必须至少包含4个字符",
"emailLabel": "电子邮件",
"emailPlaceholder": "输入您的电子邮件",
"emailRequired": "请输入您的电子邮件!",
"passwordLabel": "密码",
"passwordPlaceholder": "输入您的密码",
"passwordRequired": "请输入您的密码!",
"passwordMinCharacterRequired": "密码必须至少包含8个字符",
"passwordPatternRequired": "密码不符合要求!",
"strongPasswordPlaceholder": "输入更强的密码",
"passwordValidationAltText": "密码必须至少包含8个字符包括大小写字母、一个数字和一个符号。",
"signupSuccessMessage": "您已成功注册!",
"privacyPolicyLink": "隐私政策",
"termsOfUseLink": "使用条款",
"bySigningUpText": "通过注册,您同意我们的",
"andText": "和",
"signupButton": "注册",
"signInWithGoogleButton": "使用Google登录",
"alreadyHaveAccountText": "已经有账户了?",
"loginButton": "登录",
"orText": "或",
"reCAPTCHAVerificationError": "reCAPTCHA验证错误",
"reCAPTCHAVerificationErrorMessage": "我们无法验证您的reCAPTCHA。请重试。"
}

View File

@@ -0,0 +1,14 @@
{
"title": "验证重置电子邮件",
"description": "输入您的新密码",
"placeholder": "输入您的新密码",
"confirmPasswordPlaceholder": "确认您的新密码",
"passwordHint": "至少8个字符包括大小写字母、一个数字和一个符号。",
"resetPasswordButton": "重置密码",
"orText": "或",
"resendResetEmail": "重新发送重置电子邮件",
"passwordRequired": "请输入您的新密码",
"returnToLoginButton": "返回登录",
"confirmPasswordRequired": "请确认您的新密码",
"passwordMismatch": "两次输入的密码不匹配"
}

View File

@@ -0,0 +1,9 @@
{
"login-success": "登录成功!",
"login-failed": "登录失败。请检查您的凭据并重试。",
"signup-success": "注册成功!欢迎加入。",
"signup-failed": "注册失败。请确保填写所有必填字段并重试。",
"reconnecting": "与服务器断开连接。",
"connection-lost": "无法连接到服务器。请检查您的互联网连接。",
"connection-restored": "成功连接到服务器"
}

View File

@@ -0,0 +1,13 @@
{
"formTitle": "创建您的第一个项目",
"inputLabel": "您现在正在做什么项目?",
"or": "或",
"templateButton": "从模板导入",
"createFromTemplate": "从模板创建",
"goBack": "返回",
"continue": "继续",
"cancel": "取消",
"create": "创建",
"templateDrawerTitle": "从模板中选择",
"createProject": "创建项目"
}

View File

@@ -0,0 +1,7 @@
{
"formTitle": "创建您的第一个任务。",
"inputLable": "输入您将在其中完成的几个任务",
"addAnother": "添加另一个",
"goBack": "返回",
"continue": "继续"
}

View File

@@ -0,0 +1,46 @@
{
"todoList": {
"title": "待办事项列表",
"refreshTasks": "刷新任务",
"addTask": "+ 添加任务",
"noTasks": "没有任务",
"pressEnter": "按",
"toCreate": "创建。",
"markAsDone": "标记为完成"
},
"projects": {
"title": "项目",
"refreshProjects": "刷新项目",
"noRecentProjects": "您当前未被分配到任何项目。",
"noFavouriteProjects": "没有项目被标记为收藏。",
"recent": "最近",
"favourites": "收藏"
},
"tasks": {
"assignedToMe": "分配给我",
"assignedByMe": "由我分配",
"all": "全部",
"today": "今天",
"upcoming": "即将到来",
"overdue": "逾期",
"noDueDate": "没有截止日期",
"noTasks": "没有任务可显示。",
"addTask": "+ 添加任务",
"name": "名称",
"project": "项目",
"status": "状态",
"dueDate": "截止日期",
"dueDatePlaceholder": "设置截止日期",
"tomorrow": "明天",
"nextWeek": "下周",
"nextMonth": "下个月",
"projectRequired": "请选择一个项目",
"pressTabToSelectDueDateAndProject": "按Tab键选择截止日期和项目",
"dueOn": "任务截止于",
"taskRequired": "请添加一个任务",
"list": "列表",
"calendar": "日历",
"tasks": "任务",
"refresh": "刷新"
}
}

View File

@@ -0,0 +1,8 @@
{
"formTitle": "邀请您的团队一起工作",
"inputLable": "通过电子邮件邀请",
"addAnother": "添加另一个",
"goBack": "返回",
"continue": "继续",
"skipForNow": "暂时跳过"
}

View File

@@ -0,0 +1,19 @@
{
"rename": "重命名",
"delete": "删除",
"addTask": "添加任务",
"addSectionButton": "添加部分",
"changeCategory": "更改类别",
"deleteTooltip": "删除",
"deleteConfirmationTitle": "您确定吗?",
"deleteConfirmationOk": "是",
"deleteConfirmationCancel": "取消",
"dueDate": "截止日期",
"cancel": "取消",
"today": "今天",
"tomorrow": "明天",
"assignToMe": "分配给我",
"archive": "归档",
"newTaskNamePlaceholder": "写一个任务名称",
"newSubtaskNamePlaceholder": "写一个子任务名称"
}

View File

@@ -0,0 +1,6 @@
{
"title": "您的Worklenz试用已过期",
"subtitle": "请立即升级。",
"button": "立即升级",
"checking": "正在检查订阅状态..."
}

View File

@@ -0,0 +1,31 @@
{
"logoAlt": "Worklenz Logo",
"home": "首页",
"projects": "项目",
"schedule": "日程",
"reporting": "报告",
"clients": "客户",
"teams": "团队",
"labels": "标签",
"jobTitles": "职位",
"upgradePlan": "升级计划",
"upgradePlanTooltip": "升级计划",
"invite": "邀请",
"inviteTooltip": "邀请团队成员加入",
"switchTeamTooltip": "切换团队",
"help": "帮助",
"notificationTooltip": "查看通知",
"profileTooltip": "查看个人资料",
"adminCenter": "管理中心",
"settings": "设置",
"logOut": "登出",
"notificationsDrawer": {
"read": "已读通知",
"unread": "未读通知",
"markAsRead": "标记为已读",
"readAndJoin": "阅读并加入",
"accept": "接受",
"acceptAndJoin": "接受并加入",
"noNotifications": "没有通知"
}
}

View File

@@ -0,0 +1,5 @@
{
"nameYourOrganization": "命名您的组织。",
"worklenzAccountTitle": "为您的Worklenz账户选择一个名称。",
"continue": "继续"
}

View File

@@ -0,0 +1,7 @@
{
"configurePhases": "配置阶段",
"phaseLabel": "阶段标签",
"enterPhaseName": "输入阶段标签名称",
"addOption": "添加选项",
"phaseOptions": "阶段选项:"
}

View File

@@ -0,0 +1,42 @@
{
"createProject": "创建项目",
"editProject": "编辑项目",
"enterCategoryName": "输入类别名称",
"hitEnterToCreate": "按回车键创建!",
"enterNotes": "备注",
"youCanManageClientsUnderSettings": "您可以在设置中管理客户",
"addCategory": "向项目添加类别",
"newCategory": "新类别",
"notes": "备注",
"startDate": "开始日期",
"endDate": "结束日期",
"estimateWorkingDays": "估算工作日",
"estimateManDays": "估算人天",
"hoursPerDay": "每天小时数",
"create": "创建",
"update": "更新",
"delete": "删除",
"typeToSearchClients": "输入以搜索客户",
"projectColor": "项目颜色",
"pleaseEnterAName": "请输入名称",
"enterProjectName": "输入项目名称",
"name": "名称",
"status": "状态",
"health": "健康状况",
"category": "类别",
"projectManager": "项目经理",
"client": "客户",
"deleteConfirmation": "您确定要删除吗?",
"deleteConfirmationDescription": "这将删除所有相关数据且无法撤销。",
"yes": "是",
"no": "否",
"createdAt": "创建于",
"updatedAt": "更新于",
"by": "由",
"add": "添加",
"asClient": "作为客户",
"createClient": "创建客户",
"searchInputPlaceholder": "按名称或电子邮件搜索",
"hoursPerDayValidationMessage": "每天小时数必须是1到24之间的数字",
"noPermission": "无权限"
}

View File

@@ -0,0 +1,14 @@
{
"nameColumn": "名称",
"attachedTaskColumn": "附加任务",
"sizeColumn": "大小",
"uploadedByColumn": "上传者",
"uploadedAtColumn": "上传时间",
"fileIconAlt": "文件图标",
"titleDescriptionText": "此项目中任务的所有附件将显示在这里。",
"deleteConfirmationTitle": "您确定吗?",
"deleteConfirmationOk": "是",
"deleteConfirmationCancel": "取消",
"segmentedTooltip": "即将推出!在列表视图和缩略图视图之间切换。",
"emptyText": "项目中没有附件。"
}

View File

@@ -0,0 +1,41 @@
{
"overview": {
"title": "概览",
"statusOverview": "状态概览",
"priorityOverview": "优先级概览",
"lastUpdatedTasks": "最近更新的任务"
},
"members": {
"title": "成员",
"tooltip": "成员",
"tasksByMembers": "按成员分类任务",
"tasksByMembersTooltip": "按成员分类任务",
"name": "名称",
"taskCount": "任务计数",
"contribution": "贡献",
"completed": "已完成",
"incomplete": "未完成",
"overdue": "逾期",
"progress": "进度"
},
"tasks": {
"overdueTasks": "逾期任务",
"overLoggedTasks": "超额记录任务",
"tasksCompletedEarly": "提前完成的任务",
"tasksCompletedLate": "延迟完成的任务",
"overLoggedTasksTooltip": "记录时间超过预计时间的任务",
"overdueTasksTooltip": "超过截止日期的任务"
},
"common": {
"seeAll": "查看全部",
"totalLoggedHours": "总记录小时数",
"totalEstimation": "总估算",
"completedTasks": "已完成任务",
"incompleteTasks": "未完成任务",
"overdueTasks": "逾期任务",
"overdueTasksTooltip": "超过截止日期的任务",
"totalLoggedHoursTooltip": "任务估算和任务记录时间。",
"includeArchivedTasks": "包含已归档任务",
"export": "导出"
}
}

View File

@@ -0,0 +1,17 @@
{
"nameColumn": "名称",
"jobTitleColumn": "职位",
"emailColumn": "电子邮件",
"tasksColumn": "任务",
"taskProgressColumn": "任务进度",
"accessColumn": "访问权限",
"fileIconAlt": "文件图标",
"deleteConfirmationTitle": "您确定吗?",
"deleteConfirmationOk": "是",
"deleteConfirmationCancel": "取消",
"refreshButtonTooltip": "刷新成员",
"deleteButtonTooltip": "从项目中移除",
"memberCount": "成员",
"membersCountPlural": "成员",
"emptyText": "项目中没有附件。"
}

View File

@@ -0,0 +1,6 @@
{
"inputPlaceholder": "添加评论",
"addButton": "添加",
"cancelButton": "取消",
"deleteButton": "删除"
}

View File

@@ -0,0 +1,11 @@
{
"importTaskTemplate": "导入任务模板",
"templateName": "模板名称",
"templateDescription": "模板描述",
"selectedTasks": "已选任务",
"tasks": "任务",
"templates": "模板",
"remove": "移除",
"cancel": "取消",
"import": "导入"
}

View File

@@ -0,0 +1,7 @@
{
"title": "项目成员",
"searchLabel": "通过添加名称或电子邮件添加成员",
"searchPlaceholder": "输入名称或电子邮件",
"inviteAsAMember": "邀请为成员",
"inviteNewMemberByEmail": "通过电子邮件邀请新成员"
}

View File

@@ -0,0 +1,13 @@
{
"importTasks": "导入任务",
"createTask": "创建任务",
"settings": "设置",
"subscribe": "订阅",
"unsubscribe": "取消订阅",
"deleteProject": "删除项目",
"startDate": "开始日期",
"endDate": "结束日期",
"projectSettings": "项目设置",
"projectSummary": "项目摘要",
"receiveProjectSummary": "每晚接收项目摘要。"
}

View File

@@ -0,0 +1,27 @@
{
"title": "保存为模板",
"templateName": "模板名称",
"includes": "项目中应包含哪些内容到模板中?",
"includesOptions": {
"statuses": "状态",
"phases": "阶段",
"labels": "标签"
},
"taskIncludes": "任务中应包含哪些内容到模板中?",
"taskIncludesOptions": {
"statuses": "状态",
"phases": "阶段",
"labels": "标签",
"name": "名称",
"priority": "优先级",
"status": "状态",
"phase": "阶段",
"label": "标签",
"timeEstimate": "预计用时",
"description": "描述",
"subTasks": "子任务"
},
"cancel": "取消",
"save": "保存",
"templateNamePlaceholder": "输入模板名称"
}

View File

@@ -0,0 +1,76 @@
{
"exportButton": "导出",
"timeLogsButton": "时间日志",
"activityLogsButton": "活动日志",
"tasksButton": "任务",
"searchByNameInputPlaceholder": "按名称搜索",
"overviewTab": "概览",
"timeLogsTab": "时间日志",
"activityLogsTab": "活动日志",
"tasksTab": "任务",
"projectsText": "项目",
"totalTasksText": "任务总数",
"assignedTasksText": "已分配任务",
"completedTasksText": "已完成任务",
"ongoingTasksText": "进行中任务",
"overdueTasksText": "逾期任务",
"loggedHoursText": "记录小时数",
"tasksText": "任务",
"allText": "全部",
"tasksByProjectsText": "按项目分类任务",
"tasksByStatusText": "按状态分类任务",
"tasksByPriorityText": "按优先级分类任务",
"todoText": "待办",
"doingText": "进行中",
"doneText": "已完成",
"lowText": "低",
"mediumText": "中",
"highText": "高",
"billableButton": "可计费",
"billableText": "可计费",
"nonBillableText": "不可计费",
"timeLogsEmptyPlaceholder": "没有时间日志可显示",
"loggedText": "记录",
"forText": "为",
"inText": "在",
"updatedText": "更新",
"fromText": "从",
"toText": "到",
"withinText": "在...之内",
"activityLogsEmptyPlaceholder": "没有活动日志可显示",
"filterByText": "筛选依据:",
"selectProjectPlaceholder": "选择项目",
"taskColumn": "任务",
"nameColumn": "名称",
"projectColumn": "项目",
"statusColumn": "状态",
"priorityColumn": "优先级",
"dueDateColumn": "截止日期",
"completedDateColumn": "完成日期",
"estimatedTimeColumn": "预计用时",
"loggedTimeColumn": "记录时间",
"overloggedTimeColumn": "超额记录时间",
"daysLeftColumn": "剩余天数/逾期",
"startDateColumn": "开始日期",
"endDateColumn": "结束日期",
"actualTimeColumn": "实际时间",
"projectHealthColumn": "项目健康状况",
"categoryColumn": "类别",
"projectManagerColumn": "项目经理",
"tasksStatsOverviewDrawerTitle": "的任务",
"projectsStatsOverviewDrawerTitle": "的项目",
"cancelledText": "已取消",
"blockedText": "已阻塞",
"onHoldText": "暂停",
"proposedText": "提议",
"inPlanningText": "规划中",
"inProgressText": "进行中",
"completedText": "已完成",
"continuousText": "持续",
"daysLeftText": "天剩余",
"daysOverdueText": "天逾期",
"notSetText": "未设置",
"needsAttentionText": "需要关注",
"atRiskText": "有风险",
"goodText": "良好"
}

View File

@@ -0,0 +1,31 @@
{
"yesterdayText": "昨天",
"lastSevenDaysText": "过去7天",
"lastWeekText": "上周",
"lastThirtyDaysText": "过去30天",
"lastMonthText": "上个月",
"lastThreeMonthsText": "过去3个月",
"allTimeText": "所有时间",
"customRangeText": "自定义范围",
"startDateInputPlaceholder": "开始日期",
"EndDateInputPlaceholder": "结束日期",
"filterButton": "筛选",
"membersTitle": "成员",
"includeArchivedButton": "包含已归档项目",
"exportButton": "导出",
"excelButton": "Excel",
"searchByNameInputPlaceholder": "按名称搜索",
"memberColumn": "成员",
"tasksProgressColumn": "任务进度",
"tasksAssignedColumn": "分配任务",
"completedTasksColumn": "已完成任务",
"overdueTasksColumn": "逾期任务",
"ongoingTasksColumn": "进行中任务",
"tasksAssignedColumnTooltip": "在选定日期范围内分配的任务",
"overdueTasksColumnTooltip": "在选定日期范围结束时逾期的任务",
"completedTasksColumnTooltip": "在选定日期范围内完成的任务",
"ongoingTasksColumnTooltip": "已开始但尚未完成的任务",
"todoText": "待办",
"doingText": "进行中",
"doneText": "已完成"
}

View File

@@ -0,0 +1,33 @@
{
"exportButton": "导出",
"projectsButton": "项目",
"membersButton": "成员",
"searchByNameInputPlaceholder": "按名称搜索",
"overviewTab": "概览",
"projectsTab": "项目",
"membersTab": "成员",
"projectsByStatusText": "按状态分类项目",
"projectsByCategoryText": "按类别分类项目",
"projectsByHealthText": "按健康状况分类项目",
"projectsText": "项目",
"allText": "全部",
"cancelledText": "已取消",
"blockedText": "已阻塞",
"onHoldText": "暂停",
"proposedText": "提议",
"inPlanningText": "规划中",
"inProgressText": "进行中",
"completedText": "已完成",
"continuousText": "持续",
"notSetText": "未设置",
"needsAttentionText": "需要关注",
"atRiskText": "有风险",
"goodText": "良好",
"nameColumn": "名称",
"emailColumn": "电子邮件",
"projectsColumn": "项目",
"tasksColumn": "任务",
"overdueTasksColumn": "逾期任务",
"completedTasksColumn": "已完成任务",
"ongoingTasksColumn": "进行中任务"
}

View File

@@ -0,0 +1,22 @@
{
"overviewTitle": "概览",
"includeArchivedButton": "包含已归档项目",
"teamCount": "团队",
"teamCountPlural": "团队",
"projectCount": "项目",
"projectCountPlural": "项目",
"memberCount": "成员",
"memberCountPlural": "成员",
"activeProjectCount": "活跃项目",
"activeProjectCountPlural": "活跃项目",
"overdueProjectCount": "逾期项目",
"overdueProjectCountPlural": "逾期项目",
"unassignedMemberCount": "未分配成员",
"unassignedMemberCountPlural": "未分配成员",
"memberWithOverdueTaskCount": "有逾期任务的成员",
"memberWithOverdueTaskCountPlural": "有逾期任务的成员",
"teamsText": "团队",
"nameColumn": "名称",
"projectsColumn": "项目",
"membersColumn": "成员"
}

View File

@@ -0,0 +1,52 @@
{
"exportButton": "导出",
"membersButton": "成员",
"tasksButton": "任务",
"searchByNameInputPlaceholder": "按名称搜索",
"overviewTab": "概览",
"membersTab": "成员",
"tasksTab": "任务",
"completedTasksText": "已完成任务",
"incompleteTasksText": "未完成任务",
"overdueTasksText": "逾期任务",
"allocatedHoursText": "已分配小时数",
"loggedHoursText": "已记录小时数",
"tasksText": "任务",
"allText": "全部",
"tasksByStatusText": "按状态分类任务",
"tasksByPriorityText": "按优先级分类任务",
"tasksByDueDateText": "按截止日期分类任务",
"todoText": "待办",
"doingText": "进行中",
"doneText": "已完成",
"lowText": "低",
"mediumText": "中",
"highText": "高",
"completedText": "已完成",
"upcomingText": "即将到来",
"overdueText": "逾期",
"noDueDateText": "无截止日期",
"nameColumn": "名称",
"tasksCountColumn": "任务计数",
"completedTasksColumn": "已完成任务",
"incompleteTasksColumn": "未完成任务",
"overdueTasksColumn": "逾期任务",
"contributionColumn": "贡献",
"progressColumn": "进度",
"loggedTimeColumn": "记录时间",
"taskColumn": "任务",
"projectColumn": "项目",
"statusColumn": "状态",
"priorityColumn": "优先级",
"phaseColumn": "阶段",
"dueDateColumn": "截止日期",
"completedDateColumn": "完成日期",
"estimatedTimeColumn": "预计用时",
"overloggedTimeColumn": "超额记录时间",
"completedOnColumn": "完成于",
"daysOverdueColumn": "逾期天数",
"groupByText": "分组依据:",
"statusText": "状态",
"priorityText": "优先级",
"phaseText": "阶段"
}

View File

@@ -0,0 +1,31 @@
{
"searchByNamePlaceholder": "按名称搜索",
"searchByCategoryPlaceholder": "按类别搜索",
"statusText": "状态",
"healthText": "健康状况",
"categoryText": "类别",
"projectManagerText": "项目经理",
"showFieldsText": "显示字段",
"cancelledText": "已取消",
"blockedText": "已阻塞",
"onHoldText": "暂停",
"proposedText": "提议",
"inPlanningText": "规划中",
"inProgressText": "进行中",
"completedText": "已完成",
"continuousText": "持续",
"notSetText": "未设置",
"needsAttentionText": "需要关注",
"atRiskText": "有风险",
"goodText": "良好",
"nameText": "项目",
"estimatedVsActualText": "预计用时 vs 实际用时",
"tasksProgressText": "任务进度",
"lastActivityText": "最后活动",
"datesText": "开始/结束日期",
"daysLeftText": "剩余天数/逾期",
"projectHealthText": "项目健康状况",
"projectUpdateText": "项目更新",
"clientText": "客户",
"teamText": "团队"
}

View File

@@ -0,0 +1,44 @@
{
"projectCount": "项目",
"projectCountPlural": "项目",
"includeArchivedButton": "包含已归档项目",
"exportButton": "导出",
"excelButton": "Excel",
"projectColumn": "项目",
"estimatedVsActualColumn": "预计用时 vs 实际用时",
"tasksProgressColumn": "任务进度",
"lastActivityColumn": "最后活动",
"statusColumn": "状态",
"datesColumn": "开始/结束日期",
"daysLeftColumn": "剩余天数/逾期",
"projectHealthColumn": "项目健康状况",
"categoryColumn": "类别",
"projectUpdateColumn": "项目更新",
"clientColumn": "客户",
"teamColumn": "团队",
"projectManagerColumn": "项目经理",
"openButton": "打开",
"estimatedText": "预计",
"actualText": "实际",
"todoText": "待办",
"doingText": "进行中",
"doneText": "已完成",
"cancelledText": "已取消",
"blockedText": "已阻塞",
"onHoldText": "暂停",
"proposedText": "提议",
"inPlanningText": "规划中",
"inProgressText": "进行中",
"completedText": "已完成",
"continuousText": "持续",
"daysLeftText": "天剩余",
"dayLeftText": "天剩余",
"daysOverdueText": "天逾期",
"notSetText": "未设置",
"needsAttentionText": "需要关注",
"atRiskText": "有风险",
"goodText": "良好",
"setCategoryText": "设置类别",
"searchByNameInputPlaceholder": "按名称搜索",
"todayText": "今天"
}

View File

@@ -0,0 +1,8 @@
{
"overview": "概览",
"projects": "项目",
"members": "成员",
"timeReports": "用时报告",
"estimateVsActual": "预计用时 vs 实际用时",
"currentOrganizationTooltip": "当前的组织"
}

View File

@@ -0,0 +1,34 @@
{
"today": "今天",
"week": "周",
"month": "月",
"settings": "设置",
"workingDays": "工作日",
"monday": "星期一",
"tuesday": "星期二",
"wednesday": "星期三",
"thursday": "星期四",
"friday": "星期五",
"saturday": "星期六",
"sunday": "星期日",
"workingHours": "工作时间",
"hours": "小时",
"saveButton": "保存",
"totalAllocation": "总分配",
"timeLogged": "记录时间",
"remainingTime": "剩余时间",
"total": "总计",
"perDay": "每天",
"tasks": "任务",
"startDate": "开始日期",
"endDate": "结束日期",
"hoursPerDay": "每天小时数",
"totalHours": "总小时数",
"deleteButton": "删除",
"cancelButton": "取消",
"tabTitle": "没有开始和结束日期的任务",
"allocatedTime": "分配时间",
"totalLogged": "总记录",
"loggedBillable": "已记录可计费",
"loggedNonBillable": "已记录不可计费"
}

View File

@@ -0,0 +1,10 @@
{
"categoryColumn": "类别",
"deleteConfirmationTitle": "您确定吗?",
"deleteConfirmationOk": "是",
"deleteConfirmationCancel": "取消",
"associatedTaskColumn": "关联项目",
"searchPlaceholder": "按名称搜索",
"emptyText": "在更新或创建项目时可以创建类别。",
"colorChangeTooltip": "点击更改颜色"
}

View File

@@ -0,0 +1,15 @@
{
"title": "更改密码",
"currentPassword": "当前密码",
"newPassword": "新密码",
"confirmPassword": "确认密码",
"currentPasswordPlaceholder": "输入您的当前密码",
"newPasswordPlaceholder": "新密码",
"confirmPasswordPlaceholder": "确认密码",
"currentPasswordRequired": "请输入您的当前密码!",
"newPasswordRequired": "请输入您的新密码!",
"passwordValidationError": "密码必须至少包含8个字符包括一个大写字母、一个数字和一个符号。",
"passwordMismatch": "密码不匹配!",
"passwordRequirements": "新密码应至少包含8个字符包括一个大写字母、一个数字和一个符号。",
"updateButton": "更新密码"
}

View File

@@ -0,0 +1,22 @@
{
"nameColumn": "名称",
"projectColumn": "项目",
"noProjectsAvailable": "没有可用的项目",
"deleteConfirmationTitle": "您确定吗?",
"deleteConfirmationOk": "是",
"deleteConfirmationCancel": "取消",
"searchPlaceholder": "按名称搜索",
"createClient": "创建客户",
"pinTooltip": "点击将其固定到主菜单",
"createClientDrawerTitle": "创建客户",
"updateClientDrawerTitle": "更新客户",
"nameLabel": "名称",
"namePlaceholder": "名称",
"nameRequiredError": "请输入名称",
"createButton": "创建",
"updateButton": "更新",
"createClientSuccessMessage": "客户创建成功!",
"createClientErrorMessage": "客户创建失败!",
"updateClientSuccessMessage": "客户更新成功!",
"updateClientErrorMessage": "客户更新失败!"
}

View File

@@ -0,0 +1,20 @@
{
"nameColumn": "名称",
"deleteConfirmationTitle": "您确定吗?",
"deleteConfirmationOk": "是",
"deleteConfirmationCancel": "取消",
"searchPlaceholder": "按名称搜索",
"createJobTitleButton": "创建职位",
"pinTooltip": "点击将其固定到主菜单",
"createJobTitleDrawerTitle": "创建职位",
"updateJobTitleDrawerTitle": "更新职位",
"nameLabel": "名称",
"namePlaceholder": "名称",
"nameRequiredError": "请输入名称",
"createButton": "创建",
"updateButton": "更新",
"createJobTitleSuccessMessage": "职位创建成功!",
"createJobTitleErrorMessage": "职位创建失败!",
"updateJobTitleSuccessMessage": "职位更新成功!",
"updateJobTitleErrorMessage": "职位更新失败!"
}

View File

@@ -0,0 +1,11 @@
{
"labelColumn": "标签",
"deleteConfirmationTitle": "您确定吗?",
"deleteConfirmationOk": "是",
"deleteConfirmationCancel": "取消",
"associatedTaskColumn": "关联任务计数",
"searchPlaceholder": "按名称搜索",
"emptyText": "标签可以在更新或创建任务时创建。",
"pinTooltip": "点击将其固定到主菜单",
"colorChangeTooltip": "点击更改颜色"
}

View File

@@ -0,0 +1,7 @@
{
"language": "语言",
"language_required": "语言是必需的",
"time_zone": "时区",
"time_zone_required": "时区是必需的",
"save_changes": "保存更改"
}

View File

@@ -0,0 +1,11 @@
{
"title": "通知设置",
"emailTitle": "向我发送电子邮件通知",
"emailDescription": "包括新的任务分配",
"dailyDigestTitle": "向我发送每日摘要",
"dailyDigestDescription": "每天晚上,您将收到任务中最近活动的摘要。",
"popupTitle": "当Worklenz打开时在我的电脑上弹出通知",
"popupDescription": "弹出通知可能会被您的浏览器禁用。更改您的浏览器设置以允许它们。",
"unreadItemsTitle": "显示未读项目的数量",
"unreadItemsDescription": "您将看到每个通知的计数。"
}

View File

@@ -0,0 +1,13 @@
{
"uploadError": "您只能上传JPG/PNG文件",
"uploadSizeError": "图片必须小于2MB",
"upload": "上传",
"nameLabel": "名称",
"nameRequiredError": "名称是必需的",
"emailLabel": "电子邮件",
"emailRequiredError": "电子邮件是必需的",
"saveChanges": "保存更改",
"profileJoinedText": "一个月前加入",
"profileLastUpdatedText": "一个月前更新",
"avatarTooltip": "点击上传头像"
}

View File

@@ -0,0 +1,8 @@
{
"nameColumn": "名称",
"editToolTip": "编辑",
"deleteToolTip": "删除",
"confirmText": "您确定吗?",
"okText": "是",
"cancelText": "取消"
}

View File

@@ -0,0 +1,14 @@
{
"profile": "个人资料",
"notifications": "通知",
"clients": "客户",
"job-titles": "职位",
"labels": "标签",
"categories": "类别",
"project-templates": "项目模板",
"task-templates": "任务模板",
"team-members": "团队成员",
"teams": "团队",
"change-password": "更改密码",
"language-and-region": "语言和地区"
}

View File

@@ -0,0 +1,9 @@
{
"nameColumn": "名称",
"createdColumn": "创建时间",
"editToolTip": "编辑",
"deleteToolTip": "删除",
"confirmText": "您确定吗?",
"okText": "是",
"cancelText": "取消"
}

View File

@@ -0,0 +1,44 @@
{
"nameColumn": "名称",
"projectsColumn": "项目",
"emailColumn": "电子邮件",
"teamAccessColumn": "团队访问",
"memberCount": "成员",
"membersCountPlural": "成员",
"searchPlaceholder": "按名称搜索成员",
"pinTooltip": "刷新成员列表",
"addMemberButton": "添加新成员",
"editTooltip": "编辑成员",
"deactivateTooltip": "停用成员",
"activateTooltip": "激活成员",
"deleteTooltip": "删除成员",
"confirmDeleteTitle": "您确定要删除此成员吗?",
"confirmActivateTitle": "您确定要更改此成员的状态吗?",
"okText": "是,继续",
"cancelText": "否,取消",
"deactivatedText": "(当前已停用)",
"pendingInvitationText": "(邀请待处理)",
"addMemberDrawerTitle": "添加新团队成员",
"updateMemberDrawerTitle": "更新团队成员",
"addMemberEmailHint": "无论是否接受邀请,成员都将被添加到团队中",
"memberEmailLabel": "电子邮件",
"memberEmailPlaceholder": "输入团队成员的电子邮件地址",
"memberEmailRequiredError": "请输入有效的电子邮件地址",
"jobTitleLabel": "职位",
"jobTitlePlaceholder": "选择或搜索职位(可选)",
"memberAccessLabel": "访问级别",
"addToTeamButton": "将成员添加到团队",
"updateButton": "保存更改",
"resendInvitationButton": "重新发送邀请邮件",
"invitationSentSuccessMessage": "团队邀请已成功发送!",
"createMemberSuccessMessage": "新团队成员已成功添加!",
"createMemberErrorMessage": "添加团队成员失败。请重试。",
"updateMemberSuccessMessage": "团队成员已成功更新!",
"updateMemberErrorMessage": "更新团队成员失败。请重试。",
"memberText": "成员",
"adminText": "管理员",
"ownerText": "团队所有者",
"addedText": "已添加",
"updatedText": "已更新",
"noResultFound": "输入电子邮件地址并按回车键..."
}

View File

@@ -0,0 +1,29 @@
{
"details": {
"task-key": "任务ID",
"phase": "阶段",
"assignees": "受托人",
"due-date": "截止日期",
"time-estimation": "估计时间",
"priority": "优先级",
"labels": "标签",
"billable": "可计费",
"notify": "通知",
"when-done-notify": "完成时通知",
"start-date": "开始日期",
"end-date": "结束日期",
"hide-start-date": "隐藏开始日期",
"show-start-date": "显示开始日期",
"hours": "小时",
"minutes": "分钟"
},
"description": {
"title": "描述",
"placeholder": "添加更详细的描述..."
},
"subTasks": {
"title": "子任务",
"add-sub-task": "+ 添加子任务",
"refresh-sub-tasks": "刷新子任务"
}
}

View File

@@ -0,0 +1,78 @@
{
"taskHeader": {
"taskNamePlaceholder": "输入您的任务",
"deleteTask": "删除任务"
},
"taskInfoTab": {
"title": "信息",
"details": {
"title": "详情",
"task-key": "任务ID",
"phase": "阶段",
"assignees": "受托人",
"due-date": "截止日期",
"time-estimation": "估计时间",
"priority": "优先级",
"labels": "标签",
"billable": "可计费",
"notify": "通知",
"when-done-notify": "完成时通知",
"start-date": "开始日期",
"end-date": "结束日期",
"hide-start-date": "隐藏开始日期",
"show-start-date": "显示开始日期",
"hours": "小时",
"minutes": "分钟"
},
"labels": {
"labelInputPlaceholder": "搜索或创建",
"labelsSelectorInputTip": "按回车键创建"
},
"description": {
"title": "描述",
"placeholder": "添加更详细的描述..."
},
"subTasks": {
"title": "子任务",
"addSubTask": "+ 添加子任务",
"addSubTaskInputPlaceholder": "输入您的任务并按回车键",
"refreshSubTasks": "刷新子任务",
"edit": "编辑",
"delete": "删除",
"confirmDeleteSubTask": "您确定要删除此子任务吗?",
"deleteSubTask": "删除子任务"
},
"dependencies": {
"title": "依赖关系",
"addDependency": "+ 添加新依赖",
"blockedBy": "被阻塞",
"searchTask": "输入以搜索任务",
"noTasksFound": "未找到任务",
"confirmDeleteDependency": "您确定要删除吗?"
},
"attachments": {
"title": "附件",
"chooseOrDropFileToUpload": "选择或拖放文件上传",
"uploading": "上传中..."
},
"comments": {
"title": "评论",
"addComment": "+ 添加新评论",
"noComments": "尚无评论。成为第一个评论的人!",
"delete": "删除",
"confirmDeleteComment": "您确定要删除此评论吗?"
},
"searchInputPlaceholder": "按名称搜索",
"pendingInvitation": "待处理邀请"
},
"taskTimeLogTab": {
"title": "时间日志",
"addTimeLog": "添加新时间日志",
"totalLogged": "总记录",
"exportToExcel": "导出到Excel",
"noTimeLogsFound": "未找到时间日志"
},
"taskActivityLogTab": {
"title": "活动日志"
}
}

View File

@@ -0,0 +1,54 @@
{
"searchButton": "搜索",
"resetButton": "重置",
"searchInputPlaceholder": "按名称搜索",
"sortText": "排序",
"statusText": "状态",
"phaseText": "阶段",
"memberText": "成员",
"assigneesText": "受托人",
"priorityText": "优先级",
"labelsText": "标签",
"membersText": "成员",
"groupByText": "分组依据",
"showArchivedText": "显示已归档的任务",
"showFieldsText": "显示字段",
"keyText": "ID",
"taskText": "任务",
"descriptionText": "描述",
"phasesText": "阶段",
"listText": "列表",
"progressText": "进度",
"timeTrackingText": "时间跟踪",
"timetrackingText": "时间跟踪",
"estimationText": "估计",
"startDateText": "开始日期",
"startdateText": "开始日期",
"endDateText": "结束日期",
"dueDateText": "截止日期",
"duedateText": "截止日期",
"completedDateText": "完成日期",
"completeddateText": "完成日期",
"createdDateText": "创建日期",
"createddateText": "创建日期",
"lastUpdatedText": "最后更新",
"lastupdatedText": "最后更新",
"reporterText": "报告人",
"dueTimeText": "截止时间",
"duetimeText": "截止时间",
"lowText": "低",
"mediumText": "中",
"highText": "高",
"createStatusButtonTooltip": "状态设置",
"configPhaseButtonTooltip": "阶段设置",
"noLabelsFound": "未找到标签",
"addStatusButton": "添加状态",
"addPhaseButton": "添加阶段",
"createStatus": "创建状态",
"name": "名称",
"category": "类别",
"selectCategory": "选择类别",
"pleaseEnterAName": "请输入名称",
"pleaseSelectACategory": "请选择类别",
"create": "创建"
}

View File

@@ -0,0 +1,56 @@
{
"keyColumn": "ID",
"taskColumn": "任务",
"descriptionColumn": "描述",
"progressColumn": "进度",
"membersColumn": "成员",
"assigneesColumn": "受托人",
"labelsColumn": "标签",
"phasesColumn": "阶段",
"phaseColumn": "阶段",
"statusColumn": "状态",
"priorityColumn": "优先级",
"timeTrackingColumn": "时间追踪",
"timetrackingColumn": "时间追踪",
"estimationColumn": "估算",
"startDateColumn": "开始日期",
"startdateColumn": "开始日期",
"dueDateColumn": "截止日期",
"duedateColumn": "截止日期",
"completedDateColumn": "完成日期",
"completeddateColumn": "完成日期",
"createdDateColumn": "创建日期",
"createddateColumn": "创建日期",
"lastUpdatedColumn": "最后更新",
"lastupdatedColumn": "最后更新",
"reporterColumn": "报告人",
"dueTimeColumn": "截止时间",
"todoSelectorText": "待办",
"doingSelectorText": "进行中",
"doneSelectorText": "已完成",
"lowSelectorText": "低",
"mediumSelectorText": "中",
"highSelectorText": "高",
"selectText": "选择",
"labelsSelectorInputTip": "按回车键创建!",
"addTaskText": "+ 添加任务",
"addSubTaskText": "+ 添加子任务",
"addTaskInputPlaceholder": "输入任务并按回车键",
"openButton": "打开",
"okButton": "确定",
"noLabelsFound": "未找到标签",
"searchInputPlaceholder": "搜索或创建",
"assigneeSelectorInviteButton": "通过电子邮件邀请新成员",
"labelInputPlaceholder": "搜索或创建",
"pendingInvitation": "待处理邀请",
"contextMenu": {
"assignToMe": "分配给我",
"moveTo": "移动到",
"unarchive": "取消归档",
"archive": "归档",
"convertToSubTask": "转换为子任务",
"convertToTask": "转换为任务",
"delete": "删除",
"searchByNameInputPlaceholder": "按名称搜索"
}
}

View File

@@ -0,0 +1,11 @@
{
"createTaskTemplate": "创建任务模板",
"editTaskTemplate": "编辑任务模板",
"cancelText": "取消",
"saveText": "保存",
"templateNameText": "模板名称",
"selectedTasks": "已选任务",
"removeTask": "移除",
"cancelButton": "取消",
"saveButton": "保存"
}

View File

@@ -0,0 +1,24 @@
{
"taskSelected": "任务已选择",
"tasksSelected": "任务已选择",
"changeStatus": "更改状态/优先级/阶段",
"changeLabel": "更改标签",
"assignToMe": "分配给我",
"changeAssignees": "更改受托人",
"archive": "归档",
"unarchive": "取消归档",
"delete": "删除",
"moreOptions": "更多选项",
"deselectAll": "取消全选",
"status": "状态",
"priority": "优先级",
"phase": "阶段",
"member": "成员",
"createTaskTemplate": "创建任务模板",
"apply": "应用",
"createLabel": "+ 创建标签",
"hitEnterToCreate": "按回车键创建",
"pendingInvitation": "待处理邀请",
"noMatchingLabels": "没有匹配的标签",
"noLabels": "没有标签"
}

View File

@@ -0,0 +1,19 @@
{
"title": "编辑任务模板",
"cancelText": "取消",
"saveText": "保存",
"templateNameText": "模板名称",
"selectedTasks": "已选任务",
"removeTask": "移除",
"description": "描述",
"phase": "阶段",
"statuses": "状态",
"priorities": "优先级",
"labels": "标签",
"tasks": "任务",
"noTemplateSelected": "未选择模板",
"noDescription": "无描述",
"worklenzTemplates": "Worklenz模板",
"yourTemplatesLibrary": "您的模板库",
"searchTemplates": "搜索模板"
}

View File

@@ -0,0 +1,23 @@
{
"bugTracking": "错误跟踪",
"construction": "建筑与施工",
"designCreative": "设计与创意",
"education": "教育",
"finance": "金融",
"hrRecruiting": "人力资源与招聘",
"informationTechnology": "信息技术",
"legal": "法律",
"manufacturing": "制造业",
"marketing": "市场营销",
"nonprofit": "非营利",
"personalUse": "个人使用",
"salesCRM": "销售与客户关系管理",
"serviceConsulting": "服务与咨询",
"softwareDevelopment": "软件开发",
"description": "描述",
"phase": "阶段",
"statuses": "状态",
"priorities": "优先级",
"labels": "标签",
"tasks": "任务"
}

View File

@@ -0,0 +1,33 @@
{
"includeArchivedProjects": "包含已归档项目",
"export": "导出",
"timeSheet": "时间表",
"searchByName": "按名称搜索",
"selectAll": "全选",
"teams": "团队",
"searchByProject": "按项目名称搜索",
"projects": "项目",
"searchByCategory": "按类别名称搜索",
"categories": "类别",
"billable": "可计费",
"nonBillable": "不可计费",
"total": "总计",
"projectsTimeSheet": "项目时间表",
"loggedTime": "已记录时间(小时)",
"exportToExcel": "导出到Excel",
"logged": "已记录",
"for": "为",
"membersTimeSheet": "成员时间表",
"member": "成员",
"estimatedVsActual": "预计用时 vs 实际用时",
"workingDays": "工作日",
"manDays": "人天",
"days": "天",
"estimatedDays": "预计天数",
"actualDays": "实际天数",
"noCategories": "未找到类别",
"noCategory": "无类别",
"noProjects": "未找到项目",
"noTeams": "未找到团队",
"noData": "未找到数据"
}

View File

@@ -0,0 +1,5 @@
{
"title": "未授权!",
"subtitle": "您无权访问此页面",
"button": "返回首页"
}

View File

@@ -17,6 +17,7 @@ const LanguageSelector = () => {
{ key: 'pt', label: 'Português' },
{ key: 'alb', label: 'Shqip' },
{ key: 'de', label: 'Deutsch' },
{ key: 'zh_cn', label: '简体中文' },
];
const languageLabels = {
@@ -25,6 +26,7 @@ const LanguageSelector = () => {
pt: 'Pt',
alb: 'Sq',
de: 'de',
zh_cn: 'zh_cn',
};
return (

View File

@@ -7,6 +7,7 @@ export enum Language {
PT = 'pt',
ALB = 'alb',
DE = 'de',
ZH_CN = 'zh_cn',
}
export type ILanguageType = `${Language}`;

View File

@@ -55,6 +55,10 @@ const LanguageAndRegionSettings = () => {
value: Language.DE,
label: 'Deutsch',
},
{
value: Language.ZH_CN,
label: "简体中文"
}
];
const handleLanguageChange = async (values: { language?: ILanguageType; timezone?: string }) => {
@@ -150,7 +154,7 @@ const LanguageAndRegionSettings = () => {
{t('save_changes')}
</Button>
</Form.Item>
</Form>): (
</Form>) : (
<Skeleton />
)}
</Card>

View File

@@ -41,6 +41,12 @@ export const greetingString = (name: string): string => {
morning = 'Morgen';
afternoon = 'Tag';
evening = 'Abend';
} else if (language === 'zh_cn') {
greetingPrefix = '你好';
greetingSuffix = '';
morning = '早上好';
afternoon = '下午好';
evening = '晚上好';
}
return `${greetingPrefix} ${name}, ${greetingSuffix} ${greet}!`;