@dshtrading/client-ui-settings 0.1.0
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/LICENSE +75 -0
- package/lib/client/locales.d.ts +17 -0
- package/lib/client/locales.js +203 -0
- package/lib/client.js +1329 -0
- package/lib/client.js.map +1 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +13 -0
- package/package.json +66 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Copyright (c) 2026 zhu1090093659 (dsh-trading)
|
|
2
|
+
|
|
3
|
+
# PolyForm Noncommercial License 1.0.0
|
|
4
|
+
|
|
5
|
+
<https://polyformproject.org/licenses/noncommercial/1.0.0>
|
|
6
|
+
|
|
7
|
+
## Acceptance
|
|
8
|
+
|
|
9
|
+
In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
|
|
10
|
+
|
|
11
|
+
## Copyright License
|
|
12
|
+
|
|
13
|
+
The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
|
|
14
|
+
|
|
15
|
+
## Distribution License
|
|
16
|
+
|
|
17
|
+
The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
|
|
18
|
+
|
|
19
|
+
## Notices
|
|
20
|
+
|
|
21
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
|
|
22
|
+
|
|
23
|
+
> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
|
|
24
|
+
|
|
25
|
+
## Changes and New Works License
|
|
26
|
+
|
|
27
|
+
The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
|
|
28
|
+
|
|
29
|
+
## Patent License
|
|
30
|
+
|
|
31
|
+
The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
|
|
32
|
+
|
|
33
|
+
## Noncommercial Purposes
|
|
34
|
+
|
|
35
|
+
Any noncommercial purpose is a permitted purpose.
|
|
36
|
+
|
|
37
|
+
## Personal Uses
|
|
38
|
+
|
|
39
|
+
Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
|
|
40
|
+
|
|
41
|
+
## Noncommercial Organizations
|
|
42
|
+
|
|
43
|
+
Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
|
|
44
|
+
|
|
45
|
+
## Fair Use
|
|
46
|
+
|
|
47
|
+
You may have "fair use" rights for the software under the law. These terms do not limit them.
|
|
48
|
+
|
|
49
|
+
## No Other Rights
|
|
50
|
+
|
|
51
|
+
These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
|
|
52
|
+
|
|
53
|
+
## Patent Defense
|
|
54
|
+
|
|
55
|
+
If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
56
|
+
|
|
57
|
+
## Violations
|
|
58
|
+
|
|
59
|
+
The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
|
|
60
|
+
|
|
61
|
+
## No Liability
|
|
62
|
+
|
|
63
|
+
***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
|
|
64
|
+
|
|
65
|
+
## Definitions
|
|
66
|
+
|
|
67
|
+
The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
|
|
68
|
+
|
|
69
|
+
**You** refers to the individual or entity agreeing to these terms.
|
|
70
|
+
|
|
71
|
+
**Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
72
|
+
|
|
73
|
+
**Your licenses** are all the licenses granted to you for the software under these terms.
|
|
74
|
+
|
|
75
|
+
**Use** means anything you do with the software requiring one of your licenses.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/client/locales.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* client-ui-settings client 词典(纯数据模块:零运行时依赖)。
|
|
4
|
+
*
|
|
5
|
+
* 单一来源:本包 client apply 注册 zh/en(typed register 编译期校验键位);
|
|
6
|
+
* packages/dsh-i18n 语言包构建期 import 本模块注册 zh-CN;scripts/i18n-audit.mjs
|
|
7
|
+
* 静态加载本模块做 zh/en 键对齐与占位符对齐门禁。
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* dshtrading.settings locale keys(单一来源 = locales.ts zh 块;contract/locale-keys.ts
|
|
11
|
+
* 据此 augment LocaleNamespaceMap,PropsLocale 落 t 座位)。
|
|
12
|
+
*/
|
|
13
|
+
type SettingsLocaleKey = 'nav' | 'lead' | 'tabs' | 'empty' | 'save' | 'discard' | 'saved' | 'saveFailed' | 'current' | 'default' | 'custom' | 'newsKeyLabel' | 'newsKeyPlaceholder' | 'newsSaved' | 'newsSaveFailed' | 'colorMode.label' | 'colorMode.redUp' | 'colorMode.greenUp' | 'market.crypto' | 'market.us' | 'market.cn' | 'market.hk' | 'credential.btn' | 'credential.btnFold' | 'credential.configured' | 'credential.notConfigured' | 'credential.save' | 'credential.delete' | 'credential.saved' | 'credential.deleted' | 'credential.saveFailed' | 'credential.deleteFailed' | 'type.public' | 'type.gateway' | 'type.commercial' | 'field.action.hide' | 'field.action.show' | 'provider.docsLink' | 'provider.envPrefix' | 'provider.binance' | 'provider.okx' | 'provider.bybit' | 'provider.ccxt' | 'provider.yahoo' | 'provider.alpaca' | 'provider.fmp' | 'provider.finnhub' | 'provider.polygon' | 'provider.ibkr' | 'provider.stooq' | 'provider.tencent' | 'provider.eastmoney' | 'provider.tushare' | 'provider.akshare' | 'provider.qmt' | 'provider.futu' | 'provider.longbridge' | 'provider.tiger' | 'field.label.apiKey' | 'field.label.apiSecret' | 'field.label.secretKey' | 'field.label.passphrase' | 'field.label.token' | 'field.label.apiUrl' | 'field.label.qmtUrl' | 'field.label.futuHost' | 'field.label.futuPort' | 'field.label.ibkrUrl' | 'field.label.appKey' | 'field.label.appSecret' | 'field.label.accessToken' | 'field.label.tigerId' | 'field.label.tigerPrivateKey' | 'field.placeholder.binanceKey' | 'field.placeholder.binanceSecret' | 'field.placeholder.okxKey' | 'field.placeholder.okxSecret' | 'field.placeholder.okxPassphrase' | 'field.placeholder.bybitKey' | 'field.placeholder.bybitSecret' | 'field.placeholder.ccxtKey' | 'field.placeholder.ccxtSecret' | 'field.placeholder.alpacaKey' | 'field.placeholder.alpacaSecret' | 'field.placeholder.fmpKey' | 'field.placeholder.finnhubKey' | 'field.placeholder.polygonKey' | 'field.placeholder.tushareToken' | 'field.placeholder.akshareUrl' | 'field.placeholder.qmtUrl' | 'field.placeholder.futuHost' | 'field.placeholder.futuPort' | 'field.placeholder.ibkrUrl' | 'field.placeholder.longbridgeAppKey' | 'field.placeholder.longbridgeAppSecret' | 'field.placeholder.longbridgeAccessToken' | 'field.placeholder.tigerId' | 'field.placeholder.tigerPrivateKey';
|
|
14
|
+
declare const zh: Record<SettingsLocaleKey, string>;
|
|
15
|
+
declare const en: Record<SettingsLocaleKey, string>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { SettingsLocaleKey, en, zh };
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
//#region src/client/locales.ts
|
|
2
|
+
const zh = {
|
|
3
|
+
"nav": "交易",
|
|
4
|
+
"lead": "选择每个市场使用的数据/交易所提供方。行情面板保存即生效;Agent 会话于新建会话生效(切换不中断当前会话)。",
|
|
5
|
+
"tabs": "市场",
|
|
6
|
+
"empty": "没有可配置的市场。",
|
|
7
|
+
"save": "保存",
|
|
8
|
+
"discard": "放弃",
|
|
9
|
+
"saved": "已保存",
|
|
10
|
+
"saveFailed": "保存失败",
|
|
11
|
+
"current": "当前:{provider}",
|
|
12
|
+
"default": "默认",
|
|
13
|
+
"custom": "自定义({provider},由第三方连接器提供)",
|
|
14
|
+
"newsKeyLabel": "CryptoPanic API Key(可选)——新闻工具 crypto_get_news 的 B 增强源;留空则用公共源。",
|
|
15
|
+
"newsKeyPlaceholder": "粘贴 CryptoPanic free API token(私钥,仅本地存储)",
|
|
16
|
+
"newsSaved": "已保存",
|
|
17
|
+
"newsSaveFailed": "保存失败",
|
|
18
|
+
"colorMode.label": "涨跌配色",
|
|
19
|
+
"colorMode.redUp": "红涨绿跌(国内习惯)",
|
|
20
|
+
"colorMode.greenUp": "绿涨红跌(国际习惯)",
|
|
21
|
+
"market.crypto": "加密货币",
|
|
22
|
+
"market.us": "美国股票",
|
|
23
|
+
"market.cn": "中国 A 股",
|
|
24
|
+
"market.hk": "香港股票",
|
|
25
|
+
"credential.btn": "配置 API 凭证",
|
|
26
|
+
"credential.btnFold": "收起配置",
|
|
27
|
+
"credential.configured": "已配置凭证",
|
|
28
|
+
"credential.notConfigured": "未配置",
|
|
29
|
+
"credential.save": "保存凭证",
|
|
30
|
+
"credential.delete": "清除/删除凭证",
|
|
31
|
+
"credential.saved": "API 凭证已保存",
|
|
32
|
+
"credential.deleted": "API 凭证已删除",
|
|
33
|
+
"credential.saveFailed": "凭证保存失败",
|
|
34
|
+
"credential.deleteFailed": "凭证清除失败",
|
|
35
|
+
"type.public": "免密公共源",
|
|
36
|
+
"type.gateway": "本地网关",
|
|
37
|
+
"type.commercial": "商业 API",
|
|
38
|
+
"field.action.hide": "隐藏",
|
|
39
|
+
"field.action.show": "显示",
|
|
40
|
+
"provider.docsLink": "官方指引与文档",
|
|
41
|
+
"provider.envPrefix": "环境变量:",
|
|
42
|
+
"provider.binance": "Binance (币安)",
|
|
43
|
+
"provider.okx": "OKX (欧易)",
|
|
44
|
+
"provider.bybit": "Bybit",
|
|
45
|
+
"provider.ccxt": "CCXT (跨所聚合 100+)",
|
|
46
|
+
"provider.yahoo": "Yahoo Finance",
|
|
47
|
+
"provider.alpaca": "Alpaca",
|
|
48
|
+
"provider.fmp": "FMP (Financial Modeling Prep)",
|
|
49
|
+
"provider.finnhub": "Finnhub",
|
|
50
|
+
"provider.polygon": "Polygon.io (Massive)",
|
|
51
|
+
"provider.ibkr": "IBKR (盈透证券)",
|
|
52
|
+
"provider.stooq": "Stooq",
|
|
53
|
+
"provider.tencent": "腾讯 (Tencent)",
|
|
54
|
+
"provider.eastmoney": "东方财富 (Eastmoney)",
|
|
55
|
+
"provider.tushare": "Tushare Pro",
|
|
56
|
+
"provider.akshare": "AkShare (宏观/另类量化)",
|
|
57
|
+
"provider.qmt": "MiniQMT (迅投券商实盘)",
|
|
58
|
+
"provider.futu": "Futu (富途 OpenD)",
|
|
59
|
+
"provider.longbridge": "Longbridge (长桥)",
|
|
60
|
+
"provider.tiger": "Tiger Trade (老虎证券)",
|
|
61
|
+
"field.label.apiKey": "API Key",
|
|
62
|
+
"field.label.apiSecret": "API Secret",
|
|
63
|
+
"field.label.secretKey": "Secret Key",
|
|
64
|
+
"field.label.passphrase": "Passphrase",
|
|
65
|
+
"field.label.token": "Pro Token",
|
|
66
|
+
"field.label.apiUrl": "HTTP 服务地址",
|
|
67
|
+
"field.label.qmtUrl": "MiniQMT 服务地址",
|
|
68
|
+
"field.label.futuHost": "OpenD IP",
|
|
69
|
+
"field.label.futuPort": "OpenD 端口",
|
|
70
|
+
"field.label.ibkrUrl": "CP Gateway 地址",
|
|
71
|
+
"field.label.appKey": "App Key",
|
|
72
|
+
"field.label.appSecret": "App Secret",
|
|
73
|
+
"field.label.accessToken": "Access Token",
|
|
74
|
+
"field.label.tigerId": "Tiger ID",
|
|
75
|
+
"field.label.tigerPrivateKey": "RSA 私钥",
|
|
76
|
+
"field.placeholder.binanceKey": "BINANCE_API_KEY (留空走免密公共行情)",
|
|
77
|
+
"field.placeholder.binanceSecret": "BINANCE_API_SECRET",
|
|
78
|
+
"field.placeholder.okxKey": "OKX_API_KEY (留空走免密公共行情)",
|
|
79
|
+
"field.placeholder.okxSecret": "OKX_SECRET_KEY",
|
|
80
|
+
"field.placeholder.okxPassphrase": "OKX_PASSPHRASE",
|
|
81
|
+
"field.placeholder.bybitKey": "BYBIT_API_KEY (留空走免密公共行情)",
|
|
82
|
+
"field.placeholder.bybitSecret": "BYBIT_API_SECRET",
|
|
83
|
+
"field.placeholder.ccxtKey": "CCXT_API_KEY",
|
|
84
|
+
"field.placeholder.ccxtSecret": "CCXT_API_SECRET",
|
|
85
|
+
"field.placeholder.alpacaKey": "ALPACA_API_KEY",
|
|
86
|
+
"field.placeholder.alpacaSecret": "ALPACA_SECRET_KEY",
|
|
87
|
+
"field.placeholder.fmpKey": "FMP_API_KEY",
|
|
88
|
+
"field.placeholder.finnhubKey": "FINNHUB_API_KEY",
|
|
89
|
+
"field.placeholder.polygonKey": "POLYGON_API_KEY",
|
|
90
|
+
"field.placeholder.tushareToken": "TUSHARE_TOKEN",
|
|
91
|
+
"field.placeholder.akshareUrl": "http://127.0.0.1:8080 (默认内置)",
|
|
92
|
+
"field.placeholder.qmtUrl": "http://127.0.0.1:5800",
|
|
93
|
+
"field.placeholder.futuHost": "127.0.0.1",
|
|
94
|
+
"field.placeholder.futuPort": "11111",
|
|
95
|
+
"field.placeholder.ibkrUrl": "https://localhost:5000",
|
|
96
|
+
"field.placeholder.longbridgeAppKey": "LONGBRIDGE_APP_KEY",
|
|
97
|
+
"field.placeholder.longbridgeAppSecret": "LONGBRIDGE_APP_SECRET",
|
|
98
|
+
"field.placeholder.longbridgeAccessToken": "LONGBRIDGE_ACCESS_TOKEN",
|
|
99
|
+
"field.placeholder.tigerId": "TIGER_ID",
|
|
100
|
+
"field.placeholder.tigerPrivateKey": "TIGER_PRIVATE_KEY"
|
|
101
|
+
};
|
|
102
|
+
const en = {
|
|
103
|
+
"nav": "Trading",
|
|
104
|
+
"lead": "Choose the data/exchange provider for each market. Quote panels take effect immediately; agent sessions pick it up in new sessions (running sessions are not interrupted).",
|
|
105
|
+
"tabs": "Markets",
|
|
106
|
+
"empty": "No configurable markets.",
|
|
107
|
+
"save": "Save",
|
|
108
|
+
"discard": "Discard",
|
|
109
|
+
"saved": "Saved",
|
|
110
|
+
"saveFailed": "Save failed",
|
|
111
|
+
"current": "Current: {provider}",
|
|
112
|
+
"default": "default",
|
|
113
|
+
"custom": "Custom ({provider}, provided by a third-party connector)",
|
|
114
|
+
"newsKeyLabel": "CryptoPanic API key (optional) — B-source enrichment for the crypto_get_news tool; leave empty to use public sources.",
|
|
115
|
+
"newsKeyPlaceholder": "Paste a CryptoPanic free API token (stored locally only)",
|
|
116
|
+
"newsSaved": "Saved",
|
|
117
|
+
"newsSaveFailed": "Save failed",
|
|
118
|
+
"colorMode.label": "Price Color Scheme",
|
|
119
|
+
"colorMode.redUp": "Red Up / Green Down (Chinese)",
|
|
120
|
+
"colorMode.greenUp": "Green Up / Red Down (International)",
|
|
121
|
+
"market.crypto": "Crypto",
|
|
122
|
+
"market.us": "US Stocks",
|
|
123
|
+
"market.cn": "China A-shares",
|
|
124
|
+
"market.hk": "Hong Kong",
|
|
125
|
+
"credential.btn": "Configure API Credentials",
|
|
126
|
+
"credential.btnFold": "Hide Configuration",
|
|
127
|
+
"credential.configured": "Configured",
|
|
128
|
+
"credential.notConfigured": "Not Configured",
|
|
129
|
+
"credential.save": "Save Credentials",
|
|
130
|
+
"credential.delete": "Clear / Delete Credentials",
|
|
131
|
+
"credential.saved": "API Credentials saved",
|
|
132
|
+
"credential.deleted": "API Credentials cleared",
|
|
133
|
+
"credential.saveFailed": "Failed to save credentials",
|
|
134
|
+
"credential.deleteFailed": "Failed to clear credentials",
|
|
135
|
+
"type.public": "Public source",
|
|
136
|
+
"type.gateway": "Local gateway",
|
|
137
|
+
"type.commercial": "Commercial API",
|
|
138
|
+
"field.action.hide": "Hide",
|
|
139
|
+
"field.action.show": "Show",
|
|
140
|
+
"provider.docsLink": "Official docs & guides",
|
|
141
|
+
"provider.envPrefix": "Env var: ",
|
|
142
|
+
"provider.binance": "Binance",
|
|
143
|
+
"provider.okx": "OKX",
|
|
144
|
+
"provider.bybit": "Bybit",
|
|
145
|
+
"provider.ccxt": "CCXT (100+ exchanges)",
|
|
146
|
+
"provider.yahoo": "Yahoo Finance",
|
|
147
|
+
"provider.alpaca": "Alpaca",
|
|
148
|
+
"provider.fmp": "FMP (Financial Modeling Prep)",
|
|
149
|
+
"provider.finnhub": "Finnhub",
|
|
150
|
+
"provider.polygon": "Polygon.io (Massive)",
|
|
151
|
+
"provider.ibkr": "IBKR (Interactive Brokers)",
|
|
152
|
+
"provider.stooq": "Stooq",
|
|
153
|
+
"provider.tencent": "Tencent",
|
|
154
|
+
"provider.eastmoney": "Eastmoney",
|
|
155
|
+
"provider.tushare": "Tushare Pro",
|
|
156
|
+
"provider.akshare": "AkShare (macro / alt-data)",
|
|
157
|
+
"provider.qmt": "MiniQMT (broker gateway)",
|
|
158
|
+
"provider.futu": "Futu (OpenD)",
|
|
159
|
+
"provider.longbridge": "Longbridge",
|
|
160
|
+
"provider.tiger": "Tiger Trade",
|
|
161
|
+
"field.label.apiKey": "API Key",
|
|
162
|
+
"field.label.apiSecret": "API Secret",
|
|
163
|
+
"field.label.secretKey": "Secret Key",
|
|
164
|
+
"field.label.passphrase": "Passphrase",
|
|
165
|
+
"field.label.token": "Pro Token",
|
|
166
|
+
"field.label.apiUrl": "HTTP endpoint",
|
|
167
|
+
"field.label.qmtUrl": "MiniQMT endpoint",
|
|
168
|
+
"field.label.futuHost": "OpenD IP",
|
|
169
|
+
"field.label.futuPort": "OpenD port",
|
|
170
|
+
"field.label.ibkrUrl": "CP Gateway URL",
|
|
171
|
+
"field.label.appKey": "App Key",
|
|
172
|
+
"field.label.appSecret": "App Secret",
|
|
173
|
+
"field.label.accessToken": "Access Token",
|
|
174
|
+
"field.label.tigerId": "Tiger ID",
|
|
175
|
+
"field.label.tigerPrivateKey": "RSA private key",
|
|
176
|
+
"field.placeholder.binanceKey": "BINANCE_API_KEY (leave empty for public quotes)",
|
|
177
|
+
"field.placeholder.binanceSecret": "BINANCE_API_SECRET",
|
|
178
|
+
"field.placeholder.okxKey": "OKX_API_KEY (leave empty for public quotes)",
|
|
179
|
+
"field.placeholder.okxSecret": "OKX_SECRET_KEY",
|
|
180
|
+
"field.placeholder.okxPassphrase": "OKX_PASSPHRASE",
|
|
181
|
+
"field.placeholder.bybitKey": "BYBIT_API_KEY (leave empty for public quotes)",
|
|
182
|
+
"field.placeholder.bybitSecret": "BYBIT_API_SECRET",
|
|
183
|
+
"field.placeholder.ccxtKey": "CCXT_API_KEY",
|
|
184
|
+
"field.placeholder.ccxtSecret": "CCXT_API_SECRET",
|
|
185
|
+
"field.placeholder.alpacaKey": "ALPACA_API_KEY",
|
|
186
|
+
"field.placeholder.alpacaSecret": "ALPACA_SECRET_KEY",
|
|
187
|
+
"field.placeholder.fmpKey": "FMP_API_KEY",
|
|
188
|
+
"field.placeholder.finnhubKey": "FINNHUB_API_KEY",
|
|
189
|
+
"field.placeholder.polygonKey": "POLYGON_API_KEY",
|
|
190
|
+
"field.placeholder.tushareToken": "TUSHARE_TOKEN",
|
|
191
|
+
"field.placeholder.akshareUrl": "http://127.0.0.1:8080 (built-in default)",
|
|
192
|
+
"field.placeholder.qmtUrl": "http://127.0.0.1:5800",
|
|
193
|
+
"field.placeholder.futuHost": "127.0.0.1",
|
|
194
|
+
"field.placeholder.futuPort": "11111",
|
|
195
|
+
"field.placeholder.ibkrUrl": "https://localhost:5000",
|
|
196
|
+
"field.placeholder.longbridgeAppKey": "LONGBRIDGE_APP_KEY",
|
|
197
|
+
"field.placeholder.longbridgeAppSecret": "LONGBRIDGE_APP_SECRET",
|
|
198
|
+
"field.placeholder.longbridgeAccessToken": "LONGBRIDGE_ACCESS_TOKEN",
|
|
199
|
+
"field.placeholder.tigerId": "TIGER_ID",
|
|
200
|
+
"field.placeholder.tigerPrivateKey": "TIGER_PRIVATE_KEY"
|
|
201
|
+
};
|
|
202
|
+
//#endregion
|
|
203
|
+
export { en, zh };
|