@things-factory/meta-ui 7.0.1-alpha.12 → 7.0.1-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/bootstrap.ts +0 -12
- package/client/utils/terms-util.js +4 -92
- package/dist-client/bootstrap.js +0 -11
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/utils/terms-util.d.ts +8 -34
- package/dist-client/utils/terms-util.js +1 -84
- package/dist-client/utils/terms-util.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -5,23 +5,6 @@
|
|
|
5
5
|
* @description 용어 처리 유틸리티
|
|
6
6
|
*/
|
|
7
7
|
export class TermsUtil {
|
|
8
|
-
/**
|
|
9
|
-
* 용어 : 용어 키 - 용어 표현 값
|
|
10
|
-
*/
|
|
11
|
-
static META_TERMS: null;
|
|
12
|
-
/**
|
|
13
|
-
* @description 서버에 현재 로케일에 맞는 용어를 모두 조회
|
|
14
|
-
***********************************************
|
|
15
|
-
* @param {String} locale
|
|
16
|
-
*/
|
|
17
|
-
static downloadTerminologies(locale: string): Promise<void>;
|
|
18
|
-
/**
|
|
19
|
-
* @description locale 정보로 용어 모두 조회
|
|
20
|
-
*********************************************
|
|
21
|
-
* @param {String} locale
|
|
22
|
-
* @returns {Array} 용어 리스트
|
|
23
|
-
*/
|
|
24
|
-
static fetchTerminologies(locale: string): any[];
|
|
25
8
|
/**
|
|
26
9
|
* @description 라벨 (필드) labelName을 다국어 변환하여 리턴
|
|
27
10
|
***********************************************
|
|
@@ -29,7 +12,7 @@ export class TermsUtil {
|
|
|
29
12
|
* @param {Object} params
|
|
30
13
|
* @returns 번역된 라벨 (필드) 명
|
|
31
14
|
*/
|
|
32
|
-
static tLabel(labelName: string, params: any):
|
|
15
|
+
static tLabel(labelName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
|
|
33
16
|
/**
|
|
34
17
|
* @description 필드 fieldName을 다국어 변환하여 리턴
|
|
35
18
|
***********************************************
|
|
@@ -37,14 +20,14 @@ export class TermsUtil {
|
|
|
37
20
|
* @param {Object} params
|
|
38
21
|
* @returns 번역된 필드 명
|
|
39
22
|
*/
|
|
40
|
-
static tField(fieldName: string, params: any):
|
|
23
|
+
static tField(fieldName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
|
|
41
24
|
/**
|
|
42
25
|
* @description 버튼 buttonName을 다국어 변환하여 리턴
|
|
43
26
|
***********************************************
|
|
44
27
|
* @param {String} buttonName
|
|
45
28
|
* @returns 번역된 버튼 명
|
|
46
29
|
*/
|
|
47
|
-
static tButton(buttonName: string):
|
|
30
|
+
static tButton(buttonName: string): import("i18next").TFunctionDetailedResult<object>;
|
|
48
31
|
/**
|
|
49
32
|
* @description 타이틀 titleName을 다국어 변환하여 리턴
|
|
50
33
|
***********************************************
|
|
@@ -52,14 +35,14 @@ export class TermsUtil {
|
|
|
52
35
|
* @param {Object} params
|
|
53
36
|
* @returns 번역된 타이틀 명
|
|
54
37
|
*/
|
|
55
|
-
static tTitle(titleName: string, params: any):
|
|
38
|
+
static tTitle(titleName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
|
|
56
39
|
/**
|
|
57
40
|
* @description 메뉴 menuName을 다국어 변환하여 리턴
|
|
58
41
|
***********************************************
|
|
59
42
|
* @param {String} menuName
|
|
60
43
|
* @returns 번역된 메뉴 명
|
|
61
44
|
*/
|
|
62
|
-
static tMenu(menuName: string):
|
|
45
|
+
static tMenu(menuName: string): import("i18next").TFunctionDetailedResult<object>;
|
|
63
46
|
/**
|
|
64
47
|
* @description 텍스트 textName을 다국어 변환하여 리턴
|
|
65
48
|
***********************************************
|
|
@@ -67,7 +50,7 @@ export class TermsUtil {
|
|
|
67
50
|
* @param {Object} params
|
|
68
51
|
* @returns 번역된 텍스트 값
|
|
69
52
|
*/
|
|
70
|
-
static tText(textName: string, params: any):
|
|
53
|
+
static tText(textName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
|
|
71
54
|
/**
|
|
72
55
|
* @description 에러 errorName을 다국어 변환하여 리턴
|
|
73
56
|
***********************************************
|
|
@@ -75,7 +58,7 @@ export class TermsUtil {
|
|
|
75
58
|
* @param {Object} params
|
|
76
59
|
* @returns 번역된 에러 메시지
|
|
77
60
|
*/
|
|
78
|
-
static tError(errorName: string, params: any):
|
|
61
|
+
static tError(errorName: string, params: any): import("i18next").TFunctionDetailedResult<object>;
|
|
79
62
|
/**
|
|
80
63
|
* @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
|
|
81
64
|
***********************************************
|
|
@@ -85,14 +68,5 @@ export class TermsUtil {
|
|
|
85
68
|
* @param {String} defaultValue
|
|
86
69
|
* @returns termKey 다국어 변환 값
|
|
87
70
|
*/
|
|
88
|
-
static translate(termCategory: string, termName: string, parameters: any, defaultValue: string):
|
|
89
|
-
/**
|
|
90
|
-
* @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
|
|
91
|
-
***********************************************
|
|
92
|
-
* @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}
|
|
93
|
-
* @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
|
|
94
|
-
* @param {String} defaultValue
|
|
95
|
-
* @returns termKey 다국어 변환 값
|
|
96
|
-
*/
|
|
97
|
-
static t(termKey: string, parameters: any, defaultValue: string): string;
|
|
71
|
+
static translate(termCategory: string, termName: string, parameters: any, defaultValue: string): import("i18next").TFunctionDetailedResult<object>;
|
|
98
72
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import gql from 'graphql-tag';
|
|
2
|
-
import { client } from '@operato/graphql';
|
|
3
1
|
import { i18next } from '@operato/i18n';
|
|
4
2
|
/**
|
|
5
3
|
* @license
|
|
@@ -8,57 +6,6 @@ import { i18next } from '@operato/i18n';
|
|
|
8
6
|
* @description 용어 처리 유틸리티
|
|
9
7
|
*/
|
|
10
8
|
export class TermsUtil {
|
|
11
|
-
/**
|
|
12
|
-
* @description 서버에 현재 로케일에 맞는 용어를 모두 조회
|
|
13
|
-
***********************************************
|
|
14
|
-
* @param {String} locale
|
|
15
|
-
*/
|
|
16
|
-
static async downloadTerminologies(locale) {
|
|
17
|
-
let res = await TermsUtil.fetchTerminologies(locale);
|
|
18
|
-
let records = res.records;
|
|
19
|
-
if (records && records.length > 0) {
|
|
20
|
-
TermsUtil.META_TERMS = {};
|
|
21
|
-
records.forEach(r => {
|
|
22
|
-
let name = `${r.category}.${r.name}`;
|
|
23
|
-
TermsUtil.META_TERMS[name] = r.display;
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @description locale 정보로 용어 모두 조회
|
|
29
|
-
*********************************************
|
|
30
|
-
* @param {String} locale
|
|
31
|
-
* @returns {Array} 용어 리스트
|
|
32
|
-
*/
|
|
33
|
-
static async fetchTerminologies(locale) {
|
|
34
|
-
let filters = [{ name: 'locale', operator: 'eq', value: locale }];
|
|
35
|
-
let sortings = [{ name: 'category' }, { name: 'name' }];
|
|
36
|
-
let page = 0;
|
|
37
|
-
let limit = 0;
|
|
38
|
-
const response = await client.query({
|
|
39
|
-
query: gql `
|
|
40
|
-
query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
|
|
41
|
-
terminologies(filters: $filters, pagination: $pagination, sortings: $sortings) {
|
|
42
|
-
items {
|
|
43
|
-
name
|
|
44
|
-
locale
|
|
45
|
-
category
|
|
46
|
-
display
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
total
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
`,
|
|
53
|
-
variables: { filters, sortings, pagination: { page, limit } }
|
|
54
|
-
});
|
|
55
|
-
if (!response.errors) {
|
|
56
|
-
return {
|
|
57
|
-
records: response.data.terminologies.items || [],
|
|
58
|
-
total: response.data.terminologies.total || 0
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
9
|
/**
|
|
63
10
|
* @description 라벨 (필드) labelName을 다국어 변환하여 리턴
|
|
64
11
|
***********************************************
|
|
@@ -141,37 +88,7 @@ export class TermsUtil {
|
|
|
141
88
|
* @returns termKey 다국어 변환 값
|
|
142
89
|
*/
|
|
143
90
|
static translate(termCategory, termName, parameters, defaultValue) {
|
|
144
|
-
|
|
145
|
-
return TermsUtil.t(termKey, parameters, defaultValue);
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
|
|
149
|
-
***********************************************
|
|
150
|
-
* @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}
|
|
151
|
-
* @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
|
|
152
|
-
* @param {String} defaultValue
|
|
153
|
-
* @returns termKey 다국어 변환 값
|
|
154
|
-
*/
|
|
155
|
-
static t(termKey, parameters, defaultValue) {
|
|
156
|
-
let translated = TermsUtil.META_TERMS ? TermsUtil.META_TERMS[termKey] : null;
|
|
157
|
-
translated = translated ? translated : i18next.t(termKey);
|
|
158
|
-
if (translated && termKey != translated) {
|
|
159
|
-
if (parameters) {
|
|
160
|
-
Object.keys(parameters).forEach(function (param) {
|
|
161
|
-
var bracedData = '\\' + '{' + param.replace(/\$/, '\\$') + '\\' + '}';
|
|
162
|
-
var regEx = new RegExp(bracedData, 'gi');
|
|
163
|
-
translated = translated.replace(regEx, parameters[param]);
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
return translated;
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
return defaultValue;
|
|
170
|
-
}
|
|
91
|
+
return i18next.t(`${termCategory}.${termName}`, Object.assign(Object.assign({}, parameters), { defaultValue: defaultValue || termName }));
|
|
171
92
|
}
|
|
172
93
|
}
|
|
173
|
-
/**
|
|
174
|
-
* 용어 : 용어 키 - 용어 표현 값
|
|
175
|
-
*/
|
|
176
|
-
TermsUtil.META_TERMS = null;
|
|
177
94
|
//# sourceMappingURL=terms-util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terms-util.js","sourceRoot":"","sources":["../../client/utils/terms-util.js"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\nimport { client } from '@operato/graphql'\n\nimport { i18next } from '@operato/i18n'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 용어 처리 유틸리티\n */\nexport class TermsUtil {\n /**\n * 용어 : 용어 키 - 용어 표현 값\n */\n static META_TERMS = null\n\n /**\n * @description 서버에 현재 로케일에 맞는 용어를 모두 조회\n ***********************************************\n * @param {String} locale\n */\n static async downloadTerminologies(locale) {\n let res = await TermsUtil.fetchTerminologies(locale)\n let records = res.records\n\n if (records && records.length > 0) {\n TermsUtil.META_TERMS = {}\n records.forEach(r => {\n let name = `${r.category}.${r.name}`\n TermsUtil.META_TERMS[name] = r.display\n })\n }\n }\n\n /**\n * @description locale 정보로 용어 모두 조회\n *********************************************\n * @param {String} locale\n * @returns {Array} 용어 리스트\n */\n static async fetchTerminologies(locale) {\n let filters = [{ name: 'locale', operator: 'eq', value: locale }]\n let sortings = [{ name: 'category' }, { name: 'name' }]\n let page = 0\n let limit = 0\n\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n terminologies(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n name\n locale\n category\n display\n }\n\n total\n }\n }\n `,\n variables: { filters, sortings, pagination: { page, limit } }\n })\n\n if (!response.errors) {\n return {\n records: response.data.terminologies.items || [],\n total: response.data.terminologies.total || 0\n }\n }\n }\n\n /**\n * @description 라벨 (필드) labelName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} labelName\n * @param {Object} params\n * @returns 번역된 라벨 (필드) 명\n */\n static tLabel(labelName, params) {\n let labelValue = TermsUtil.translate('label', labelName, params, null)\n return labelValue ? labelValue : TermsUtil.translate('field', labelName, params, labelName)\n }\n\n /**\n * @description 필드 fieldName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} fieldName\n * @param {Object} params\n * @returns 번역된 필드 명\n */\n static tField(fieldName, params) {\n let fieldValue = TermsUtil.translate('field', fieldName, params, null)\n return fieldValue ? fieldValue : TermsUtil.translate('field', fieldName, params, fieldName)\n }\n\n /**\n * @description 버튼 buttonName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} buttonName\n * @returns 번역된 버튼 명\n */\n static tButton(buttonName) {\n return TermsUtil.translate('button', buttonName, null, buttonName)\n }\n\n /**\n * @description 타이틀 titleName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} titleName\n * @param {Object} params\n * @returns 번역된 타이틀 명\n */\n static tTitle(titleName, params) {\n let titleValue = TermsUtil.translate('title', titleName, params, null)\n return titleValue ? titleValue : TermsUtil.translate('menu', titleName, params, titleName)\n }\n\n /**\n * @description 메뉴 menuName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} menuName\n * @returns 번역된 메뉴 명\n */\n static tMenu(menuName) {\n let menuValue = TermsUtil.translate('menu', menuName, null, null)\n return menuValue ? menuValue : TermsUtil.translate('title', menuName, null, menuName)\n }\n\n /**\n * @description 텍스트 textName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} textName\n * @param {Object} params\n * @returns 번역된 텍스트 값\n */\n static tText(textName, params) {\n return TermsUtil.translate('text', textName, params, textName)\n }\n\n /**\n * @description 에러 errorName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} errorName\n * @param {Object} params\n * @returns 번역된 에러 메시지\n */\n static tError(errorName, params) {\n return TermsUtil.translate('error', errorName, params, errorName)\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termCategory 용어 카테고리 (label, field, title, menu, button, text, error, ...)\n * @param {String} termName 용어 이름\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static translate(termCategory, termName, parameters, defaultValue) {\n let termKey = termCategory + '.' + termName\n return TermsUtil.t(termKey, parameters, defaultValue)\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static t(termKey, parameters, defaultValue) {\n let translated = TermsUtil.META_TERMS ? TermsUtil.META_TERMS[termKey] : null\n translated = translated ? translated : i18next.t(termKey)\n\n if (translated && termKey != translated) {\n if (parameters) {\n Object.keys(parameters).forEach(function (param) {\n var bracedData = '\\\\' + '{' + param.replace(/\\$/, '\\\\$') + '\\\\' + '}'\n var regEx = new RegExp(bracedData, 'gi')\n translated = translated.replace(regEx, parameters[param])\n })\n }\n return translated\n } else {\n return defaultValue\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"terms-util.js","sourceRoot":"","sources":["../../client/utils/terms-util.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACtE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACtE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU;QACvB,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACtE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5F,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACjE,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvF,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM;QAC3B,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAC7B,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY;QAC/D,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,QAAQ,EAAE,kCACzC,UAAU,KACb,YAAY,EAAE,YAAY,IAAI,QAAQ,IACtC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { i18next } from '@operato/i18n'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 용어 처리 유틸리티\n */\nexport class TermsUtil {\n /**\n * @description 라벨 (필드) labelName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} labelName\n * @param {Object} params\n * @returns 번역된 라벨 (필드) 명\n */\n static tLabel(labelName, params) {\n let labelValue = TermsUtil.translate('label', labelName, params, null)\n return labelValue ? labelValue : TermsUtil.translate('field', labelName, params, labelName)\n }\n\n /**\n * @description 필드 fieldName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} fieldName\n * @param {Object} params\n * @returns 번역된 필드 명\n */\n static tField(fieldName, params) {\n let fieldValue = TermsUtil.translate('field', fieldName, params, null)\n return fieldValue ? fieldValue : TermsUtil.translate('field', fieldName, params, fieldName)\n }\n\n /**\n * @description 버튼 buttonName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} buttonName\n * @returns 번역된 버튼 명\n */\n static tButton(buttonName) {\n return TermsUtil.translate('button', buttonName, null, buttonName)\n }\n\n /**\n * @description 타이틀 titleName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} titleName\n * @param {Object} params\n * @returns 번역된 타이틀 명\n */\n static tTitle(titleName, params) {\n let titleValue = TermsUtil.translate('title', titleName, params, null)\n return titleValue ? titleValue : TermsUtil.translate('menu', titleName, params, titleName)\n }\n\n /**\n * @description 메뉴 menuName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} menuName\n * @returns 번역된 메뉴 명\n */\n static tMenu(menuName) {\n let menuValue = TermsUtil.translate('menu', menuName, null, null)\n return menuValue ? menuValue : TermsUtil.translate('title', menuName, null, menuName)\n }\n\n /**\n * @description 텍스트 textName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} textName\n * @param {Object} params\n * @returns 번역된 텍스트 값\n */\n static tText(textName, params) {\n return TermsUtil.translate('text', textName, params, textName)\n }\n\n /**\n * @description 에러 errorName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} errorName\n * @param {Object} params\n * @returns 번역된 에러 메시지\n */\n static tError(errorName, params) {\n return TermsUtil.translate('error', errorName, params, errorName)\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termCategory 용어 카테고리 (label, field, title, menu, button, text, error, ...)\n * @param {String} termName 용어 이름\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static translate(termCategory, termName, parameters, defaultValue) {\n return i18next.t(`${termCategory}.${termName}`, {\n ...parameters,\n defaultValue: defaultValue || termName\n })\n }\n}\n"]}
|