gloomberb 0.9.9 → 0.10.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/README.md +41 -3
- package/README.zh-CN.md +294 -0
- package/package.json +10 -4
- package/patches/@opentui%2Fcore@0.3.2.patch +26 -69
- package/src/api-client/auth.ts +2 -0
- package/src/api-client/index.test.ts +4 -0
- package/src/api-client/types.ts +3 -0
- package/src/app/pane-runtime/pane-settings-runtime.tsx +1 -0
- package/src/app/pane-template-dialog-wizard.test.tsx +36 -0
- package/src/app/pane-template-dialog-wizard.tsx +10 -3
- package/src/app/runtime/desktop-deeplink.test.ts +15 -0
- package/src/app/runtime/desktop-deeplink.ts +21 -6
- package/src/app.tsx +40 -33
- package/src/capabilities/service-capabilities.ts +7 -2
- package/src/cli/commands/automation.test.ts +202 -0
- package/src/cli/commands/automation.ts +153 -36
- package/src/cli/commands/market.ts +1 -14
- package/src/cli/commands/system.ts +4 -1
- package/src/cli/context.ts +1 -1
- package/src/cli/desktop-pane-shot.ts +65 -4
- package/src/cli/entry.ts +1 -1
- package/src/cli/pane-functions/capabilities.ts +532 -0
- package/src/cli/pane-functions/catalog.ts +39 -4
- package/src/cli/pane-functions/data.test.ts +17 -0
- package/src/cli/pane-functions/data.ts +55 -13
- package/src/cli/pane-functions/discovery.ts +36 -9
- package/src/cli/pane-functions/index.test.ts +104 -1
- package/src/cli/pane-functions/index.ts +64 -5
- package/src/cli/pane-functions/options.ts +21 -6
- package/src/cli/pane-functions/report.ts +735 -72
- package/src/cli/pane-functions/resolver.ts +70 -6
- package/src/cli/pane-functions/screenshot.test.ts +431 -0
- package/src/cli/pane-functions/screenshot.ts +952 -8
- package/src/components/chart/composite/column-layout.ts +215 -0
- package/src/components/chart/composite/composite-chart.test.tsx +630 -0
- package/src/components/chart/composite/composite-chart.tsx +1148 -0
- package/src/components/chart/composite/format.test.ts +137 -0
- package/src/components/chart/composite/format.ts +135 -0
- package/src/components/chart/composite/index.ts +38 -0
- package/src/components/chart/composite/interactions.test.ts +109 -0
- package/src/components/chart/composite/interactions.ts +247 -0
- package/src/components/chart/composite/price-series.test.ts +39 -0
- package/src/components/chart/composite/price-series.ts +78 -0
- package/src/components/chart/composite/rasterizer.ts +359 -0
- package/src/components/chart/composite/renderers.test.ts +610 -0
- package/src/components/chart/composite/scene.test.ts +464 -0
- package/src/components/chart/composite/scene.ts +553 -0
- package/src/components/chart/composite/text-renderer.ts +285 -0
- package/src/components/chart/composite/time-scale.test.ts +88 -0
- package/src/components/chart/composite/time-scale.ts +217 -0
- package/src/components/chart/composite/types.ts +141 -0
- package/src/components/chart/core/data.ts +81 -5
- package/src/components/chart/core/index.test.ts +128 -43
- package/src/components/chart/core/resolution.ts +0 -6
- package/src/components/chart/native/chart-rasterizer.ts +1 -3
- package/src/components/chart/native/kitty/index.test.ts +99 -120
- package/src/components/chart/native/kitty/manager.ts +3 -0
- package/src/components/chart/native/kitty/protocol.ts +4 -1
- package/src/components/chart/native/raster/crosshair.ts +79 -46
- package/src/components/chart/native/raster/types.ts +2 -11
- package/src/components/chart/native/surface/manager.ts +48 -3
- package/src/components/chart/price-axis-labels.tsx +18 -4
- package/src/components/command-bar/commands/direct/index.ts +25 -0
- package/src/components/command-bar/commands/registry.ts +9 -0
- package/src/components/command-bar/helpers.test.ts +4 -1
- package/src/components/command-bar/list/view.tsx +18 -6
- package/src/components/command-bar/multi-select-picker.tsx +6 -5
- package/src/components/command-bar/pane-settings.test.ts +141 -0
- package/src/components/command-bar/pane-settings.ts +61 -1
- package/src/components/command-bar/panel/body.tsx +7 -6
- package/src/components/command-bar/routes/root/command-items.ts +4 -4
- package/src/components/command-bar/routes/root/results.ts +10 -1
- package/src/components/command-bar/routes/root/selection.test.ts +54 -0
- package/src/components/command-bar/routes/root/selection.ts +13 -0
- package/src/components/command-bar/routing/actions.ts +18 -2
- package/src/components/command-bar/routing/list-state.ts +2 -1
- package/src/components/command-bar/surface/index.test.tsx +36 -4
- package/src/components/command-bar/surface/pane.test.tsx +93 -0
- package/src/components/command-bar/theme-picker.tsx +2 -1
- package/src/components/command-bar/view-model.ts +19 -20
- package/src/components/command-bar/workflow/body.tsx +2 -1
- package/src/components/command-bar/workflow/field-row.tsx +3 -2
- package/src/components/command-bar/workflow/fields.ts +4 -2
- package/src/components/command-bar/workflow/ops.test.ts +161 -0
- package/src/components/command-bar/workflow/ops.ts +20 -50
- package/src/components/command-bar/workflow/route-actions.test.ts +34 -0
- package/src/components/command-bar/workflow/route-actions.ts +4 -0
- package/src/components/command-bar/workflow/types.ts +1 -0
- package/src/components/feed-data-table/stack-view.tsx +6 -5
- package/src/components/index.ts +13 -1
- package/src/components/layout/detached-pane-shell.tsx +2 -1
- package/src/components/layout/floating-pane.tsx +3 -0
- package/src/components/layout/header.tsx +15 -8
- package/src/components/layout/pane/footer/index.test.tsx +22 -3
- package/src/components/layout/pane/footer/index.tsx +3 -1
- package/src/components/layout/pane/footer/model.ts +9 -2
- package/src/components/layout/pane/header.tsx +4 -6
- package/src/components/layout/pane/index.tsx +3 -0
- package/src/components/layout/pane/sidebar.test.tsx +100 -0
- package/src/components/layout/pane/sidebar.tsx +239 -0
- package/src/components/layout/pane/title.ts +4 -3
- package/src/components/layout/shell/action-menu-overlay.tsx +5 -3
- package/src/components/layout/shell/drag/runtime.ts +2 -0
- package/src/components/layout/shell/menu.test.ts +19 -0
- package/src/components/layout/shell/menu.ts +8 -5
- package/src/components/layout/shell/native/pointer-runtime.ts +4 -1
- package/src/components/layout/shell/pane/layers.tsx +2 -2
- package/src/components/layout/status-bar.tsx +8 -7
- package/src/components/layout/window-controls.tsx +4 -3
- package/src/components/metric-treemap/index.tsx +3 -2
- package/src/components/onboarding/onboarding-steps.tsx +30 -29
- package/src/components/onboarding/onboarding-wizard.tsx +5 -4
- package/src/components/onboarding/portfolio-step/broker-fields-panel.tsx +15 -12
- package/src/components/onboarding/portfolio-step/broker-setup-panel.tsx +17 -16
- package/src/components/onboarding/portfolio-step/broker-sync-panel.tsx +6 -5
- package/src/components/onboarding/portfolio-step/choose-panel.tsx +5 -4
- package/src/components/pane-settings-dialog/desktop.tsx +25 -3
- package/src/components/pane-settings-dialog/field-dialogs.tsx +5 -4
- package/src/components/pane-settings-dialog/tui.tsx +11 -9
- package/src/components/pane-settings-dialog/value.ts +8 -5
- package/src/components/pane-settings-dialog.test.tsx +235 -0
- package/src/components/pane-settings-dialog.tsx +24 -0
- package/src/components/pane-template-wizard.tsx +6 -2
- package/src/components/ticker/list-table-view.tsx +3 -2
- package/src/components/ui/button.tsx +3 -1
- package/src/components/ui/choice-dialog.tsx +6 -1
- package/src/components/ui/confirm-dialog.tsx +3 -2
- package/src/components/ui/fields.tsx +10 -1
- package/src/components/ui/frame.tsx +4 -1
- package/src/components/ui/index.ts +5 -0
- package/src/components/ui/inline-quick-add.tsx +104 -0
- package/src/components/ui/list-view.tsx +5 -4
- package/src/components/ui/loading.tsx +2 -1
- package/src/components/ui/multi-select/dialog.tsx +188 -44
- package/src/components/ui/popover.tsx +10 -0
- package/src/components/ui/shortcut-hint.tsx +2 -0
- package/src/components/ui/status.tsx +4 -3
- package/src/components/ui/tabs.tsx +19 -8
- package/src/components/ui/toggle.tsx +44 -3
- package/src/components/ui/ui.test.tsx +67 -5
- package/src/core/app-services.ts +4 -6
- package/src/core/state/session-persistence.ts +3 -2
- package/src/data/config/chart-settings.ts +712 -0
- package/src/data/config/layout.ts +24 -5
- package/src/data/config/store/index.test.ts +377 -14
- package/src/data/config/store/normalize.ts +79 -65
- package/src/data/fred-series.ts +137 -0
- package/src/i18n/index.test.ts +114 -0
- package/src/i18n/index.ts +147 -0
- package/src/i18n/ja.ts +1013 -0
- package/src/i18n/ko.ts +1011 -0
- package/src/i18n/languages.test.ts +31 -0
- package/src/i18n/languages.ts +72 -0
- package/src/i18n/zh-cn.ts +1013 -0
- package/src/i18n/zh-tw.ts +1013 -0
- package/src/plugins/builtin/account-management/footer.ts +3 -2
- package/src/plugins/builtin/account-management/form-components.tsx +3 -2
- package/src/plugins/builtin/account-management/keyboard.ts +6 -0
- package/src/plugins/builtin/account-management/model.ts +25 -21
- package/src/plugins/builtin/account-management/navigation.test.ts +27 -0
- package/src/plugins/builtin/account-management/navigation.ts +24 -0
- package/src/plugins/builtin/account-management/pane.tsx +120 -85
- package/src/plugins/builtin/account-management/password-dialog.tsx +10 -9
- package/src/plugins/builtin/ai/agent-history.ts +139 -0
- package/src/plugins/builtin/ai/ask-ai-detail-tab.tsx +133 -51
- package/src/plugins/builtin/ai/ask-ai.test.tsx +83 -22
- package/src/plugins/builtin/ai/index.test.ts +302 -0
- package/src/plugins/builtin/ai/index.tsx +374 -40
- package/src/plugins/builtin/ai/pane-settings.test.ts +155 -0
- package/src/plugins/builtin/ai/pane-settings.ts +319 -0
- package/src/plugins/builtin/ai/pi/credential-store.test.ts +80 -0
- package/src/plugins/builtin/ai/pi/credential-store.ts +138 -0
- package/src/plugins/builtin/ai/pi/file-store.ts +138 -0
- package/src/plugins/builtin/ai/pi/host.test.ts +500 -0
- package/src/plugins/builtin/ai/pi/host.ts +564 -0
- package/src/plugins/builtin/ai/pi/index.ts +5 -0
- package/src/plugins/builtin/ai/pi/models-store.test.ts +44 -0
- package/src/plugins/builtin/ai/pi/models-store.ts +141 -0
- package/src/plugins/builtin/ai/pi/providers.ts +68 -0
- package/src/plugins/builtin/ai/pi/runtime.test.ts +240 -0
- package/src/plugins/builtin/ai/pi/runtime.ts +635 -0
- package/src/plugins/builtin/ai/providers.test.ts +68 -0
- package/src/plugins/builtin/ai/providers.ts +163 -38
- package/src/plugins/builtin/ai/runner-selection.test.ts +174 -0
- package/src/plugins/builtin/ai/runner-selection.ts +193 -0
- package/src/plugins/builtin/ai/runner-selector.tsx +153 -0
- package/src/plugins/builtin/ai/runner.test.ts +198 -0
- package/src/plugins/builtin/ai/runner.ts +276 -73
- package/src/plugins/builtin/ai/screener/contract.test.ts +26 -73
- package/src/plugins/builtin/ai/screener/contract.ts +14 -52
- package/src/plugins/builtin/ai/screener/editor-runtime.ts +55 -5
- package/src/plugins/builtin/ai/screener/editor.tsx +42 -36
- package/src/plugins/builtin/ai/screener/footer.ts +82 -67
- package/src/plugins/builtin/ai/screener/keyboard.ts +27 -11
- package/src/plugins/builtin/ai/screener/model.test.ts +24 -0
- package/src/plugins/builtin/ai/screener/model.ts +9 -3
- package/src/plugins/builtin/ai/screener/pane.test.tsx +142 -55
- package/src/plugins/builtin/ai/screener/pane.tsx +95 -97
- package/src/plugins/builtin/ai/screener/results-view.tsx +8 -41
- package/src/plugins/builtin/ai/screener/runner.ts +41 -25
- package/src/plugins/builtin/ai/screener/tabs-bar.tsx +2 -2
- package/src/plugins/builtin/ai/use-runtime-providers.ts +28 -0
- package/src/plugins/builtin/ai/workspace/model.test.ts +227 -0
- package/src/plugins/builtin/ai/workspace/model.ts +308 -0
- package/src/plugins/builtin/ai/workspace/pane.test.tsx +197 -0
- package/src/plugins/builtin/ai/workspace/pane.tsx +896 -0
- package/src/plugins/builtin/analytics/index.test.tsx +3 -3
- package/src/plugins/builtin/analytics/index.tsx +3 -8
- package/src/plugins/builtin/broker-manager/detail.tsx +25 -24
- package/src/plugins/builtin/broker-manager/index.test.tsx +1 -1
- package/src/plugins/builtin/broker-manager/index.tsx +9 -11
- package/src/plugins/builtin/broker-manager/model.ts +11 -10
- package/src/plugins/builtin/broker-manager/pane-actions.tsx +22 -21
- package/src/plugins/builtin/broker-manager/table.ts +9 -8
- package/src/plugins/builtin/changelog/index.tsx +3 -8
- package/src/plugins/builtin/chart-composer/chart-spec.ts +89 -0
- package/src/plugins/builtin/chart-composer/cli-options.ts +98 -0
- package/src/plugins/builtin/chart-composer/date-window-dialog.tsx +120 -0
- package/src/plugins/builtin/chart-composer/editor.test.tsx +332 -0
- package/src/plugins/builtin/chart-composer/editor.tsx +1107 -0
- package/src/plugins/builtin/chart-composer/index.tsx +228 -0
- package/src/plugins/builtin/chart-composer/pane.tsx +645 -0
- package/src/plugins/builtin/chart-composer/presets.test.ts +561 -0
- package/src/plugins/builtin/chart-composer/presets.ts +759 -0
- package/src/plugins/builtin/chart-composer/quick-add.test.tsx +245 -0
- package/src/plugins/builtin/chart-composer/quick-add.tsx +409 -0
- package/src/plugins/builtin/chart-composer/semantic.ts +86 -0
- package/src/plugins/builtin/chart-composer/series-catalog.test.ts +65 -0
- package/src/plugins/builtin/chart-composer/series-catalog.ts +295 -0
- package/src/plugins/builtin/chart-composer/settings.test.ts +163 -0
- package/src/plugins/builtin/chart-composer/settings.ts +397 -0
- package/src/plugins/builtin/chart-composer/shortcuts.test.ts +44 -0
- package/src/plugins/builtin/chart-composer/shortcuts.ts +35 -0
- package/src/plugins/builtin/chart-composer/use-series-catalog.ts +103 -0
- package/src/plugins/builtin/chat/channel-labels.ts +5 -4
- package/src/plugins/builtin/chat/channels.ts +12 -11
- package/src/plugins/builtin/chat/chat.test.tsx +32 -0
- package/src/plugins/builtin/chat/content/composer-runtime.ts +6 -1
- package/src/plugins/builtin/chat/content/composer.tsx +9 -8
- package/src/plugins/builtin/chat/content/index.tsx +36 -1
- package/src/plugins/builtin/chat/content/new-dm-dialog.tsx +8 -7
- package/src/plugins/builtin/chat/content/transcript.tsx +9 -3
- package/src/plugins/builtin/chat/controller/utils.ts +10 -9
- package/src/plugins/builtin/chat/message/desktop.tsx +17 -10
- package/src/plugins/builtin/chat/message/profile-popover.test.tsx +122 -3
- package/src/plugins/builtin/chat/message/profile-popover.tsx +38 -1
- package/src/plugins/builtin/chat/message/terminal.tsx +19 -10
- package/src/plugins/builtin/chat/pane-state.test.ts +31 -0
- package/src/plugins/builtin/chat/pane-state.ts +30 -0
- package/src/plugins/builtin/chat/pane.tsx +27 -4
- package/src/plugins/builtin/chat/profile-popover.ts +62 -5
- package/src/plugins/builtin/chat/sidebar.test.tsx +4 -7
- package/src/plugins/builtin/chat/sidebar.tsx +107 -168
- package/src/plugins/builtin/chat/test-harness.tsx +6 -0
- package/src/plugins/builtin/cloud/auth-actions.tsx +5 -4
- package/src/plugins/builtin/cloud/plugin.tsx +150 -127
- package/src/plugins/builtin/composite-plugins.ts +71 -0
- package/src/plugins/builtin/correlation/index.test.tsx +4 -4
- package/src/plugins/builtin/correlation/index.tsx +3 -8
- package/src/plugins/builtin/earnings/index.tsx +37 -21
- package/src/plugins/builtin/earnings/model.test.ts +52 -0
- package/src/plugins/builtin/earnings/model.ts +32 -0
- package/src/plugins/builtin/econ/detail-view.tsx +17 -4
- package/src/plugins/builtin/econ/fred-cache.test.ts +57 -11
- package/src/plugins/builtin/econ/index.tsx +16 -20
- package/src/plugins/builtin/fear-greed/index.tsx +2 -8
- package/src/plugins/builtin/fx-matrix/index.tsx +3 -8
- package/src/plugins/builtin/help/components.tsx +5 -4
- package/src/plugins/builtin/help/index.tsx +14 -17
- package/src/plugins/builtin/holders/index.tsx +2 -8
- package/src/plugins/builtin/insider/index.tsx +2 -7
- package/src/plugins/builtin/kelly-sizer/index.test.tsx +2 -2
- package/src/plugins/builtin/kelly-sizer/index.tsx +3 -7
- package/src/plugins/builtin/kelly-sizer/test-support.tsx +3 -3
- package/src/plugins/builtin/layout-manager/index.tsx +3 -7
- package/src/plugins/builtin/market-heatmap/index.tsx +3 -8
- package/src/plugins/builtin/market-movers/index.tsx +3 -8
- package/src/plugins/builtin/news/index.tsx +12 -16
- package/src/plugins/builtin/news/wire/breaking/pane.test.tsx +3 -3
- package/src/plugins/builtin/news/wire/index.tsx +83 -73
- package/src/plugins/builtin/options/index.tsx +2 -8
- package/src/plugins/builtin/plugin-module.test.ts +89 -0
- package/src/plugins/builtin/plugin-module.ts +116 -0
- package/src/plugins/builtin/portfolio-list/header.tsx +4 -3
- package/src/plugins/builtin/portfolio-list/index.test.ts +17 -0
- package/src/plugins/builtin/portfolio-list/index.tsx +3 -5
- package/src/plugins/builtin/portfolio-list/pane/index.test.tsx +3 -3
- package/src/plugins/builtin/portfolio-list/quick-add/index.tsx +53 -53
- package/src/plugins/builtin/portfolio-list/settings.ts +5 -3
- package/src/plugins/builtin/portfolio-list/summary/index.tsx +4 -3
- package/src/plugins/builtin/research/index.tsx +2 -8
- package/src/plugins/builtin/sec/index.tsx +2 -8
- package/src/plugins/builtin/sectors/index.tsx +3 -8
- package/src/plugins/builtin/thirteenf/index.tsx +3 -8
- package/src/plugins/builtin/thirteenf/pane.test.tsx +1 -1
- package/src/plugins/builtin/ticker-detail/chart-tab-switch.test.tsx +49 -23
- package/src/plugins/builtin/ticker-detail/index.test.tsx +15 -136
- package/src/plugins/builtin/ticker-detail/index.tsx +2 -93
- package/src/plugins/builtin/ticker-detail/overview/components.tsx +6 -5
- package/src/plugins/builtin/ticker-detail/overview-tab.tsx +41 -17
- package/src/plugins/builtin/ticker-detail/pane.tsx +4 -3
- package/src/plugins/builtin/ticker-detail/quote-monitor/index.test.tsx +1 -1
- package/src/plugins/builtin/ticker-detail/settings.ts +3 -50
- package/src/plugins/builtin/ticker-research-backend-plugin.ts +17 -0
- package/src/plugins/builtin/ticker-research-plugin.ts +27 -0
- package/src/plugins/builtin/tv/channels.ts +27 -0
- package/src/plugins/builtin/tv/index.tsx +40 -0
- package/src/plugins/builtin/tv/pane.tsx +286 -0
- package/src/plugins/builtin/tv/youtube-stream.ts +100 -0
- package/src/plugins/builtin/world-indices/index.tsx +3 -8
- package/src/plugins/builtin/yield-curve/index.tsx +8 -8
- package/src/plugins/catalog-backend.test.ts +21 -0
- package/src/plugins/catalog-backend.ts +42 -0
- package/src/plugins/catalog-ui.ts +6 -14
- package/src/plugins/ibkr/instance-selection.test.ts +0 -1
- package/src/plugins/ownership.ts +143 -0
- package/src/plugins/prediction-markets/backend-plugin.ts +19 -0
- package/src/plugins/prediction-markets/chart.test.tsx +7 -5
- package/src/plugins/prediction-markets/chart.tsx +25 -7
- package/src/plugins/registry/index.test.ts +51 -0
- package/src/plugins/registry/index.ts +8 -0
- package/src/plugins/registry/pane-settings.ts +1 -1
- package/src/plugins/runtime/index.test.tsx +2 -2
- package/src/remote/app-host.tsx +16 -3
- package/src/remote/controller.test.ts +102 -1
- package/src/remote/controller.ts +122 -0
- package/src/remote/types.ts +11 -0
- package/src/renderers/electrobun/bun/core-capabilities.ts +123 -27
- package/src/renderers/electrobun/bun/desktop/backend-requests.ts +5 -1
- package/src/renderers/electrobun/bun/desktop/initialization.ts +5 -1
- package/src/renderers/electrobun/bun/desktop/media.ts +15 -0
- package/src/renderers/electrobun/bun/desktop/window-style.ts +4 -1
- package/src/renderers/electrobun/bun/desktop/workspace/index.test.ts +32 -1
- package/src/renderers/electrobun/bun/desktop/workspace/index.ts +10 -0
- package/src/renderers/electrobun/bun/index.ts +5 -0
- package/src/renderers/electrobun/bun/tui-entry.ts +1 -6
- package/src/renderers/electrobun/view/ai-host.ts +124 -19
- package/src/renderers/electrobun/view/backend-rpc.ts +4 -0
- package/src/renderers/electrobun/view/cli-pane-shot-entry.tsx +151 -39
- package/src/renderers/electrobun/view/desktop/popover.tsx +166 -0
- package/src/renderers/electrobun/view/dialog-host.test.ts +25 -0
- package/src/renderers/electrobun/view/dialog-host.tsx +75 -12
- package/src/renderers/electrobun/view/host/box.tsx +5 -0
- package/src/renderers/electrobun/view/host/chart-surface.tsx +10 -9
- package/src/renderers/electrobun/view/host/input.tsx +9 -19
- package/src/renderers/electrobun/view/host/media-surface.tsx +170 -0
- package/src/renderers/electrobun/view/host/mouse.ts +1 -0
- package/src/renderers/electrobun/view/host/style.ts +1 -1
- package/src/renderers/electrobun/view/host/tabs.tsx +4 -3
- package/src/renderers/electrobun/view/main.tsx +10 -3
- package/src/renderers/electrobun/view/styles.css +17 -0
- package/src/renderers/electrobun/view/ui-host.tsx +7 -0
- package/src/renderers/opentui/chart-surface.test.tsx +52 -6
- package/src/renderers/opentui/chart-surface.tsx +95 -11
- package/src/renderers/opentui/dialog-host.tsx +36 -5
- package/src/renderers/opentui/host.tsx +39 -0
- package/src/renderers/opentui/start.tsx +30 -0
- package/src/renderers/opentui/ui-host.tsx +2 -0
- package/src/sources/provider-router/index.test.ts +43 -0
- package/src/sources/provider-router/index.ts +4 -0
- package/src/sources/provider-router/supplemental.ts +46 -0
- package/src/sources/sec-edgar.test.ts +203 -2
- package/src/sources/sec-edgar.ts +70 -15
- package/src/state/app/context/index.tsx +13 -1
- package/src/state/app/context/selector.test.tsx +62 -1
- package/src/state/session-persistence.test.ts +13 -2
- package/src/sync/controller.test.ts +190 -3
- package/src/sync/controller.ts +76 -45
- package/src/sync/core-contributors.test.ts +121 -0
- package/src/sync/core-contributors.ts +104 -27
- package/src/sync/react.ts +6 -8
- package/src/sync/types.ts +3 -0
- package/src/time-series/alignment.ts +158 -0
- package/src/time-series/economic.ts +49 -0
- package/src/time-series/field-catalog.ts +306 -0
- package/src/time-series/fundamentals.test.ts +505 -0
- package/src/time-series/fundamentals.ts +842 -0
- package/src/time-series/hooks.ts +45 -0
- package/src/time-series/index.ts +14 -0
- package/src/time-series/live-quotes.test.ts +219 -0
- package/src/time-series/live-quotes.ts +203 -0
- package/src/time-series/market-resolution.ts +53 -0
- package/src/time-series/market.ts +125 -0
- package/src/time-series/reporting.ts +98 -0
- package/src/time-series/resolve.test.ts +1281 -0
- package/src/time-series/resolve.ts +783 -0
- package/src/time-series/spec-studies.test.ts +400 -0
- package/src/time-series/spec.ts +487 -0
- package/src/time-series/studies.ts +563 -0
- package/src/time-series/transforms.test.ts +105 -0
- package/src/time-series/transforms.ts +152 -0
- package/src/time-series/types.ts +162 -0
- package/src/time-series/use-chart-resolution.ts +166 -0
- package/src/types/config.ts +9 -11
- package/src/types/desktop-window.ts +1 -0
- package/src/types/financials.ts +4 -0
- package/src/types/media.ts +17 -0
- package/src/types/plugin.ts +32 -1
- package/src/ui/context-menu.tsx +15 -3
- package/src/ui/dialog.tsx +14 -2
- package/src/ui/host.tsx +40 -1
- package/src/ui/index.tsx +9 -0
- package/src/utils/exchanges.test.ts +13 -1
- package/src/utils/exchanges.ts +10 -0
- package/src/utils/financial-statements.test.ts +138 -0
- package/src/utils/financial-statements.ts +115 -8
- package/src/utils/format.test.ts +11 -1
- package/src/utils/format.ts +7 -0
- package/src/version.ts +1 -1
- package/src/components/chart/bar-chart-renderer.test.ts +0 -233
- package/src/components/chart/bar-chart-renderer.ts +0 -445
- package/src/components/chart/comparison/data.test.ts +0 -159
- package/src/components/chart/comparison/data.ts +0 -302
- package/src/components/chart/comparison/renderer.test.ts +0 -187
- package/src/components/chart/comparison/renderer.ts +0 -282
- package/src/components/chart/comparison/scene.ts +0 -178
- package/src/components/chart/comparison-stock-chart/axis-width.ts +0 -99
- package/src/components/chart/comparison-stock-chart/canvas.ts +0 -148
- package/src/components/chart/comparison-stock-chart/controls.ts +0 -252
- package/src/components/chart/comparison-stock-chart/helpers.ts +0 -101
- package/src/components/chart/comparison-stock-chart/interactions.ts +0 -208
- package/src/components/chart/comparison-stock-chart/layout-metrics.ts +0 -62
- package/src/components/chart/comparison-stock-chart/layout.tsx +0 -155
- package/src/components/chart/comparison-stock-chart/legend.tsx +0 -74
- package/src/components/chart/comparison-stock-chart/native-surfaces.ts +0 -89
- package/src/components/chart/comparison-stock-chart/render-data.ts +0 -227
- package/src/components/chart/comparison-stock-chart/render-output.ts +0 -140
- package/src/components/chart/comparison-stock-chart/selection-runtime.ts +0 -128
- package/src/components/chart/comparison-stock-chart/sources.ts +0 -51
- package/src/components/chart/comparison-stock-chart/surface-runtime.ts +0 -159
- package/src/components/chart/comparison-stock-chart/toolbar.tsx +0 -117
- package/src/components/chart/comparison-stock-chart/types.ts +0 -22
- package/src/components/chart/comparison-stock-chart/view.tsx +0 -572
- package/src/components/chart/comparison-stock-chart/viewport-runtime.ts +0 -239
- package/src/components/chart/comparison-stock-chart.tsx +0 -24
- package/src/components/chart/core/axis-measure.ts +0 -33
- package/src/components/chart/core/controller.test.ts +0 -157
- package/src/components/chart/core/controller.ts +0 -349
- package/src/components/chart/core/indicator-selector.tsx +0 -75
- package/src/components/chart/core/keyboard.ts +0 -24
- package/src/components/chart/core/pane-settings.test.ts +0 -52
- package/src/components/chart/core/pane-settings.ts +0 -141
- package/src/components/chart/core/scroll.test.ts +0 -64
- package/src/components/chart/core/scroll.ts +0 -82
- package/src/components/chart/core/window-viewport.test.ts +0 -69
- package/src/components/chart/core/window-viewport.ts +0 -162
- package/src/components/chart/display-cursor.ts +0 -153
- package/src/components/chart/indicators/bands.test.ts +0 -36
- package/src/components/chart/indicators/bands.ts +0 -29
- package/src/components/chart/indicators/moving-averages.test.ts +0 -39
- package/src/components/chart/indicators/moving-averages.ts +0 -42
- package/src/components/chart/indicators/options.test.ts +0 -32
- package/src/components/chart/indicators/options.ts +0 -107
- package/src/components/chart/indicators/oscillators.test.ts +0 -58
- package/src/components/chart/indicators/oscillators.ts +0 -92
- package/src/components/chart/native/canvas-bitmaps.ts +0 -140
- package/src/components/chart/native/raster/comparison-chart.ts +0 -162
- package/src/components/chart/native/surface/hooks.ts +0 -144
- package/src/components/chart/native/surface/rendering.ts +0 -211
- package/src/components/chart/static/bar-chart-surface.test.tsx +0 -101
- package/src/components/chart/static/bar-chart-surface.tsx +0 -292
- package/src/components/chart/stock-chart/auto.ts +0 -216
- package/src/components/chart/stock-chart/axis-width.ts +0 -146
- package/src/components/chart/stock-chart/bitmaps.ts +0 -22
- package/src/components/chart/stock-chart/canvas.ts +0 -202
- package/src/components/chart/stock-chart/controls.tsx +0 -149
- package/src/components/chart/stock-chart/cursor.ts +0 -60
- package/src/components/chart/stock-chart/data-runtime.ts +0 -128
- package/src/components/chart/stock-chart/footer.test.ts +0 -65
- package/src/components/chart/stock-chart/footer.ts +0 -303
- package/src/components/chart/stock-chart/geometry.ts +0 -160
- package/src/components/chart/stock-chart/index.test.ts +0 -532
- package/src/components/chart/stock-chart/index.tsx +0 -29
- package/src/components/chart/stock-chart/indicators.ts +0 -226
- package/src/components/chart/stock-chart/interaction-runtime.ts +0 -44
- package/src/components/chart/stock-chart/interactions.ts +0 -300
- package/src/components/chart/stock-chart/keyboard.ts +0 -373
- package/src/components/chart/stock-chart/layout-metrics.ts +0 -62
- package/src/components/chart/stock-chart/layout.tsx +0 -177
- package/src/components/chart/stock-chart/native-surfaces.ts +0 -121
- package/src/components/chart/stock-chart/presentation.ts +0 -67
- package/src/components/chart/stock-chart/renderer-switch.test.tsx +0 -263
- package/src/components/chart/stock-chart/rendering/bounds.ts +0 -116
- package/src/components/chart/stock-chart/rendering/candidates.ts +0 -145
- package/src/components/chart/stock-chart/rendering/data.ts +0 -370
- package/src/components/chart/stock-chart/rendering/invalidation.ts +0 -68
- package/src/components/chart/stock-chart/rendering/output.ts +0 -304
- package/src/components/chart/stock-chart/rendering/planning.ts +0 -122
- package/src/components/chart/stock-chart/rendering/projection.test.tsx +0 -98
- package/src/components/chart/stock-chart/rendering/projection.ts +0 -112
- package/src/components/chart/stock-chart/rendering/state.test.ts +0 -70
- package/src/components/chart/stock-chart/rendering/state.ts +0 -283
- package/src/components/chart/stock-chart/requests.ts +0 -337
- package/src/components/chart/stock-chart/resolution-support.ts +0 -96
- package/src/components/chart/stock-chart/resolved/runtime.ts +0 -289
- package/src/components/chart/stock-chart/resolved.tsx +0 -359
- package/src/components/chart/stock-chart/settings.ts +0 -81
- package/src/components/chart/stock-chart/surface-runtime.ts +0 -62
- package/src/components/chart/stock-chart/types.ts +0 -25
- package/src/components/chart/stock-chart/view.tsx +0 -155
- package/src/components/chart/stock-chart/viewport/effects.ts +0 -293
- package/src/components/chart/stock-chart/viewport/index.ts +0 -144
- package/src/components/chart/stock-chart/viewport/runtime.ts +0 -375
- package/src/components/chart/time-axis-label.tsx +0 -175
- package/src/plugins/builtin/ai/gloomberb-cli.ts +0 -71
- package/src/plugins/builtin/ai/screener/action-bar.tsx +0 -58
- package/src/plugins/builtin/comparison-chart/index.test.tsx +0 -848
- package/src/plugins/builtin/comparison-chart/index.tsx +0 -194
- package/src/plugins/builtin/econ/fred-cache.ts +0 -106
- package/src/plugins/builtin/plugin-groups.ts +0 -130
- package/src/plugins/builtin/ticker-detail/chart-pane.tsx +0 -91
- package/src/plugins/builtin/ticker-detail/chart-tab.tsx +0 -100
- package/src/plugins/builtin/ticker-detail/data-panes/fundamental-graph/content.tsx +0 -296
- package/src/plugins/builtin/ticker-detail/data-panes/fundamental-graph/data.ts +0 -62
- package/src/plugins/builtin/ticker-detail/data-panes/fundamental-graph/model.ts +0 -608
- package/src/plugins/builtin/ticker-detail/data-panes/fundamental-graph/settings.ts +0 -65
- package/src/plugins/builtin/ticker-detail/data-panes/fundamental-graph/types.ts +0 -58
- package/src/plugins/builtin/ticker-detail/data-panes/fundamental-graph.tsx +0 -138
- package/src/plugins/builtin/ticker-detail/data-panes.test.ts +0 -220
|
@@ -0,0 +1,1013 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traditional Chinese dictionary, keyed by the original English UI text.
|
|
3
|
+
* Untranslated strings fall back to English at runtime, so entries can be
|
|
4
|
+
* added incrementally. Keep finance jargon precise; keep entries terse so
|
|
5
|
+
* fixed-width terminal layouts stay readable.
|
|
6
|
+
*/
|
|
7
|
+
export const zhTW: Record<string, string> = {
|
|
8
|
+
// ── Common UI ────────────────────────────────────────────────
|
|
9
|
+
"Back": "返回",
|
|
10
|
+
"Done": "完成",
|
|
11
|
+
"Save": "儲存",
|
|
12
|
+
"Apply": "套用",
|
|
13
|
+
"Cancel": "取消",
|
|
14
|
+
"Close": "關閉",
|
|
15
|
+
"Open": "開啟",
|
|
16
|
+
"Working…": "處理中…",
|
|
17
|
+
"Searching…": "搜尋中…",
|
|
18
|
+
"Loading...": "載入中...",
|
|
19
|
+
"Loading…": "載入中…",
|
|
20
|
+
"Filter": "篩選",
|
|
21
|
+
"On": "開",
|
|
22
|
+
"Off": "關",
|
|
23
|
+
"on": "開",
|
|
24
|
+
"off": "關",
|
|
25
|
+
"current": "目前",
|
|
26
|
+
"Unset": "未設定",
|
|
27
|
+
"None": "無",
|
|
28
|
+
"Default": "預設",
|
|
29
|
+
"Enabled": "已啟用",
|
|
30
|
+
"Disabled": "已停用",
|
|
31
|
+
"Hidden": "隱藏",
|
|
32
|
+
"General": "一般",
|
|
33
|
+
"Other": "其他",
|
|
34
|
+
"Time": "時間",
|
|
35
|
+
"Date": "日期",
|
|
36
|
+
"Name": "名稱",
|
|
37
|
+
"Title": "標題",
|
|
38
|
+
"Source": "來源",
|
|
39
|
+
"Headline": "標題",
|
|
40
|
+
"Symbol": "代號",
|
|
41
|
+
"Price": "價格",
|
|
42
|
+
"Volume": "成交量",
|
|
43
|
+
"Description": "描述",
|
|
44
|
+
"Detail": "詳情",
|
|
45
|
+
"Category": "分類",
|
|
46
|
+
"Version": "版本",
|
|
47
|
+
"View": "檢視",
|
|
48
|
+
"Mode": "模式",
|
|
49
|
+
"Range": "區間",
|
|
50
|
+
"Table": "表格",
|
|
51
|
+
"Grid": "網格",
|
|
52
|
+
"Percent": "百分比",
|
|
53
|
+
"Email": "電子郵件",
|
|
54
|
+
"Password": "密碼",
|
|
55
|
+
"Live": "即時",
|
|
56
|
+
"Paper": "模擬",
|
|
57
|
+
"Manual": "手動",
|
|
58
|
+
"Cached": "已快取",
|
|
59
|
+
"Nothing to show.": "暫無內容。",
|
|
60
|
+
"No choices.": "沒有選項。",
|
|
61
|
+
"No settings available.": "沒有可用設定。",
|
|
62
|
+
"No matches": "找不到符合項目",
|
|
63
|
+
"No settings match": "找不到符合的設定",
|
|
64
|
+
"Press esc to cancel": "按 Esc 取消",
|
|
65
|
+
"This pane is no longer configurable.": "此面板已無法設定。",
|
|
66
|
+
"Could not save this value.": "無法儲存該值。",
|
|
67
|
+
"Could not apply that setting.": "無法套用該設定。",
|
|
68
|
+
"Enter {action} · Esc cancel": "Enter {action} · Esc 取消",
|
|
69
|
+
"Published {date}": "已發布 {date}",
|
|
70
|
+
"Language": "語言",
|
|
71
|
+
"Unsupported language": "不支援的語言",
|
|
72
|
+
"Restart to apply everywhere": "重新啟動後全部生效",
|
|
73
|
+
|
|
74
|
+
// ── Command bar chrome ───────────────────────────────────────
|
|
75
|
+
"Search commands": "搜尋命令",
|
|
76
|
+
"Search tickers": "搜尋股票代號",
|
|
77
|
+
"Type a command or prefix": "輸入命令或字首",
|
|
78
|
+
'Filtering for "{query}"': '正在篩選「{query}」',
|
|
79
|
+
'No matches for "{query}"': '找不到符合「{query}」的結果',
|
|
80
|
+
"Run {label}": "執行 {label}",
|
|
81
|
+
"Open security details for a ticker": "開啟個股詳細資料",
|
|
82
|
+
"Preview with arrows, Enter to save, Esc to revert": "方向鍵預覽,Enter 儲存,Esc 撤銷",
|
|
83
|
+
"Toggle plugins without leaving the list": "在清單內直接啟停外掛",
|
|
84
|
+
"Organize panes, history, and saved layouts": "管理面板、歷史和已儲存的版面設定",
|
|
85
|
+
"Type a ticker symbol": "輸入股票代號",
|
|
86
|
+
"Open security details after resolving a ticker": "解析代號後開啟證券詳情",
|
|
87
|
+
"Try a symbol, company name, or exchange variant": "試試代號、公司名稱或交易所代碼",
|
|
88
|
+
"Try a symbol, company name, exchange, or asset type": "試試代號、公司名稱、交易所或資產類型",
|
|
89
|
+
"Try a command name or prefix. Use T for ticker search": "試試命令名或字首。輸入 T 搜尋股票",
|
|
90
|
+
"No plugins match": "沒有符合的外掛",
|
|
91
|
+
"Toggleable plugins will appear here": "可切換的外掛會顯示在這裡",
|
|
92
|
+
"No themes match": "沒有符合的主題",
|
|
93
|
+
"Installed themes will appear here": "已安裝的主題會顯示在這裡",
|
|
94
|
+
"No layout actions match": "沒有符合的版面設定操作",
|
|
95
|
+
"Focused-pane and layout actions will appear here": "聚焦面板與版面設定操作會顯示在這裡",
|
|
96
|
+
"No results yet": "暫無結果",
|
|
97
|
+
"Suggested commands will appear here": "推薦命令會顯示在這裡",
|
|
98
|
+
"No focused pane": "沒有聚焦的面板",
|
|
99
|
+
"Search failed": "搜尋失敗",
|
|
100
|
+
"Check your connection": "請檢查網路連線",
|
|
101
|
+
"Commands": "命令",
|
|
102
|
+
|
|
103
|
+
// ── Command bar categories ───────────────────────────────────
|
|
104
|
+
"Actions": "操作",
|
|
105
|
+
"Config": "設定",
|
|
106
|
+
"Create": "新增",
|
|
107
|
+
"Current Layout": "目前版面設定",
|
|
108
|
+
"Danger": "危險操作",
|
|
109
|
+
"Debug": "除錯",
|
|
110
|
+
"Exact Match": "精確符合",
|
|
111
|
+
"Focused Pane": "聚焦面板",
|
|
112
|
+
"Funds & Derivatives": "基金與衍生性商品",
|
|
113
|
+
"Layout": "版面設定",
|
|
114
|
+
"Navigation": "導覽",
|
|
115
|
+
"Panes": "面板",
|
|
116
|
+
"Plugins": "外掛",
|
|
117
|
+
"Portfolio": "投資組合",
|
|
118
|
+
"Primary Listing": "主要掛牌",
|
|
119
|
+
"Other Listings": "其他掛牌",
|
|
120
|
+
"Saved Layouts": "已儲存的版面設定",
|
|
121
|
+
"Saved": "已儲存",
|
|
122
|
+
"Search Results": "搜尋結果",
|
|
123
|
+
"Search": "搜尋",
|
|
124
|
+
"Themes": "主題",
|
|
125
|
+
"Tickers": "股票",
|
|
126
|
+
"Core Panes": "核心面板",
|
|
127
|
+
"Plugin Shortcuts": "外掛快速鍵",
|
|
128
|
+
|
|
129
|
+
// ── Core commands ────────────────────────────────────────────
|
|
130
|
+
"Help": "說明",
|
|
131
|
+
"Add to Watchlist": "新增到自選清單",
|
|
132
|
+
"Add to Portfolio": "新增到投資組合",
|
|
133
|
+
"Remove from Watchlist": "從自選清單移除",
|
|
134
|
+
"Remove from Portfolio": "從投資組合移除",
|
|
135
|
+
"Set Portfolio Position": "設定組合持倉",
|
|
136
|
+
"New Portfolio": "新增投資組合",
|
|
137
|
+
"New Watchlist": "新增自選清單",
|
|
138
|
+
"Delete Portfolio": "刪除投資組合",
|
|
139
|
+
"Delete Watchlist": "刪除自選清單",
|
|
140
|
+
"Add Broker Account": "新增券商帳戶",
|
|
141
|
+
"Disconnect Broker Account": "斷開券商帳戶",
|
|
142
|
+
"Disconnect Broker": "斷開券商",
|
|
143
|
+
"Pane Settings": "面板設定",
|
|
144
|
+
"Layout Actions": "版面設定操作",
|
|
145
|
+
"Window Mode": "視窗模式",
|
|
146
|
+
"Toggle Status Bar": "切換狀態列",
|
|
147
|
+
"Toggle Value Flashing": "切換數值閃爍",
|
|
148
|
+
"Check for Updates": "檢查更新",
|
|
149
|
+
"Change Theme": "更換主題",
|
|
150
|
+
"Change Language": "切換語言",
|
|
151
|
+
"Switch the interface language": "切換介面語言",
|
|
152
|
+
"Cycle Chart Renderer": "切換圖表渲染器",
|
|
153
|
+
"Manage Plugins": "管理外掛",
|
|
154
|
+
"Export Config": "匯出設定",
|
|
155
|
+
"Import Config": "匯入設定",
|
|
156
|
+
"Reset All Data": "重置所有資料",
|
|
157
|
+
"Reset Everything": "全部重置",
|
|
158
|
+
"Reset Layout": "重置版面設定",
|
|
159
|
+
"Reset Current Layout": "重置目前版面設定",
|
|
160
|
+
"Security Description": "證券詳情",
|
|
161
|
+
|
|
162
|
+
// ── Core command descriptions ────────────────────────────────
|
|
163
|
+
"Show or hide the keyboard shortcuts bar": "顯示或隱藏快速鍵狀態列",
|
|
164
|
+
"Turn quote update flashing on or off": "開啟或關閉行情閃爍",
|
|
165
|
+
"Check GitHub releases for a newer version": "從 GitHub Releases 檢查新版本",
|
|
166
|
+
"Switch color theme": "切換配色主題",
|
|
167
|
+
"Cycle chart rendering between Auto, Kitty, and Braille": "在 Auto、Kitty 與 Braille 點陣間切換圖表渲染",
|
|
168
|
+
"Toggle plugins on/off": "啟用/停用外掛",
|
|
169
|
+
"Save config to ~/gloomberb-config-backup.json": "將設定儲存到 ~/gloomberb-config-backup.json",
|
|
170
|
+
"Load config from ~/gloomberb-config-backup.json": "從 ~/gloomberb-config-backup.json 載入設定",
|
|
171
|
+
"Delete all data and reset to first-run state": "刪除全部資料並恢復到初始狀態",
|
|
172
|
+
"Edit settings for the focused pane": "編輯聚焦面板的設定",
|
|
173
|
+
"Move or resize the focused window": "移動或調整聚焦視窗大小",
|
|
174
|
+
"Add current ticker to active portfolio": "將目前股票加入使用中的投資組合",
|
|
175
|
+
"Add current ticker to active watchlist": "將目前股票加入使用中的自選清單",
|
|
176
|
+
"Run command": "執行命令",
|
|
177
|
+
|
|
178
|
+
// ── Confirm / workflow ───────────────────────────────────────
|
|
179
|
+
"Close Pane": "關閉面板",
|
|
180
|
+
"Close All Floating Panes": "關閉所有浮動面板",
|
|
181
|
+
"Close Floating Panes": "關閉浮動面板",
|
|
182
|
+
"Portfolio Name": "投資組合名稱",
|
|
183
|
+
"Watchlist Name": "自選清單名稱",
|
|
184
|
+
"Layout Name": "版面設定名稱",
|
|
185
|
+
"Layout name": "版面設定名稱",
|
|
186
|
+
"New name": "新名稱",
|
|
187
|
+
"Ticker": "股票代號",
|
|
188
|
+
"Broker": "券商",
|
|
189
|
+
"Account": "帳戶",
|
|
190
|
+
"Condition": "條件",
|
|
191
|
+
"Target Price": "目標價",
|
|
192
|
+
"Above": "高於",
|
|
193
|
+
"Below": "低於",
|
|
194
|
+
"Crosses": "穿越",
|
|
195
|
+
"Add Alert": "新增提醒",
|
|
196
|
+
"Set Alert": "設定提醒",
|
|
197
|
+
"Choose a portfolio and optionally record the manual position now.": "選擇投資組合,並可立即輸入手動部位。",
|
|
198
|
+
"Create or update a manual position without leaving the command bar.": "直接在命令列建立或更新手動部位。",
|
|
199
|
+
"Create a new watchlist inside the command bar.": "在命令列內直接新增自選清單。",
|
|
200
|
+
"Organize panes and saved layouts.": "管理面板與已儲存的版面設定。",
|
|
201
|
+
"Resolve a ticker, then open its Ticker Research pane.": "解析股票代號並開啟其研究面板。",
|
|
202
|
+
"Toggle optional plugins without leaving the command bar.": "在命令列內直接啟停可選外掛。",
|
|
203
|
+
|
|
204
|
+
// ── Layout actions ───────────────────────────────────────────
|
|
205
|
+
"New Layout": "新增版面設定",
|
|
206
|
+
"Rename Layout": "重新命名版面設定",
|
|
207
|
+
"Duplicate Layout": "複製版面設定",
|
|
208
|
+
"Delete Layout": "刪除版面設定",
|
|
209
|
+
"Rename Layout...": "重新命名版面設定...",
|
|
210
|
+
"New Layout...": "新增版面設定...",
|
|
211
|
+
"Delete Layout...": "刪除版面設定...",
|
|
212
|
+
"Layout Actions...": "版面設定操作...",
|
|
213
|
+
"Switch to {name}": "切換到 {name}",
|
|
214
|
+
"Undo Layout Change": "撤銷版面設定更改",
|
|
215
|
+
"Redo Layout Change": "重做版面設定更改",
|
|
216
|
+
"Swap With…": "與…交換",
|
|
217
|
+
"Swap Panes": "交換面板",
|
|
218
|
+
"Duplicate Pane": "複製面板",
|
|
219
|
+
"Remove Pane": "移除面板",
|
|
220
|
+
"Float Pane": "浮動面板",
|
|
221
|
+
"Dock Pane": "停靠面板",
|
|
222
|
+
"Settings": "設定",
|
|
223
|
+
"Copy Screenshot": "複製截圖",
|
|
224
|
+
"Pop Out": "彈出視窗",
|
|
225
|
+
"Move Window...": "移動視窗...",
|
|
226
|
+
"Resize Window...": "調整視窗大小...",
|
|
227
|
+
"Move Window": "移動視窗",
|
|
228
|
+
"Resize Window": "調整視窗大小",
|
|
229
|
+
"Gridlock All Windows": "視窗網格對齊",
|
|
230
|
+
"Change the current saved layout name": "修改目前版面設定的名稱",
|
|
231
|
+
"Create a copy of the current layout": "建立目前版面設定的副本",
|
|
232
|
+
"Create a fresh saved layout": "建立新的版面設定",
|
|
233
|
+
"Create a new layout": "建立新版面設定",
|
|
234
|
+
"Rename the current layout preset": "重新命名目前版面設定預設",
|
|
235
|
+
"Delete the current layout preset": "刪除目前版面設定預設",
|
|
236
|
+
"Detach a docked pane into a floating window": "把停靠面板拆分為浮動視窗",
|
|
237
|
+
"Dock a floating pane back into the layout": "把浮動面板停靠回版面設定",
|
|
238
|
+
"Remove a pane from the layout": "從版面設定中移除面板",
|
|
239
|
+
"Swap two pane positions": "交換兩個面板的位置",
|
|
240
|
+
"Arrange all visible panes into a tiled grid": "將所有可見面板平鋪排列",
|
|
241
|
+
"Create another instance next to the focused pane": "在聚焦面板旁再開一個面板",
|
|
242
|
+
"Restore the default two-pane layout": "還原預設雙面板版面設定",
|
|
243
|
+
"Remove the focused pane from the layout": "從版面設定中移除聚焦面板",
|
|
244
|
+
"Enter window edit mode with Tab cycling windows": "進入視窗編輯模式,Tab 切換視窗",
|
|
245
|
+
"Enter window edit mode with Tab cycling resize handles": "進入視窗編輯模式,Tab 切換縮放控制點",
|
|
246
|
+
"Focus a pane to show pane-specific layout actions": "聚焦某個面板以顯示對應的版面設定操作",
|
|
247
|
+
"Pane layout management commands": "面板版面設定管理命令",
|
|
248
|
+
|
|
249
|
+
// ── Context menu ─────────────────────────────────────────────
|
|
250
|
+
"Command Bar": "命令列",
|
|
251
|
+
"Manage Plugins...": "管理外掛...",
|
|
252
|
+
"Change Theme...": "更換主題...",
|
|
253
|
+
"Copy": "複製",
|
|
254
|
+
"Copy Symbol": "複製代號",
|
|
255
|
+
"Copy Link": "複製連結",
|
|
256
|
+
"Open Link": "開啟連結",
|
|
257
|
+
"Open Ticker Research": "開啟個股研究",
|
|
258
|
+
"Open {symbol} Ticker Research": "開啟 {symbol} 個股研究",
|
|
259
|
+
"Open {symbol} in New Floating Ticker Research": "在新浮動視窗中開啟 {symbol} 研究",
|
|
260
|
+
"Add to Watchlist...": "新增到自選清單...",
|
|
261
|
+
"Add to Portfolio...": "新增到投資組合...",
|
|
262
|
+
"Remove from Watchlist...": "從自選清單移除...",
|
|
263
|
+
"Remove from Portfolio...": "從投資組合移除...",
|
|
264
|
+
"Context menu action failed.": "右鍵選單操作失敗。",
|
|
265
|
+
|
|
266
|
+
// ── Plugin & pane names ──────────────────────────────────────
|
|
267
|
+
"Ticker News": "個股新聞",
|
|
268
|
+
"Top News": "頭條新聞",
|
|
269
|
+
"Breaking News": "突發新聞",
|
|
270
|
+
"Sector News": "類股新聞",
|
|
271
|
+
"News Feed": "新聞源",
|
|
272
|
+
"Ticker Research": "個股研究",
|
|
273
|
+
"Portfolio List": "投資組合清單",
|
|
274
|
+
"Portfolio Analytics": "投資組合分析",
|
|
275
|
+
"Quote Monitor": "行情監控",
|
|
276
|
+
"Chart": "圖表",
|
|
277
|
+
"Compare": "比較",
|
|
278
|
+
"Comparison Chart": "比較圖表",
|
|
279
|
+
"Financials": "財務報表",
|
|
280
|
+
"Financial Analysis": "財務分析",
|
|
281
|
+
"Fundamental Graph": "基本面圖表",
|
|
282
|
+
"Valuation Graph": "估值圖表",
|
|
283
|
+
"Relative Valuation": "相對估值",
|
|
284
|
+
"Relationship Graph": "關係圖表",
|
|
285
|
+
"Graphs": "圖表集",
|
|
286
|
+
"Historical Prices": "歷史價格",
|
|
287
|
+
"Intraday Price Graph": "盤中價格圖",
|
|
288
|
+
"Overview": "總覽",
|
|
289
|
+
"Events": "事件",
|
|
290
|
+
"Earnings Calendar": "財報行事曆",
|
|
291
|
+
"Earnings Estimates": "盈餘預估",
|
|
292
|
+
"Earnings Monitor": "財報監控",
|
|
293
|
+
"Economic Calendar": "經濟行事曆",
|
|
294
|
+
"Corporate Actions": "公司行動",
|
|
295
|
+
"Analyst Research": "分析師研究",
|
|
296
|
+
"Analyst": "分析師",
|
|
297
|
+
"Analysts": "分析師",
|
|
298
|
+
"Options": "選擇權",
|
|
299
|
+
"Holders": "股東",
|
|
300
|
+
"Insider": "內部人士",
|
|
301
|
+
"Insider Trading": "內部人士交易",
|
|
302
|
+
"SEC": "SEC 申報",
|
|
303
|
+
"Notes": "筆記",
|
|
304
|
+
"Alerts": "價格提醒",
|
|
305
|
+
"Market Heatmap": "市場熱力圖",
|
|
306
|
+
"Market Movers": "市場異動",
|
|
307
|
+
"Sector Performance": "類股表現",
|
|
308
|
+
"World Equity Indices": "全球股價指數",
|
|
309
|
+
"World Indices": "全球指數",
|
|
310
|
+
"US Treasury Yield Curve": "美國公債殖利率曲線",
|
|
311
|
+
"Yield Curve": "殖利率曲線",
|
|
312
|
+
"FX Cross Rates": "FX 外匯交叉匯率",
|
|
313
|
+
"Fear & Greed": "恐懼與貪婪",
|
|
314
|
+
"Correlation Matrix": "相關性矩陣",
|
|
315
|
+
"13F Funds": "13F 基金",
|
|
316
|
+
"Position Sizer": "部位規模計算器",
|
|
317
|
+
"AI": "AI",
|
|
318
|
+
"Ask AI": "詢問 AI",
|
|
319
|
+
"Broker Manager": "券商管理",
|
|
320
|
+
"Brokers": "券商",
|
|
321
|
+
"Open Brokers": "開啟券商管理",
|
|
322
|
+
"Layout Manager": "版面設定管理",
|
|
323
|
+
"Debug Log": "除錯日誌",
|
|
324
|
+
"Changelog": "更新日誌",
|
|
325
|
+
"Substack": "Substack",
|
|
326
|
+
"Yahoo Finance": "Yahoo 財經",
|
|
327
|
+
"Yahoo Fallback": "Yahoo 備用來源",
|
|
328
|
+
"Provider Search": "資料來源搜尋",
|
|
329
|
+
"Research": "研究",
|
|
330
|
+
"Chat": "聊天",
|
|
331
|
+
"Prediction Markets": "預測市場",
|
|
332
|
+
"Economics": "宏觀經濟",
|
|
333
|
+
"Collections": "清單",
|
|
334
|
+
"Workspace": "工作區",
|
|
335
|
+
"Account Management": "帳戶管理",
|
|
336
|
+
"Gloom Cloud": "Gloom 雲端",
|
|
337
|
+
|
|
338
|
+
// ── Plugin descriptions ──────────────────────────────────────
|
|
339
|
+
"View latest news for each ticker": "檢視每檔股票的最新新聞",
|
|
340
|
+
"Company news for the selected ticker.": "所選股票的公司新聞。",
|
|
341
|
+
"Curated top market stories ranked by importance": "按重要性排序的精選市場頭條",
|
|
342
|
+
"Breaking and urgent market news": "突發與緊急市場新聞",
|
|
343
|
+
"Chronological market news firehose": "按時間排序的市場新聞流",
|
|
344
|
+
"Market news filtered by sector": "按類股篩選的市場新聞",
|
|
345
|
+
"Add a custom RSS news feed": "新增自訂 RSS 新聞源",
|
|
346
|
+
"Add markdown notes to your tickers.": "為你的股票新增 Markdown 筆記。",
|
|
347
|
+
"Open a general-purpose notes scratchpad": "開啟通用筆記便籤",
|
|
348
|
+
"Analyst research, corporate actions, and relative valuation": "分析師研究、公司行動與相對估值",
|
|
349
|
+
"Price targets, recommendations, and recent analyst actions.": "目標價、投資建議與分析師近期評等異動。",
|
|
350
|
+
"Dividends, splits, reported earnings, and analyst estimates.": "股利、股票分割、已公布盈餘與分析師預估。",
|
|
351
|
+
"Options chain for the selected ticker.": "所選股票的選擇權鏈。",
|
|
352
|
+
"View options chain for tickers": "檢視股票選擇權鏈",
|
|
353
|
+
"Institutional holders by value and position change": "依市值與持股變動排列的機構投資人",
|
|
354
|
+
"Institutional holders for the selected ticker.": "所選股票的機構投資人。",
|
|
355
|
+
"SEC Form 4 insider transaction activity": "SEC Form 4 內部人士交易動態",
|
|
356
|
+
"Insider transaction activity for the selected ticker.": "所選股票的內部人士交易動態。",
|
|
357
|
+
"Recent SEC filings for US equities": "美股最新 SEC 申報檔案",
|
|
358
|
+
"Recent SEC filings for the selected ticker.": "所選股票的最新 SEC 申報檔案。",
|
|
359
|
+
"Price trigger alerts with desktop notifications": "透過桌面通知的價格觸發提醒",
|
|
360
|
+
"Price trigger alerts with notifications": "透過通知的價格觸發提醒",
|
|
361
|
+
"Create a price alert from a symbol, condition, and target price": "用代號、條件和目標價建立價格提醒",
|
|
362
|
+
"Public market heatmap for the largest US stocks and ETFs.": "美股大盤股與 ETF 的市場熱力圖。",
|
|
363
|
+
"Largest US stocks and ETFs, sized by market cap or assets and colored by daily move.": "按市值/規模定大小、按日漲跌著色的美股與 ETF。",
|
|
364
|
+
"Top gainers, losers, most active, and trending tickers": "漲幅榜、跌幅榜、成交活躍與熱門股票",
|
|
365
|
+
"Top gainers, losers, most active, and trending tickers.": "漲幅榜、跌幅榜、成交活躍與熱門股票。",
|
|
366
|
+
"S&P 500 sector and industry performance via ETF proxies": "以 ETF 代表 S&P 500 類股與產業表現",
|
|
367
|
+
"S&P 500 sector and industry performance sorted by daily change.": "依每日漲跌排序的 S&P 500 類股與產業表現。",
|
|
368
|
+
"Global equity index monitor grouped by region": "依地區分組的全球股價指數監控",
|
|
369
|
+
"Monitor global equity indices grouped by region.": "依地區分組監控全球股價指數。",
|
|
370
|
+
"US Treasury yield curve charted from FRED data.": "依據 FRED 資料繪製的美國公債殖利率曲線。",
|
|
371
|
+
"Currency cross-rate matrix for major FX pairs": "主要 FX 貨幣對的交叉匯率矩陣",
|
|
372
|
+
"Currency cross-rate matrix for major FX pairs.": "主要 FX 貨幣對的交叉匯率矩陣。",
|
|
373
|
+
"CNN Fear & Greed sentiment gauge and market indicator charts.": "CNN 恐懼與貪婪情緒儀表及市場指標圖。",
|
|
374
|
+
"CNN Fear & Greed sentiment gauge with the seven indicator charts.": "CNN 恐懼與貪婪情緒儀表及七項指標圖。",
|
|
375
|
+
"NxN Pearson correlation matrix for tickers in portfolios/watchlists": "投資組合與自選清單股票的 NxN 皮爾森相關矩陣",
|
|
376
|
+
"Date-aligned Pearson correlation matrix for ticker returns.": "依日期對齊股票報酬率的皮爾森相關矩陣。",
|
|
377
|
+
"Browse 13F fund filings, estimated long-book performance, holdings, changes, and filing history.": "瀏覽 13F 基金申報、多頭投資組合估算績效、持股變動與申報歷史。",
|
|
378
|
+
"Browse institutional 13F fund filings and estimated long-book performance.": "瀏覽機構 13F 申報與多頭投資組合估算績效。",
|
|
379
|
+
"Size positions from Kelly, risk budget, and asymmetric payoff assumptions.": "依凱利公式、風險預算與非對稱報酬假設計算部位規模。",
|
|
380
|
+
"Open Kelly-based position sizing for a ticker.": "開啟依凱利公式計算股票部位規模的工具。",
|
|
381
|
+
"Sharpe ratio, beta vs S&P 500, and sector allocation for your portfolio.": "投資組合的夏普比率、相對 S&P 500 的 Beta 與類股配置。",
|
|
382
|
+
"Sharpe ratio, beta, and sector allocation for the active portfolio": "使用中投資組合的夏普比率、Beta 與類股配置",
|
|
383
|
+
"Upcoming earnings dates and estimates for your tickers.": "你關注股票的財報日期與預估。",
|
|
384
|
+
"Upcoming earnings dates and estimates, optionally scoped to tickers.": "即將發布的財報日期與預估,可限定股票範圍。",
|
|
385
|
+
"Upcoming earnings dates for tracked tickers": "追蹤中股票的財報行事曆",
|
|
386
|
+
"Upcoming economic events, releases, and indicators.": "即將發布的經濟事件、資料與指標。",
|
|
387
|
+
"Open upcoming earnings, optionally scoped to tickers.": "開啟財報行事曆,可限定股票範圍。",
|
|
388
|
+
"Open the Events view with EPS and revenue estimates.": "開啟含 EPS 與營收預估的事件檢視。",
|
|
389
|
+
"Manage broker profiles and connection status": "管理券商設定與連線狀態",
|
|
390
|
+
"Broker profiles, account sync, and connection status.": "券商設定、帳戶同步與連線狀態。",
|
|
391
|
+
"Open broker profiles and connection status": "開啟券商設定與連線狀態",
|
|
392
|
+
"Compare up to 10 ticker charts overlaid on one chart.": "在同一張圖表疊加比較最多 10 檔股票。",
|
|
393
|
+
"Compare valuation and operating metrics across peers.": "跨同業比較估值與經營指標。",
|
|
394
|
+
"Graph statement metrics for one or more tickers.": "繪製一檔或多檔股票的報表指標。",
|
|
395
|
+
"Graph valuation multiples for one or more tickers.": "繪製一檔或多檔股票的估值倍數。",
|
|
396
|
+
"Graph ratio, rolling correlation, and regression between two tickers.": "繪製兩檔股票的比價、滾動相關性與迴歸。",
|
|
397
|
+
"Open a price chart for a ticker.": "開啟股票價格圖表。",
|
|
398
|
+
"Open an intraday price chart for a ticker.": "開啟股票盤中價格圖表。",
|
|
399
|
+
"Open a historical OHLCV table for a ticker.": "開啟股票的歷史 OHLCV 表格。",
|
|
400
|
+
"Open financial statements for a ticker.": "開啟股票的財務報表。",
|
|
401
|
+
"Open a compact quote monitor for one or more tickers": "為一檔或多檔股票開啟精簡行情監控",
|
|
402
|
+
"Open another pane for the current portfolio or watchlist": "為目前組合或自選清單再開一個面板",
|
|
403
|
+
"Open another portfolio list pane": "再開一個投資組合清單面板",
|
|
404
|
+
"Open another watchlist pane": "再開一個自選清單面板",
|
|
405
|
+
"Open another research pane for the selected ticker or current collection": "為所選股票或目前清單再開一個研究面板",
|
|
406
|
+
"Shortcut and layout help": "快速鍵與版面設定說明",
|
|
407
|
+
"Browse Gloomberb release notes.": "瀏覽 Gloomberb 版本說明。",
|
|
408
|
+
"Browse version history and release notes.": "瀏覽版本歷史與更新說明。",
|
|
409
|
+
"View and export debug logs": "檢視並匯出除錯日誌",
|
|
410
|
+
"Open the debug log viewer": "開啟除錯日誌檢視器",
|
|
411
|
+
"Export debug logs to ~/Downloads": "匯出除錯日誌到 ~/Downloads",
|
|
412
|
+
"Export Debug Log": "匯出除錯日誌",
|
|
413
|
+
"Use local AI CLI with your financial data.": "用本機 AI CLI 處理你的金融資料。",
|
|
414
|
+
"Create a prompt-driven AI screener pane with reusable screening tabs.": "建立提示詞驅動的 AI 選股面板,可重複使用篩選分頁。",
|
|
415
|
+
"Authenticated Substack reader feed and subscriptions": "已登入的 Substack 閱讀源與訂閱",
|
|
416
|
+
"Open the authenticated Substack reader feed.": "開啟已登入的 Substack 閱讀源。",
|
|
417
|
+
"Built-in delayed fallback for quotes, fundamentals, charts, and unsupported cloud data.": "行情、基本面、圖表及雲端不支援資料的內建延遲備用源。",
|
|
418
|
+
"Show positions in the portfolio grid.": "在投資組合網格中顯示持倉。",
|
|
419
|
+
"Show positions in the portfolio table.": "在投資組合表格中顯示持倉。",
|
|
420
|
+
"Show portfolios and watchlists in this pane.": "在此面板顯示投資組合與自選清單。",
|
|
421
|
+
"Show chart values as raw prices or percent change from the first visible point.": "圖表顯示原始價格,或相對第一個可見點的漲跌幅。",
|
|
422
|
+
"Show prices or percent change from the first visible point on the shared chart.": "共用圖表顯示價格,或相對第一個可見點的漲跌幅。",
|
|
423
|
+
"Set the period used for quote sparklines and range labels.": "設定行情走勢線與區間標籤使用的週期。",
|
|
424
|
+
"Choose exactly which collections this pane should show.": "選擇此面板要顯示的特定清單。",
|
|
425
|
+
"Limit the pane to portfolios.": "僅顯示投資組合。",
|
|
426
|
+
"Limit the pane to watchlists.": "僅顯示自選清單。",
|
|
427
|
+
"Hide Ticker Research tabs and lock this pane to one view.": "隱藏研究頁籤並鎖定此面板為單一檢視。",
|
|
428
|
+
"Notify when new breaking stories arrive, even while this pane is closed.": "有新突發新聞時通知,即使面板已關閉。",
|
|
429
|
+
"Merge Polymarket and Kalshi into one browser.": "將 Polymarket 與 Kalshi 合併到一個瀏覽器。",
|
|
430
|
+
"Lock this pane to Kalshi.": "鎖定此面板為 Kalshi。",
|
|
431
|
+
"Lock this pane to Polymarket.": "鎖定此面板為 Polymarket。",
|
|
432
|
+
"Hide the top venue tabs and lock this pane to one scope.": "隱藏上方平台頁籤並鎖定此面板的範圍。",
|
|
433
|
+
"Interactive Brokers market data, account sync, and trading.": "盈透證券行情、帳戶同步與交易。",
|
|
434
|
+
"Free market, macro, and chat services. Chat requires signup.": "免費行情、宏觀與聊天服務。聊天需註冊。",
|
|
435
|
+
|
|
436
|
+
// ── Settings fields ──────────────────────────────────────────
|
|
437
|
+
"Columns": "欄",
|
|
438
|
+
"Visible Collections": "顯示的清單",
|
|
439
|
+
"All Collections": "全部清單",
|
|
440
|
+
"Portfolios Only": "僅投資組合",
|
|
441
|
+
"Watchlists Only": "僅自選清單",
|
|
442
|
+
"Custom Selection": "自訂選擇",
|
|
443
|
+
"Collection Pane": "清單面板",
|
|
444
|
+
"Hide Cash Positions": "隱藏現金持倉",
|
|
445
|
+
"Hide Header Bar": "隱藏標題欄",
|
|
446
|
+
"Hide Header": "隱藏標題",
|
|
447
|
+
"Hide Tabs": "隱藏頁籤",
|
|
448
|
+
"Hide Venue Tabs": "隱藏平台頁籤",
|
|
449
|
+
"Locked Tab": "鎖定頁籤",
|
|
450
|
+
"Locked Venue Scope": "鎖定平台範圍",
|
|
451
|
+
"Chart Period": "圖表週期",
|
|
452
|
+
"Chart Y-Axis": "圖表縱軸",
|
|
453
|
+
"Graph Price": "價格圖",
|
|
454
|
+
"Quote Tickers": "監控股票",
|
|
455
|
+
"Comparison Tickers": "比較股票",
|
|
456
|
+
"Correlation Tickers": "相關性股票",
|
|
457
|
+
"Feed Name": "訂閱源名稱",
|
|
458
|
+
"Feed URL": "訂閱源網址",
|
|
459
|
+
"Add News Feed": "新增新聞源",
|
|
460
|
+
"Notifications": "通知",
|
|
461
|
+
"Screener Prompt": "選股提示詞",
|
|
462
|
+
"AI Provider": "AI 供應商",
|
|
463
|
+
"Default Browse Tab": "預設瀏覽頁籤",
|
|
464
|
+
"Basics": "基礎",
|
|
465
|
+
"Functions": "功能",
|
|
466
|
+
"Shortcuts": "快速鍵",
|
|
467
|
+
"Issues": "問題回報",
|
|
468
|
+
"Portfolio Pane Settings": "組合面板設定",
|
|
469
|
+
"Quote Monitor Settings": "行情監控設定",
|
|
470
|
+
"Chart Pane Settings": "圖表面板設定",
|
|
471
|
+
"Graph Pane Settings": "圖形面板設定",
|
|
472
|
+
"Breaking News Settings": "突發新聞設定",
|
|
473
|
+
"AI Screener Settings": "AI 選股器設定",
|
|
474
|
+
|
|
475
|
+
// ── Pane templates ───────────────────────────────────────────
|
|
476
|
+
"New Chat Pane": "新增聊天面板",
|
|
477
|
+
"New IBKR Trading Pane": "新增 IBKR 交易面板",
|
|
478
|
+
"New Portfolio Pane": "新增投資組合面板",
|
|
479
|
+
"New Watchlist Pane": "新增自選面板",
|
|
480
|
+
"New Screener": "新增選股器",
|
|
481
|
+
"Pin Ticker": "固定股票",
|
|
482
|
+
|
|
483
|
+
// ── Help pane ────────────────────────────────────────────────
|
|
484
|
+
"How To Use Gloomberb": "如何使用 Gloomberb",
|
|
485
|
+
"Gloomberb is command-bar first.": "Gloomberb 以命令列為核心。",
|
|
486
|
+
"Use the keyboard for speed, and the mouse for windows.": "使用鍵盤快速操作,並用滑鼠管理視窗。",
|
|
487
|
+
"Command Prefixes": "命令字首",
|
|
488
|
+
"Window Templates": "視窗範本",
|
|
489
|
+
"No shortcut window templates are currently registered.": "目前沒有已註冊的快速視窗範本。",
|
|
490
|
+
"Global Keys": "全域按鍵",
|
|
491
|
+
"Pane Management": "面板管理",
|
|
492
|
+
"Scrolling": "捲動",
|
|
493
|
+
"If There Is A Bug": "遇到 Bug 時",
|
|
494
|
+
"Open Debug Log": "開啟除錯日誌",
|
|
495
|
+
"GitHub Issues": "GitHub 問題回報",
|
|
496
|
+
"Open Debug Log, then run Export Debug Log from the command bar.": "先開啟除錯日誌,再從命令列執行「匯出除錯日誌」。",
|
|
497
|
+
"The file lands in ~/Downloads. Include steps, ticker or layout, plugin, and a screenshot if it is visual.": "檔案會存到 ~/Downloads。請附上重現步驟、股票或版面設定、外掛,介面問題再加截圖。",
|
|
498
|
+
"Docked panes stay in the saved layout.": "停靠面板會保留在已儲存的版面設定中。",
|
|
499
|
+
"Floating panes can be dragged by the title bar and resized from the lower-right corner.": "拖曳標題列可移動浮動面板,從右下角可調整大小。",
|
|
500
|
+
"Use Layout Actions for split, move, duplicate, close all floating panes, undo, redo, and layout presets.": "用版面設定操作完成拆分、移動、複製、關閉全部浮動面板、撤銷、重做與版面設定預設。",
|
|
501
|
+
"Move through focused table and list rows.": "在目前表格與清單的各列之間移動。",
|
|
502
|
+
"Open or activate the selected row.": "開啟或啟用所選列。",
|
|
503
|
+
"Switch tabs when a tab bar is focused.": "頁籤欄聚焦時切換頁籤。",
|
|
504
|
+
"Go back from detail views that support back navigation.": "從支援返回的詳細檢視回到上一層。",
|
|
505
|
+
"Scroll focused pane content by page.": "按頁捲動聚焦面板內容。",
|
|
506
|
+
"Scroll focused pane content to the start or end.": "捲動聚焦面板內容到開頭或結尾。",
|
|
507
|
+
"Move focus between panes and floating windows.": "在面板與浮動視窗間切換焦點。",
|
|
508
|
+
"Switch saved layouts by number.": "按數字切換已儲存的版面設定。",
|
|
509
|
+
"Refresh the focused ticker or refresh everything.": "重新整理聚焦股票或重新整理全部。",
|
|
510
|
+
"Quit the terminal app.": "結束終端機應用程式。",
|
|
511
|
+
"Copy the active terminal selection.": "複製目前終端機選取內容。",
|
|
512
|
+
"Paste clipboard text into the active input.": "將剪貼簿文字貼到目前的輸入欄位。",
|
|
513
|
+
"Install an available app update when one is shown.": "有可用更新提示時安裝更新。",
|
|
514
|
+
"Close the focused pane, docked or floating.": "關閉聚焦面板(停靠或浮動)。",
|
|
515
|
+
"Close all floating panes.": "關閉所有浮動面板。",
|
|
516
|
+
"Edit settings for the focused pane.": "編輯聚焦面板的設定。",
|
|
517
|
+
"Dock or float the focused pane.": "停靠或浮動聚焦面板。",
|
|
518
|
+
"Pop the focused pane out to a desktop window.": "把聚焦面板彈出為桌面視窗。",
|
|
519
|
+
"Copy a screenshot of the focused pane.": "複製聚焦面板的截圖。",
|
|
520
|
+
"Open layout actions.": "開啟版面設定操作。",
|
|
521
|
+
"Gridlock all windows.": "將所有視窗網格對齊。",
|
|
522
|
+
"Enter window move mode.": "進入視窗移動模式。",
|
|
523
|
+
"Enter window resize mode.": "進入視窗縮放模式。",
|
|
524
|
+
"Cancel an active pane drag.": "取消正在進行的面板拖曳。",
|
|
525
|
+
"Close the focused pane when nothing is being dragged.": "未拖曳時關閉聚焦面板。",
|
|
526
|
+
"Switch between move and resize.": "在移動與縮放之間切換。",
|
|
527
|
+
"Dock or float the selected window.": "停靠或浮動所選視窗。",
|
|
528
|
+
"Move, resize, or choose a dock target.": "移動、縮放或選擇停靠目標。",
|
|
529
|
+
"Use larger move and resize steps with direction keys.": "配合方向鍵使用更大的移動/縮放步長。",
|
|
530
|
+
"Cycle windows or resize handles.": "循環切換視窗或縮放控制點。",
|
|
531
|
+
"Commit pending changes or exit window mode.": "確認待處理的變更或結束視窗模式。",
|
|
532
|
+
"Open command mode for actions, pane commands, and typed prefixes.": "開啟命令模式:操作、面板命令與字首輸入。",
|
|
533
|
+
"Open ticker search directly.": "直接開啟股票搜尋。",
|
|
534
|
+
"Open security details for a specific ticker.": "開啟指定股票的證券詳情。",
|
|
535
|
+
"Move through command bar results.": "在命令列結果間移動。",
|
|
536
|
+
"Run the selected result or its secondary action.": "執行所選結果或其次要操作。",
|
|
537
|
+
"Accept a suggested command argument when one is available.": "有建議參數時按 Tab 採用。",
|
|
538
|
+
"Close the command bar.": "關閉命令列。",
|
|
539
|
+
"Clear command text.": "清空命令文字。",
|
|
540
|
+
"Delete the previous word in command text.": "刪除命令文字中的前一個詞。",
|
|
541
|
+
"Go back from a nested command screen when the query is empty.": "查詢為空時,從巢狀命令畫面回到上一層。",
|
|
542
|
+
"Toggle command-bar plugin rows, toggles, and multi-select choices.": "切換命令列中的外掛行、開關與多選項。",
|
|
543
|
+
"Reorder ordered multi-select choices.": "調整有序多選項的順序。",
|
|
544
|
+
"Submit multiline command forms.": "提交多行命令表單。",
|
|
545
|
+
"Layout Basics": "版面設定基礎",
|
|
546
|
+
|
|
547
|
+
// ── Onboarding ───────────────────────────────────────────────
|
|
548
|
+
"The open terminal for modern finance.": "現代金融的開源終端機。",
|
|
549
|
+
"Let's set things up (~30s).": "來做個快速設定(約 30 秒)。",
|
|
550
|
+
"Theme": "主題",
|
|
551
|
+
"Change it later from the command bar with ": "之後可在命令列修改:",
|
|
552
|
+
"Use ↑↓ to browse": "使用 ↑↓ 瀏覽",
|
|
553
|
+
"Use ↑↓ to choose": "使用 ↑↓ 選擇",
|
|
554
|
+
"After launch shortcuts": "啟動後的快速鍵",
|
|
555
|
+
"Basic command prefixes": "基本命令字首",
|
|
556
|
+
"Type these in the command bar (": "在命令列中輸入這些(",
|
|
557
|
+
"Everything is searchable, just type what you want.": "所有功能都能搜尋,直接輸入想找的內容即可。",
|
|
558
|
+
"You're all set": "設定完成",
|
|
559
|
+
"Launching Gloomberb...": "正在啟動 Gloomberb...",
|
|
560
|
+
"Your broker portfolio is ready and will open directly after launch.": "券商投資組合已就緒,啟動後會直接開啟。",
|
|
561
|
+
"Broker sync finished. If you expected holdings, check the selected account or connection mode.": "券商同步完成。若未見持倉,請檢查所選帳戶或連線模式。",
|
|
562
|
+
"Search for broker names in the command bar to connect.": "在命令列搜尋券商名稱進行連線。",
|
|
563
|
+
"Data stored in ": "資料儲存於 ",
|
|
564
|
+
"Open command mode": "開啟命令模式",
|
|
565
|
+
"Open ticker search": "開啟股票搜尋",
|
|
566
|
+
"Switch between panels": "在面板間切換",
|
|
567
|
+
"Close the focused pane": "關閉聚焦面板",
|
|
568
|
+
"Dock or float the focused pane": "停靠或浮動聚焦面板",
|
|
569
|
+
"Quit": "結束",
|
|
570
|
+
"Open security details": "開啟證券詳情",
|
|
571
|
+
"Switch theme": "切換主題",
|
|
572
|
+
"Toggle plugins": "啟停外掛",
|
|
573
|
+
"Open the help window": "開啟說明視窗",
|
|
574
|
+
"Set up a portfolio": "設定投資組合",
|
|
575
|
+
"How would you like to get started?": "你想如何開始?",
|
|
576
|
+
"Edits later from the command bar.": "之後可在命令列中修改。",
|
|
577
|
+
"Create Manual Portfolio": "建立手動投資組合",
|
|
578
|
+
"Add tickers and positions by hand": "手動新增股票與持倉",
|
|
579
|
+
"Credentials are saved locally.": "憑證儲存在本機。",
|
|
580
|
+
"Check your broker's documentation for setup instructions.": "請查閱券商文件取得設定說明。",
|
|
581
|
+
"enter ->": "Enter ->",
|
|
582
|
+
"enter to launch": "按 Enter 啟動",
|
|
583
|
+
"launching...": "啟動中...",
|
|
584
|
+
|
|
585
|
+
// ── Extended onboarding / broker setup ──────────────────────
|
|
586
|
+
"Setup Guide - {broker}": "{broker} 設定指南",
|
|
587
|
+
"Connect ": "連線 ",
|
|
588
|
+
"Connect {broker}": "連線 {broker}",
|
|
589
|
+
"Step {step}: ": "第 {step} 步:",
|
|
590
|
+
"Enter {field}": "輸入 {field}",
|
|
591
|
+
"Press enter to type...": "按 Enter 輸入...",
|
|
592
|
+
"Press enter to use {value}": "按 Enter 使用 {value}",
|
|
593
|
+
"Selected: {value}": "已選擇:{value}",
|
|
594
|
+
"Field {current} of {total}": "欄位 {current}/{total}",
|
|
595
|
+
"You'll need 2 things from IBKR Account Management:": "你需要從 IBKR 帳戶管理中取得兩項資訊:",
|
|
596
|
+
"1. Go to ": "1. 前往 ",
|
|
597
|
+
"2. Create a Flex Query that includes positions data": "2. 建立一個包含持倉資料的 Flex Query",
|
|
598
|
+
"3. Note the ": "3. 記下 ",
|
|
599
|
+
"Query ID": "查詢 ID",
|
|
600
|
+
" (numeric)": "(數字)",
|
|
601
|
+
"4. Under ": "4. 在 ",
|
|
602
|
+
", generate a ": " 中產生 ",
|
|
603
|
+
"Flex Web Service Token": "Flex Web Service 權杖",
|
|
604
|
+
"You'll need IB Gateway or TWS running locally:": "你需要在本機執行 IB Gateway 或 TWS:",
|
|
605
|
+
"1. Download and install ": "1. 下載並安裝 ",
|
|
606
|
+
" (or use TWS)": "(或使用 TWS)",
|
|
607
|
+
"2. Log in with your IBKR credentials": "2. 使用 IBKR 憑證登入",
|
|
608
|
+
"3. In ": "3. 在 ",
|
|
609
|
+
" Enable \"ActiveX and Socket Clients\"": " 啟用“ActiveX and Socket Clients”",
|
|
610
|
+
" Gloomberb can auto-detect local API ports (4001, 4002, 7496, 7497)": " Gloomberb 可自動偵測本機 API 連接埠(4001、4002、7496、7497)",
|
|
611
|
+
" Use Manual setup only if you need a custom host or exact socket port": " 僅在需要自訂主機或指定 Socket 連接埠時使用手動設定",
|
|
612
|
+
"4. Keep it running while using Gloomberb": "4. 使用 Gloomberb 時請讓它保持執行",
|
|
613
|
+
"You'll need your {broker} API credentials.": "你需要準備 {broker} 的 API 憑證。",
|
|
614
|
+
"Connecting to {broker} and importing accounts and positions...": "正在連線 {broker} 並匯入帳戶和持倉...",
|
|
615
|
+
"Unable to sync {broker}.": "無法同步 {broker}。",
|
|
616
|
+
"This happens now so your portfolio is ready before onboarding finishes.": "正在進行同步,以便在設定完成前準備好你的投資組合。",
|
|
617
|
+
"Press Enter to retry, or Backspace to edit the broker settings.": "按 Enter 重試,或按 Backspace 編輯券商設定。",
|
|
618
|
+
"Flex (read-only)": "Flex(唯讀)",
|
|
619
|
+
"Syncs via IBKR's Flex API. No software needed.": "透過 IBKR Flex API 同步,無需安裝軟體。",
|
|
620
|
+
"Gateway / TWS": "Gateway / TWS",
|
|
621
|
+
"Use IB Gateway or TWS for live data and trading.": "使用 IB Gateway 或 TWS 取得即時資料並進行交易。",
|
|
622
|
+
"Flex Token": "Flex 權杖",
|
|
623
|
+
"Your Flex Web Service token": "你的 Flex Web Service 權杖",
|
|
624
|
+
"Numeric Flex Query ID": "數字 Flex Query ID",
|
|
625
|
+
"IB Gateway": "IB Gateway",
|
|
626
|
+
"Reports > Flex Queries": "Reports > Flex Queries",
|
|
627
|
+
"Reports > Settings": "Reports > Settings",
|
|
628
|
+
"Configuration > API > Settings": "Configuration > API > Settings",
|
|
629
|
+
"Detect the local IBKR API port and choose a client ID automatically.": "偵測本機 IBKR API 連接埠並自動選擇用戶端 ID。",
|
|
630
|
+
"Gateway Host": "Gateway 主機",
|
|
631
|
+
"Gateway Port": "Gateway 連接埠",
|
|
632
|
+
|
|
633
|
+
// ── Account management ──────────────────────────────────────
|
|
634
|
+
"Profile": "個人檔案",
|
|
635
|
+
"Emails": "郵件",
|
|
636
|
+
"Pro": "Pro",
|
|
637
|
+
"Advanced": "高階",
|
|
638
|
+
"Free": "免費版",
|
|
639
|
+
"Market data": "行情資料",
|
|
640
|
+
"Delayed": "延遲",
|
|
641
|
+
"Real-time": "即時",
|
|
642
|
+
"News": "新聞",
|
|
643
|
+
"12h delay": "延遲 12 小時",
|
|
644
|
+
"Real-time wire": "即時快訊",
|
|
645
|
+
"Cloud sync": "雲端同步",
|
|
646
|
+
"Included": "包含",
|
|
647
|
+
"X data": "X 資料",
|
|
648
|
+
"No": "否",
|
|
649
|
+
"Soon": "即將推出",
|
|
650
|
+
"AI Screener": "AI 選股器",
|
|
651
|
+
"Capability": "功能",
|
|
652
|
+
"$49/mo": "$49/月",
|
|
653
|
+
"Public Profile": "公開個人檔案",
|
|
654
|
+
"Incoming DMs": "接收私訊",
|
|
655
|
+
"Username": "使用者名稱",
|
|
656
|
+
"username": "使用者名稱",
|
|
657
|
+
"Full Name": "姓名",
|
|
658
|
+
"Full name": "姓名",
|
|
659
|
+
"Company": "公司",
|
|
660
|
+
"X Account": "X 帳號",
|
|
661
|
+
"handle": "帳號",
|
|
662
|
+
"Public Email": "公開電子郵件",
|
|
663
|
+
"Bio": "簡介",
|
|
664
|
+
"Short profile bio": "簡短個人簡介",
|
|
665
|
+
"Public Stats:": "公開統計資料:",
|
|
666
|
+
"Public Stats": "公開統計資料",
|
|
667
|
+
"Only 1Y return and SPY Beta are shared. Positions are not shared.": "僅公開 1 年報酬率與 SPY Beta,不會公開持倉。",
|
|
668
|
+
"Offline Chat": "離線聊天",
|
|
669
|
+
"Replies and private messages while offline.": "離線期間的回覆和私訊。",
|
|
670
|
+
"Weekly Roundup": "每週摘要",
|
|
671
|
+
"Friday after market close.": "每週五收盤後寄送。",
|
|
672
|
+
"Smart Alerts": "智慧提醒",
|
|
673
|
+
"Unusual portfolio or watchlist moves.": "投資組合或自選清單的異常變動。",
|
|
674
|
+
"Turning Off...": "正在關閉...",
|
|
675
|
+
"Turn Off All": "全部關閉",
|
|
676
|
+
"Status": "狀態",
|
|
677
|
+
"Manage Pro": "管理 Pro",
|
|
678
|
+
"Opening...": "正在開啟...",
|
|
679
|
+
"Upgrade to Pro": "升級到 Pro",
|
|
680
|
+
"Change Password": "修改密碼",
|
|
681
|
+
"Delete Account": "刪除帳戶",
|
|
682
|
+
"Deleting...": "正在刪除...",
|
|
683
|
+
"Loading account profile...": "正在載入帳戶資料...",
|
|
684
|
+
"Failed to load account profile.": "載入帳戶資料失敗。",
|
|
685
|
+
"Changing password...": "正在修改密碼...",
|
|
686
|
+
"Password changed.": "密碼已修改。",
|
|
687
|
+
"Failed to change password.": "修改密碼失敗。",
|
|
688
|
+
"Current Password": "目前密碼",
|
|
689
|
+
"New Password": "新密碼",
|
|
690
|
+
"Confirm Password": "確認密碼",
|
|
691
|
+
"Changing...": "正在修改...",
|
|
692
|
+
"Update Password": "更新密碼",
|
|
693
|
+
"Current and new password are required.": "目前密碼和新密碼不可留空。",
|
|
694
|
+
"New password must be at least 8 characters.": "新密碼至少需要 8 個字元。",
|
|
695
|
+
"New passwords do not match.": "兩次輸入的新密碼不一致。",
|
|
696
|
+
"Username and full name are required.": "使用者名稱和姓名不可留空。",
|
|
697
|
+
"Saving account profile...": "正在儲存帳戶資料...",
|
|
698
|
+
"Saving...": "儲存中...",
|
|
699
|
+
"Save Profile": "儲存資料",
|
|
700
|
+
"Account profile saved.": "帳戶資料已儲存。",
|
|
701
|
+
"Failed to save account profile.": "儲存帳戶資料失敗。",
|
|
702
|
+
"Turning off email alerts...": "正在關閉郵件提醒...",
|
|
703
|
+
"Email alerts are off.": "郵件提醒已關閉。",
|
|
704
|
+
"Failed to update alert settings.": "更新提醒設定失敗。",
|
|
705
|
+
"Opening Pro upgrade...": "正在開啟 Pro 升級頁面...",
|
|
706
|
+
"Failed to open upgrade page.": "開啟升級頁面失敗。",
|
|
707
|
+
"Delete your Gloom Cloud account?": "確定刪除你的 Gloom Cloud 帳戶嗎?",
|
|
708
|
+
"This removes cloud profile, chat, sync, and billing-linked account data.": "這會刪除雲端個人檔案、聊天、同步及帳務相關的帳戶資料。",
|
|
709
|
+
"Deleting account...": "正在刪除帳戶...",
|
|
710
|
+
"Account deleted.": "帳戶已刪除。",
|
|
711
|
+
"Failed to delete account.": "刪除帳戶失敗。",
|
|
712
|
+
"Log in to manage your Gloom Cloud account.": "登入以管理你的 Gloom Cloud 帳戶。",
|
|
713
|
+
"Configured": "已設定",
|
|
714
|
+
"No public portfolio analytics": "沒有公開的投資組合分析資料",
|
|
715
|
+
"Choose a portfolio to preview the public profile metrics.": "選擇投資組合以預覽公開個人檔案指標。",
|
|
716
|
+
"Portfolio not found": "找不到投資組合",
|
|
717
|
+
"No positions to preview yet.": "暫無持倉可供預覽。",
|
|
718
|
+
"Pending": "待計算",
|
|
719
|
+
"needs price history": "需要價格歷史資料",
|
|
720
|
+
"needs SPY overlap": "需要與 SPY 的重疊資料",
|
|
721
|
+
"Choose a portfolio to publish 1Y return and SPY Beta.": "選擇投資組合以發布 1 年報酬率與 SPY Beta。",
|
|
722
|
+
"Loading published metrics.": "正在載入已發布指標。",
|
|
723
|
+
"Save profile to update published metrics.": "儲存資料以更新已發布指標。",
|
|
724
|
+
"Public profile is off.": "公開個人檔案已關閉。",
|
|
725
|
+
"Public profile is off": "公開個人檔案已關閉",
|
|
726
|
+
"Syncing published metrics.": "正在同步已發布指標。",
|
|
727
|
+
"Syncing published metrics": "正在同步已發布指標",
|
|
728
|
+
"Waiting for published metrics.": "等待已發布指標。",
|
|
729
|
+
"Waiting for published metrics": "等待已發布指標",
|
|
730
|
+
"Loading published metrics": "正在載入已發布指標",
|
|
731
|
+
"Save profile to update published metrics": "儲存資料以更新已發布指標",
|
|
732
|
+
"Published public metrics": "已發布公開指標",
|
|
733
|
+
"{count} tickers": "{count} 個代號",
|
|
734
|
+
"Do not show portfolio analytics on your public profile.": "不要在公開個人檔案顯示投資組合分析資料。",
|
|
735
|
+
"Shares this portfolio's 1Y return and SPY Beta on your public profile.": "在公開個人檔案分享此投資組合的 1 年報酬率與 SPY Beta。",
|
|
736
|
+
"SPY Beta": "SPY Beta",
|
|
737
|
+
"save": "儲存",
|
|
738
|
+
"public": "公開",
|
|
739
|
+
"private": "不公開",
|
|
740
|
+
|
|
741
|
+
// ── Chat ────────────────────────────────────────────────────
|
|
742
|
+
"Direct message": "私訊",
|
|
743
|
+
"Group chat": "群組聊天",
|
|
744
|
+
"Group": "群組",
|
|
745
|
+
"DM": "私訊",
|
|
746
|
+
"Conversations": "對話",
|
|
747
|
+
"Start or open direct message": "開始或開啟私訊",
|
|
748
|
+
"Start group chat": "開始群組聊天",
|
|
749
|
+
"Use @username, or multiple usernames for a group chat": "使用 @username,或輸入多個使用者名稱開始群組聊天",
|
|
750
|
+
"Type DM @username to start one": "輸入 DM @username 開始私訊",
|
|
751
|
+
"Read-only chat. Log in or sign up to send.": "聊天目前為唯讀模式。登入或註冊後即可傳送訊息。",
|
|
752
|
+
"Saved login found. Log in again to send.": "發現已儲存的登入資訊。請重新登入後傳送訊息。",
|
|
753
|
+
"Verify your email to send messages.": "驗證電子郵件後才能傳送訊息。",
|
|
754
|
+
"Verify your email to use Cloud tweets.": "驗證電子郵件後才能使用 Cloud tweets。",
|
|
755
|
+
"Resend Verification Email": "重新發送驗證郵件",
|
|
756
|
+
"Ctrl+P, then Resend Verification Email": "按 Ctrl+P,然後選擇「重新發送驗證郵件」",
|
|
757
|
+
"editing": "編輯中",
|
|
758
|
+
"replying to": "回覆",
|
|
759
|
+
"Reply": "回覆",
|
|
760
|
+
"Edit": "編輯",
|
|
761
|
+
"Edit message...": "編輯訊息...",
|
|
762
|
+
"Reply to @{username}...": "回覆 @{username}...",
|
|
763
|
+
"Type a message...": "輸入訊息...",
|
|
764
|
+
"Loading earlier messages...": "正在載入更早的訊息...",
|
|
765
|
+
"No messages yet. Be the first to say something!": "還沒有訊息。來發第一條吧!",
|
|
766
|
+
"New DM": "新私訊",
|
|
767
|
+
"Recent users": "最近聯絡人",
|
|
768
|
+
"No recent users": "沒有最近聯絡人",
|
|
769
|
+
"Enter at least one @username.": "至少輸入一個 @username。",
|
|
770
|
+
"Could not start conversation.": "無法開始對話。",
|
|
771
|
+
"Starting": "正在開始",
|
|
772
|
+
"Start": "開始",
|
|
773
|
+
|
|
774
|
+
// ── Broker manager ──────────────────────────────────────────
|
|
775
|
+
"Unavailable": "無法使用",
|
|
776
|
+
"Sync only": "僅同步",
|
|
777
|
+
"Ready to test or sync": "可以測試或同步",
|
|
778
|
+
"Profile is disabled": "設定檔已停用",
|
|
779
|
+
"Broker plugin is not available": "券商外掛不可用",
|
|
780
|
+
"Flex profiles sync on demand": "Flex 設定檔隨選同步",
|
|
781
|
+
"Connected": "已連線",
|
|
782
|
+
"Connecting": "連線中",
|
|
783
|
+
"Disconnected": "未連線",
|
|
784
|
+
"Error": "錯誤",
|
|
785
|
+
"Profile Label": "設定檔名稱",
|
|
786
|
+
"Edit Profile": "編輯設定檔",
|
|
787
|
+
"Accounts": "帳戶",
|
|
788
|
+
"No accounts loaded. Test/connect or sync this profile.": "尚未載入帳戶。請測試、連線或同步此設定檔。",
|
|
789
|
+
"Test": "測試",
|
|
790
|
+
"Sync": "同步",
|
|
791
|
+
"Disconnect": "中斷連線",
|
|
792
|
+
"No status message.": "暫無狀態資訊。",
|
|
793
|
+
"Last sync {time}": "上次同步:{time}",
|
|
794
|
+
"Status updated {time}": "狀態更新時間:{time}",
|
|
795
|
+
"{value} net liq": "{value} 淨清算價值",
|
|
796
|
+
"{value} buying power": "{value} 購買力",
|
|
797
|
+
"{profiles} profiles · {connected} connected · {issues} issues": "{profiles} 個設定檔 · {connected} 個已連線 · {issues} 個問題",
|
|
798
|
+
"Manage broker profiles, connection tests, and position syncs.": "管理券商設定檔、連線測試與持倉同步。",
|
|
799
|
+
"No broker profiles.": "暫無券商設定檔。",
|
|
800
|
+
"Add a broker profile to test connections and sync positions.": "新增券商設定檔以測試連線並同步持倉。",
|
|
801
|
+
"Broker plugin is not available.": "券商外掛不可用。",
|
|
802
|
+
"Profile label is required.": "設定檔名稱不可留空。",
|
|
803
|
+
"Saved {label}.": "已儲存 {label}。",
|
|
804
|
+
"Failed to save broker profile.": "儲存券商設定檔失敗。",
|
|
805
|
+
"Tested {label}.": "已測試 {label}。",
|
|
806
|
+
"Failed to test {label}.": "測試 {label} 失敗。",
|
|
807
|
+
"Synced {label}.": "已同步 {label}。",
|
|
808
|
+
"Failed to sync {label}.": "同步 {label} 失敗。",
|
|
809
|
+
"{action} is unavailable for this profile.": "此設定檔無法執行 {action}。",
|
|
810
|
+
"Disconnect broker?": "確定要中斷券商連線嗎?",
|
|
811
|
+
"Remove \"{label}\" and imported broker data?": "要刪除「{label}」及已匯入的券商資料嗎?",
|
|
812
|
+
"Broker-managed portfolios, positions, and contracts will be removed.": "券商管理的投資組合、持倉與合約都會被刪除。",
|
|
813
|
+
"Enter disconnect · Esc cancel": "Enter 中斷連線 · Esc 取消",
|
|
814
|
+
"Disconnecting…": "正在中斷連線…",
|
|
815
|
+
"Removed {label}.": "已刪除 {label}。",
|
|
816
|
+
"Failed to remove {label}.": "刪除 {label} 失敗。",
|
|
817
|
+
"Saving…": "儲存中…",
|
|
818
|
+
"Testing…": "測試中…",
|
|
819
|
+
"Syncing…": "同步中…",
|
|
820
|
+
"PROFILE": "設定檔",
|
|
821
|
+
"STATUS": "狀態",
|
|
822
|
+
"BROKER": "券商",
|
|
823
|
+
"MODE": "模式",
|
|
824
|
+
"ACCOUNTS": "帳戶",
|
|
825
|
+
"SYNCED": "已同步",
|
|
826
|
+
|
|
827
|
+
// ── AI ──────────────────────────────────────────────────────
|
|
828
|
+
"Select a ticker to ask AI.": "選擇股票代號以詢問 AI。",
|
|
829
|
+
"No AI CLI tools are ready:": "沒有就緒的 AI CLI 工具:",
|
|
830
|
+
"Ask questions about {ticker}. Financial data will be included as context.": "可以詢問關於 {ticker} 的問題,金融資料會作為上下文提供。",
|
|
831
|
+
"You": "你",
|
|
832
|
+
"thinking...": "思考中...",
|
|
833
|
+
"Generating...": "產生中...",
|
|
834
|
+
"Ask a question...": "輸入問題...",
|
|
835
|
+
"Choose which local AI CLI should run the initial screener.": "選擇用於執行初始選股的本機 AI CLI 工具。",
|
|
836
|
+
"Describe the screening idea in plain English.": "以簡單英文描述選股構想。",
|
|
837
|
+
"The AI will return validated ticker ideas with a short reason for each one.": "AI 會提供經過驗證的股票代號,並為每個建議附上簡短理由。",
|
|
838
|
+
"Examples: humanoid robot suppliers, defense software compounders, EM payment rails, obesity-drug picks-and-shovels...": "範例:人形機器人供應商、長期成長的國防軟體股、新興市場支付網路、減重藥供應鏈...",
|
|
839
|
+
"Describe the companies or setups you want this screener to discover.": "描述你希望選股器找出的公司或投資條件。",
|
|
840
|
+
"Update the screener prompt or provider. Saving does not rerun it automatically.": "更新選股提示或供應商。儲存後不會自動重新執行。",
|
|
841
|
+
"No AI screeners yet.": "還沒有 AI 選股器。",
|
|
842
|
+
"Click + to create one.": "點擊 + 即可建立。",
|
|
843
|
+
"Running AI screener...": "正在執行 AI 選股器...",
|
|
844
|
+
"No supported AI CLI tools detected. Install one to run screeners.": "未偵測到支援的 AI CLI 工具。請先安裝工具再執行選股器。",
|
|
845
|
+
"Force Refreshing...": "強制重新整理中...",
|
|
846
|
+
"Refreshing...": "重新整理中...",
|
|
847
|
+
"Stop": "停止",
|
|
848
|
+
"Refresh": "重新整理",
|
|
849
|
+
"Run Screener": "執行選股器",
|
|
850
|
+
"Run Updated Prompt": "執行更新後的提示詞",
|
|
851
|
+
"Confirm Force Refresh": "確認強制重新整理",
|
|
852
|
+
"Force Refresh": "強制重新整理",
|
|
853
|
+
"Edit Prompt": "編輯提示詞",
|
|
854
|
+
"Force refreshing": "強制重新整理中",
|
|
855
|
+
"Refreshing": "重新整理中",
|
|
856
|
+
"{mode} with {provider}...": "正在使用 {provider}{mode}...",
|
|
857
|
+
"Last ran {time}": "上次執行:{time}",
|
|
858
|
+
"Never run": "從未執行",
|
|
859
|
+
"No screener selected": "未選擇選股器",
|
|
860
|
+
"force refresh armed": "已準備強制重新整理",
|
|
861
|
+
"provider": "供應商",
|
|
862
|
+
"new": "新增",
|
|
863
|
+
"close tab": "關閉分頁",
|
|
864
|
+
"efresh": "重新整理",
|
|
865
|
+
"force refresh": "強制重新整理",
|
|
866
|
+
"dit": "編輯",
|
|
867
|
+
"syncing": "同步中",
|
|
868
|
+
"{count} online": "{count} 人線上",
|
|
869
|
+
"reply": "回覆",
|
|
870
|
+
"Someone": "某人",
|
|
871
|
+
"@{author} mentioned you in chat.": "@{author} 在聊天中提及你。",
|
|
872
|
+
"@{author} mentioned you: {snippet}": "@{author} 提及你:{snippet}",
|
|
873
|
+
"@{author} replied to you.": "@{author} 回覆了你。",
|
|
874
|
+
"@{author} replied to you: {snippet}": "@{author} 回覆了你:{snippet}",
|
|
875
|
+
"@{author} sent a message.": "@{author} 發來了一條訊息。",
|
|
876
|
+
"{channel} @{author} sent a message.": "{channel} 中 @{author} 發來了一條訊息。",
|
|
877
|
+
|
|
878
|
+
// ── Main dashboard ──────────────────────────────────────────
|
|
879
|
+
"Installing update...": "正在安裝更新...",
|
|
880
|
+
"Update installed, restart to apply": "更新已安裝,重新啟動後生效",
|
|
881
|
+
"Checking for updates...": "正在檢查更新...",
|
|
882
|
+
"Downloading v{version}: {percent}%": "正在下載 v{version}:{percent}%",
|
|
883
|
+
"Update failed: {error}": "更新失敗:{error}",
|
|
884
|
+
"v{version} available — run {command}": "v{version} 可用 — 執行 {command}",
|
|
885
|
+
"v{version} available — starting download...": "v{version} 可用 — 開始下載...",
|
|
886
|
+
"command bar": "命令列",
|
|
887
|
+
"Snapped a window?": "視窗已吸附?",
|
|
888
|
+
"Gridlock All": "全部網格對齊",
|
|
889
|
+
"Dismiss": "忽略",
|
|
890
|
+
"Minimize": "最小化",
|
|
891
|
+
"Maximize": "最大化",
|
|
892
|
+
"Pane unavailable.": "面板不可用。",
|
|
893
|
+
"Cash & Margin": "現金與保證金",
|
|
894
|
+
"No non-zero cash balances.": "沒有非零的現金餘額。",
|
|
895
|
+
"adding...": "新增中...",
|
|
896
|
+
"{query} checking...": "正在檢查 {query}...",
|
|
897
|
+
"{symbol} already in {collection}": "{symbol} 已在{collection}中",
|
|
898
|
+
"{symbol} is already in {collection}.": "{symbol} 已在「{collection}」中。",
|
|
899
|
+
"Ticker lookup unavailable.": "目前無法查詢股票代號。",
|
|
900
|
+
"Added {symbol} to {collection}.": "已將 {symbol} 新增到「{collection}」。",
|
|
901
|
+
"Failed to add {symbol}.": "新增 {symbol} 失敗。",
|
|
902
|
+
"ticker": "代號",
|
|
903
|
+
"Use a ticker symbol": "請輸入股票代號",
|
|
904
|
+
"Ticker lookup failed": "股票代號查詢失敗",
|
|
905
|
+
"Ticker add failed": "新增股票代號失敗",
|
|
906
|
+
"Ticker symbol is required.": "請輸入股票代號。",
|
|
907
|
+
"No ticker selected.": "未選擇股票。",
|
|
908
|
+
"No comparison tickers configured.": "尚未設定比較股票。",
|
|
909
|
+
"Loading chart...": "正在載入圖表...",
|
|
910
|
+
"updating": "更新中",
|
|
911
|
+
"native unavailable": "無法使用原生渲染",
|
|
912
|
+
"Waiting for quote...": "等待行情...",
|
|
913
|
+
"Pre-Market": "盤前",
|
|
914
|
+
"After-Hours": "盤後",
|
|
915
|
+
"Price Return": "價格報酬",
|
|
916
|
+
"Fundamentals": "基本面",
|
|
917
|
+
"Positions": "持倉",
|
|
918
|
+
"Type": "類型",
|
|
919
|
+
"Sector": "類股",
|
|
920
|
+
"Industry": "產業",
|
|
921
|
+
"ISIN": "ISIN",
|
|
922
|
+
"Bid": "買價",
|
|
923
|
+
"Ask": "賣價",
|
|
924
|
+
"Spr": "價差",
|
|
925
|
+
"Qty": "數量",
|
|
926
|
+
"Avg": "均價",
|
|
927
|
+
"Mark": "標記價格",
|
|
928
|
+
"Cost": "成本",
|
|
929
|
+
"Value": "市值",
|
|
930
|
+
"Ret": "報酬",
|
|
931
|
+
"Market Cap": "市值",
|
|
932
|
+
"Shares Out": "流通在外股數",
|
|
933
|
+
"P/E (TTM)": "本益比(P/E,TTM)",
|
|
934
|
+
"Fwd P/E": "預估本益比(P/E)",
|
|
935
|
+
"Div Yield": "股利殖利率",
|
|
936
|
+
"Net Income": "淨利",
|
|
937
|
+
"Op Margin": "營業利益率",
|
|
938
|
+
"Profit Marg": "淨利率",
|
|
939
|
+
"Rev Growth": "營收成長",
|
|
940
|
+
"Avg Day": "平均單日漲跌",
|
|
941
|
+
"Net Liq": "淨清算價值",
|
|
942
|
+
"Val": "市值",
|
|
943
|
+
"Day": "當日",
|
|
944
|
+
"Realized": "已實現",
|
|
945
|
+
"Settled": "已結算",
|
|
946
|
+
"Avail": "可用",
|
|
947
|
+
"Excess": "超額流動性",
|
|
948
|
+
"Unreal": "未實現",
|
|
949
|
+
"Init": "初始保證金",
|
|
950
|
+
"Maint": "維持保證金",
|
|
951
|
+
"NAME": "名稱",
|
|
952
|
+
"TYPE": "類型",
|
|
953
|
+
"EXCH": "交易所",
|
|
954
|
+
"CCY": "幣別",
|
|
955
|
+
"SECTOR": "類股",
|
|
956
|
+
"INDUSTRY": "產業",
|
|
957
|
+
"TAGS": "標籤",
|
|
958
|
+
"VOL": "成交量",
|
|
959
|
+
"$VOL": "成交額",
|
|
960
|
+
"BID": "買價",
|
|
961
|
+
"ASK": "賣價",
|
|
962
|
+
"SPREAD": "價差",
|
|
963
|
+
"B/A SZ": "B/A 量",
|
|
964
|
+
"CHG": "漲跌",
|
|
965
|
+
"TARGET": "目標價",
|
|
966
|
+
"RATING": "評等",
|
|
967
|
+
"SHARES": "股數",
|
|
968
|
+
"AVG COST": "均價",
|
|
969
|
+
"MKT VAL": "市值",
|
|
970
|
+
"WEIGHT": "權重",
|
|
971
|
+
"ACQ": "建倉",
|
|
972
|
+
"HELD": "持有",
|
|
973
|
+
"position": "持倉",
|
|
974
|
+
"positions": "持倉",
|
|
975
|
+
|
|
976
|
+
// ── Context-scoped entries (see tc() in ./index.ts) ─────────
|
|
977
|
+
"picker-headingOptions": "選項",
|
|
978
|
+
|
|
979
|
+
// ── Runtime status / misc ────────────────────────────────────
|
|
980
|
+
"Theme configured": "主題已設定",
|
|
981
|
+
"Plugins enabled": "外掛已啟用",
|
|
982
|
+
'Portfolio "{name}" created': "已建立投資組合「{name}」",
|
|
983
|
+
"{broker} connected. Imported {count} {label}": "{broker} 已連線,已匯入 {count} 筆{label}",
|
|
984
|
+
"No tickers.": "暫無股票。",
|
|
985
|
+
"No portfolio positions": "投資組合暫無持倉",
|
|
986
|
+
"No watchlist tickers": "自選清單暫無股票",
|
|
987
|
+
"No tickers in {name}.": "{name} 中暫無股票。",
|
|
988
|
+
"this collection": "此清單",
|
|
989
|
+
"Press Ctrl+P to add one.": "按 Ctrl+P 新增。",
|
|
990
|
+
"PRE-MKT": "盤前",
|
|
991
|
+
"OPEN": "盤中",
|
|
992
|
+
"AFTER-HRS": "盤後",
|
|
993
|
+
"CLOSED": "休市",
|
|
994
|
+
"Log In": "登入",
|
|
995
|
+
"Sign Up": "註冊",
|
|
996
|
+
"Log Out": "登出",
|
|
997
|
+
"Congress Trades": "國會議員交易",
|
|
998
|
+
"Collection": "清單",
|
|
999
|
+
"Auto": "自動",
|
|
1000
|
+
|
|
1001
|
+
// ── Feeds / tables ───────────────────────────────────────────
|
|
1002
|
+
"No news.": "暫無新聞。",
|
|
1003
|
+
"No items.": "暫無項目。",
|
|
1004
|
+
"Loading preview...": "正在載入預覽...",
|
|
1005
|
+
"No preview available.": "暫無預覽。",
|
|
1006
|
+
"No top stories yet": "暫無頭條",
|
|
1007
|
+
"No feed stories yet": "暫無新聞",
|
|
1008
|
+
"No DMs yet": "暫無私訊",
|
|
1009
|
+
"Most Active": "成交最活躍",
|
|
1010
|
+
"Gainers": "漲幅榜",
|
|
1011
|
+
"Losers": "跌幅榜",
|
|
1012
|
+
"Trending": "熱門",
|
|
1013
|
+
};
|