diff --git a/package.json b/package.json index 7e51043..d83babd 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,8 @@ "cytoscape-popper": "^2.0.0", "date-fns": "^2.30.0", "decimal.js": "^10.4.3", + "i18next": "^23.11.5", + "i18next-browser-languagedetector": "^8.0.0", "javascript-color-gradient": "^2.4.4", "mitt": "^3.0.0", "moment": "^2.29.4", diff --git a/src/i18n/en.json b/src/i18n/en.json new file mode 100644 index 0000000..039d1f7 --- /dev/null +++ b/src/i18n/en.json @@ -0,0 +1,5 @@ +{ + "Compare": { + "avgCycleTimeTitle": "Average Cycle Time" + } +} \ No newline at end of file diff --git a/src/i18n/i18n.js b/src/i18n/i18n.js new file mode 100644 index 0000000..249e3da --- /dev/null +++ b/src/i18n/i18n.js @@ -0,0 +1,31 @@ +import i18next from 'i18next'; +import LanguageDetector from 'i18next-browser-languagedetector'; +import enLocale from './en.json'; + + +i18next + .use(LanguageDetector) + .init({ + // 配置你的本地化選項 + resources: { + en: enLocale, + de: { + translation: { + greeting: 'Hallo!' + } + } + // 添加其他語言的翻譯 + }, + // 選擇默認的語言 + fallbackLng: 'en', + + // 在初始化時自動檢測用戶的語言 + detection: { + order: ['localStorage', 'navigator'], + caches: ['localStorage'] + }, + + // 選擇性配置其他選項... + }); + +export default i18next; \ No newline at end of file diff --git a/src/module/timeLabel.js b/src/module/timeLabel.js index 251c9a3..f698f5b 100644 --- a/src/module/timeLabel.js +++ b/src/module/timeLabel.js @@ -102,7 +102,9 @@ export function followTimeLabel(second, max, fixedNumber = 0) { */ export function dateLabel(date, maxDate, minDate) { // 將時間字串轉換為時間物件 - // new Date(time) 之後不用 getTime(),因為在JavaScript中,日期物件是以時間戳記(timestamp)的形式存儲的。當創建一個新的日期物件時,它內部會自動轉換時間字串為時間戳記。 + // new Date(time) 之後不用 getTime(),因為在JavaScript中, + // 日期物件是以時間戳記(timestamp)的形式存儲的。當創建一個新的日期物件時, + // 它內部會自動轉換時間字串為時間戳記。 date = new Date(date); maxDate = new Date(maxDate); minDate = new Date(minDate);