forked from moment/moment
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
276 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
(function () { | ||
var lang = { | ||
months : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), | ||
monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), | ||
weekdays : "日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"), | ||
weekdaysShort : "日_月_火_水_木_金_土".split("_"), | ||
longDateFormat : { | ||
LT : "Ah:mm", | ||
L : "YY/MM/DD", | ||
LL : "YYYY/MM/DD", | ||
LLL : "YYYY年MoDo LT", | ||
LLLL : "YYYY年MoDodddd LT" | ||
}, | ||
meridiem : { | ||
AM : '午前', | ||
am : '午前', | ||
PM : '午後', | ||
pm : '午後' | ||
}, | ||
calendar : { | ||
sameDay : '[今日] LT', | ||
nextDay : '[明日] LT', | ||
nextWeek : '[来週]dddd LT', | ||
lastDay : '[昨日] LT', | ||
lastWeek : '[前週]dddd LT', | ||
sameElse : 'L' | ||
}, | ||
relativeTime : { | ||
future : "%後", | ||
past : "%s前", | ||
s : "数秒", | ||
m : "1分", | ||
mm : "%d分", | ||
h : "1時間", | ||
hh : "%d時間", | ||
d : "1日", | ||
dd : "%d日", | ||
M : "1ヶ月", | ||
MM : "%ヶ月", | ||
y : "1年", | ||
yy : "%d年" | ||
}, | ||
ordinal : function (number) { | ||
return ''; | ||
} | ||
}; | ||
|
||
// Node | ||
if (typeof module !== 'undefined') { | ||
module.exports = lang; | ||
} | ||
// Browser | ||
if (typeof window !== 'undefined' && this.moment && this.moment.lang) { | ||
this.moment.lang('jp', lang); | ||
} | ||
}()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,208 @@ | ||
var moment = require("../../moment"); | ||
|
||
|
||
/************************************************** | ||
Japanese | ||
*************************************************/ | ||
|
||
exports["lang:jp"] = { | ||
"parse" : function(test) { | ||
test.expect(96); | ||
moment.lang('jp'); | ||
var tests = '一月 一月_二月 二月_三月 三月_四月 四月_五月 五月_六月 六月_七月 七月_八月 八月_九月 九月_十月 十月_十一月 十一月_十二月 十二月'.split("_"); | ||
var i; | ||
function equalTest(input, mmm, i) { | ||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1)); | ||
} | ||
for (i = 0; i < 12; i++) { | ||
tests[i] = tests[i].split(' '); | ||
equalTest(tests[i][0], 'MMM', i); | ||
equalTest(tests[i][1], 'MMM', i); | ||
equalTest(tests[i][0], 'MMMM', i); | ||
equalTest(tests[i][1], 'MMMM', i); | ||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i); | ||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i); | ||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i); | ||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i); | ||
} | ||
test.done(); | ||
}, | ||
|
||
"format" : function(test) { | ||
test.expect(18); | ||
moment.lang('jp'); | ||
var a = [ | ||
['dddd, MMMM Do YYYY, a h:mm:ss', '日曜日, 二月 14 2010, 午後 3:25:50'], | ||
['ddd, Ah', '日, 午後3'], | ||
['M Mo MM MMMM MMM', '2 2 02 二月 二月'], | ||
['YYYY YY', '2010 10'], | ||
['D Do DD', '14 14 14'], | ||
['d do dddd ddd', '0 0 日曜日 日'], | ||
['DDD DDDo DDDD', '45 45 045'], | ||
['w wo ww', '8 8 08'], | ||
['h hh', '3 03'], | ||
['H HH', '15 15'], | ||
['m mm', '25 25'], | ||
['s ss', '50 50'], | ||
['a A', '午後 午後'], | ||
['t\\he DDDo \\d\\ay of t\\he ye\\ar', 'the 45 day of the year'], | ||
['L', '14/02/2010'], | ||
['LL', '14 二月 2010'], | ||
['LLL', '14 二月 2010 3:25 午後'], | ||
['LLLL', '日曜日, 14 二月 2010 3:25 午後'] | ||
], | ||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)), | ||
i; | ||
for (i = 0; i < a.length; i++) { | ||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]); | ||
} | ||
test.done(); | ||
}, | ||
|
||
"format month" : function(test) { | ||
test.expect(12); | ||
moment.lang('jp'); | ||
var expected = '一月 一月_二月 二月_三月 三月_四月 四月_五月 五月_六月 六月_七月 七月_八月 八月_九月 九月_十月 十月_十一月 十一月_十二月 十二月'.split("_"); | ||
var i; | ||
for (i = 0; i < expected.length; i++) { | ||
test.equal(moment([2011, i, 0]).format('MMMM MMM'), expected[i], expected[i]); | ||
} | ||
test.done(); | ||
}, | ||
|
||
"format week" : function(test) { | ||
test.expect(7); | ||
moment.lang('jp'); | ||
var expected = '日曜日 日_月曜日 月_火曜日 火_水曜日 水_木曜日 木_金曜日 金_土曜日 土'.split("_"); | ||
var i; | ||
for (i = 0; i < expected.length; i++) { | ||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd'), expected[i], expected[i]); | ||
} | ||
test.done(); | ||
}, | ||
|
||
"from" : function(test) { | ||
test.expect(30); | ||
moment.lang('jp'); | ||
var start = moment([2007, 1, 28]); | ||
test.equal(start.from(moment([2007, 1, 28]).add({s:44}), true), "数秒", "44 seconds = a few seconds"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({s:45}), true), "1分", "45 seconds = a minute"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({s:89}), true), "1分", "89 seconds = a minute"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({s:90}), true), "2分", "90 seconds = 2 minutes"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({m:44}), true), "44分", "44 minutes = 44 minutes"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({m:45}), true), "1時間", "45 minutes = an hour"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({m:89}), true), "1時間", "89 minutes = an hour"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({m:90}), true), "2時間", "90 minutes = 2 hours"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({h:5}), true), "5時間", "5 hours = 5 hours"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({h:21}), true), "21時間", "21 hours = 21 hours"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({h:22}), true), "1日", "22 hours = a day"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({h:35}), true), "1日", "35 hours = a day"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({h:36}), true), "2日", "36 hours = 2 days"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:1}), true), "1日", "1 day = a day"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:5}), true), "5日", "5 days = 5 days"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:25}), true), "25日", "25 days = 25 days"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:26}), true), "1ヶ月", "26 days = a month"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:30}), true), "1ヶ月", "30 days = a month"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:45}), true), "1ヶ月", "45 days = a month"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:46}), true), "2ヶ月", "46 days = 2 months"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:74}), true), "2ヶ月", "75 days = 2 months"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:76}), true), "3ヶ月", "76 days = 3 months"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({M:1}), true), "1ヶ月", "1 month = a month"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({M:5}), true), "5ヶ月", "5 months = 5 months"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:344}), true), "11ヶ月", "344 days = 11 months"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:345}), true), "1年", "345 days = a year"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:547}), true), "1年", "547 days = a year"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({d:548}), true), "2年", "548 days = 2 years"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({y:1}), true), "1年", "1 year = a year"); | ||
test.equal(start.from(moment([2007, 1, 28]).add({y:5}), true), "5年", "5 years = 5 years"); | ||
test.done(); | ||
}, | ||
|
||
"suffix" : function(test) { | ||
test.expect(2); | ||
moment.lang('jp'); | ||
test.equal(moment(30000).from(0), "数秒後", "prefix"); | ||
test.equal(moment(0).from(30000), "数秒前", "suffix"); | ||
test.done(); | ||
}, | ||
|
||
"now from now" : function(test) { | ||
test.expect(1); | ||
moment.lang('jp'); | ||
test.equal(moment().fromNow(), "数秒前", "now from now should display as in the past"); | ||
test.done(); | ||
}, | ||
|
||
"fromNow" : function(test) { | ||
test.expect(2); | ||
moment.lang('jp'); | ||
test.equal(moment().add({s:30}).fromNow(), "数秒後", "in a few seconds"); | ||
test.equal(moment().add({d:5}).fromNow(), "5日後", "in 5 days"); | ||
test.done(); | ||
}, | ||
|
||
"calendar day" : function(test) { | ||
test.expect(6); | ||
moment.lang('jp'); | ||
|
||
var a = moment().hours(2).minutes(0).seconds(0); | ||
|
||
test.equal(moment(a).calendar(), "今日 2:00 午前", "today at the same time"); | ||
test.equal(moment(a).add({ m: 25 }).calendar(), "今日 2:25 午前", "Now plus 25 min"); | ||
test.equal(moment(a).add({ h: 1 }).calendar(), "今日 3:00 午前", "Now plus 1 hour"); | ||
test.equal(moment(a).add({ d: 1 }).calendar(), "明日 2:00 午前", "tomorrow at the same time"); | ||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "今日 1:00 午前", "Now minus 1 hour"); | ||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "昨日 2:00 午前", "yesterday at the same time"); | ||
test.done(); | ||
}, | ||
|
||
"calendar next week" : function(test) { | ||
test.expect(15); | ||
moment.lang('jp'); | ||
|
||
var i; | ||
var m; | ||
|
||
for (i = 2; i < 7; i++) { | ||
m = moment().add({ d: i }); | ||
test.equal(m.calendar(), m.format('[来週]dddd LT'), "Today + " + i + " days current time"); | ||
m.hours(0).minutes(0).seconds(0).milliseconds(0); | ||
test.equal(m.calendar(), m.format('[来週]dddd LT'), "Today + " + i + " days beginning of day"); | ||
m.hours(23).minutes(59).seconds(59).milliseconds(999); | ||
test.equal(m.calendar(), m.format('[来週]dddd LT'), "Today + " + i + " days end of day"); | ||
} | ||
test.done(); | ||
}, | ||
|
||
"calendar last week" : function(test) { | ||
test.expect(15); | ||
moment.lang('jp'); | ||
|
||
for (i = 2; i < 7; i++) { | ||
m = moment().subtract({ d: i }); | ||
test.equal(m.calendar(), m.format('[前週]dddd LT'), "Today - " + i + " days current time"); | ||
m.hours(0).minutes(0).seconds(0).milliseconds(0); | ||
test.equal(m.calendar(), m.format('[前週]dddd LT'), "Today - " + i + " days beginning of day"); | ||
m.hours(23).minutes(59).seconds(59).milliseconds(999); | ||
test.equal(m.calendar(), m.format('[前週]dddd LT'), "Today - " + i + " days end of day"); | ||
} | ||
test.done(); | ||
}, | ||
|
||
"calendar all else" : function(test) { | ||
test.expect(4); | ||
moment.lang('jp'); | ||
var weeksAgo = moment().subtract({ w: 1 }); | ||
var weeksFromNow = moment().add({ w: 1 }); | ||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago"); | ||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week"); | ||
|
||
weeksAgo = moment().subtract({ w: 2 }); | ||
weeksFromNow = moment().add({ w: 2 }); | ||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago"); | ||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks"); | ||
test.done(); | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters