@etsoo/appscript 1.4.1 → 1.4.3

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.
@@ -0,0 +1,226 @@
1
+ {
2
+ "accountant": "會計",
3
+ "actions": "操作",
4
+ "add": "添加",
5
+ "assignedId": "分配的編號",
6
+ "audits": "操作歷史",
7
+ "author": "作者",
8
+ "authorizer": "授權人",
9
+ "applicant": "申請人",
10
+ "approve": "批准",
11
+ "back": "後退",
12
+ "cancel": "取消",
13
+ "changePassword": "修改密碼",
14
+ "clickForDetails": "點擊查看詳情",
15
+ "city": "城市",
16
+ "clear": "清除",
17
+ "close": "關閉",
18
+ "confirm": "確認",
19
+ "confirmAction": "確定要{0}嗎?",
20
+ "completeTip": "已完成 {0}",
21
+ "continentAF": "非洲",
22
+ "continentAN": "南極洲",
23
+ "continentAS": "亞洲",
24
+ "continentEU": "歐洲",
25
+ "continentNA": "北美洲",
26
+ "continentOC": "大洋洲",
27
+ "continentSA": "南美洲",
28
+ "copy": "複製",
29
+ "creation": "登記時間",
30
+ "currentPassword": "當前密碼",
31
+ "currentPasswordRequired": "請輸入現在使用的密碼",
32
+ "currency": "幣種",
33
+ "currencyAUD": "澳元",
34
+ "currencyCAD": "加元",
35
+ "currencyCNY": "人民幣",
36
+ "currencyEUR": "歐元",
37
+ "currencyGBP": "英鎊",
38
+ "currencyHKD": "港幣",
39
+ "currencyJPY": "日元",
40
+ "currencyNZD": "紐幣",
41
+ "currencySGD": "新幣",
42
+ "currencyUSD": "美元",
43
+ "data": "數據",
44
+ "dataComparison": "數據對比",
45
+ "dataPrivacy": "數據隱私",
46
+ "dataPrivacyAdmin": "管理員可見",
47
+ "dataPrivacyCustomer": "客戶可見",
48
+ "dataPrivacyDept": "部門可見",
49
+ "dataPrivacyInternal": "所有用户",
50
+ "dataPrivacyPrivate": "創建者私有",
51
+ "dataPrivacyPublic": "完全公開",
52
+ "default": "默認",
53
+ "delete": "刪除",
54
+ "deleteConfirm": "確定要永久刪除此{0}嗎?",
55
+ "description": "描述",
56
+ "district": "區/縣",
57
+ "done": "完成",
58
+ "download": "下載",
59
+ "dragIndicator": "拖動指示",
60
+ "edit": "修改",
61
+ "email": "電子郵箱",
62
+ "emailAddresses": "電子郵箱",
63
+ "enabled": "已啟用",
64
+ "entityStatus": "狀態",
65
+ "environmentChanged": "運行環境已改變,請重新登錄",
66
+ "error": "錯誤",
67
+ "etsoo": "億速思維",
68
+ "expiry": "到期時間",
69
+ "exportToPdf": "導出為PDF",
70
+ "failed": "操作失敗",
71
+ "field": "字段",
72
+ "fileDownloaded": "文件已下載",
73
+ "help": "幫助",
74
+ "id": "編號",
75
+ "info": "信息",
76
+ "item": "項目",
77
+ "itemExists": "'{0}'已经存在",
78
+ "keywords": "關鍵詞",
79
+ "loading": "正在加載...",
80
+ "login": "登錄",
81
+ "me": "我",
82
+ "menuHome": "首頁",
83
+ "message": "留言",
84
+ "mobilePhone": "手機號碼",
85
+ "mobilePhones": "手機號碼",
86
+ "monthLabel": "{0}個月",
87
+ "months": [
88
+ "1月",
89
+ "2月",
90
+ "3月",
91
+ "4月",
92
+ "5月",
93
+ "6月",
94
+ "7月",
95
+ "8月",
96
+ "9月",
97
+ "10月",
98
+ "11月",
99
+ "12月"
100
+ ],
101
+ "more": "更多",
102
+ "moreTag": "({0}+)",
103
+ "name": "姓名",
104
+ "nameB": "名稱",
105
+ "newPassword": "新密碼",
106
+ "newPasswordRequired": "請輸入新密碼",
107
+ "newPasswordTip": "請設置一個和現在的密碼不一樣的新密碼",
108
+ "newValue": "舊值",
109
+ "nextStep": "下一步",
110
+ "no": "否",
111
+ "noChanges": "還沒有任何修改",
112
+ "noData": "沒有有效數據",
113
+ "noMatches": "没有匹配项",
114
+ "none": "暫時沒有",
115
+ "noOptions": "沒有選項",
116
+ "noRows": "沒有數據",
117
+ "ok": "確定",
118
+ "oldValue": "舊值",
119
+ "open": "打開",
120
+ "openMenu": "打開菜單",
121
+ "operationSucceeded": "操作成功",
122
+ "others": "其他",
123
+ "pageNotFound": "找不到頁面",
124
+ "passwordChangeSuccess": "密碼修改成功,請重新登錄",
125
+ "passwordRepeatError": "兩次輸入的密碼不一致",
126
+ "passwordTip": "密碼不能少於6個字符,且至少包含一個字母和數字",
127
+ "pdf": "PDF",
128
+ "pinYin": "拼音首字母",
129
+ "previousStep": "上一步",
130
+ "print": "打印",
131
+ "prompt": "輸入",
132
+ "pullToRefresh": "下拉刷新",
133
+ "quarters": ["一季度", "二季度", "三季度", "四季度"],
134
+ "reactivateTip": "等待超時,請點擊確定按鈕重新激活",
135
+ "record": "記錄",
136
+ "refresh": "刷新",
137
+ "refreshing": "正在刷新",
138
+ "region": "國家或地區",
139
+ "regionAU": "澳大利亞",
140
+ "regionCA": "加拿大",
141
+ "regionCN": "中國大陸",
142
+ "regionDE": "德國",
143
+ "regionFR": "法國",
144
+ "regionGB": "英國",
145
+ "regionHK": "中國香港",
146
+ "regionIE": "愛爾蘭",
147
+ "regionJP": "日本",
148
+ "regionNZ": "新西蘭",
149
+ "regionSG": "新加坡",
150
+ "regionUS": "美國",
151
+ "releaseToRefresh": "釋放刷新",
152
+ "reloginTip": "請輸入您的登錄密碼,登錄成功後請重新提交數據",
153
+ "remove": "移除",
154
+ "renew": "續費",
155
+ "reports": "統計報表",
156
+ "requiredField": "'{0}'不能為空",
157
+ "repeatPassword": "重複密碼",
158
+ "repeatPasswordRequired": "請重複輸入新密碼",
159
+ "resending": "重新發送",
160
+ "reset": "重置",
161
+ "rotateLeft": "左旋轉90°",
162
+ "rotateRight": "右旋轉90°",
163
+ "save": "保存",
164
+ "scrollToTop": "回到頂部",
165
+ "search": "搜索",
166
+ "send": "發送",
167
+ "setAsDefault": "設為默認",
168
+ "settings": "系統設置",
169
+ "showIt": "顯示",
170
+ "signout": "退出",
171
+ "smartERP": "司友®雲ERP",
172
+ "sortTip": "拖拽項目進行排序",
173
+ "state": "省/州",
174
+ "status": "狀態",
175
+ "statusApproved": "已批准",
176
+ "statusArchived": "已歸檔",
177
+ "statusAudited": "已審核",
178
+ "statusCompleted": "已完成",
179
+ "statusDeleted": "已刪除",
180
+ "statusDoing": "處理中",
181
+ "statusFlaged": "已標記",
182
+ "statusNormal": "正常",
183
+ "statusInactivated": "已停用",
184
+ "submit": "提交",
185
+ "success": "成功",
186
+ "taxId": "稅號",
187
+ "taxIdHelp": "用於實名認證和開具發票",
188
+ "taxCABN": "營業編號(BN)",
189
+ "taxCNUSCC": "統一信用代碼",
190
+ "taxHKBRN": "商業登記號碼(BRN)",
191
+ "taxNZIRD": "IRD",
192
+ "taxUSEIN": "雇主識別號碼(EIN)",
193
+ "timeDifferenceInvalid": "設備時間和服務器時間差為{0},超過{1}秒的限制,請調整設備時間,如果異常請告知管理員",
194
+ "title": "標題",
195
+ "tokenExpiry": "您的會話即將過期。點擊 取消 按鈕繼續使用",
196
+ "type": "類型",
197
+ "yes": "是",
198
+ "uid": "通用標識",
199
+ "unknownError": "未知錯誤",
200
+ "unitJoin": "每{0}",
201
+ "unitPC": "件",
202
+ "unitSET": "套",
203
+ "unitHOUR": "小時",
204
+ "unitDAY": "天",
205
+ "unitYEAR": "年",
206
+ "unitWEEK": "週",
207
+ "unitFORTNIGHT": "兩週",
208
+ "unitFOURWEEK": "四周",
209
+ "unitMONEY": "儲值",
210
+ "unitMONTH": "月",
211
+ "unitBIMONTH": "兩月",
212
+ "unitQUATER": "季度",
213
+ "unitHALFYEAR": "半年",
214
+ "unitGRAM": "克",
215
+ "unitJIN": "斤",
216
+ "unitKILOGRAM": "公斤",
217
+ "unitTIME": "次",
218
+ "update": "更新",
219
+ "updateReady": "更新就緒",
220
+ "updateTip": "重新啟動應用程序以使用最新功能",
221
+ "user": "用戶",
222
+ "users": "用戶",
223
+ "view": "查看",
224
+ "warning": "警告",
225
+ "welcome": "{0}, 歡迎光臨!"
226
+ }
@@ -1,7 +1,7 @@
1
- import { i18nResource } from './i18nResources';
1
+ import { DataTypes } from '@etsoo/shared';
2
2
  /**
3
3
  * Get zh-Hans neutral cultrue
4
4
  * @param localResources Local resources
5
5
  * @returns Full culture
6
6
  */
7
- export declare const zhHans: (resources: i18nResource) => import("@etsoo/shared").DataTypes.CultureDefinition<import("@etsoo/shared").DataTypes.StringRecord>;
7
+ export declare const zhHans: (resources: object | (() => Promise<object>)) => DataTypes.CultureDefinition<DataTypes.StringRecord>;
@@ -1,12 +1,47 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.zhHans = void 0;
4
27
  const shared_1 = require("@etsoo/shared");
5
- const i18nResources_1 = require("./i18nResources");
6
28
  /**
7
29
  * Get zh-Hans neutral cultrue
8
30
  * @param localResources Local resources
9
31
  * @returns Full culture
10
32
  */
11
- const zhHans = (resources) => shared_1.DomUtils.en((0, i18nResources_1.i18nResourceCreator)('./zh-Hans.json', resources));
33
+ const zhHans = (resources) => shared_1.DomUtils.en(async () => {
34
+ const [r1, r2] = await Promise.all([
35
+ Promise.resolve().then(() => __importStar(require('./zh-Hans.json'))),
36
+ new Promise((resolve) => {
37
+ if (typeof resources === 'object') {
38
+ resolve(resources);
39
+ }
40
+ else {
41
+ resources().then((result) => resolve(result));
42
+ }
43
+ })
44
+ ]);
45
+ return { ...r1, ...r2 };
46
+ });
12
47
  exports.zhHans = zhHans;
@@ -1,7 +1,7 @@
1
- import { i18nResource } from './i18nResources';
1
+ import { DataTypes } from '@etsoo/shared';
2
2
  /**
3
3
  * Get zh-Hant neutral cultrue
4
4
  * @param localResources Local resources
5
5
  * @returns Full culture
6
6
  */
7
- export declare const zhHant: (resources: i18nResource) => import("@etsoo/shared").DataTypes.CultureDefinition<import("@etsoo/shared").DataTypes.StringRecord>;
7
+ export declare const zhHant: (resources: object | (() => Promise<object>)) => DataTypes.CultureDefinition<DataTypes.StringRecord>;
@@ -1,12 +1,47 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.zhHant = void 0;
4
27
  const shared_1 = require("@etsoo/shared");
5
- const i18nResources_1 = require("./i18nResources");
6
28
  /**
7
29
  * Get zh-Hant neutral cultrue
8
30
  * @param localResources Local resources
9
31
  * @returns Full culture
10
32
  */
11
- const zhHant = (resources) => shared_1.DomUtils.en((0, i18nResources_1.i18nResourceCreator)('./zh-Hant.json', resources));
33
+ const zhHant = (resources) => shared_1.DomUtils.en(async () => {
34
+ const [r1, r2] = await Promise.all([
35
+ Promise.resolve().then(() => __importStar(require('./zh-Hant.json'))),
36
+ new Promise((resolve) => {
37
+ if (typeof resources === 'object') {
38
+ resolve(resources);
39
+ }
40
+ else {
41
+ resources().then((result) => resolve(result));
42
+ }
43
+ })
44
+ ]);
45
+ return { ...r1, ...r2 };
46
+ });
12
47
  exports.zhHant = zhHant;
@@ -221,7 +221,7 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
221
221
  * @param culture New culture definition
222
222
  * @param onReady On ready callback
223
223
  */
224
- changeCulture(culture: DataTypes.CultureDefinition, onReady?: () => void): void;
224
+ changeCulture(culture: DataTypes.CultureDefinition, onReady?: (resources: DataTypes.StringRecord) => void): void;
225
225
  /**
226
226
  * Update current region label
227
227
  */
@@ -519,13 +519,13 @@ export class CoreApp {
519
519
  culture.resources = result;
520
520
  this.updateRegionLabel();
521
521
  if (onReady)
522
- onReady();
522
+ onReady(result);
523
523
  });
524
524
  }
525
525
  else {
526
526
  this.updateRegionLabel();
527
527
  if (onReady)
528
- onReady();
528
+ onReady(culture.resources);
529
529
  }
530
530
  }
531
531
  /**
@@ -161,7 +161,7 @@ export interface IApp {
161
161
  * @param culture New culture definition
162
162
  * @param onReady On ready callback
163
163
  */
164
- changeCulture(culture: DataTypes.CultureDefinition, onReady?: () => void): void;
164
+ changeCulture(culture: DataTypes.CultureDefinition, onReady?: (resources: DataTypes.StringRecord) => void): void;
165
165
  /**
166
166
  * Check the action result is about device invalid
167
167
  * @param result Action result
@@ -1,7 +1,7 @@
1
- import { i18nResource } from './i18nResources';
1
+ import { DataTypes } from '@etsoo/shared';
2
2
  /**
3
3
  * Get en neutral culture
4
4
  * @param localResources Local resources
5
5
  * @returns Full culture
6
6
  */
7
- export declare const en: (resources: i18nResource) => import("@etsoo/shared").DataTypes.CultureDefinition<import("@etsoo/shared").DataTypes.StringRecord>;
7
+ export declare const en: (resources: object | (() => Promise<object>)) => DataTypes.CultureDefinition<DataTypes.StringRecord>;
@@ -1,8 +1,20 @@
1
1
  import { DomUtils } from '@etsoo/shared';
2
- import { i18nResourceCreator } from './i18nResources';
3
2
  /**
4
3
  * Get en neutral culture
5
4
  * @param localResources Local resources
6
5
  * @returns Full culture
7
6
  */
8
- export const en = (resources) => DomUtils.en(i18nResourceCreator('./en.json', resources));
7
+ export const en = (resources) => DomUtils.en(async () => {
8
+ const [r1, r2] = await Promise.all([
9
+ import('./en.json'),
10
+ new Promise((resolve) => {
11
+ if (typeof resources === 'object') {
12
+ resolve(resources);
13
+ }
14
+ else {
15
+ resources().then((result) => resolve(result));
16
+ }
17
+ })
18
+ ]);
19
+ return { ...r1, ...r2 };
20
+ });
@@ -0,0 +1,227 @@
1
+ {
2
+ "accountant": "Accountant",
3
+ "actions": "Actions",
4
+ "add": "Add",
5
+ "assignedId": "Assigned ID",
6
+ "audits": "Audits",
7
+ "author": "Author",
8
+ "authorizer": "Authorizer",
9
+ "applicant": "Applicant",
10
+ "approve": "Approve it",
11
+ "back": "Back",
12
+ "cancel": "Cancel",
13
+ "changePassword": "Change password",
14
+ "clickForDetails": "Click for details",
15
+ "city": "City",
16
+ "clear": "Clear",
17
+ "close": "Close",
18
+ "confirm": "Confirm",
19
+ "confirmAction": "Are you sure you want to {0}?",
20
+ "completeTip": "{0} completed",
21
+ "continentAF": "Africa",
22
+ "continentAN": "Antarctica",
23
+ "continentAS": "Asia",
24
+ "continentEU": "Europe",
25
+ "continentNA": "North America",
26
+ "continentOC": "Oceania",
27
+ "continentSA": "South America",
28
+ "copy": "Copy",
29
+ "creation": "Creation",
30
+ "currentPassword": "Current password",
31
+ "currentPasswordRequired": "Please enter your current password",
32
+ "currency": "Currency",
33
+ "currencyAUD": "Australia Dollar",
34
+ "currencyCAD": "Canada Dollar",
35
+ "currencyCNY": "Renminbi(RMB)",
36
+ "currencyEUR": "Euro",
37
+ "currencyGBP": "British Pound",
38
+ "currencyHKD": "Hong Kong Dollar",
39
+ "currencyJPY": "Japan Yen",
40
+ "currencyNZD": "New Zealand Dollar",
41
+ "currencySGD": "Singapore Dollar",
42
+ "currencyUSD": "U.S. Dollar",
43
+ "data": "Data",
44
+ "dataComparison": "Data comparison",
45
+ "dataPrivacy": "Data privacy",
46
+ "dataPrivacyAdmin": "Admins",
47
+ "dataPrivacyCustomer": "Customers",
48
+ "dataPrivacyDept": "Dept users",
49
+ "dataPrivacyInternal": "All users",
50
+ "dataPrivacyPrivate": "Creator only",
51
+ "dataPrivacyPublic": "Full public",
52
+ "default": "Default",
53
+ "delete": "Delete",
54
+ "deleteConfirm": "Are you sure you want to permanently delete this {0}?",
55
+ "description": "Description",
56
+ "district": "District/County",
57
+ "done": "Done",
58
+ "download": "Download",
59
+ "dragIndicator": "Drag indicator",
60
+ "edit": "Edit",
61
+ "email": "Email",
62
+ "emailAddresses": "Email addresses",
63
+ "enabled": "Enabled",
64
+ "entityStatus": "Status",
65
+ "environmentChanged": "The operating environment has changed, please log in again",
66
+ "error": "Error",
67
+ "etsoo": "ETSOO",
68
+ "expiry": "Expiry",
69
+ "exportToPdf": "Export to PDF",
70
+ "failed": "Operation failed",
71
+ "field": "Field",
72
+ "fileDownloaded": "The file has been downloaded",
73
+ "help": "Help",
74
+ "id": "Number#",
75
+ "info": "Info",
76
+ "item": "Item",
77
+ "itemExists": "'{0}' already exists",
78
+ "keywords": "Keywords",
79
+ "loading": "Loading...",
80
+ "login": "Login",
81
+ "me": "ME",
82
+ "menuHome": "Home",
83
+ "message": "Message",
84
+ "mobile": "Mobile number",
85
+ "mobilePhones": "Mobile numbers",
86
+ "monthLabel": "{0} month(s)",
87
+ "months": [
88
+ "Jan.",
89
+ "Feb.",
90
+ "Mar.",
91
+ "Apr.",
92
+ "May.",
93
+ "Jun.",
94
+ "Jul.",
95
+ "Aug.",
96
+ "Sep.",
97
+ "Oct.",
98
+ "Nov.",
99
+ "Dec."
100
+ ],
101
+ "more": "More",
102
+ "moreTag": "{0} more",
103
+ "name": "Name",
104
+ "nameB": "Name",
105
+ "newPassword": "New password",
106
+ "newPasswordRequired": "Please enter your new password",
107
+ "newPasswordTip": "New password should be different",
108
+ "newValue": "New value",
109
+ "nextStep": "Next",
110
+ "no": "No",
111
+ "noChanges": "No changes yet",
112
+ "noData": "No valid data",
113
+ "noMatches": "No matches",
114
+ "none": "None yet",
115
+ "noOptions": "No options",
116
+ "noRows": "No data",
117
+ "ok": "OK",
118
+ "oldValue": "Old value",
119
+ "open": "Open",
120
+ "openMenu": "Open menu",
121
+ "operationSucceeded": "Operation succeeded",
122
+ "others": "Others",
123
+ "pageNotFound": "Page Not Found",
124
+ "passwordChangeSuccess": "Password changed successfully, please sign in again",
125
+ "passwordRepeatError": "The two passwords entered are inconsistent",
126
+ "passwordTip": "The password cannot be less than 6 characters and contains at least one letter and number",
127
+ "pdf": "PDF",
128
+ "pinYin": "Pinyin Initials",
129
+ "previousStep": "Previous",
130
+ "print": "Print",
131
+ "prompt": "Input",
132
+ "pullToRefresh": "Pull down to refresh",
133
+ "quarters": ["Q1", "Q2", "Q3", "Q4"],
134
+ "reactivateTip": "The operation timed out, please click the OK button to reactivate",
135
+ "record": "Record",
136
+ "refresh": "Refresh",
137
+ "refreshing": "Refreshing",
138
+ "releaseToRefresh": "Release to refresh",
139
+ "region": "Country or region",
140
+ "regionAU": "Australia",
141
+ "regionCA": "Canada",
142
+ "regionCN": "Mainland China",
143
+ "regionDE": "Germany",
144
+ "regionFR": "France",
145
+ "regionGB": "United Kingdom",
146
+ "regionHK": "Hong Kong, China",
147
+ "regionIE": "Ireland",
148
+ "regionJP": "Japan",
149
+ "regionNZ": "New Zealand",
150
+ "regionSG": "Singapore",
151
+ "regionUS": "United States",
152
+ "reloginTip": "Please enter your password, resubmit the data after successful login",
153
+ "remove": "Remove",
154
+ "renew": "Renew",
155
+ "repeatPassword": "Repeat the password",
156
+ "repeatPasswordRequired": "Please repeat the new password",
157
+ "reports": "Reports",
158
+ "requiredField": "{0} is a required field",
159
+ "resending": "Resending",
160
+ "reset": "Reset",
161
+ "rotateLeft": "Rotate left 90°",
162
+ "rotateRight": "Rotate right 90°",
163
+ "save": "Save",
164
+ "scrollToTop": "Scroll to top",
165
+ "search": "Search",
166
+ "send": "Send",
167
+ "setAsDefault": "Set as default",
168
+ "settings": "Settings",
169
+ "showIt": "Show it",
170
+ "signout": "Sign out",
171
+ "smartERP": "SmartERP",
172
+ "sortTip": "Drag and drop items to sort",
173
+ "state": "Province/State",
174
+ "status": "Status",
175
+ "statusApproved": "Approved",
176
+ "statusArchived": "Archived",
177
+ "statusAudited": "Audited",
178
+ "statusCompleted": "Completed",
179
+ "statusDeleted": "Deleted",
180
+ "statusDoing": "Doing",
181
+ "statusFlaged": "Flaged",
182
+ "statusNormal": "Normla",
183
+ "statusInactivated": "Inactivated",
184
+ "submit": "Submit",
185
+ "success": "Success",
186
+ "taxId": "Tax ID number",
187
+ "taxIdHelp": "Used for real-name authentication and invoicing",
188
+ "taxCABN": "Business number",
189
+ "taxCNUSCC": "Unified social credit code",
190
+ "taxHKBRN": "Business registration number",
191
+ "taxNZIRD": "IRD",
192
+ "taxUSEIN": "Employer identification number",
193
+ "timeDifferenceInvalid": "The time difference between the device and the server is {0}, which exceeds the limit of {1} seconds. Please adjust the device time. If it is abnormal, please inform the administrator",
194
+ "title": "Title",
195
+ "tokenExpiry": "Your session is about to expire. Click the Cancel button to continue",
196
+ "type": "Type",
197
+ "yes": "Yes",
198
+ "uid": "Universal ID",
199
+ "unknownError": "Unknown Error",
200
+ "unitJoin": "per {0}",
201
+ "unitPC": "PC",
202
+ "unitSET": "SET",
203
+ "unitHOUR": "Hour",
204
+ "unitDAY": "Day",
205
+ "unitYEAR": "Year",
206
+ "unitWEEK": "Week",
207
+ "unitFORTNIGHT": "Fortnight",
208
+ "unitFOURWEEK": "4-week",
209
+ "unitMONEY": "Money",
210
+ "unitMONTH": "Month",
211
+ "unitBIMONTH": "2-month",
212
+ "unitQUATER": "Quater",
213
+ "unitHALFYEAR": "6-month",
214
+ "unitGRAM": "g",
215
+ "unitJIN": "½Kg",
216
+ "unitKILOGRAM": "Kg",
217
+ "unitTIME": "Time",
218
+ "unitTON": "Ton",
219
+ "update": "Update",
220
+ "updateReady": "Update ready",
221
+ "updateTip": "Restart the application to use the latest features",
222
+ "user": "User",
223
+ "users": "Users",
224
+ "view": "View",
225
+ "warning": "Warning",
226
+ "welcome": "{0}, welcome!"
227
+ }