Index: arms/html/template/page-sidebar.html
===================================================================
diff -u -r86273f1fb1983157456da70e455375eb28bb67f7 -r0cc2ef4e5a19518c64915cbacfe792d16f05c766
--- arms/html/template/page-sidebar.html (.../page-sidebar.html) (revision 86273f1fb1983157456da70e455375eb28bb67f7)
+++ arms/html/template/page-sidebar.html (.../page-sidebar.html) (revision 0cc2ef4e5a19518c64915cbacfe792d16f05c766)
@@ -26,11 +26,11 @@
@@ -53,11 +53,11 @@
@@ -71,11 +71,11 @@
@@ -89,19 +89,19 @@
@@ -121,31 +121,31 @@
Index: reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss
===================================================================
diff -u -r1928300b466242910388c27dc0947dbfafe31f45 -r0cc2ef4e5a19518c64915cbacfe792d16f05c766
--- reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss (.../layout.scss) (revision 1928300b466242910388c27dc0947dbfafe31f45)
+++ reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss (.../layout.scss) (revision 0cc2ef4e5a19518c64915cbacfe792d16f05c766)
@@ -54,9 +54,8 @@
}
function 로드_완료_이후_실행_함수() {
-
톱니바퀴_초기설정();
-
+ setLocale();
}
////////////////////////////////////////////////////////////////////////////////////////
@@ -155,13 +154,12 @@
self.removeAttr("data-include");
});
} else if (url.indexOf("page-sidebar") !== -1) {
-
if (mode == "detail" || hrefLink.indexOf("detail.html") > 0) {
url = "/arms/html/detail/page-sidebar.html";
self.load(url, function () {
self.removeAttr("data-include");
});
- }else{
+ } else {
url = "/arms/html/template/page-sidebar.html";
self.load(url, function () {
self.removeAttr("data-include");
@@ -1111,9 +1109,7 @@
}
function laddaBtnSetting(라따적용_클래스이름_배열) {
-
for (i = 0; i < 라따적용_클래스이름_배열.length; i++) {
-
// add css
$(라따적용_클래스이름_배열[i]).addClass("ladda-button");
@@ -1122,7 +1118,6 @@
callback: function (instance) {
var progress = 0;
var interval = setInterval(function () {
-
progress = Math.min(progress + 0.1, 1);
instance.setProgress(progress);
@@ -1181,7 +1176,8 @@
let tourGuideMode = getCookie("tourGuideMode");
if (tourGuideMode) {
return tourGuideMode;
- } else { //쿠키가 없을 때, "on"으로 체크
+ } else {
+ //쿠키가 없을 때, "on"으로 체크
setTourGuideMode("on");
return getCookie("tourGuideMode");
}
@@ -1192,14 +1188,13 @@
/////////////////////////////////
function setTourGuideMode(mode) {
console.log("[ common :: setTourGuideMode ] :: mode → " + mode);
- $.cookie("tourGuideMode",mode,{ expires: 7});
+ $.cookie("tourGuideMode", mode, { expires: 7 });
return mode;
}
-
function tourGuideStart() {
let pageName = getPageName(this.location.search);
- console.log("[ common :: tourGuideStart ] :: pageName → " +pageName);
+ console.log("[ common :: tourGuideStart ] :: pageName → " + pageName);
let tg = TourGuideApi.makeInstance(pageName);
tg.start();
}
@@ -1210,7 +1205,8 @@
if (!checkMobileDevice()) {
if (tourGuideMode === "off") {
console.log("common :: checkTourGuideMode : tourGuideMode is Off");
- } else {//mode 가 없거나 on 일때
+ } else {
+ //mode 가 없거나 on 일때
console.log("common :: checkTourGuideMode : tourGuideMode is On");
setTourGuideMode("on");
setTimeout(function () {
@@ -1232,7 +1228,7 @@
$("#tourGuideButtons #tour_guide_on").addClass("active");
}
- $("#tourGuideButtons button").click(function() {
+ $("#tourGuideButtons button").click(function () {
let $active_label = $(this).text().toLowerCase();
console.log($active_label);
if ($active_label === "on") {
@@ -1261,7 +1257,6 @@
return isMobile;
}
-
////////////////////////////////////////////////////////////////////////////////////////
// 헤더 :: 톱니바퀴 대응함수
////////////////////////////////////////////////////////////////////////////////////////
@@ -1525,8 +1520,7 @@
const params = {};
window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi, (str, key, value) => {
-
- if (!isEmpty(path) && key === "page") {
+ if (!isEmpty(path) && key === "page") {
params[key] = path;
} else {
params[key] = value;
@@ -1541,14 +1535,12 @@
const params = {};
window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi, (str, key, value) => {
-
- if (!isEmpty(bo_table) && key === "page") {
+ if (!isEmpty(bo_table) && key === "page") {
params[key] = "index";
} else {
-
if (key == "wr_id") {
console.log("skip");
- }else {
+ } else {
params[key] = value;
}
}
@@ -1586,4 +1578,46 @@
params["mode"] = "detail";
location.href = `/php/gnuboard5/index.php?${new URLSearchParams(params).toString()}`;
-}
\ No newline at end of file
+}
+
+/**
+ * Locales
+ * */
+function bindLocaleText(locales) {
+ const targets = document.querySelectorAll("[data-locale]");
+
+ targets.forEach((tag) => {
+ tag.textContent = locales[tag.dataset.locale];
+ });
+}
+
+function flattenObject(obj, parentKey) {
+ let result = {};
+
+ Object.entries(obj).forEach(([key, value]) => {
+ const _key = parentKey ? parentKey + "." + key : key;
+ if (typeof value === "object") {
+ result = { ...result, ...flattenObject(value, _key) };
+ } else {
+ result[_key] = value;
+ }
+ });
+
+ return result;
+}
+
+function setLocale(locale = "ko") {
+ $.ajax({
+ url: `locales/${locale}.json`,
+ async: false,
+ dataType: "json"
+ }).done(function (data) {
+ bindLocaleText(flattenObject(data));
+ });
+}
+
+function chnageLoocale() {
+ const localeSelect = document.getElementById("localeSelect");
+
+ setLocale(localeSelect.options[localeSelect.selectedIndex].value);
+}
Index: arms/locales/en.json
===================================================================
diff -u
--- arms/locales/en.json (revision 0)
+++ arms/locales/en.json (revision 0cc2ef4e5a19518c64915cbacfe792d16f05c766)
@@ -0,0 +1,31 @@
+{
+ "nav": {
+ "product": {
+ "p": "Product Management",
+ "v": "Version Management"
+ },
+ "alm": {
+ "s": "Server Management",
+ "c": "Manage Connection"
+ },
+ "requirement": {
+ "q": "Demand Management",
+ "s": "Status Management"
+ },
+ "analysis": {
+ "g": "Gantt Chart",
+ "t": "Time Analysis",
+ "s": "Scope Analysis",
+ "r": "Resource Analysis"
+ },
+ "community": {
+ "n": "Notice",
+ "q": "Inquiry Answers",
+ "p": "Patch Note",
+ "m": "Manual",
+ "t": "Administrative Tools",
+ "c": "Contributors",
+ "l": "Licenses"
+ }
+ }
+}
Index: arms/locales/ko.json
===================================================================
diff -u
--- arms/locales/ko.json (revision 0)
+++ arms/locales/ko.json (revision 0cc2ef4e5a19518c64915cbacfe792d16f05c766)
@@ -0,0 +1,31 @@
+{
+ "nav": {
+ "product": {
+ "p": "제품 관리",
+ "v": "버전 관리"
+ },
+ "alm": {
+ "s": "서버 관리",
+ "c": "연결 관리"
+ },
+ "requirement": {
+ "q": "요구 관리",
+ "s": "현황 관리"
+ },
+ "analysis": {
+ "g": "간트 차트 - Gantt",
+ "t": "일정 분석 - Time",
+ "s": "범위 분석 - Scope",
+ "r": "자원 분석 - Resource"
+ },
+ "community": {
+ "n": "공지 사항",
+ "q": "문의 답변",
+ "p": "업데이트 노트",
+ "m": "사용자 메뉴얼",
+ "t": "관리 도구",
+ "c": "만든 사람",
+ "l": "라이 선스"
+ }
+ }
+}
Index: arms/template.html
===================================================================
diff -u -r3d4ed2f63583496900dfa737bf5979c8f5d7d63b -r0cc2ef4e5a19518c64915cbacfe792d16f05c766
--- arms/template.html (.../template.html) (revision 3d4ed2f63583496900dfa737bf5979c8f5d7d63b)
+++ arms/template.html (.../template.html) (revision 0cc2ef4e5a19518c64915cbacfe792d16f05c766)
@@ -1,301 +1,449 @@
-
- A-RMS By 313DEVGRP
+
+ A-RMS By 313DEVGRP
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
+
-
+
+
-
-
-
+
-
+
-
-
-
-
+
+
+
어플리케이션 API Data를 가져오는 중입니다...
-
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+