Skip to content

Commit

Permalink
Correct zh_CN translation
Browse files Browse the repository at this point in the history
  • Loading branch information
BenzLeung committed Dec 3, 2019
1 parent 71d8487 commit e733297
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 37 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Expand Up @@ -40,4 +40,7 @@ build/
# dist/ # We will commit dist/ so that the packaged module is easily accesible from the repo.

# OS X files
.DS_Store
.DS_Store

# Jetbrains IDE
.idea/
10 changes: 6 additions & 4 deletions src/expressionDescriptor.ts
Expand Up @@ -357,7 +357,7 @@ export class ExpressionDescriptor {
return this.i18n.commaMonthX0ThroughMonthX1() || this.i18n.commaX0ThroughX1();
},
s => {
return this.i18n.commaOnlyInX0();
return this.i18n.commaOnlyInMonthX0 ? this.i18n.commaOnlyInMonthX0() : this.i18n.commaOnlyInX0();
}
);

Expand Down Expand Up @@ -402,7 +402,9 @@ export class ExpressionDescriptor {
expression,
this.i18n.commaEveryDay(),
s => {
return s == "L" ? this.i18n.lastDay() : s;
return s == "L" ? this.i18n.lastDay() : (
(this.i18n.dayX0) ? StringUtilities.format(this.i18n.dayX0(), s) : s
);
},
s => {
return s == "1" ? this.i18n.commaEveryDay() : this.i18n.commaEveryX0Days();
Expand Down Expand Up @@ -436,7 +438,7 @@ export class ExpressionDescriptor {
return this.i18n.commaYearX0ThroughYearX1() || this.i18n.commaX0ThroughX1();
},
s => {
return this.i18n.commaOnlyInX0();
return this.i18n.commaOnlyInYearX0 ? this.i18n.commaOnlyInYearX0() : this.i18n.commaOnlyInX0();
}
);

Expand All @@ -463,7 +465,7 @@ export class ExpressionDescriptor {
let segments: string[] = expression.split("/");
description = StringUtilities.format(
getIntervalDescriptionFormat(segments[1]),
getSingleItemDescription(segments[1])
segments[1] // getSingleItemDescription(segments[1])
);

//interval contains 'between' piece (i.e. 2-59/3 )
Expand Down
3 changes: 3 additions & 0 deletions src/i18n/locale.ts
Expand Up @@ -44,6 +44,8 @@ export interface Locale {
commaAndOnX0(): string;
commaEveryX0Months(): string;
commaOnlyInX0(): string;
commaOnlyInMonthX0?(): string;
commaOnlyInYearX0?(): string;
commaOnTheLastDayOfTheMonth(): string;
commaOnTheLastWeekdayOfTheMonth(): string;
commaDaysBeforeTheLastDayOfTheMonth():string;
Expand All @@ -55,6 +57,7 @@ export interface Locale {
commaOnDayX0OfTheMonth(): string;
commaEveryX0Years(): string;
commaStartingX0(): string;
dayX0?(): string;
daysOfTheWeek(): string[];
monthsOfTheYear(): string[];
}
83 changes: 52 additions & 31 deletions src/i18n/locales/zh_CN.ts
Expand Up @@ -2,6 +2,18 @@

import { Locale } from "../locale";
export class zh_CN implements Locale {
setPeriodBeforeTime(): boolean {
return true;
}

pm(): string {
return "下午";
}

am(): string {
return "上午";
}

atX0SecondsPastTheMinuteGt20(): string {
return null;
}
Expand All @@ -12,7 +24,7 @@ export class zh_CN implements Locale {
return null;
}
commaYearX0ThroughYearX1(): string {
return null;
return ", 从%s年至%s年";
}
use24HourTimeFormatByDefault() {
return false;
Expand All @@ -27,10 +39,10 @@ export class zh_CN implements Locale {
return "生成表达式描述时发生了错误,请检查cron表达式语法。";
}
atSpace() {
return "在 ";
return "在";
}
everyMinuteBetweenX0AndX1() {
return "在 %s %s 之间的每分钟";
return "在 %s %s 之间的每分钟";
}
at() {
return "在";
Expand All @@ -42,31 +54,31 @@ export class zh_CN implements Locale {
return "每秒";
}
everyX0Seconds() {
return " %s 秒";
return "每隔 %s 秒";
}
secondsX0ThroughX1PastTheMinute() {
return "在每分钟的 %s 到 %s 秒";
return "在每分钟的第 %s 到 %s 秒";
}
atX0SecondsPastTheMinute() {
return "在每分钟的 %s 秒";
return "在每分钟的第 %s 秒";
}
everyX0Minutes() {
return " %s 分钟";
return "每隔 %s 分钟";
}
minutesX0ThroughX1PastTheHour() {
return "在每小时的 %s 到 %s 分钟";
return "在每小时的第 %s 到 %s 分钟";
}
atX0MinutesPastTheHour() {
return "在每小时的 %s ";
return "在每小时的第 %s 分钟";
}
everyX0Hours() {
return " %s 小时";
return "每隔 %s 小时";
}
betweenX0AndX1() {
return "在 %s 和 %s 之间";
}
atX0() {
return "在 %s";
return "在%s";
}
commaEveryDay() {
return ", 每天";
Expand All @@ -75,7 +87,7 @@ export class zh_CN implements Locale {
return ", 每周的每 %s 天";
}
commaX0ThroughX1() {
return ", %s 到 %s";
return ", %s至%s";
}
first() {
return "第一个";
Expand All @@ -93,61 +105,70 @@ export class zh_CN implements Locale {
return "第五个";
}
commaOnThe() {
return ", ";
return ", 限每月的";
}
spaceX0OfTheMonth() {
return "%s 每月";
return "%s";
}
lastDay() {
return "最后一天";
return "本月最后一天";
}
commaOnTheLastX0OfTheMonth() {
return ", 每月的最后一个 %s ";
return ", 限每月的最后一个%s";
}
commaOnlyOnX0() {
return ", 仅在 %s";
return ", %s";
}
commaAndOnX0(){
return ", %s";
return ", 并且为%s";
}
commaEveryX0Months() {
return ", %s ";
return ", 每隔 %s 个月";
}
commaOnlyInX0() {
return ", 仅在 %s";
return ", 仅限%s";
}
commaOnlyInMonthX0() {
return ", 仅于%s份";
}
commaOnlyInYearX0() {
return ", 仅于 %s 年";
}
commaOnTheLastDayOfTheMonth() {
return ", 每月的最后一天";
return ", 限每月的最后一天";
}
commaOnTheLastWeekdayOfTheMonth() {
return ", 每月的最后一个平日";
return ", 限每月的最后一个工作日";
}
commaDaysBeforeTheLastDayOfTheMonth(){
return ", 这个月的最后一天的前%s天";
return ", 限每月最后%s天";
}
firstWeekday() {
return "第一个平日";
return "第一个工作日";
}
weekdayNearestDayX0() {
return "最接近 %s 号的平日";
return "最接近 %s 号的工作日";
}
commaOnTheX0OfTheMonth() {
return ", 每月的 %s ";
return ", 限每月的%s";
}
commaEveryX0Days() {
return ", %s 天";
return ", 每隔 %s 天";
}
commaBetweenDayX0AndX1OfTheMonth() {
return ", 在每月的 %s %s 号之间";
return ", 限每月的 %s %s 之间";
}
commaOnDayX0OfTheMonth() {
return ", 每月的 %s 号";
return ", 限每月%s";
}
commaEveryX0Years() {
return ", %s 年";
return ", 每隔 %s 年";
}
commaStartingX0() {
return ", 开始 %s";
return ", %s开始";
}
dayX0() {
return " %s 号";
}
daysOfTheWeek() {
return ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
Expand Down
2 changes: 1 addition & 1 deletion test/i18n.ts
Expand Up @@ -208,7 +208,7 @@ describe("i18n", function() {
it("*/5 15 * * MON-FRI", function() {
assert.equal(
cronstrue.toString(this.test.title, { locale: "zh_CN" }),
"每 5 分钟, 在 03:00 PM 和 03:59 PM 之间, 星期一 到 星期五"
"每 5 分钟, 在 下午 03:00 和 下午 03:59 之间, 从星期一至星期五"
);
});
});
Expand Down

0 comments on commit e733297

Please sign in to comment.