2014-06-14 53 views
2

使用moments.js,很容易設置一種語言,然後獲取各種日期字符串和「日曆風格「文本翻譯成所需的語言。Moment.js:獲取術語「日」,「小時」,「秒」和「分」的翻譯文本

但是我找不到一種方法來翻譯「日期組件」本身。例如,我想要起訴像這樣的:

moment.lang('en'); // set english 
moment.dateComponent.hour() // yields "hour" 
moment.dateComponent.hours() // yields "hours" 
moment.dateComponent.day() // yields "day" 
moment.dateComponent.days() // yields "days" 
moment.lang('nl'); // set dutch 
moment.dateComponent.hour() // yields "uur" 
moment.dateComponent.hours() // yields "uur" 
moment.dateComponent.day() // yields "dag" 
moment.dateComponent.days() // yields "dagen" 

有沒有人知道這樣的方式?

注意:我寧願避免通過在其他方法上進行字符串拆分來獲取翻譯,而其他方法的目的不是獲取日期組件翻譯的名稱。

+0

您是否找到方法?我需要從moment.js中獲得「今天」和「明天」的條款,但我也不想「破解」我的方式。 –

回答

1

到目前爲止,我不知道moments.js,但如果你看看源代碼(請參閱http://momentjs.com/downloads/moment-with-langs.js),你會發現你想要的信息。

所以,你可以訪問某些信息直接

moment().lang('en')._lang._months --> ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 

相當有用......但

moment().lang('en')._lang._relativeTime.hh --> "%d hours" 

不存儲信息atomar。由於語言不同,不能用這種方式構建!

正如你所看到的,這個信息不像你想要的那樣可訪問。爲您的「單詞」使用翻譯JavaScript。

+0

謝謝。而且,我看到私人成員內部以某種方式存在信息。但我寧願儘可能避免這種黑客攻擊,這就是爲什麼我在問題中寫下了一個註釋(「我寧願避免通過在其他方法上進行字符串拆分來獲取翻譯,而其他方法的目的不是獲取日期組件名稱。」)。 – orcaman

相關問題