diff --git a/locales/en.json b/locales/en.json index 4cb7ec2..14c156f 100644 --- a/locales/en.json +++ b/locales/en.json @@ -263,5 +263,10 @@ "statistics": "Statistics", "statistics-work-time": "Working time", "statistics-rest-time": "Resting time", - "statistics-time-sum": "All together" + "statistics-time-sum": "All together", + "today": "Today", + "yesterday": "Yesterday", + "this-week": "This Week", + "this-year": "This Year", + "all-time": "All Time" } \ No newline at end of file diff --git a/locales/zh-CN.json b/locales/zh-CN.json index ee9c2cd..2af74b1 100644 --- a/locales/zh-CN.json +++ b/locales/zh-CN.json @@ -263,5 +263,10 @@ "statistics": "使用统计", "statistics-work-time": "工作时间", "statistics-rest-time": "休息时间", - "statistics-time-sum": "时间总计" + "statistics-time-sum": "时间总计", + "today": "今天", + "yesterday": "昨天", + "this-week": "本周", + "this-year": "本年", + "all-time": "全部时间" } \ No newline at end of file diff --git a/locales/zh-TW.json b/locales/zh-TW.json index 9c2b94d..6a26dec 100644 --- a/locales/zh-TW.json +++ b/locales/zh-TW.json @@ -1,267 +1,272 @@ { - "v": "版本", - "start-or-stop": "開始/暫停", - "website": "官網和幫助手冊", - "help-page": "幫助手冊", - "github": "GitHub項目", - "on-github": "在Github上查看項目", - "show-or-hide": "顯示/隱藏", - "exit": "退出", - "quit": "退出", - "help": "幫助", - "work-time-end": "工作時間結束了!", - "work-time-end-msg": "享受休息時間吧!", - "rest-time-end": "休息時間結束了!", - "rest-time-end-msg": "馬上開始工作!", - "all-task-end": "時間計劃完成了!", - "all-task-end-msg": "祝賀你!設置個新計劃如何?", - "update": "新版本可用!", - "update-msg": "請下載並安裝wnr,來體驗新功能並避免受到漏洞幹擾。", - "update-chk": "前往GitHub下載更新!", - "no-update": "暫時沒有更新。", - "no-update-msg": "暫時沒有更新,請經常回來看看。", - "update-web-problem": "暫時無法檢測更新。", - "update-web-problem-msg": "暫時無法檢測更新,可能是網絡連接有問題,請稍後再試。", - "settings": "設置", - "info": "關於wnr", - "window-hide": "隱藏至托盤菜單", - "window-minimize": "最小化至任務欄", - "title": "任務名稱是什麽?", - "work-time": "先工作多少分鐘?", - "rest-time": "再休息多少分鐘?", - "loop": "循環幾次?", - "note": "還有什麽想記的嗎?", - "tip": "輸入各個項目,然後按Enter鍵開始計時", - "back-index": "放棄當前時間計劃並返回首頁", - "skipper": "提前跳過當前的時間", - "not-enough": "請合法輸入工作時間、休息時間和循環次數。暫時不支持一分鐘及以下的時間。", - "too-long": "長度超過一天的計劃暫時不能添加。", - "back": "返回首頁", - "ended": "已完成", - "version": "版本", - "feedback-tip-part-1": "如果你使用時遇到了問題,或者", - "feedback-tip-part-2": "想給開發者一些建議,請", - "feedback-tip-part-3": "現在聯系我", - "feedback-tip-part-4": "!", - "email-to": "給我發郵件", - "exit-and-save": "關閉窗口並且保存", - "close": "關閉窗口", - "homepage": "官網/幫助手冊", - "issues": "已知問題列表", - "time-settings": "默認時間設置", - "global-settings": "全局設置", - "languages": "語言設置", - "language-setting": "語言設置:", - "language-setting-tip": "可以在下拉菜單中選擇語言。", - "language-contribute-tip-part-1": "如果你會另外一種語言,你可以", - "language-contribute-tip-part-2": "現在貢獻", - "sound-to-notify-setting": "提示音設置:", - "sound-to-notify-setting-tip": "在一段時間結束後,是否要播放提示音?若要修改提示音,請前往個性化設置。", - "always-on-top-setting": "置頂設置:", - "always-on-top-setting-tip": "是否要讓wnr始終在最上層?", - "need-to-restart-now": "現在就重啟軟件", - "need-to-restart-now-tip": "將會自動重啟軟件讓設置生效。", - "auto-start-setting": "開機自啟設置:", - "auto-start-setting-tip": "是否要讓wnr開機時自動啟動?", - "full-screen-focus-mode-tip": "如果你在休息或做別的事情的時候,還總是要看電腦,不妨開啟專心模式(全屏模式)試一下?", - "auto-check-update-setting": "自動更新檢測設置:", - "auto-check-update-setting-tip": "是否要wnr每天自動檢測更新(如果聯網)?如果有更新,將會提示您。", - "other-things": "其他設置和信息", - "manually-check-for-update-msg": "手動檢測更新:", - "manually-check-for-update": "現在就檢測更新!", - "manually-check-for-update-tip-1": "(現在你正在使用", - "manually-check-for-update-tip-2": ")", - "hotkey-for-show-or-hide-setting": "顯示/隱藏的快捷鍵:", - "hotkey-for-show-or-hide-setting-tip": "將會把wnr隱藏至托盤菜單,打開wnr後始終有效。部分快捷鍵被系統占用,可能無法設置。", - "hotkey-for-start-or-stop-setting": "開始/暫停的快捷鍵:", - "hotkey-for-start-or-stop-setting-tip": "將會開始或暫停計時,且僅在計時器頁面打開時有效。部分快捷鍵被系統占用,可能無法設置。", - "hotkey-failed": "設置失敗,換個按鍵組合試試看吧。", - "delete-all-data": "清除", - "delete-all-data-msg": "清除所有數據:", - "delete-all-data-dialog-box-title": "是否真的要清除數據?", - "delete-all-data-dialog-box-content": "此操作無法恢複!如果要,請勾選“清除”。我們建議在清除前先使用“備份設置項”功能備份數據。", - "delete-all-data-dialog-box-chk": "清除", - "h": "時 ", - "min": "分 ", - "s": "秒", - "times": "次", - "time(s)": "次", - "welcome-part-1": "歡迎使用wnr", - "welcome-part-2": "跨平台的輕量計時和時間管理工具,讓你更高效、強力地管理工作與休息。", - "welcome-part-3": "查看幫助手冊,熟悉一下wnr", - "welcome-part-4": "直接進入wnr", - "helper": "幫助手冊", - "newbie-for-settings": "你似乎是第一次打開設置", - "newbie-for-settings-tip": "設置會自動生效,部分組件在被設置後 會自動重啟程序,望知悉。", - "alarm-for-not-using-wnr-dialog-box-title": "你已經很久沒有使用wnr了。", - "alarm-for-not-using-wnr-dialog-box-content": "打開wnr,繼續你的時間計劃吧!", - "all-sum-part-1": "共計", - "all-sum-part-2": "分鐘,到", - "only-one-min-left": "時間僅剩不到一分鐘", - "only-one-min-left-msg": "這一段時間只剩下不到一分鐘了,好好規劃一下暫時的收尾工作吧!", - "operations": "操作", - "tourguide": "導覽", - "about": "關於", - "focus-mode-part-1": "全屏", - "focus-mode-part-2": "專心", - "wrong-folder-notification-title": "當前應用並不在應用程序文件夾中", - "wrong-folder-notification-content": "把應用移到系統的應用程序文件夾中可以更方便地使用wnr。", - "notification-sending-tip-msg": "通知相關事項:", - "notification-sending-tip": "wnr有時會發送通知(可以在系統設置中調整)。", - "extend-part-1": "更多", - "extend-part-2": "設置", - "default": "預設任務", - "edit": "編輯", - "is-alarm-for-not-using-wnr-on": "使用提醒設置:", - "is-alarm-for-not-using-wnr-on-tip": "如果此項被選中,則wnr會在您不使用或暫停超過十分鐘的時候提示您使用wnr,提高效率。", - "is-one-min-left-notification-on": "一分鐘提醒設置:", - "is-one-min-left-notification-on-tip": "如果此項被選中,則wnr會在時間僅剩下一分鐘時發出提醒,提示您進行暫時收尾工作。", - "working": "工作", - "resting": "休息", - "looping": "循環", - "time-left": "% 剩余", - "add": "添加", - "delete": "刪除", - "predefined-tasks-settings": "預設設置", - "focus-when-working": "工作時啟用專心模式", - "focus-when-resting": "休息時啟用專心模式", - "set-as-default-task": "設為默認預設", - "predefined-tasks-settings-tip": "紅色標題的是默認預設,會自動使用;藍色的是普通預設。當無限模式開啟後,循環設置將會被自動忽略。", - "is-auto-start-task-setting-on": "默認預設自動啟用設置:", - "is-auto-start-task-setting-on-tip": "如果此項被選中,則wnr會在啟動時自動啟用默認預設(假如有),這使你不會把wnr放在一邊不管。", - "window-close-dialog-box-title": "是否要退出wnr?", - "window-close-dialog-box-content": "如果確實要退出則勾選選框。", - "window-close-dialog-box-chk": "確定要退出", - "locker": "開/關鎖定模式", - "locker-settings": "鎖定模式", - "locker-settings-tip-part-1": "打開鎖定模式後,將無法修改設置,無法隨意退出程序。", - "locker-settings-tip-part-2": "功能類似於家長控制。如果自控力較弱,不妨讓別人輸入密碼,打開鎖定模式。目前的狀態:", - "on": "開", - "off": "關", - "period-symbol": "。", - "locker-settings-input": "請在此輸入密碼", - "locker-settings-input-again": "請再次輸入密碼", - "locker-settings-input-tip-lock-mode-on": "目前鎖定模式已經打開,輸入密碼以關閉。按下Enter鍵確認。", - "locker-settings-input-tip-wrong-password": "密碼輸入錯誤。", - "locker-settings-input-tip-lock-mode-off": "輸入密碼後,按Enter鍵進入鎖定模式。請慎重設置。", - "locker-settings-status": "設置成功。目前鎖定", - "locker-settings-not-same-password": "密碼不一致,請重新輸入。", - "locker-settings-empty-password": "密碼為空,無效。", - "is-local-time-setting-on": "時間顯示設置:", - "is-local-time-setting-on-tip": "打開後,將會在執行任務時在頁面頂部顯示此時此刻的時間,在全屏專心模式下尤其有用。", - "predefined-tasks-settings-tip-part-1": "先工作", - "predefined-tasks-settings-tip-part-2": ",然後休息", - "predefined-tasks-settings-tip-part-3": ";總共循環", - "copied": "已經復制。", - "settings-backup-msg": "備份wnr設置項:", - "settings-backup-tip": "點擊“復制”,可以復制並備份wnr設置項的口令。將口令粘貼到wnr的“導入設置”中,就可以實現設置的快捷導入。", - "settings-import-msg": "導入wnr設置項:", - "settings-import": "粘貼在此", - "settings-import-tip": "粘貼口令進文本框然後按下Enter鍵,導入設置項。", - "settings-import-error": "口令無效,請重試。", - "statistics-backup-msg": "備份wnr的時間統計:", - "statistics-backup-tip": "點擊“複制”,可以複制並備份wnr時間統計項的口令。將口令粘貼到wnr的“導入時間統計”中,就可以實現時間統計的快捷導入。", - "statistics-import-msg": "導入wnr的時間統計:", - "statistics-import": "粘貼在此", - "statistics-import-tip": "粘貼口令進文本框然後按下Enter鍵,導入時間統計。", - "statistics-import-error": "口令無效,請重試。", - "menu": "菜單列表", - "prevent-stop": "目前處於鎖定糢式或者正在執行專心任務,不能退出", - "infinity": "無限模式", - "is-infinity-mode-setting-on": "無限模式設置:", - "is-infinity-mode-setting-on-tip": "如果打開無限模式,則wnr會無限地自動重復設置的計劃,忽略循環設定。強制退出並恢複後,無限模式將不生效。", - "stop-now": "停止必將失敗的嘗試,返回專心", - "stop-now-msg": "在專心糢式下,你最終會發現無法使用你的軟件,停止不必要的嘗試吧!", - "without-permission-part-1": "沒有權限,可能無法設置開機自啓。", - "without-permission-part-2": "請前往系統偏好設置->安全性和隱私->自動化,找到wnr並勾選附屬的權限,否則無法設置。", - "permission-ask": "如果彈出權限申請框,請允許,否則無法設置開機自啓。", - "all-focus-mode-warn": "不允許把工作、休息時間都設置爲專心模式。", - "copy": "複制", - "paste": "粘貼", - "select-all": "全選", - "cut": "剪切", - "notification-settings": "1. 提醒設置", - "timer-settings": "2. 計時器設置", - "general-settings": "3. 通用設置", - "windows-7-notification": "你正在使用Windows7", - "windows-7-notification-msg": "如果你在使用時出現wnr黑屏的情況,請爲wnr打開“Vista兼容模式”。", - "personalization": "個性化設置", - "is-hide-from-dock-setting-on": "從Dock隱藏設置:", - "is-hide-from-dock-setting-on-tip": "如果此項被選中,則將會把wnr從Dock隱藏,你將會只能從狀態欄菜單打開wnr。", - "fullscreen-experience-tip": "你可能是第一次使用全屏專心模式。(如果你不需要強力體驗,可以在設置中開啓寬松全屏模式。)", - "fullscreen-too-long-tip": "這次你似乎將開啓一段很長的專心時間。", - "fullscreen-experience-tip-mistake": "誤點?這次你可以撤銷", - "quit-from-timer-in-lock-mode-msg": "鎖定模式下退出需輸入密碼", - "personalization-notification": "通知文本個性化:", - "personalization-notification-tip": "自定義這些通知文本,讓它們更加能激勵你前行!清空以複位。", - "personalization-notification-label-begin": "“", - "personalization-notification-label-end": "”:", - "personalization-notify-sound": "通知鈴聲個性化:", - "personalization-notify-sound-tip": "自定義鈴聲,讓它合你心意。將會自動播放以供測試。當提示音關閉時,此選項將被忽略。", - "personalization-notify-sound-msg-time-end": "一段時間結束:", - "personalization-notify-sound-msg-all-end": "整個計劃結束:", - "focus-mode": "專心模式進行中", - "has-multi-displays": "爲確保服務正常運行,請不要在專心模式運行時插、拔顯示器。", - "is-nap-on": "小憩設置:", - "is-nap-on-tip": "如果打開小憩提醒,將會在工作一段時間後以系統通知的形式提醒你小憩幾秒。小憩間隔時間必須短于工作時間。", - "is-nap-on-time-msg": "小憩間隔時間(分鍾):", - "should-nap-now": "現在小憩幾秒鍾吧", - "should-nap-now-msg": "現在小憩幾秒鍾,待會更有好精神。", - "is-loose-setting-on": "寬松的全屏專心模式:", - "is-loose-setting-on-tip": "如果將全屏專心模式設定爲寬松的,則我們將不會強制使應用處于最上層,不會強制鎖定所有顯示器,不會強制在所有虛擬桌面上顯示。謹慎選擇,因爲這可能使你無法專心于應當做的事。", - "submitter": "開始計時", - "is-still-count-setting-on": "鎖屏後繼續計時:", - "is-still-count-setting-on-tip": "如果此項被選中,則將會在電腦睡眠或鎖屏後繼續計時,而不會暫停。", - "suggest-star": "似乎wnr對你有用。", - "suggest-star-msg": "如果有GitHub的帳號,歡迎前往GitHub給我們一個寶貴的Star!", - "suggest-star-chk": "前往GitHub項目地址", - "personalization-white-or-dark": "個性化選擇顔色模式:", - "personalization-white-or-dark-tip": "選擇是始終使用明亮模式、暗黑模式還是自動切換(部分系統不支持自動切換,將會始終使用明亮模式)。", - "personalization-white-or-dark-mode-white": "明亮模式", - "personalization-white-or-dark-mode-dark": "暗黑模式", - "personalization-white-or-dark-mode-auto": "自動選擇", - "stopped": "已暫停", - "tourguide-part-2-1-content-part-1": "- 人們常常工作或學習持續時間太久,反而降低效率。", - "tourguide-part-2-1-content-part-2": "- 人們有時不自主地壹整天都盯著屏幕。", - "tourguide-part-2-1-content-part-3": "- 人們常常休息過久,忘了工作。", - "tourguide-part-2-1-content-part-4": "而wnr就是爲了解決這些問題而生的。", - "tourguide-part-2-1-title": "這是一款你所想要的時間管理工具。", - "tourguide-part-2-2-content-part-1": "輕巧、易用、迷人、克制。", - "tourguide-part-2-2-content-part-2": "這是極簡設計的目標,亦是我對wnr的設計願景。", - "tourguide-part-2-2-content-part-3": "抛棄笨拙的大家夥們,選擇wnr吧。你會有更美好的一天。", - "tourguide-part-2-2-title": "這是一款擁有現代界面的時間管理工具。", - "tourguide-part-2-3-content-part-1": "作爲一款創作之初,就意在打破“效率軟件無用論”的破局者,wnr可能會是那款真正于你有用的時間管理軟件/休息管理軟件,", - "tourguide-part-2-3-content-part-2": "因爲它有全屏專心模式,實現強力控制。", - "tourguide-part-2-3-content-part-3": "對于有需求的用戶,wnr還提供了使用提醒、多顯示器支持等完善功能。", - "tourguide-part-2-3-content-part-4": "* 如果不需要強力控制,你可以前往設置界面,選擇寬松模式,避免電腦被徹底鎖定。", - "tourguide-part-2-3-title": "這是一款真正有用的時間管理工具。", - "tourguide-part-2-4-content-part-1": "開始計時前,wnr允許你信手選擇常用的計劃,或是直接輸入你平時所用的時間數字,就像「四十分」或是「30min」。", - "tourguide-part-2-4-content-part-2": "開始計時之後,你會發現:除了「還剩下多少分鍾」,wnr的計時功能就不剩下什麽了;", - "tourguide-part-2-4-content-part-3": "你專心于使你激情澎湃的事業,到了時間wnr自然會提醒你。", - "tourguide-part-2-4-title": "這是一款方便易用的時間管理工具。", - "tourguide-part-2-5-content-part-1": "的確,它不是功能最多的時間管理軟件,", - "tourguide-part-2-5-content-part-2": "但它是一款精致的軟件,簡單而強大。", - "tourguide-part-2-5-content-part-3": "去設置界面逛一圈吧,你可能會發現不少你的心頭所好。", - "tourguide-part-2-5-content-part-4": "當然,如果有什麽功能wnr還不具備,也歡迎隨時反饋。", - "tourguide-part-2-5-content-part-5": "祝使用愉快。", - "tourguide-part-2-5-title": "這是一款簡單但強大的時間管理工具。", - "tourguide-finish": "開始使用", - "tourguide-prev": "返回上頁", - "tourguide-next": "進入下頁", - "predefined-task-wnr-recommended": "建議計劃", - "predefined-task-pomodoro": "番茄計時", - "predefined-task-class-time": "上課時間", - "check-after-time-end-setting": "時間結束後確認框顯示設置:", - "check-after-time-end-setting-tip": "如果此項被選中,則一段時間結束後,將會持續播放提示音並顯示確認框,點擊確認後才會開始下一段時間。不選中時將直接開始下一段時間並只播放一聲提示音。", - "focus-notify-pre": "當", - "focus-notify-working": "工作", - "focus-notify-resting": "休息", - "focus-notify-body": "時開啓全屏專心模式,到時將無法退出", - "recover": "退出MINI模式", - "mini-mode": "MINI模式", - "min-left": "分鍾剩余", - "statistics": "使用統計", - "statistics-work-time": "工作時間", - "statistics-rest-time": "休息時間", - "statistics-time-sum": "時間總計" + "v": "版本", + "start-or-stop": "開始/暫停", + "website": "官網和幫助手冊", + "help-page": "幫助手冊", + "github": "GitHub項目", + "on-github": "在Github上查看項目", + "show-or-hide": "顯示/隱藏", + "exit": "退出", + "quit": "退出", + "help": "幫助", + "work-time-end": "工作時間結束了!", + "work-time-end-msg": "享受休息時間吧!", + "rest-time-end": "休息時間結束了!", + "rest-time-end-msg": "馬上開始工作!", + "all-task-end": "時間計劃完成了!", + "all-task-end-msg": "祝賀你!設置個新計劃如何?", + "update": "新版本可用!", + "update-msg": "請下載並安裝wnr,來體驗新功能並避免受到漏洞幹擾。", + "update-chk": "前往GitHub下載更新!", + "no-update": "暫時沒有更新。", + "no-update-msg": "暫時沒有更新,請經常回來看看。", + "update-web-problem": "暫時無法檢測更新。", + "update-web-problem-msg": "暫時無法檢測更新,可能是網絡連接有問題,請稍後再試。", + "settings": "設置", + "info": "關於wnr", + "window-hide": "隱藏至托盤菜單", + "window-minimize": "最小化至任務欄", + "title": "任務名稱是什麽?", + "work-time": "先工作多少分鐘?", + "rest-time": "再休息多少分鐘?", + "loop": "循環幾次?", + "note": "還有什麽想記的嗎?", + "tip": "輸入各個項目,然後按Enter鍵開始計時", + "back-index": "放棄當前時間計劃並返回首頁", + "skipper": "提前跳過當前的時間", + "not-enough": "請合法輸入工作時間、休息時間和循環次數。暫時不支持一分鐘及以下的時間。", + "too-long": "長度超過一天的計劃暫時不能添加。", + "back": "返回首頁", + "ended": "已完成", + "version": "版本", + "feedback-tip-part-1": "如果你使用時遇到了問題,或者", + "feedback-tip-part-2": "想給開發者一些建議,請", + "feedback-tip-part-3": "現在聯系我", + "feedback-tip-part-4": "!", + "email-to": "給我發郵件", + "exit-and-save": "關閉窗口並且保存", + "close": "關閉窗口", + "homepage": "官網/幫助手冊", + "issues": "已知問題列表", + "time-settings": "默認時間設置", + "global-settings": "全局設置", + "languages": "語言設置", + "language-setting": "語言設置:", + "language-setting-tip": "可以在下拉菜單中選擇語言。", + "language-contribute-tip-part-1": "如果你會另外一種語言,你可以", + "language-contribute-tip-part-2": "現在貢獻", + "sound-to-notify-setting": "提示音設置:", + "sound-to-notify-setting-tip": "在一段時間結束後,是否要播放提示音?若要修改提示音,請前往個性化設置。", + "always-on-top-setting": "置頂設置:", + "always-on-top-setting-tip": "是否要讓wnr始終在最上層?", + "need-to-restart-now": "現在就重啟軟件", + "need-to-restart-now-tip": "將會自動重啟軟件讓設置生效。", + "auto-start-setting": "開機自啟設置:", + "auto-start-setting-tip": "是否要讓wnr開機時自動啟動?", + "full-screen-focus-mode-tip": "如果你在休息或做別的事情的時候,還總是要看電腦,不妨開啟專心模式(全屏模式)試一下?", + "auto-check-update-setting": "自動更新檢測設置:", + "auto-check-update-setting-tip": "是否要wnr每天自動檢測更新(如果聯網)?如果有更新,將會提示您。", + "other-things": "其他設置和信息", + "manually-check-for-update-msg": "手動檢測更新:", + "manually-check-for-update": "現在就檢測更新!", + "manually-check-for-update-tip-1": "(現在你正在使用", + "manually-check-for-update-tip-2": ")", + "hotkey-for-show-or-hide-setting": "顯示/隱藏的快捷鍵:", + "hotkey-for-show-or-hide-setting-tip": "將會把wnr隱藏至托盤菜單,打開wnr後始終有效。部分快捷鍵被系統占用,可能無法設置。", + "hotkey-for-start-or-stop-setting": "開始/暫停的快捷鍵:", + "hotkey-for-start-or-stop-setting-tip": "將會開始或暫停計時,且僅在計時器頁面打開時有效。部分快捷鍵被系統占用,可能無法設置。", + "hotkey-failed": "設置失敗,換個按鍵組合試試看吧。", + "delete-all-data": "清除", + "delete-all-data-msg": "清除所有數據:", + "delete-all-data-dialog-box-title": "是否真的要清除數據?", + "delete-all-data-dialog-box-content": "此操作無法恢複!如果要,請勾選“清除”。我們建議在清除前先使用“備份設置項”功能備份數據。", + "delete-all-data-dialog-box-chk": "清除", + "h": "時 ", + "min": "分 ", + "s": "秒", + "times": "次", + "time(s)": "次", + "welcome-part-1": "歡迎使用wnr", + "welcome-part-2": "跨平台的輕量計時和時間管理工具,讓你更高效、強力地管理工作與休息。", + "welcome-part-3": "查看幫助手冊,熟悉一下wnr", + "welcome-part-4": "直接進入wnr", + "helper": "幫助手冊", + "newbie-for-settings": "你似乎是第一次打開設置", + "newbie-for-settings-tip": "設置會自動生效,部分組件在被設置後 會自動重啟程序,望知悉。", + "alarm-for-not-using-wnr-dialog-box-title": "你已經很久沒有使用wnr了。", + "alarm-for-not-using-wnr-dialog-box-content": "打開wnr,繼續你的時間計劃吧!", + "all-sum-part-1": "共計", + "all-sum-part-2": "分鐘,到", + "only-one-min-left": "時間僅剩不到一分鐘", + "only-one-min-left-msg": "這一段時間只剩下不到一分鐘了,好好規劃一下暫時的收尾工作吧!", + "operations": "操作", + "tourguide": "導覽", + "about": "關於", + "focus-mode-part-1": "全屏", + "focus-mode-part-2": "專心", + "wrong-folder-notification-title": "當前應用並不在應用程序文件夾中", + "wrong-folder-notification-content": "把應用移到系統的應用程序文件夾中可以更方便地使用wnr。", + "notification-sending-tip-msg": "通知相關事項:", + "notification-sending-tip": "wnr有時會發送通知(可以在系統設置中調整)。", + "extend-part-1": "更多", + "extend-part-2": "設置", + "default": "預設任務", + "edit": "編輯", + "is-alarm-for-not-using-wnr-on": "使用提醒設置:", + "is-alarm-for-not-using-wnr-on-tip": "如果此項被選中,則wnr會在您不使用或暫停超過十分鐘的時候提示您使用wnr,提高效率。", + "is-one-min-left-notification-on": "一分鐘提醒設置:", + "is-one-min-left-notification-on-tip": "如果此項被選中,則wnr會在時間僅剩下一分鐘時發出提醒,提示您進行暫時收尾工作。", + "working": "工作", + "resting": "休息", + "looping": "循環", + "time-left": "% 剩余", + "add": "添加", + "delete": "刪除", + "predefined-tasks-settings": "預設設置", + "focus-when-working": "工作時啟用專心模式", + "focus-when-resting": "休息時啟用專心模式", + "set-as-default-task": "設為默認預設", + "predefined-tasks-settings-tip": "紅色標題的是默認預設,會自動使用;藍色的是普通預設。當無限模式開啟後,循環設置將會被自動忽略。", + "is-auto-start-task-setting-on": "默認預設自動啟用設置:", + "is-auto-start-task-setting-on-tip": "如果此項被選中,則wnr會在啟動時自動啟用默認預設(假如有),這使你不會把wnr放在一邊不管。", + "window-close-dialog-box-title": "是否要退出wnr?", + "window-close-dialog-box-content": "如果確實要退出則勾選選框。", + "window-close-dialog-box-chk": "確定要退出", + "locker": "開/關鎖定模式", + "locker-settings": "鎖定模式", + "locker-settings-tip-part-1": "打開鎖定模式後,將無法修改設置,無法隨意退出程序。", + "locker-settings-tip-part-2": "功能類似於家長控制。如果自控力較弱,不妨讓別人輸入密碼,打開鎖定模式。目前的狀態:", + "on": "開", + "off": "關", + "period-symbol": "。", + "locker-settings-input": "請在此輸入密碼", + "locker-settings-input-again": "請再次輸入密碼", + "locker-settings-input-tip-lock-mode-on": "目前鎖定模式已經打開,輸入密碼以關閉。按下Enter鍵確認。", + "locker-settings-input-tip-wrong-password": "密碼輸入錯誤。", + "locker-settings-input-tip-lock-mode-off": "輸入密碼後,按Enter鍵進入鎖定模式。請慎重設置。", + "locker-settings-status": "設置成功。目前鎖定", + "locker-settings-not-same-password": "密碼不一致,請重新輸入。", + "locker-settings-empty-password": "密碼為空,無效。", + "is-local-time-setting-on": "時間顯示設置:", + "is-local-time-setting-on-tip": "打開後,將會在執行任務時在頁面頂部顯示此時此刻的時間,在全屏專心模式下尤其有用。", + "predefined-tasks-settings-tip-part-1": "先工作", + "predefined-tasks-settings-tip-part-2": ",然後休息", + "predefined-tasks-settings-tip-part-3": ";總共循環", + "copied": "已經復制。", + "settings-backup-msg": "備份wnr設置項:", + "settings-backup-tip": "點擊“復制”,可以復制並備份wnr設置項的口令。將口令粘貼到wnr的“導入設置”中,就可以實現設置的快捷導入。", + "settings-import-msg": "導入wnr設置項:", + "settings-import": "粘貼在此", + "settings-import-tip": "粘貼口令進文本框然後按下Enter鍵,導入設置項。", + "settings-import-error": "口令無效,請重試。", + "statistics-backup-msg": "備份wnr的時間統計:", + "statistics-backup-tip": "點擊“複制”,可以複制並備份wnr時間統計項的口令。將口令粘貼到wnr的“導入時間統計”中,就可以實現時間統計的快捷導入。", + "statistics-import-msg": "導入wnr的時間統計:", + "statistics-import": "粘貼在此", + "statistics-import-tip": "粘貼口令進文本框然後按下Enter鍵,導入時間統計。", + "statistics-import-error": "口令無效,請重試。", + "menu": "菜單列表", + "prevent-stop": "目前處於鎖定糢式或者正在執行專心任務,不能退出", + "infinity": "無限模式", + "is-infinity-mode-setting-on": "無限模式設置:", + "is-infinity-mode-setting-on-tip": "如果打開無限模式,則wnr會無限地自動重復設置的計劃,忽略循環設定。強制退出並恢複後,無限模式將不生效。", + "stop-now": "停止必將失敗的嘗試,返回專心", + "stop-now-msg": "在專心糢式下,你最終會發現無法使用你的軟件,停止不必要的嘗試吧!", + "without-permission-part-1": "沒有權限,可能無法設置開機自啓。", + "without-permission-part-2": "請前往系統偏好設置->安全性和隱私->自動化,找到wnr並勾選附屬的權限,否則無法設置。", + "permission-ask": "如果彈出權限申請框,請允許,否則無法設置開機自啓。", + "all-focus-mode-warn": "不允許把工作、休息時間都設置爲專心模式。", + "copy": "複制", + "paste": "粘貼", + "select-all": "全選", + "cut": "剪切", + "notification-settings": "1. 提醒設置", + "timer-settings": "2. 計時器設置", + "general-settings": "3. 通用設置", + "windows-7-notification": "你正在使用Windows7", + "windows-7-notification-msg": "如果你在使用時出現wnr黑屏的情況,請爲wnr打開“Vista兼容模式”。", + "personalization": "個性化設置", + "is-hide-from-dock-setting-on": "從Dock隱藏設置:", + "is-hide-from-dock-setting-on-tip": "如果此項被選中,則將會把wnr從Dock隱藏,你將會只能從狀態欄菜單打開wnr。", + "fullscreen-experience-tip": "你可能是第一次使用全屏專心模式。(如果你不需要強力體驗,可以在設置中開啓寬松全屏模式。)", + "fullscreen-too-long-tip": "這次你似乎將開啓一段很長的專心時間。", + "fullscreen-experience-tip-mistake": "誤點?這次你可以撤銷", + "quit-from-timer-in-lock-mode-msg": "鎖定模式下退出需輸入密碼", + "personalization-notification": "通知文本個性化:", + "personalization-notification-tip": "自定義這些通知文本,讓它們更加能激勵你前行!清空以複位。", + "personalization-notification-label-begin": "“", + "personalization-notification-label-end": "”:", + "personalization-notify-sound": "通知鈴聲個性化:", + "personalization-notify-sound-tip": "自定義鈴聲,讓它合你心意。將會自動播放以供測試。當提示音關閉時,此選項將被忽略。", + "personalization-notify-sound-msg-time-end": "一段時間結束:", + "personalization-notify-sound-msg-all-end": "整個計劃結束:", + "focus-mode": "專心模式進行中", + "has-multi-displays": "爲確保服務正常運行,請不要在專心模式運行時插、拔顯示器。", + "is-nap-on": "小憩設置:", + "is-nap-on-tip": "如果打開小憩提醒,將會在工作一段時間後以系統通知的形式提醒你小憩幾秒。小憩間隔時間必須短于工作時間。", + "is-nap-on-time-msg": "小憩間隔時間(分鍾):", + "should-nap-now": "現在小憩幾秒鍾吧", + "should-nap-now-msg": "現在小憩幾秒鍾,待會更有好精神。", + "is-loose-setting-on": "寬松的全屏專心模式:", + "is-loose-setting-on-tip": "如果將全屏專心模式設定爲寬松的,則我們將不會強制使應用處于最上層,不會強制鎖定所有顯示器,不會強制在所有虛擬桌面上顯示。謹慎選擇,因爲這可能使你無法專心于應當做的事。", + "submitter": "開始計時", + "is-still-count-setting-on": "鎖屏後繼續計時:", + "is-still-count-setting-on-tip": "如果此項被選中,則將會在電腦睡眠或鎖屏後繼續計時,而不會暫停。", + "suggest-star": "似乎wnr對你有用。", + "suggest-star-msg": "如果有GitHub的帳號,歡迎前往GitHub給我們一個寶貴的Star!", + "suggest-star-chk": "前往GitHub項目地址", + "personalization-white-or-dark": "個性化選擇顔色模式:", + "personalization-white-or-dark-tip": "選擇是始終使用明亮模式、暗黑模式還是自動切換(部分系統不支持自動切換,將會始終使用明亮模式)。", + "personalization-white-or-dark-mode-white": "明亮模式", + "personalization-white-or-dark-mode-dark": "暗黑模式", + "personalization-white-or-dark-mode-auto": "自動選擇", + "stopped": "已暫停", + "tourguide-part-2-1-content-part-1": "- 人們常常工作或學習持續時間太久,反而降低效率。", + "tourguide-part-2-1-content-part-2": "- 人們有時不自主地壹整天都盯著屏幕。", + "tourguide-part-2-1-content-part-3": "- 人們常常休息過久,忘了工作。", + "tourguide-part-2-1-content-part-4": "而wnr就是爲了解決這些問題而生的。", + "tourguide-part-2-1-title": "這是一款你所想要的時間管理工具。", + "tourguide-part-2-2-content-part-1": "輕巧、易用、迷人、克制。", + "tourguide-part-2-2-content-part-2": "這是極簡設計的目標,亦是我對wnr的設計願景。", + "tourguide-part-2-2-content-part-3": "抛棄笨拙的大家夥們,選擇wnr吧。你會有更美好的一天。", + "tourguide-part-2-2-title": "這是一款擁有現代界面的時間管理工具。", + "tourguide-part-2-3-content-part-1": "作爲一款創作之初,就意在打破“效率軟件無用論”的破局者,wnr可能會是那款真正于你有用的時間管理軟件/休息管理軟件,", + "tourguide-part-2-3-content-part-2": "因爲它有全屏專心模式,實現強力控制。", + "tourguide-part-2-3-content-part-3": "對于有需求的用戶,wnr還提供了使用提醒、多顯示器支持等完善功能。", + "tourguide-part-2-3-content-part-4": "* 如果不需要強力控制,你可以前往設置界面,選擇寬松模式,避免電腦被徹底鎖定。", + "tourguide-part-2-3-title": "這是一款真正有用的時間管理工具。", + "tourguide-part-2-4-content-part-1": "開始計時前,wnr允許你信手選擇常用的計劃,或是直接輸入你平時所用的時間數字,就像「四十分」或是「30min」。", + "tourguide-part-2-4-content-part-2": "開始計時之後,你會發現:除了「還剩下多少分鍾」,wnr的計時功能就不剩下什麽了;", + "tourguide-part-2-4-content-part-3": "你專心于使你激情澎湃的事業,到了時間wnr自然會提醒你。", + "tourguide-part-2-4-title": "這是一款方便易用的時間管理工具。", + "tourguide-part-2-5-content-part-1": "的確,它不是功能最多的時間管理軟件,", + "tourguide-part-2-5-content-part-2": "但它是一款精致的軟件,簡單而強大。", + "tourguide-part-2-5-content-part-3": "去設置界面逛一圈吧,你可能會發現不少你的心頭所好。", + "tourguide-part-2-5-content-part-4": "當然,如果有什麽功能wnr還不具備,也歡迎隨時反饋。", + "tourguide-part-2-5-content-part-5": "祝使用愉快。", + "tourguide-part-2-5-title": "這是一款簡單但強大的時間管理工具。", + "tourguide-finish": "開始使用", + "tourguide-prev": "返回上頁", + "tourguide-next": "進入下頁", + "predefined-task-wnr-recommended": "建議計劃", + "predefined-task-pomodoro": "番茄計時", + "predefined-task-class-time": "上課時間", + "check-after-time-end-setting": "時間結束後確認框顯示設置:", + "check-after-time-end-setting-tip": "如果此項被選中,則一段時間結束後,將會持續播放提示音並顯示確認框,點擊確認後才會開始下一段時間。不選中時將直接開始下一段時間並只播放一聲提示音。", + "focus-notify-pre": "當", + "focus-notify-working": "工作", + "focus-notify-resting": "休息", + "focus-notify-body": "時開啓全屏專心模式,到時將無法退出", + "recover": "退出MINI模式", + "mini-mode": "MINI模式", + "min-left": "分鍾剩余", + "statistics": "使用統計", + "statistics-work-time": "工作時間", + "statistics-rest-time": "休息時間", + "statistics-time-sum": "時間總計", + "today": "今天", + "yesterday": "昨天", + "this-week": "本週", + "this-year": "本年", + "all-time": "全部時間" } \ No newline at end of file diff --git a/main.js b/main.js index edae5d4..1588fcf 100644 --- a/main.js +++ b/main.js @@ -627,6 +627,12 @@ function traySolution(isFullScreen) { click: function () { locker(); } + }, { + enabled: !isTimerWin, + label: i18n.__('statistics'), + click: function () { + if (win != null) win.loadFile('statistics.html'); + } }, { enabled: (!store.get('islocked')) && (!isTimerWin), label: i18n.__('settings'), @@ -736,6 +742,12 @@ function macOSFullscreenSolution(isFullScreen) { }, { label: i18n.__('operations'), submenu: [{ + enabled: !isTimerWin, + label: i18n.__('statistics'), + click: function () { + if (win != null) win.loadFile('statistics.html'); + } + }, { enabled: (!store.get('islocked')) && (!isTimerWin), label: i18n.__('settings'), click: function () { diff --git a/res/builder/output/linux.js b/res/builder/output/linux.js new file mode 100644 index 0000000..2fdc1bb --- /dev/null +++ b/res/builder/output/linux.js @@ -0,0 +1,3 @@ +const builder=require("electron-builder"),Platform=builder.Platform,config={directories:{output:"packaged/",app:"output/"},linux:{target:["dir"],icon:"res/icons/wnrIcon.png",files:["**/*", +//! to exclude +"!res/icons/*Mac*","!res/icons/*Win*","!res/icons/*.psd"]}};builder.build({targets:Platform.LINUX.createTarget(),config:config}).then(e=>{console.log(e)}).catch(e=>{console.error(e)}); \ No newline at end of file diff --git a/res/builder/output/mac.js b/res/builder/output/mac.js new file mode 100644 index 0000000..29d3c20 --- /dev/null +++ b/res/builder/output/mac.js @@ -0,0 +1,3 @@ +const builder=require("electron-builder"),Platform=builder.Platform,config={directories:{output:"packaged/",app:"output/"},mac:{asarUnpack:["./node_modules/node-notifier/vendor/**"],target:["dmg"],icon:"res/icons/iconMac.icns",darkModeSupport:!0,files:["**/*", +//! to exclude +"!res/icons/*Win*","!res/icons/*.psd"]},dmg:{icon:"res/icons/iconMac.icns",backgroundColor:"#fefefe",artifactName:"${productName}-${version}-MacOS.${ext}"}};builder.build({targets:Platform.MAC.createTarget(),config:config}).then(e=>{console.log("Done!")}).catch(e=>{console.error(e)}); \ No newline at end of file diff --git a/res/builder/output/node-minify.js b/res/builder/output/node-minify.js new file mode 100644 index 0000000..26410b6 --- /dev/null +++ b/res/builder/output/node-minify.js @@ -0,0 +1 @@ +const minify=require("@node-minify/core"),terser=require("@node-minify/terser"),csso=require("@node-minify/csso"),htmlMinifier=require("@node-minify/html-minifier"),jsonMinify=require("@node-minify/jsonminify"),fs=require("fs"),path=require("path"),originUrl=path.join(__dirname,"\\../../"),outputUrl=path.join(__dirname,"\\../../output");function minifier(){copyDir(originUrl,outputUrl,{}),fs.readdirSync(outputUrl).forEach((function(i){try{-1!=i.indexOf(".js")?minify({compressor:terser,input:path.join(originUrl,i),output:path.join(outputUrl,i),callback:function(i,n){}}):-1!=i.indexOf(".css")&&minify({compressor:csso,input:path.join(originUrl,i),output:path.join(outputUrl,i),callback:function(i,n){}})}catch(i){console.log(i)}})),fs.readdirSync(path.join(originUrl,"locales")).forEach((function(i){try{-1!=i.indexOf(".json")&&minify({compressor:jsonMinify,input:path.join(path.join(originUrl,"locales"),i),output:path.join(path.join(outputUrl,"locales"),i),callback:function(i,n){}})}catch(i){console.log(i)}})),setTimeout((function(){console.log("\nMinification finished. If you saw some warnings, just ignore them - in most cases, wnr will be fine. ")}),500)}function removePromise(i){return new Promise((function(n,o){fs.stat(i,(function(o,r){r.isDirectory()?fs.readdir(i,(function(o,r){r=(r=r.map(n=>path.join(i,n))).map(i=>removePromise(i)),Promise.all(r).then((function(){fs.rmdir(i,n)}))})):fs.unlink(i,n)}))}))}function copyDir(i,n,o={}){let r=i,t=n;if(o.relative){path.resolve(process.cwd(),i),path.join(process.cwd(),n)}_copydir(r,t)}function _copydir(i,n){try{fs.accessSync(n)}catch(i){fs.mkdirSync(n)}try{fs.readdirSync(i).forEach((function(o){let r=i+"/"+o,t=n+"/"+o;try{let i=fs.statSync(r);i.isFile()?fs.writeFileSync(t,fs.readFileSync(r)):i.isDirectory()&&"designs"!=o&&"packaged"!=o&&".git"!=o&&"output"!=o&&_copydir(r,t)}catch(i){console.log(i)}}))}catch(i){console.log(i)}}fs.existsSync(outputUrl)?removePromise(outputUrl).then(()=>{minifier()}):minifier(); \ No newline at end of file diff --git a/res/builder/output/nsis-ia32.js b/res/builder/output/nsis-ia32.js new file mode 100644 index 0000000..cb64cbb --- /dev/null +++ b/res/builder/output/nsis-ia32.js @@ -0,0 +1,3 @@ +const builder=require("electron-builder"),Platform=builder.Platform,config={directories:{output:"packaged/",app:"output/"},win:{asarUnpack:["./node_modules/node-notifier/vendor/**"],target:[{target:"nsis",arch:["ia32"]}],icon:"res/icons/iconWin.ico",files:["**/*", +//! to exclude +"!res/icons/*Mac*","!res/icons/*.psd"]},nsis:{installerLanguages:["en-US","zh-CN","zh-TW"],guid:"B5BF1EA0-B474-40D3-B31E-6AD92477CCAF",license:"LICENSE",oneClick:!1,installerSidebar:"res/builder/nsisResources/installerSidebar.bmp",artifactName:"${productName}-${version}-Setup-32.${ext}",allowToChangeInstallationDirectory:!0}};builder.build({targets:Platform.WINDOWS.createTarget(),config:config}).then(e=>{console.log("Done!")}).catch(e=>{console.error(e)}); \ No newline at end of file diff --git a/res/builder/output/nsis.js b/res/builder/output/nsis.js new file mode 100644 index 0000000..0ea0144 --- /dev/null +++ b/res/builder/output/nsis.js @@ -0,0 +1,3 @@ +const builder=require("electron-builder"),Platform=builder.Platform,config={directories:{output:"packaged/",app:"output/"},win:{asarUnpack:["./node_modules/node-notifier/vendor/**"],target:[{target:"nsis"}],icon:"res/icons/iconWin.ico",files:["**/*", +//! to exclude +"!res/icons/*Mac*","!res/icons/*.psd"]},nsis:{installerLanguages:["en-US","zh-CN","zh-TW"],guid:"B5BF1EA0-B474-40D3-B31E-6AD92477CCAF",license:"LICENSE",oneClick:!1,installerSidebar:"res/builder/nsisResources/installerSidebar.bmp",artifactName:"${productName}-${version}-Setup-64.${ext}",allowToChangeInstallationDirectory:!0}};builder.build({targets:Platform.WINDOWS.createTarget(),config:config}).then(e=>{console.log("Done!")}).catch(e=>{console.error(e)}); \ No newline at end of file diff --git a/res/builder/output/nsisResources/installerSidebar.bmp b/res/builder/output/nsisResources/installerSidebar.bmp new file mode 100644 index 0000000..b5ce744 Binary files /dev/null and b/res/builder/output/nsisResources/installerSidebar.bmp differ diff --git a/res/builder/output/portable.js b/res/builder/output/portable.js new file mode 100644 index 0000000..4ba9d32 --- /dev/null +++ b/res/builder/output/portable.js @@ -0,0 +1,3 @@ +const builder=require("electron-builder"),Platform=builder.Platform,config={directories:{output:"packaged/",app:"output/"},win:{asarUnpack:["./node_modules/node-notifier/vendor/**"],target:["portable"],icon:"res/icons/iconWin.ico",files:["**/*", +//! to exclude +"!res/icons/*Mac*","!res/icons/*.psd"],publisherName:"Roderick Qiu",artifactName:"${productName}-${version}-Portable.${ext}"}};builder.build({targets:Platform.WINDOWS.createTarget(),config:config}).then(e=>{console.log("Done!")}).catch(e=>{console.error(e)}); \ No newline at end of file diff --git a/res/builder/output/win-zip.js b/res/builder/output/win-zip.js new file mode 100644 index 0000000..6f27161 --- /dev/null +++ b/res/builder/output/win-zip.js @@ -0,0 +1,3 @@ +const builder=require("electron-builder"),Platform=builder.Platform,config={directories:{output:"packaged/",app:"output/"},win:{asarUnpack:["./node_modules/node-notifier/vendor/**"],target:["7z"],icon:"res/icons/iconWin.ico",files:["**/*", +//! to exclude +"!res/icons/*Mac*","!res/icons/*.psd"],artifactName:"${productName}-${version}-Win.${ext}"}};builder.build({targets:Platform.WINDOWS.createTarget(),config:config}).then(e=>{console.log("Done!")}).catch(e=>{console.error(e)}); \ No newline at end of file diff --git a/statistics.html b/statistics.html index 3a77b6f..d829a02 100644 --- a/statistics.html +++ b/statistics.html @@ -34,7 +34,7 @@
-
+
@@ -45,19 +45,24 @@
-
- 今天 | 昨天 | 本周 | 本年 - | 全部时间 +
diff --git a/style.css b/style.css index d9a7049..ab65520 100644 --- a/style.css +++ b/style.css @@ -718,5 +718,16 @@ li input[type="checkbox"]::after { } #statistics-graph { - height: 200px; + height: 180px; +} + +#statistics-back{ + position: absolute; + bottom: 2px; + left: 8px; + display: inline-block; + background-clip: padding-box; + -webkit-app-region: no-drag; + /* let it clickable */ + -webkit-user-select: none; } \ No newline at end of file