From 3fe5a762eba5d46a3bd9c5490a60aca74fc7b249 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 10 May 2025 14:48:33 +0200 Subject: [PATCH 01/14] Feature/extend personal finance tools 20250510 (#4698) * Extend personal finance tools * Add Balance Pro * Add PinkLion --- libs/common/src/lib/personal-finance-tools.ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libs/common/src/lib/personal-finance-tools.ts b/libs/common/src/lib/personal-finance-tools.ts index bcbfd09ec..dd9a821b6 100644 --- a/libs/common/src/lib/personal-finance-tools.ts +++ b/libs/common/src/lib/personal-finance-tools.ts @@ -53,6 +53,16 @@ export const personalFinanceTools: Product[] = [ origin: 'United States', slogan: 'The Intelligent Family Office Suite' }, + { + founded: 2020, + hasFreePlan: true, + hasSelfHostingAbility: false, + key: 'balance-pro', + name: 'Balance Pro', + origin: 'United States', + pricingPerYear: '$47.99', + slogan: 'The Smarter Way to Track Your Finances' + }, { hasFreePlan: false, hasSelfHostingAbility: true, @@ -571,6 +581,16 @@ export const personalFinanceTools: Product[] = [ origin: 'Singapore', slogan: 'Feel in control of your money without spreadsheets or shame' }, + { + founded: 2022, + hasFreePlan: true, + hasSelfHostingAbility: false, + key: 'pinklion', + name: 'PinkLion', + origin: 'Germany', + pricingPerYear: '€50', + slogan: 'Invest smarter, not harder' + }, { founded: 2023, hasFreePlan: true, From 2932d57c1e392b8e51e762b501172cb83d01a7bd Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Sat, 10 May 2025 19:50:04 +0700 Subject: [PATCH 02/14] Feature/improve language localization for ZH 20250510 (#4701) * Improve language localization for ZH 20250510 * Update changelog --- CHANGELOG.md | 1 + apps/api/src/assets/sitemap.xml | 2 - apps/client/src/app/app.component.html | 8 +- .../user-account-settings.html | 10 +- .../src/app/pages/features/features-page.html | 5 +- apps/client/src/locales/messages.zh.xlf | 406 +++++++++--------- 6 files changed, 213 insertions(+), 219 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 551a0d075..b11f41a7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Renamed `Order` to `activities` in the `User` database schema - Improved the language localization for Catalan (`ca`) +- Improved the language localization for Chinese (`zh`) - Improved the language localization for Italian (`it`) - Upgraded `nestjs` from version `10.4.15` to `11.0.12` diff --git a/apps/api/src/assets/sitemap.xml b/apps/api/src/assets/sitemap.xml index fc1e89dba..2343f6c01 100644 --- a/apps/api/src/assets/sitemap.xml +++ b/apps/api/src/assets/sitemap.xml @@ -590,11 +590,9 @@ ${currentDate}T00:00:00+00:00 --> - ${personalFinanceTools} diff --git a/apps/client/src/app/app.component.html b/apps/client/src/app/app.component.html index 6f39c824d..d5e56b517 100644 --- a/apps/client/src/app/app.component.html +++ b/apps/client/src/app/app.component.html @@ -171,6 +171,9 @@ Català --> +
  • + Chinese +
  • Deutsch
  • @@ -203,11 +206,6 @@ Українська --> - diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.html b/apps/client/src/app/components/user-account-settings/user-account-settings.html index 72d5aa678..e6ab544c8 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.html +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -86,12 +86,10 @@ >) } - @if (user?.settings?.isExperimentalFeatures) { - Chinese (Community) - } + Chinese (Community) Español (Community) Use Ghostfolio in multiple languages: English, - - Dutch, French, German, Italian, Polish, Portuguese, Spanish - and Turkish + Chinese, Dutch, French, German, Italian, Polish, Portuguese, + Spanish and Turkish are currently supported.

    diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index fbf873ce3..e98814915 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -889,7 +889,7 @@ Equity - 公平 + 股权 apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html 58 @@ -1189,7 +1189,7 @@ Do you really want to delete this account? - 您真的要删除该帐户吗? + 您确定要删除此账户吗? apps/client/src/app/components/accounts-table/accounts-table.component.ts 107 @@ -1197,7 +1197,7 @@ Asset Profile - 资产概况 + 资产概况 apps/client/src/app/components/admin-jobs/admin-jobs.html 35 @@ -1205,7 +1205,7 @@ Historical Market Data - 历史市场数据 + 历史市场数据 apps/client/src/app/components/admin-jobs/admin-jobs.html 37 @@ -1557,7 +1557,7 @@ First Activity - 第一个活动 + 首笔交易 apps/client/src/app/components/admin-market-data/admin-market-data.html 148 @@ -2165,7 +2165,7 @@ Portfolio - 文件夹 + 投资组合 apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts 117 @@ -2209,7 +2209,7 @@ Portfolio - 文件夹 + 投资组合 apps/client/src/app/components/header/header.component.html 41 @@ -2737,7 +2737,7 @@ Please set the amount of your emergency fund. - 请输入您的应急基金金额: + 请输入您的应急基金金额。 apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts 64 @@ -2745,7 +2745,7 @@ Change - 修改 + 涨跌 libs/ui/src/lib/holdings-table/holdings-table.component.html 119 @@ -3037,7 +3037,7 @@ Please enter your coupon code. - 请输入您的优惠券代码: + 请输入您的优惠券代码。 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 201 @@ -3869,7 +3869,7 @@ Pulls on Docker Hub - 拉动 Docker Hub + Docker Hub 拉取次数 apps/client/src/app/pages/landing/landing-page.html 106 @@ -4025,7 +4025,7 @@ saying no to spreadsheets in - 对电子表格说不 + 年对电子表格说不 apps/client/src/app/pages/landing/landing-page.html 311 @@ -4049,7 +4049,7 @@ What our users are saying - 我们的什么用户正在说 + 听听我们的用户怎么说 apps/client/src/app/pages/landing/landing-page.html 327 @@ -4065,7 +4065,7 @@ How does Ghostfolio work? - 如何幽灵作品集工作? + Ghostfolio 如何工作? apps/client/src/app/pages/landing/landing-page.html 383 @@ -4113,7 +4113,7 @@ Are you ready? - 准备好? + 准备好了吗? apps/client/src/app/pages/landing/landing-page.html 431 @@ -4213,7 +4213,7 @@ Do you really want to delete these activities? - 您真的要删除所有活动吗? + 您确定要删除这些活动吗? libs/ui/src/lib/activities-table/activities-table.component.ts 219 @@ -5005,7 +5005,7 @@ Hello, has shared a Portfolio with you! - 你好,分享了一个文件夹与你! + 你好,分享了一个投资组合给你! apps/client/src/app/pages/public/public-page.html 4 @@ -5121,7 +5121,7 @@ Open Source Alternative to - 开源替代方案 + 开源替代品 apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html 42 @@ -5329,7 +5329,7 @@ Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - 请注意,Ghostfolio 与 Ghostfolio 中提供的信息比较表基于我们的独立研究和分析。该网站不隶属于或比较中提到的任何其他产品。随着个人理财工具格局的不断发展,直接从相应的产品页面验证任何具体的细节或变化至关重要。数据需要刷新吗?帮助我们维护准确的数据GitHub + 请注意,在 Ghostfolio 与的比较表中提供的信息基于我们的独立研究和分析。该网站不隶属于或比较中提到的任何其他产品。随着个人理财工具格局的不断发展,直接从相应的产品页面验证任何具体的细节或变化至关重要。数据需要刷新吗?帮助我们在GitHub 上维护准确的数据。 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 311 @@ -5337,7 +5337,7 @@ Ready to take your investments to the next level? - 准备好带走你的投资下一级 + 准备好将您的投资提升到新的高度了吗? apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 324 @@ -5613,7 +5613,7 @@ Change from All Time High - 从历史最高点开始变化 + 较历史最高纪录涨跌 libs/ui/src/lib/benchmark/benchmark.component.html 96 @@ -6029,7 +6029,7 @@ Private Equity - 私人产权 + 私募股权 libs/ui/src/lib/i18n.ts 57 @@ -6037,7 +6037,7 @@ Stock - 库存 + 股票 libs/ui/src/lib/i18n.ts 58 @@ -6493,7 +6493,7 @@ Closed - 关闭 + 已关闭 apps/client/src/app/components/home-holdings/home-holdings.component.ts 37 @@ -6501,7 +6501,7 @@ Active - 积极的 + 活跃 apps/client/src/app/components/home-holdings/home-holdings.component.ts 36 @@ -6517,7 +6517,7 @@ Dividend Yield - Dividend Yield + 股息收益率 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 175 @@ -6525,7 +6525,7 @@ Execute Job - Execute Job + 执行任务 apps/client/src/app/components/admin-jobs/admin-jobs.html 176 @@ -6533,7 +6533,7 @@ Priority - Priority + 优先级 apps/client/src/app/components/admin-jobs/admin-jobs.html 64 @@ -6541,7 +6541,7 @@ This action is not allowed. - This action is not allowed. + 不允许执行此操作。 apps/client/src/app/core/http-response.interceptor.ts 64 @@ -6549,7 +6549,7 @@ Liquidity - Liquidity + 流动性 libs/ui/src/lib/i18n.ts 48 @@ -6557,7 +6557,7 @@ {VAR_PLURAL, plural, =1 {activity} other {activities}} - {VAR_PLURAL, plural, =1 {activity} other {activities}} + {VAR_PLURAL, plural, =1 {活动} other {活动}} apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 14 @@ -6565,7 +6565,7 @@ Buy and sell - Buy and sell + 买入和卖出 libs/ui/src/lib/i18n.ts 8 @@ -6573,7 +6573,7 @@ Delete Activities - Delete Activities + 删除活动 libs/ui/src/lib/activities-table/activities-table.component.html 67 @@ -6581,7 +6581,7 @@ Internationalization - Internationalization + 国际化 apps/client/src/app/app-routing.module.ts 88 @@ -6589,7 +6589,7 @@ Do you really want to close your Ghostfolio account? - Do you really want to close your Ghostfolio account? + 您确定要关闭您的 Ghostfolio 账户吗? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts 174 @@ -6597,7 +6597,7 @@ Danger Zone - Danger Zone + 危险区域 apps/client/src/app/components/user-account-settings/user-account-settings.html 274 @@ -6605,7 +6605,7 @@ Close Account - Close Account + 关闭账户 apps/client/src/app/components/user-account-settings/user-account-settings.html 309 @@ -6613,7 +6613,7 @@ By ETF Holding - By ETF Holding + 按 ETF 持仓 apps/client/src/app/pages/portfolio/allocations/allocations-page.html 333 @@ -6621,7 +6621,7 @@ Approximation based on the top holdings of each ETF - Approximation based on the top holdings of each ETF + 基于每个 ETF 的主要持仓的近似值 apps/client/src/app/pages/portfolio/allocations/allocations-page.html 340 @@ -6629,7 +6629,7 @@ Join now or check out the example account - Join now or check out the example account + 立即加入 或查看示例账户 apps/client/src/app/pages/landing/landing-page.html 434 @@ -6637,7 +6637,7 @@ Oops! There was an error setting up biometric authentication. - Oops! There was an error setting up biometric authentication. + 哎呀!设置生物识别认证时发生错误。 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts 302 @@ -6645,7 +6645,7 @@ Show more - Show more + 显示更多 libs/ui/src/lib/top-holdings/top-holdings.component.html 174 @@ -6653,7 +6653,7 @@ Benchmarks - Benchmarks + 基准 apps/client/src/app/components/admin-market-data/admin-market-data.component.ts 81 @@ -6661,7 +6661,7 @@ Delete Profiles - Delete Profiles + 删除配置文件 apps/client/src/app/components/admin-market-data/admin-market-data.html 243 @@ -6669,7 +6669,7 @@ Do you really want to delete these profiles? - Do you really want to delete these profiles? + 您确定要删除这些配置文件吗? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 68 @@ -6677,7 +6677,7 @@ Oops! Could not delete profiles. - Oops! Could not delete profiles. + 哎呀!无法删除配置文件。 apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 56 @@ -6685,7 +6685,7 @@ Table - Table + 表格 apps/client/src/app/components/home-holdings/home-holdings.html 16 @@ -6693,7 +6693,7 @@ Chart - Chart + 图表 apps/client/src/app/components/home-holdings/home-holdings.html 19 @@ -6701,7 +6701,7 @@ Would you like to refine your personal investment strategy? - Would you like to refine your personal investment strategy? + 您想 优化 您的 个人投资策略吗? apps/client/src/app/pages/public/public-page.html 211 @@ -6709,7 +6709,7 @@ Alternative - Alternative + 另类 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 81 @@ -6717,7 +6717,7 @@ App - App + 应用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 82 @@ -6725,7 +6725,7 @@ Budgeting - Budgeting + 预算管理 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 83 @@ -6733,7 +6733,7 @@ Community - Community + 社区 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 84 @@ -6741,7 +6741,7 @@ Family Office - Family Office + 家族办公室 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 85 @@ -6749,7 +6749,7 @@ Investor - Investor + 投资者 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 88 @@ -6757,7 +6757,7 @@ Open Source - Open Source + 开源 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 89 @@ -6765,7 +6765,7 @@ Personal Finance - Personal Finance + 个人理财 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 91 @@ -6773,7 +6773,7 @@ Privacy - Privacy + 隐私 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 92 @@ -6781,7 +6781,7 @@ Software - Software + 软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 94 @@ -6789,7 +6789,7 @@ Tool - Tool + 工具 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 95 @@ -6797,7 +6797,7 @@ User Experience - User Experience + 用户体验 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 96 @@ -6805,7 +6805,7 @@ Wealth - Wealth + 财富 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 97 @@ -6813,7 +6813,7 @@ Wealth Management - Wealth Management + 财富管理 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 98 @@ -6821,7 +6821,7 @@ Australia - Australia + 澳大利亚 libs/ui/src/lib/i18n.ts 74 @@ -6829,7 +6829,7 @@ Austria - Austria + 奥地利 libs/ui/src/lib/i18n.ts 75 @@ -6837,7 +6837,7 @@ Belgium - Belgium + 比利时 libs/ui/src/lib/i18n.ts 76 @@ -6845,7 +6845,7 @@ Bulgaria - Bulgaria + 保加利亚 libs/ui/src/lib/i18n.ts 78 @@ -6853,7 +6853,7 @@ Canada - Canada + 加拿大 libs/ui/src/lib/i18n.ts 79 @@ -6861,7 +6861,7 @@ Czech Republic - Czech Republic + 捷克共和国 libs/ui/src/lib/i18n.ts 80 @@ -6869,7 +6869,7 @@ Finland - Finland + 芬兰 libs/ui/src/lib/i18n.ts 81 @@ -6877,7 +6877,7 @@ France - France + 法国 libs/ui/src/lib/i18n.ts 82 @@ -6885,7 +6885,7 @@ Germany - Germany + 德国 libs/ui/src/lib/i18n.ts 83 @@ -6893,7 +6893,7 @@ India - India + 印度 libs/ui/src/lib/i18n.ts 84 @@ -6901,7 +6901,7 @@ Italy - Italy + 意大利 libs/ui/src/lib/i18n.ts 85 @@ -6909,7 +6909,7 @@ Netherlands - Netherlands + 荷兰 libs/ui/src/lib/i18n.ts 87 @@ -6917,7 +6917,7 @@ New Zealand - New Zealand + 新西兰 libs/ui/src/lib/i18n.ts 88 @@ -6925,7 +6925,7 @@ Poland - Poland + 波兰 libs/ui/src/lib/i18n.ts 89 @@ -6933,7 +6933,7 @@ Romania - Romania + 罗马尼亚 libs/ui/src/lib/i18n.ts 90 @@ -6941,7 +6941,7 @@ South Africa - South Africa + 南非 libs/ui/src/lib/i18n.ts 92 @@ -6949,7 +6949,7 @@ Thailand - Thailand + 泰国 libs/ui/src/lib/i18n.ts 94 @@ -6957,7 +6957,7 @@ United States - United States + 美国 libs/ui/src/lib/i18n.ts 97 @@ -6965,7 +6965,7 @@ Error - Error + 错误 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 527 @@ -6973,7 +6973,7 @@ Deactivate - Deactivate + 停用 apps/client/src/app/components/rule/rule.component.html 72 @@ -6981,7 +6981,7 @@ Activate - Activate + 激活 apps/client/src/app/components/rule/rule.component.html 74 @@ -6989,7 +6989,7 @@ Inactive - Inactive + 非活跃 apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 232 @@ -6997,7 +6997,7 @@ Cancel - Cancel + 取消 libs/ui/src/lib/i18n.ts 9 @@ -7005,7 +7005,7 @@ Close - Close + 关闭 libs/ui/src/lib/i18n.ts 11 @@ -7013,7 +7013,7 @@ Yes - Yes + libs/ui/src/lib/i18n.ts 32 @@ -7021,7 +7021,7 @@ Copy link to clipboard - Copy link to clipboard + 复制链接到剪贴板 apps/client/src/app/components/access-table/access-table.component.html 70 @@ -7029,7 +7029,7 @@ Portfolio Snapshot - Portfolio Snapshot + 投资组合快照 apps/client/src/app/components/admin-jobs/admin-jobs.html 39 @@ -7037,7 +7037,7 @@ Change with currency effect Change - Change with currency effect Change + 含货币影响的涨跌 涨跌 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 50 @@ -7045,7 +7045,7 @@ Performance with currency effect Performance - Performance with currency effect Performance + 含货币影响的表现 表现 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 69 @@ -7053,7 +7053,7 @@ Threshold Min - Threshold Min + 最小阈值 apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 54 @@ -7061,7 +7061,7 @@ Threshold Max - Threshold Max + 最大阈值 apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 92 @@ -7069,7 +7069,7 @@ Close - Close + 自定义 apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 129 @@ -7077,7 +7077,7 @@ Customize - Customize + 自定义 apps/client/src/app/components/rule/rule.component.html 67 @@ -7085,7 +7085,7 @@ No auto-renewal. - No auto-renewal. + 不自动续订。 apps/client/src/app/components/user-account-membership/user-account-membership.html 70 @@ -7093,7 +7093,7 @@ Today - Today + 今天 apps/client/src/app/pages/public/public-page.html 24 @@ -7101,7 +7101,7 @@ This year - This year + 今年 apps/client/src/app/pages/public/public-page.html 42 @@ -7109,7 +7109,7 @@ From the beginning - From the beginning + 从头开始 apps/client/src/app/pages/public/public-page.html 60 @@ -7117,7 +7117,7 @@ Oops! Invalid currency. - Oops! Invalid currency. + 哎呀!无效的货币。 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 49 @@ -7125,7 +7125,7 @@ This page has been archived. - This page has been archived. + 此页面已存档。 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 14 @@ -7133,7 +7133,7 @@ is Open Source Software - is Open Source Software + 是开源软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 139 @@ -7141,7 +7141,7 @@ is not Open Source Software - is not Open Source Software + 不是开源软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 146 @@ -7149,7 +7149,7 @@ is Open Source Software - is Open Source Software + 是开源软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 156 @@ -7157,7 +7157,7 @@ is not Open Source Software - is not Open Source Software + 不是开源软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 163 @@ -7165,7 +7165,7 @@ can be self-hosted - can be self-hosted + 可以自托管 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 178 @@ -7173,7 +7173,7 @@ cannot be self-hosted - cannot be self-hosted + 无法自托管 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 185 @@ -7181,7 +7181,7 @@ can be self-hosted - can be self-hosted + 可以自托管 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 195 @@ -7189,7 +7189,7 @@ cannot be self-hosted - cannot be self-hosted + 无法自托管 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 202 @@ -7197,7 +7197,7 @@ can be used anonymously - can be used anonymously + 可以匿名使用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 217 @@ -7205,7 +7205,7 @@ cannot be used anonymously - cannot be used anonymously + 无法匿名使用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 224 @@ -7213,7 +7213,7 @@ can be used anonymously - can be used anonymously + 可以匿名使用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 234 @@ -7221,7 +7221,7 @@ cannot be used anonymously - cannot be used anonymously + 无法匿名使用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 241 @@ -7229,7 +7229,7 @@ offers a free plan - offers a free plan + 提供免费计划 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 256 @@ -7237,7 +7237,7 @@ does not offer a free plan - does not offer a free plan + 不提供免费计划 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 263 @@ -7245,7 +7245,7 @@ offers a free plan - offers a free plan + 提供免费计划 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 273 @@ -7253,7 +7253,7 @@ does not offer a free plan - does not offer a free plan + 不提供免费计划 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 280 @@ -7261,7 +7261,7 @@ Oops! Could not find any assets. - Oops! Could not find any assets. + 哎呀!找不到任何资产。 libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html 40 @@ -7269,7 +7269,7 @@ Data Providers - Data Providers + 数据提供者 apps/client/src/app/components/admin-settings/admin-settings.component.html 4 @@ -7277,7 +7277,7 @@ Set API key - Set API key + 设置 API 密钥 apps/client/src/app/components/admin-settings/admin-settings.component.html 83 @@ -7285,7 +7285,7 @@ Get access to 80’000+ tickers from over 50 exchanges - Get access to 80’000+ tickers from over 50 exchanges + 获取来自 50 多个交易所的 80,000+ 股票代码访问权限 libs/ui/src/lib/i18n.ts 24 @@ -7293,7 +7293,7 @@ Ukraine - Ukraine + 乌克兰 libs/ui/src/lib/i18n.ts 95 @@ -7301,7 +7301,7 @@ Join now - Join now + 立即加入 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html 110 @@ -7309,7 +7309,7 @@ Glossary - Glossary + 词汇表 apps/client/src/app/pages/resources/glossary/resources-glossary-routing.module.ts 10 @@ -7321,7 +7321,7 @@ Guides - Guides + 指南 apps/client/src/app/pages/resources/guides/resources-guides-routing.module.ts 10 @@ -7333,7 +7333,7 @@ guides - guides + 指南 snake-case apps/client/src/app/pages/resources/overview/resources-overview.component.ts @@ -7346,7 +7346,7 @@ glossary - glossary + 词汇表 snake-case apps/client/src/app/pages/resources/overview/resources-overview.component.ts @@ -7359,7 +7359,7 @@ Threshold range - Threshold range + 阈值范围 apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 9 @@ -7367,7 +7367,7 @@ Ghostfolio X-ray uses static analysis to uncover potential issues and risks in your portfolio. Adjust the rules below and set custom thresholds to align with your personal investment strategy. - Ghostfolio X-ray uses static analysis to uncover potential issues and risks in your portfolio. Adjust the rules below and set custom thresholds to align with your personal investment strategy. + Ghostfolio X-ray 使用静态分析来发现您投资组合中的潜在问题和风险。调整以下规则并设置自定义阈值,使其与您的个人投资策略保持一致。 apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 5 @@ -7375,7 +7375,7 @@ Economic Market Cluster Risks - Economic Market Cluster Risks + 经济市场集群风险 apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 165 @@ -7383,7 +7383,7 @@ of - of + apps/client/src/app/components/admin-settings/admin-settings.component.html 52 @@ -7391,7 +7391,7 @@ daily requests - daily requests + 每日请求 apps/client/src/app/components/admin-settings/admin-settings.component.html 54 @@ -7399,7 +7399,7 @@ Remove API key - Remove API key + 移除 API 密钥 apps/client/src/app/components/admin-settings/admin-settings.component.html 71 @@ -7407,7 +7407,7 @@ Do you really want to delete the API key? - Do you really want to delete the API key? + 您确定要删除此 API 密钥吗? apps/client/src/app/components/admin-settings/admin-settings.component.ts 96 @@ -7415,7 +7415,7 @@ Please enter your Ghostfolio API key: - Please enter your Ghostfolio API key: + 请输入您的 Ghostfolio API 密钥: apps/client/src/app/pages/api/api-page.component.ts 41 @@ -7423,7 +7423,7 @@ I have an API key - I have an API key + 我有一个 API 密钥 apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html 39 @@ -7431,7 +7431,7 @@ API Requests Today - API Requests Today + 今日 API 请求数 apps/client/src/app/components/admin-users/admin-users.html 178 @@ -7439,7 +7439,7 @@ Could not generate an API key - Could not generate an API key + 无法生成 API 密钥 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 127 @@ -7447,7 +7447,7 @@ Set this API key in your self-hosted environment: - Set this API key in your self-hosted environment: + 在您的自托管环境中设置此 API 密钥: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 142 @@ -7455,7 +7455,7 @@ Ghostfolio Premium Data Provider API Key - Ghostfolio Premium Data Provider API Key + Ghostfolio Premium 数据提供者 API 密钥 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 145 @@ -7463,7 +7463,7 @@ Do you really want to generate a new API key? - Do you really want to generate a new API key? + 您确定要生成新的 API 密钥吗? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 150 @@ -7471,7 +7471,7 @@ Tag - Tag + 标签 libs/ui/src/lib/assistant/assistant.html 157 @@ -7479,7 +7479,7 @@ API Key - API Key + API 密钥 libs/ui/src/lib/membership-card/membership-card.component.html 18 @@ -7487,7 +7487,7 @@ Generate Ghostfolio Premium Data Provider API key for self-hosted environments... - Generate Ghostfolio Premium Data Provider API key for self-hosted environments... + 为自托管环境生成 Ghostfolio Premium 数据提供者 API 密钥... libs/ui/src/lib/membership-card/membership-card.component.html 26 @@ -7495,7 +7495,7 @@ out of - out of + / apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 56 @@ -7503,7 +7503,7 @@ rules align with your portfolio. - rules align with your portfolio. + 条规则与您的投资组合一致。 apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 58 @@ -7511,7 +7511,7 @@ Save - Save + 保存 apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts 62 @@ -7519,7 +7519,7 @@ Asset Class Cluster Risks - Asset Class Cluster Risks + 资产类别集群风险 apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 117 @@ -7527,7 +7527,7 @@ Me - Me + apps/client/src/app/components/user-account-access/user-account-access.component.ts 135 @@ -7535,7 +7535,7 @@ Received Access - Received Access + 已获得访问权限 apps/client/src/app/components/user-account-access/user-account-access.html 3 @@ -7543,7 +7543,7 @@ Please enter your Ghostfolio API key. - Please enter your Ghostfolio API key. + 请输入您的 Ghostfolio API 密钥。 apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts 57 @@ -7551,7 +7551,7 @@ AI prompt has been copied to the clipboard - AI prompt has been copied to the clipboard + AI 提示已复制到剪贴板 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 173 @@ -7559,7 +7559,7 @@ Link has been copied to the clipboard - Link has been copied to the clipboard + 链接已复制到剪贴板 apps/client/src/app/components/access-table/access-table.component.ts 65 @@ -7567,7 +7567,7 @@ Early Access - Early Access + 抢先体验 apps/client/src/app/components/admin-settings/admin-settings.component.html 29 @@ -7575,7 +7575,7 @@ Regional Market Cluster Risks - Regional Market Cluster Risks + 区域市场集群风险 apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 189 @@ -7583,7 +7583,7 @@ Lazy - Lazy + 延迟 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 138 @@ -7591,7 +7591,7 @@ Instant - Instant + 即时 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 142 @@ -7599,7 +7599,7 @@ Default Market Price - Default Market Price + 默认市场价格 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 386 @@ -7607,7 +7607,7 @@ Mode - Mode + 模式 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 423 @@ -7615,7 +7615,7 @@ Selector - Selector + 选择器 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 439 @@ -7623,7 +7623,7 @@ HTTP Request Headers - HTTP Request Headers + HTTP 请求标头 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 399 @@ -7631,7 +7631,7 @@ end of day - end of day + 收盘 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 138 @@ -7639,7 +7639,7 @@ real-time - real-time + 实时 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 142 @@ -7647,7 +7647,7 @@ Open Duck.ai - Open Duck.ai + 打开 Duck.ai apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 174 @@ -7655,7 +7655,7 @@ Create - Create + 创建 libs/ui/src/lib/tags-selector/tags-selector.component.html 50 @@ -7663,7 +7663,7 @@ Market Data - Market Data + 市场数据 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 374 @@ -7671,7 +7671,7 @@ Change - Change + 涨跌 libs/ui/src/lib/treemap-chart/treemap-chart.component.ts 365 @@ -7679,7 +7679,7 @@ Performance - Performance + 表现 libs/ui/src/lib/treemap-chart/treemap-chart.component.ts 365 @@ -7691,7 +7691,7 @@ Copy portfolio data to clipboard for AI prompt - Copy portfolio data to clipboard for AI prompt + 复制投资组合数据到剪贴板以供 AI 提示使用 apps/client/src/app/pages/portfolio/analysis/analysis-page.html 42 @@ -7699,7 +7699,7 @@ Copy AI prompt to clipboard for analysis - Copy AI prompt to clipboard for analysis + 复制 AI 提示到剪贴板进行分析 apps/client/src/app/pages/portfolio/analysis/analysis-page.html 67 @@ -7707,7 +7707,7 @@ Armenia - Armenia + 亚美尼亚 libs/ui/src/lib/i18n.ts 73 @@ -7715,7 +7715,7 @@ British Virgin Islands - British Virgin Islands + 英属维尔京群岛 libs/ui/src/lib/i18n.ts 77 @@ -7723,7 +7723,7 @@ Singapore - Singapore + 新加坡 libs/ui/src/lib/i18n.ts 91 @@ -7731,7 +7731,7 @@ Terms and Conditions - Terms and Conditions + 条款和条件 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 15 @@ -7739,7 +7739,7 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. - Please keep your security token safe. If you lose it, you will not be able to recover your account. + 请妥善保管您的安全令牌。如果您丢失它,将无法恢复您的账户。 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 18 @@ -7747,7 +7747,7 @@ I understand that if I lose my security token, I cannot recover my account - I understand that if I lose my security token, I cannot recover my account + 我理解如果我丢失了安全令牌,将无法恢复我的账户 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 28 @@ -7755,7 +7755,7 @@ Continue - Continue + 继续 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 57 @@ -7763,7 +7763,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. - Here is your security token. It is only visible once, please store and keep it in a safe place. + 这是您的安全令牌。它仅显示一次,请妥善保管。 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 67 @@ -7771,7 +7771,7 @@ Security token - Security token + 安全令牌 apps/client/src/app/components/admin-users/admin-users.component.ts 163 @@ -7779,7 +7779,7 @@ Do you really want to generate a new security token for this user? - Do you really want to generate a new security token for this user? + 您确定要为此用户生成新的安全令牌吗? apps/client/src/app/components/admin-users/admin-users.component.ts 168 @@ -7787,7 +7787,7 @@ Generate Security Token - Generate Security Token + 生成安全令牌 apps/client/src/app/components/admin-users/admin-users.html 249 @@ -7795,7 +7795,7 @@ United Kingdom - United Kingdom + 英国 libs/ui/src/lib/i18n.ts 96 @@ -7803,7 +7803,7 @@ Terms of Service - Terms of Service + 服务条款 apps/client/src/app/app.component.html 112 @@ -7811,7 +7811,7 @@ terms-of-service - terms-of-service + 服务条款 snake-case apps/client/src/app/app.component.ts @@ -7832,7 +7832,7 @@ Terms of Service - Terms of Service + 服务条款 apps/client/src/app/pages/about/about-page.component.ts 71 @@ -7844,7 +7844,7 @@ Terms of Service - Terms of Service + 服务条款 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html 4 @@ -7852,7 +7852,7 @@ and I agree to the Terms of Service. - and I agree to the Terms of Service. + 我同意 服务条款 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 34 @@ -7860,7 +7860,7 @@ () is already in use. - () is already in use. + () 已在使用中。 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 462 @@ -7868,7 +7868,7 @@ An error occurred while updating to (). - An error occurred while updating to (). + 在更新到 () 时发生错误。 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 470 @@ -7876,7 +7876,7 @@ Apply - Apply + 应用 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 138 @@ -7884,7 +7884,7 @@ with API access for - with API access for + 包含 API 访问权限,适用于 apps/client/src/app/pages/pricing/pricing-page.html 266 @@ -7892,7 +7892,7 @@ Gather Recent Historical Market Data - Gather Recent Historical Market Data + 收集近期历史市场数据 apps/client/src/app/components/admin-market-data/admin-market-data.html 226 @@ -7900,7 +7900,7 @@ Gather All Historical Market Data - Gather All Historical Market Data + 收集所有历史市场数据 apps/client/src/app/components/admin-market-data/admin-market-data.html 231 @@ -7908,7 +7908,7 @@ Gather Historical Market Data - Gather Historical Market Data + 收集历史市场数据 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 29 @@ -7916,7 +7916,7 @@ Data Gathering is off - Data Gathering is off + 数据收集已关闭 apps/client/src/app/components/admin-market-data/admin-market-data.html 38 @@ -7924,7 +7924,7 @@ Performance Calculation - Performance Calculation + 绩效计算 apps/client/src/app/components/user-account-settings/user-account-settings.html 31 @@ -7932,7 +7932,7 @@ someone - someone + 某人 apps/client/src/app/pages/public/public-page.component.ts 33 @@ -7940,7 +7940,7 @@ Add asset to watchlist - Add asset to watchlist + 添加资产到关注列表 apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html 7 @@ -7948,7 +7948,7 @@ Watchlist - Watchlist + 关注列表 apps/client/src/app/components/home-watchlist/home-watchlist.html 4 @@ -7960,7 +7960,7 @@ Watchlist - Watchlist + 关注列表 apps/client/src/app/pages/home/home-page-routing.module.ts 44 @@ -7972,7 +7972,7 @@ Get Early Access - Get Early Access + 获取抢先体验 apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html 29 @@ -7980,7 +7980,7 @@ Do you really want to delete this item? - Do you really want to delete this item? + 您确定要删除此项目吗? libs/ui/src/lib/benchmark/benchmark.component.ts 122 From 7bf87352c9eacd6228818f14d67969fd66b12167 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 10 May 2025 14:53:46 +0200 Subject: [PATCH 03/14] Feature/update locales (#4703) Co-authored-by: github-actions[bot] --- apps/client/src/locales/messages.ca.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.de.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.es.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.fr.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.it.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.nl.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.pl.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.pt.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.tr.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.uk.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.xlf | 64 ++++++++++++------------- apps/client/src/locales/messages.zh.xlf | 64 ++++++++++++------------- 12 files changed, 384 insertions(+), 384 deletions(-) diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf index 3f35305f8..8fac18b44 100644 --- a/apps/client/src/locales/messages.ca.xlf +++ b/apps/client/src/locales/messages.ca.xlf @@ -318,43 +318,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -362,7 +362,7 @@ El risc d’assumir pèrdues en les inversions és substancial. No és recomanable invertir diners que pugui necessitar a curt termini. apps/client/src/app/app.component.html - 223 + 221 @@ -2807,7 +2807,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -3287,7 +3287,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -3403,7 +3403,7 @@ Vista del presentador apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -3411,7 +3411,7 @@ Protecció per a informació sensible com ara rendiments absoluts i valors de quantitat apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3447,7 +3447,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -3455,7 +3455,7 @@ Format de data i número apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -3463,7 +3463,7 @@ Aparença apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -3471,7 +3471,7 @@ Automàtic apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -3479,7 +3479,7 @@ Llum apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -3487,7 +3487,7 @@ Fosc apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3495,7 +3495,7 @@ Mode Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -3507,7 +3507,7 @@ Experiència sense distraccions per a temps turbulents apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3515,7 +3515,7 @@ Autenticació biomètrica apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -3523,7 +3523,7 @@ Inicieu la sessió amb l’empremta digital apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -3531,7 +3531,7 @@ Característiques experimentals apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -3539,7 +3539,7 @@ Doneu un cop d’ull a les properes funcionalitats apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -3547,7 +3547,7 @@ Exporta dades apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -3555,7 +3555,7 @@ Zona de perill apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -3563,7 +3563,7 @@ Tanca el compte apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 @@ -4075,7 +4075,7 @@ Programari de codi obert apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4083,7 +4083,7 @@ Comença apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index e45939fd2..ba5b3cd9d 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -26,7 +26,7 @@ Das Ausfallrisiko beim Börsenhandel kann erheblich sein. Es ist nicht ratsam, Geld zu investieren, welches du kurzfristig benötigst. apps/client/src/app/app.component.html - 223 + 221 @@ -1002,7 +1002,7 @@ Registrieren apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -1066,7 +1066,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -1726,7 +1726,7 @@ Präsentationsansicht apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -1746,7 +1746,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -1754,7 +1754,7 @@ Datums- und Zahlenformat apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -1762,7 +1762,7 @@ Zen Modus apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -1774,7 +1774,7 @@ Einloggen mit Fingerabdruck apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -1786,7 +1786,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -2862,7 +2862,7 @@ Experimentelle Funktionen apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -2910,7 +2910,7 @@ Aussehen apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -2918,7 +2918,7 @@ Automatisch apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -2926,7 +2926,7 @@ Hell apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -2934,7 +2934,7 @@ Dunkel apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3202,43 +3202,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -3462,7 +3462,7 @@ Ausblenden von sensiblen Informationen wie absoluter Performance und Stückzahl apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3470,7 +3470,7 @@ Unbeschwertes Erlebnis für turbulente Zeiten apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3478,7 +3478,7 @@ Vorschau auf kommende Funktionalität apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -4310,7 +4310,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4718,7 +4718,7 @@ Biometrische Authentifizierung apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -4802,7 +4802,7 @@ Daten exportieren apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -6623,7 +6623,7 @@ Gefahrenzone apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6631,7 +6631,7 @@ Konto schliessen apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index b2847bd29..f49aa6873 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -27,7 +27,7 @@ El riesgo de pérdida en trading puede ser sustancial. No es aconsejable invertir dinero que puedas necesitar a corto plazo. apps/client/src/app/app.component.html - 223 + 221 @@ -987,7 +987,7 @@ Empezar apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -1051,7 +1051,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -1711,7 +1711,7 @@ Vista del presentador apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -1731,7 +1731,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -1739,7 +1739,7 @@ Formato de fecha y número apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -1747,7 +1747,7 @@ Modo Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -1759,7 +1759,7 @@ Iniciar sesión con huella digital apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -1771,7 +1771,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -2847,7 +2847,7 @@ Funcionalidades experimentales apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -2895,7 +2895,7 @@ Apariencia apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -2903,7 +2903,7 @@ Automático apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -2911,7 +2911,7 @@ Claro apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -2919,7 +2919,7 @@ Oscuro apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3187,43 +3187,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -3447,7 +3447,7 @@ Protección de información confidencial como rendimientos absolutos y valores cuantitativos apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3455,7 +3455,7 @@ Experiencia sin distracciones para tiempos turbulentos apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3463,7 +3463,7 @@ Un adelanto de las próximas funciones apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -4287,7 +4287,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4695,7 +4695,7 @@ Biometric Authentication apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -4779,7 +4779,7 @@ Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -6600,7 +6600,7 @@ Zona peligrosa apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6608,7 +6608,7 @@ Eliminar cuenta apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 98f345db7..45323c7c1 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -6,7 +6,7 @@ Le risque de perte en investissant peut être important. Il est déconseillé d’investir de l’argent dont vous pourriez avoir besoin à court terme. apps/client/src/app/app.component.html - 223 + 221 @@ -1402,7 +1402,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -1966,7 +1966,7 @@ Vue de Présentation apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -1998,43 +1998,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -2046,7 +2046,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -2054,7 +2054,7 @@ Format de date et d’heure apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -2062,7 +2062,7 @@ Apparence apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -2070,7 +2070,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -2078,7 +2078,7 @@ Clair apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -2086,7 +2086,7 @@ Sombre apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -2094,7 +2094,7 @@ Mode Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -2106,7 +2106,7 @@ Se connecter avec empreinte apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -2114,7 +2114,7 @@ Fonctionnalités expérimentales apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -2126,7 +2126,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -2866,7 +2866,7 @@ Démarrer apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -3446,7 +3446,7 @@ Protection pour les informations sensibles telles que la performance absolue et les montants apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3454,7 +3454,7 @@ Expérience sans distraction pour les périodes tumultueuses apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3462,7 +3462,7 @@ Avant-première de fonctionnalités futures apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -4286,7 +4286,7 @@ Logiciel Open Source apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4694,7 +4694,7 @@ Authentication biométrique apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -4778,7 +4778,7 @@ Exporter les Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -6599,7 +6599,7 @@ Zone de danger apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6607,7 +6607,7 @@ Supprimer le compte apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index b0cd54ea0..00440b52c 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -27,7 +27,7 @@ Il rischio di perdita nel trading può essere notevole. Non è consigliabile investire denaro di cui potresti avere bisogno a breve termine. apps/client/src/app/app.component.html - 223 + 221 @@ -987,7 +987,7 @@ Inizia apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -1051,7 +1051,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -1711,7 +1711,7 @@ Vista presentatore apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -1731,7 +1731,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -1739,7 +1739,7 @@ Formato data e numero apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -1747,7 +1747,7 @@ Modalità Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -1759,7 +1759,7 @@ Accesso con impronta digitale apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -1771,7 +1771,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -2847,7 +2847,7 @@ Funzionalità sperimentali apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -2895,7 +2895,7 @@ Aspetto apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -2903,7 +2903,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -2911,7 +2911,7 @@ Chiaro apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -2919,7 +2919,7 @@ Scuro apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3187,43 +3187,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -3447,7 +3447,7 @@ Protezione delle informazioni sensibili come le prestazioni assolute e i valori quantitativi apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3455,7 +3455,7 @@ Esperienza priva di distrazioni per i periodi più turbolenti apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3463,7 +3463,7 @@ Un’anteprima delle funzionalità in arrivo apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -4287,7 +4287,7 @@ Software open source apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4695,7 +4695,7 @@ Autenticazione biometrica apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -4779,7 +4779,7 @@ Esporta dati apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -6600,7 +6600,7 @@ Zona di Pericolo apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6608,7 +6608,7 @@ Chiudi l’account apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 267add80e..8038048ff 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -26,7 +26,7 @@ Het risico op verlies bij handelen kan aanzienlijk zijn. Het is niet aan te raden om geld te investeren dat je misschien op korte termijn nodig heeft. apps/client/src/app/app.component.html - 223 + 221 @@ -986,7 +986,7 @@ Aan de slag apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -1050,7 +1050,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -1710,7 +1710,7 @@ Presentatie weergave apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -1730,7 +1730,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -1738,7 +1738,7 @@ Datum- en getalnotatie apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -1746,7 +1746,7 @@ Zen-modus apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -1758,7 +1758,7 @@ Aanmelden met vingerafdruk apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -1770,7 +1770,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -2846,7 +2846,7 @@ Experimentele functies apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -2894,7 +2894,7 @@ Weergave apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -2902,7 +2902,7 @@ Automatisch apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -2910,7 +2910,7 @@ Licht apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -2918,7 +2918,7 @@ Donker apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3186,43 +3186,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -3446,7 +3446,7 @@ Bescherming voor gevoelige informatie zoals absoluut rendement en hoeveelheden apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3454,7 +3454,7 @@ Afleidingsvrije ervaring voor roerige tijden apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3462,7 +3462,7 @@ Voorproefje van nieuwe functionaliteit apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -4286,7 +4286,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4694,7 +4694,7 @@ Biometrische authenticatie apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -4778,7 +4778,7 @@ Exporteer Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -6599,7 +6599,7 @@ Danger Zone apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6607,7 +6607,7 @@ Close Account apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index 57e678fef..2052f9ee8 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -759,43 +759,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -803,7 +803,7 @@ Ryzyko strat na rynku może być znaczne. Nie jest zalecane inwestowanie pieniędzy, które mogą być potrzebne w krótkim okresie. apps/client/src/app/app.component.html - 223 + 221 @@ -2463,7 +2463,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -3115,7 +3115,7 @@ Widok Prezentera apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -3123,7 +3123,7 @@ Ochrona dla wrażliwych informacji takich jak wyniki i wartości ilościowe apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3151,7 +3151,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -3159,7 +3159,7 @@ Format daty i liczb apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -3167,7 +3167,7 @@ Wygląd (tryb) apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -3175,7 +3175,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -3183,7 +3183,7 @@ Jasny apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -3191,7 +3191,7 @@ Ciemny apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3199,7 +3199,7 @@ Tryb Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -3211,7 +3211,7 @@ Doświadczenie bez zakłóceń w niespokojnych czasach apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3219,7 +3219,7 @@ Uwierzytelnianie Biometryczne apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -3227,7 +3227,7 @@ Logowanie za pomocą linii papilarnych apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -3235,7 +3235,7 @@ Funkcje Eksperymentalne apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -3243,7 +3243,7 @@ Podgląd nadchodzących funkcjonalności apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -3255,7 +3255,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -3263,7 +3263,7 @@ Eksportuj Dane apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -3703,7 +3703,7 @@ Oprogramowanie Open Source apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -3711,7 +3711,7 @@ Rozpocznij apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -6599,7 +6599,7 @@ Strefa Zagrożenia apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6607,7 +6607,7 @@ Zamknij Konto apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 9f8b82e04..b42e592f8 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -6,7 +6,7 @@ O risco de perda em investimentos pode ser substancial. Não é aconselhável investir dinheiro que possa vir a precisar a curto prazo. apps/client/src/app/app.component.html - 223 + 221 @@ -1282,7 +1282,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -1950,7 +1950,7 @@ Vista do Apresentador apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -1990,7 +1990,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -1998,7 +1998,7 @@ Formato de números e datas apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -2006,7 +2006,7 @@ Modo Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -2018,7 +2018,7 @@ Aparência apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -2026,7 +2026,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -2034,7 +2034,7 @@ Claro apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -2042,7 +2042,7 @@ Escuro apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -2050,7 +2050,7 @@ Iniciar sessão com impressão digital apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -2058,7 +2058,7 @@ Funcionalidades Experimentais apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -2070,7 +2070,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -2762,7 +2762,7 @@ Começar apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -3230,43 +3230,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -3446,7 +3446,7 @@ Proteção para informações sensíveis, como desempenhos absolutos e valores quantitativos apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3454,7 +3454,7 @@ Experiência sem distrações para tempos turbulentos apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3462,7 +3462,7 @@ Acesso antecipado a funcionalidades futuras apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -4286,7 +4286,7 @@ Software de código aberto apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4694,7 +4694,7 @@ Autenticação biométrica apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -4778,7 +4778,7 @@ Exportar dados apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -6599,7 +6599,7 @@ Danger Zone apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6607,7 +6607,7 @@ Close Account apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index 1b77f6748..d4d2a5dda 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -731,43 +731,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -775,7 +775,7 @@ Alım satımda kayıp riski büyük boyutta olabilir. Kısa vadede ihtiyaç duyabileceğiniz parayla yatırım yapmak tavsiye edilmez. apps/client/src/app/app.component.html - 223 + 221 @@ -2311,7 +2311,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -3223,7 +3223,7 @@ Zen Modu apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -3259,7 +3259,7 @@ Açık Kaynak Yazılım apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -3267,7 +3267,7 @@ Başla apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -4991,7 +4991,7 @@ Sunum Görünümü apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -4999,7 +4999,7 @@ Gerçek performans ve miktar değerleri gibi hassas bilgilerin saklanması için apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -5027,7 +5027,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -5035,7 +5035,7 @@ Tarih ve Sayı Formatları apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -5043,7 +5043,7 @@ Görünüm apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -5051,7 +5051,7 @@ Otomatik apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -5059,7 +5059,7 @@ Açık apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -5067,7 +5067,7 @@ Koyu apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -5075,7 +5075,7 @@ Çalkantılı zamanlar için dikkat dağıtmayan bir deneyim apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -5083,7 +5083,7 @@ Biyometrik Kimlik Doğrulama apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -5091,7 +5091,7 @@ Parmak iziyle oturum aç apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -5099,7 +5099,7 @@ Deneysel Özellikler apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -5107,7 +5107,7 @@ Gelecek özelliklere göz atın apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -5119,7 +5119,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -5127,7 +5127,7 @@ Verileri Dışa Aktar apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -6599,7 +6599,7 @@ Tehlikeli Alan apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6607,7 +6607,7 @@ Hesabı Kapat apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf index 72ffe96fc..03af83d36 100644 --- a/apps/client/src/locales/messages.uk.xlf +++ b/apps/client/src/locales/messages.uk.xlf @@ -318,43 +318,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -362,7 +362,7 @@ Ризик втрат у торгівлі може бути суттєвим. Не рекомендується інвестувати гроші, які можуть знадобитися в короткостроковій перспективі. apps/client/src/app/app.component.html - 223 + 221 @@ -2919,7 +2919,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -3439,7 +3439,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -3627,7 +3627,7 @@ Режим доповідача apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -3635,7 +3635,7 @@ Захист конфіденційної інформації, такої як абсолютні показники та кількісні значення apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3671,7 +3671,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -3679,7 +3679,7 @@ Формат дати та чисел apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -3687,7 +3687,7 @@ Зовнішній вигляд apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -3695,7 +3695,7 @@ Автоматичний apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -3703,7 +3703,7 @@ Світлий apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -3711,7 +3711,7 @@ Темний apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3719,7 +3719,7 @@ Режим дзен apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -3731,7 +3731,7 @@ Досвід без відволікань для неспокійних часів apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3739,7 +3739,7 @@ Біометрична аутентифікація apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -3747,7 +3747,7 @@ Увійти з відбитком пальця apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -3755,7 +3755,7 @@ Експериментальні функції apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -3763,7 +3763,7 @@ Попередній перегляд майбутніх функцій apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -3771,7 +3771,7 @@ Експортувати дані apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -3779,7 +3779,7 @@ Зона небезпеки apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -3787,7 +3787,7 @@ Закрити обліковий запис apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 @@ -4291,7 +4291,7 @@ Програмне забезпечення з відкритим кодом apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -4299,7 +4299,7 @@ Почати apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 4ea9995b2..4c481d0cc 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -737,50 +737,50 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 The risk of loss in trading can be substantial. It is not advisable to invest money you may need in the short term. apps/client/src/app/app.component.html - 223 + 221 @@ -2334,7 +2334,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -2925,14 +2925,14 @@ Presenter View apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 Protection for sensitive information like absolute performances and quantity values apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -2957,49 +2957,49 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 Date and number format apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 Appearance apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 Light apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 Dark apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 Zen Mode apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -3010,35 +3010,35 @@ Distraction-free experience for turbulent times apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 Biometric Authentication apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 Sign in with fingerprint apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 Experimental Features apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 Sneak peek at upcoming functionality apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -3049,14 +3049,14 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -3452,14 +3452,14 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 296 + 295 Get Started apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -6017,7 +6017,7 @@ Close Account apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 @@ -6031,7 +6031,7 @@ Danger Zone apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index e98814915..06d906dc7 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -760,43 +760,43 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 91 + 90 apps/client/src/app/components/user-account-settings/user-account-settings.html - 96 + 94 apps/client/src/app/components/user-account-settings/user-account-settings.html - 100 + 98 apps/client/src/app/components/user-account-settings/user-account-settings.html - 104 + 102 apps/client/src/app/components/user-account-settings/user-account-settings.html - 108 + 106 apps/client/src/app/components/user-account-settings/user-account-settings.html - 112 + 110 apps/client/src/app/components/user-account-settings/user-account-settings.html - 116 + 114 apps/client/src/app/components/user-account-settings/user-account-settings.html - 120 + 118 apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 123 apps/client/src/app/pages/features/features-page.html - 277 + 276 @@ -804,7 +804,7 @@ 交易损失的风险可能很大。不建议将短期内可能需要的资金进行投资。 apps/client/src/app/app.component.html - 223 + 221 @@ -2472,7 +2472,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 281 + 279 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -3124,7 +3124,7 @@ 演示者视图 apps/client/src/app/components/user-account-settings/user-account-settings.html - 185 + 183 @@ -3132,7 +3132,7 @@ 保护绝对性能和数量值等敏感信息 apps/client/src/app/components/user-account-settings/user-account-settings.html - 186 + 184 @@ -3160,7 +3160,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 135 + 133 @@ -3168,7 +3168,7 @@ 日期和数字格式 apps/client/src/app/components/user-account-settings/user-account-settings.html - 137 + 135 @@ -3176,7 +3176,7 @@ 外貌 apps/client/src/app/components/user-account-settings/user-account-settings.html - 160 + 158 @@ -3184,7 +3184,7 @@ 自动 apps/client/src/app/components/user-account-settings/user-account-settings.html - 174 + 172 @@ -3192,7 +3192,7 @@ 明亮 apps/client/src/app/components/user-account-settings/user-account-settings.html - 175 + 173 @@ -3200,7 +3200,7 @@ 黑暗 apps/client/src/app/components/user-account-settings/user-account-settings.html - 176 + 174 @@ -3208,7 +3208,7 @@ 极简模式 apps/client/src/app/components/user-account-settings/user-account-settings.html - 203 + 201 apps/client/src/app/pages/features/features-page.html @@ -3220,7 +3220,7 @@ 动荡时期的无干扰体验 apps/client/src/app/components/user-account-settings/user-account-settings.html - 204 + 202 @@ -3228,7 +3228,7 @@ 生物识别认证 apps/client/src/app/components/user-account-settings/user-account-settings.html - 220 + 218 @@ -3236,7 +3236,7 @@ 使用指纹登录 apps/client/src/app/components/user-account-settings/user-account-settings.html - 221 + 219 @@ -3244,7 +3244,7 @@ 实验性功能 apps/client/src/app/components/user-account-settings/user-account-settings.html - 237 + 235 @@ -3252,7 +3252,7 @@ 预览即将推出的功能 apps/client/src/app/components/user-account-settings/user-account-settings.html - 238 + 236 @@ -3264,7 +3264,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 254 + 252 @@ -3272,7 +3272,7 @@ 导出数据 apps/client/src/app/components/user-account-settings/user-account-settings.html - 262 + 260 @@ -3712,7 +3712,7 @@ 开源软件 apps/client/src/app/pages/features/features-page.html - 296 + 295 @@ -3720,7 +3720,7 @@ 立即开始 apps/client/src/app/pages/features/features-page.html - 321 + 320 apps/client/src/app/pages/public/public-page.html @@ -6600,7 +6600,7 @@ 危险区域 apps/client/src/app/components/user-account-settings/user-account-settings.html - 274 + 272 @@ -6608,7 +6608,7 @@ 关闭账户 apps/client/src/app/components/user-account-settings/user-account-settings.html - 309 + 307 From 4adc9dc9b158d8582e0d3a6cb543d0d5cf21ffdb Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Sat, 10 May 2025 23:07:32 +0700 Subject: [PATCH 04/14] Feature/upgrade to node-yahoo-finance2 version 3 (#4695) * Upgrade node-yahoo-finance2 from version 2.11.3 to 3.3.1 * Update changelog --- CHANGELOG.md | 1 + .../yahoo-finance/yahoo-finance.service.ts | 21 +- .../yahoo-finance/yahoo-finance.service.ts | 33 ++- package-lock.json | 252 ++++++++++++++---- package.json | 2 +- 5 files changed, 231 insertions(+), 78 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b11f41a7d..6e64f546d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the language localization for Chinese (`zh`) - Improved the language localization for Italian (`it`) - Upgraded `nestjs` from version `10.4.15` to `11.0.12` +- Upgraded `yahoo-finance2` from version `2.11.3` to `3.3.1` ### Fixed diff --git a/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts index 64bbeebb5..94a466742 100644 --- a/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts @@ -18,11 +18,13 @@ import { } from '@prisma/client'; import { isISIN } from 'class-validator'; import { countries } from 'countries-list'; -import yahooFinance from 'yahoo-finance2'; -import type { Price } from 'yahoo-finance2/dist/esm/src/modules/quoteSummary-iface'; +import YahooFinance from 'yahoo-finance2'; +import type { Price } from 'yahoo-finance2/esm/src/modules/quoteSummary-iface'; @Injectable() export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { + private readonly yahooFinance = new YahooFinance(); + public constructor( private readonly cryptocurrencyService: CryptocurrencyService ) {} @@ -99,8 +101,8 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { if (response.dataSource === 'YAHOO') { yahooSymbol = symbol; } else { - const { quotes } = await yahooFinance.search(response.isin); - yahooSymbol = quotes[0].symbol; + const { quotes } = await this.yahooFinance.search(response.isin); + yahooSymbol = quotes[0].symbol as string; } const { countries, sectors, url } = @@ -165,10 +167,10 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { if (isISIN(symbol)) { try { - const { quotes } = await yahooFinance.search(symbol); + const { quotes } = await this.yahooFinance.search(symbol); if (quotes?.[0]?.symbol) { - symbol = quotes[0].symbol; + symbol = quotes[0].symbol as string; } } catch {} } else if (symbol?.endsWith(`-${DEFAULT_CURRENCY}`)) { @@ -177,7 +179,7 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { symbol = this.convertToYahooFinanceSymbol(symbol); } - const assetProfile = await yahooFinance.quoteSummary(symbol, { + const assetProfile = await this.yahooFinance.quoteSummary(symbol, { modules: ['price', 'summaryProfile', 'topHoldings'] }); @@ -206,7 +208,10 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { for (const sectorWeighting of assetProfile.topHoldings ?.sectorWeightings ?? []) { for (const [sector, weight] of Object.entries(sectorWeighting)) { - response.sectors.push({ weight, name: this.parseSector(sector) }); + response.sectors.push({ + name: this.parseSector(sector), + weight: weight as number + }); } } } else if ( diff --git a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts index b9be5553e..d5a132b41 100644 --- a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts @@ -24,16 +24,19 @@ import { import { Injectable, Logger } from '@nestjs/common'; import { DataSource, SymbolProfile } from '@prisma/client'; import { addDays, format, isSameDay } from 'date-fns'; -import yahooFinance from 'yahoo-finance2'; -import { ChartResultArray } from 'yahoo-finance2/dist/esm/src/modules/chart'; +import YahooFinance from 'yahoo-finance2'; +import { ChartResultArray } from 'yahoo-finance2/esm/src/modules/chart'; import { HistoricalDividendsResult, HistoricalHistoryResult -} from 'yahoo-finance2/dist/esm/src/modules/historical'; -import { Quote } from 'yahoo-finance2/dist/esm/src/modules/quote'; +} from 'yahoo-finance2/esm/src/modules/historical'; +import { Quote } from 'yahoo-finance2/esm/src/modules/quote'; +import { SearchQuoteNonYahoo } from 'yahoo-finance2/script/src/modules/search'; @Injectable() export class YahooFinanceService implements DataProviderInterface { + private readonly yahooFinance = new YahooFinance(); + public constructor( private readonly cryptocurrencyService: CryptocurrencyService, private readonly yahooFinanceDataEnhancerService: YahooFinanceDataEnhancerService @@ -70,7 +73,7 @@ export class YahooFinanceService implements DataProviderInterface { try { const historicalResult = this.convertToDividendResult( - await yahooFinance.chart( + await this.yahooFinance.chart( this.yahooFinanceDataEnhancerService.convertToYahooFinanceSymbol( symbol ), @@ -119,7 +122,7 @@ export class YahooFinanceService implements DataProviderInterface { try { const historicalResult = this.convertToHistoricalResult( - await yahooFinance.chart( + await this.yahooFinance.chart( this.yahooFinanceDataEnhancerService.convertToYahooFinanceSymbol( symbol ), @@ -188,7 +191,7 @@ export class YahooFinanceService implements DataProviderInterface { >[] = []; try { - quotes = await yahooFinance.quote(yahooFinanceSymbols); + quotes = await this.yahooFinance.quote(yahooFinanceSymbols); } catch (error) { Logger.error(error, 'YahooFinanceService'); @@ -244,13 +247,15 @@ export class YahooFinanceService implements DataProviderInterface { quoteTypes.push('INDEX'); } - const searchResult = await yahooFinance.search(query); + const searchResult = await this.yahooFinance.search(query); const quotes = searchResult.quotes - .filter((quote) => { - // Filter out undefined symbols - return quote.symbol; - }) + .filter( + (quote): quote is Exclude => { + // Filter out undefined symbols + return !!quote.symbol; + } + ) .filter(({ quoteType, symbol }) => { return ( (quoteType === 'CRYPTOCURRENCY' && @@ -276,7 +281,7 @@ export class YahooFinanceService implements DataProviderInterface { return true; }); - const marketData = await yahooFinance.quote( + const marketData = await this.yahooFinance.quote( quotes.map(({ symbol }) => { return symbol; }) @@ -336,7 +341,7 @@ export class YahooFinanceService implements DataProviderInterface { private async getQuotesWithQuoteSummary(aYahooFinanceSymbols: string[]) { const quoteSummaryPromises = aYahooFinanceSymbols.map((symbol) => { - return yahooFinance.quoteSummary(symbol).catch(() => { + return this.yahooFinance.quoteSummary(symbol).catch(() => { Logger.error( `Could not get quote summary for ${symbol}`, 'YahooFinanceService' diff --git a/package-lock.json b/package-lock.json index a0a96dfd6..52924f839 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,7 +89,7 @@ "svgmap": "2.12.2", "twitter-api-v2": "1.14.2", "uuid": "11.1.0", - "yahoo-finance2": "2.11.3", + "yahoo-finance2": "3.3.1", "zone.js": "0.15.0" }, "devDependencies": { @@ -3117,6 +3117,46 @@ "resolved": "https://registry.npmjs.org/@date-fns/utc/-/utc-2.1.0.tgz", "integrity": "sha512-176grgAgU2U303rD2/vcOmNg0kGPbhzckuH1TEP2al7n0AQipZIy9P15usd2TKQCG1g+E1jX/ZVQSzs4sUDwgA==" }, + "node_modules/@deno/shim-deno": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/@deno/shim-deno/-/shim-deno-0.18.2.tgz", + "integrity": "sha512-oQ0CVmOio63wlhwQF75zA4ioolPvOwAoK0yuzcS5bDC1JUvH3y1GS8xPh8EOpcoDQRU4FTG8OQfxhpR+c6DrzA==", + "license": "MIT", + "dependencies": { + "@deno/shim-deno-test": "^0.5.0", + "which": "^4.0.0" + } + }, + "node_modules/@deno/shim-deno-test": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@deno/shim-deno-test/-/shim-deno-test-0.5.0.tgz", + "integrity": "sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w==", + "license": "MIT" + }, + "node_modules/@deno/shim-deno/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deno/shim-deno/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, "node_modules/@dfinity/agent": { "version": "0.15.7", "resolved": "https://registry.npmjs.org/@dfinity/agent/-/agent-0.15.7.tgz", @@ -13144,6 +13184,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "devOptional": true, "license": "MIT" }, "node_modules/@types/trusted-types": { @@ -20201,6 +20242,16 @@ } } }, + "node_modules/fetch-mock-cache": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fetch-mock-cache/-/fetch-mock-cache-2.1.3.tgz", + "integrity": "sha512-fiQO09fEhN6ZY7GMb71cs9P09B3lBgGQ9CygydJHKQWZQv95bzsyl6dJERHuy34tQyG0gsHZK1pR/6Pkj2b9Qw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "filenamify-url": "2.1.2" + } + }, "node_modules/fflate": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", @@ -20295,6 +20346,48 @@ "node": ">=10" } }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filenamify-url": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-2.1.2.tgz", + "integrity": "sha512-3rMbAr7vDNMOGsj1aMniQFl749QjgM+lMJ/77ZRSPTIgxvolZwoQbn8dXLs7xfd+hAdli+oTnSWZNkJJLWQFEQ==", + "license": "MIT", + "dependencies": { + "filenamify": "^4.3.0", + "humanize-url": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -21978,6 +22071,18 @@ "node": ">=8.12.0" } }, + "node_modules/humanize-url": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-2.1.1.tgz", + "integrity": "sha512-V4nxsPGNE7mPjr1qDp471YfW8nhBiTRWrG/4usZlpvFU8I7gsV7Jvrrzv/snbLm5dWO3dr1ennu2YqnhTWFmYA==", + "license": "MIT", + "dependencies": { + "normalize-url": "^4.5.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/husky": { "version": "9.1.7", "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", @@ -27355,6 +27460,15 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/npm-bundled": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", @@ -29682,6 +29796,7 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "devOptional": true, "license": "MIT", "dependencies": { "punycode": "^2.3.1" @@ -29705,6 +29820,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -29781,6 +29897,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "devOptional": true, "license": "MIT" }, "node_modules/queue-microtask": { @@ -32567,6 +32684,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/stripe": { "version": "17.3.0", "resolved": "https://registry.npmjs.org/stripe/-/stripe-17.3.0.tgz", @@ -33170,6 +33308,24 @@ "node": ">=14.0.0" } }, + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "license": "MIT" + }, "node_modules/tmp": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", @@ -33239,6 +33395,7 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "devOptional": true, "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", @@ -33250,22 +33407,11 @@ "node": ">=6" } }, - "node_modules/tough-cookie-file-store": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tough-cookie-file-store/-/tough-cookie-file-store-2.0.3.tgz", - "integrity": "sha512-sMpZVcmFf6EYFHFFl+SYH4W1/OnXBYMGDsv2IlbQ2caHyFElW/UR/gpj/KYU1JwmP4dE9xqwv2+vWcmlXHojSw==", - "license": "MIT", - "dependencies": { - "tough-cookie": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "devOptional": true, "license": "MIT", "engines": { "node": ">= 4.0.0" @@ -33309,6 +33455,27 @@ "tree-kill": "cli.js" } }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/ts-api-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", @@ -34272,6 +34439,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" @@ -34302,6 +34470,7 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "devOptional": true, "license": "MIT", "dependencies": { "querystringify": "^2.1.1", @@ -35922,56 +36091,29 @@ } }, "node_modules/yahoo-finance2": { - "version": "2.11.3", - "resolved": "https://registry.npmjs.org/yahoo-finance2/-/yahoo-finance2-2.11.3.tgz", - "integrity": "sha512-yN4ADFNi2oNYtO79ntbEkSWdVi4KVmGYLwDJ5KV0czxILbAGj4ah6oCBYvMONeHAeDqxtS62zrG8xrHNF/2STw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/yahoo-finance2/-/yahoo-finance2-3.3.1.tgz", + "integrity": "sha512-hBXdhieq897OoAu2HxA4/Ca+XrYtPFLTtGzPRW5qKCd+nX1ahHID3tmvxVBBlDTeOesdp0wjO5uGJS+o4cnEMw==", "license": "MIT", "dependencies": { - "@types/tough-cookie": "^4.0.2", - "ajv": "8.10.0", - "ajv-formats": "2.1.1", - "node-fetch": "^2.6.1", - "tough-cookie": "^4.1.2", - "tough-cookie-file-store": "^2.0.3" - }, - "bin": { - "yahoo-finance": "bin/yahoo-finance.js" + "@deno/shim-deno": "~0.18.0", + "fetch-mock-cache": "npm:fetch-mock-cache@^2.1.3", + "tough-cookie": "npm:tough-cookie@^5.1.1" }, "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/yahoo-finance2/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "node": ">=20.0.0" } }, - "node_modules/yahoo-finance2/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", + "node_modules/yahoo-finance2/node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "license": "BSD-3-Clause", "dependencies": { - "ajv": "^8.0.0" + "tldts": "^6.1.32" }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": ">=16" } }, "node_modules/yallist": { diff --git a/package.json b/package.json index 637c7ed86..51b592245 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,7 @@ "svgmap": "2.12.2", "twitter-api-v2": "1.14.2", "uuid": "11.1.0", - "yahoo-finance2": "2.11.3", + "yahoo-finance2": "3.3.1", "zone.js": "0.15.0" }, "devDependencies": { From 0b7fc7a3b2f6d65e9edc9f46d6c2fd26bab26c30 Mon Sep 17 00:00:00 2001 From: andiz2 Date: Sat, 10 May 2025 21:23:06 +0300 Subject: [PATCH 05/14] Feature/migrate data providers overview to Angular Material table (#4704) * Migrate data providers overview to Angular Material table * Update changelog --- CHANGELOG.md | 1 + .../admin-settings.component.html | 182 +++++++++--------- .../admin-settings.component.ts | 19 +- .../admin-settings/admin-settings.module.ts | 6 +- 4 files changed, 115 insertions(+), 93 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e64f546d..cc3cefd97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Harmonized the data providers management style of the admin control panel - Renamed `Order` to `activities` in the `User` database schema - Improved the language localization for Catalan (`ca`) - Improved the language localization for Chinese (`zh`) diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.html b/apps/client/src/app/components/admin-settings/admin-settings.component.html index 977c8a372..997d34aa5 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.html +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.html @@ -1,105 +1,109 @@
    -
    +

    Data Providers

    - - - @for (dataProvider of dataProviders; track dataProvider.name) { -
    - @if (dataProvider.name === 'Ghostfolio') { -
    -
    - + + + Name + + +
    + +
    + @if (isGhostfolioDataProvider(element)) { + + Ghostfolio Premium + -
    - Early Access - Ghostfolio Premium - - @if (isGhostfolioApiKeyValid === false) { - Early Access - } - - @if (isGhostfolioApiKeyValid === true) { -
    - - Valid until - {{ - ghostfolioApiStatus?.subscription?.expiresAt - | date: defaultDateFormat - }} -
    - } -
    -
    -
    -
    + } + @if (isGhostfolioApiKeyValid === true) { -
    -
    +
    + + Valid until + {{ + ghostfolioApiStatus?.subscription?.expiresAt + | date: defaultDateFormat + }} + +
    +
    + {{ ghostfolioApiStatus.dailyRequests }} of {{ ghostfolioApiStatus.dailyRequestsMax }} daily requests -
    - - - - +
    - } @else if (isGhostfolioApiKeyValid === false) { - } -
    - } @else { -
    -
    - - {{ dataProvider.name }} -
    -
    -
    - } + } @else { + {{ element.name }} + } +
    - } - - + + + + + + + + @if (isGhostfolioDataProvider(element)) { + @if (isGhostfolioApiKeyValid === true) { + + + + + } @else if (isGhostfolioApiKeyValid === false) { + + } + } + + + + + + + @if (isLoading) { + + }
    diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.ts b/apps/client/src/app/components/admin-settings/admin-settings.component.ts index 68c196962..f18e49d10 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.ts +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -22,6 +22,7 @@ import { OnInit } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; +import { MatTableDataSource } from '@angular/material/table'; import { DeviceDetectorService } from 'ngx-device-detector'; import { catchError, filter, of, Subject, takeUntil } from 'rxjs'; @@ -36,10 +37,12 @@ import { GhostfolioPremiumApiDialogParams } from './ghostfolio-premium-api-dialo standalone: false }) export class AdminSettingsComponent implements OnDestroy, OnInit { - public dataProviders: DataProviderInfo[]; + public dataSource = new MatTableDataSource(); public defaultDateFormat: string; + public displayedColumns = ['name', 'actions']; public ghostfolioApiStatus: DataProviderGhostfolioStatusResponse; public isGhostfolioApiKeyValid: boolean; + public isLoading = false; public pricingUrl: string; private deviceType: string; @@ -83,6 +86,10 @@ export class AdminSettingsComponent implements OnDestroy, OnInit { this.initialize(); } + public isGhostfolioDataProvider(provider: DataProviderInfo): boolean { + return provider.dataSource === 'GHOSTFOLIO'; + } + public onRemoveGhostfolioApiKey() { this.notificationService.confirm({ confirmFn: () => { @@ -125,14 +132,20 @@ export class AdminSettingsComponent implements OnDestroy, OnInit { } private initialize() { + this.isLoading = true; + + this.dataSource = new MatTableDataSource(); + this.adminService .fetchAdminData() .pipe(takeUntil(this.unsubscribeSubject)) .subscribe(({ dataProviders, settings }) => { - this.dataProviders = dataProviders.filter(({ dataSource }) => { + const filteredProviders = dataProviders.filter(({ dataSource }) => { return dataSource !== 'MANUAL'; }); + this.dataSource = new MatTableDataSource(filteredProviders); + this.adminService .fetchGhostfolioDataProviderStatus( settings[PROPERTY_API_KEY_GHOSTFOLIO] as string @@ -157,6 +170,8 @@ export class AdminSettingsComponent implements OnDestroy, OnInit { this.changeDetectorRef.markForCheck(); }); + this.isLoading = false; + this.changeDetectorRef.markForCheck(); }); } diff --git a/apps/client/src/app/components/admin-settings/admin-settings.module.ts b/apps/client/src/app/components/admin-settings/admin-settings.module.ts index 79b269a62..c5148f681 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.module.ts +++ b/apps/client/src/app/components/admin-settings/admin-settings.module.ts @@ -6,9 +6,10 @@ import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule } from '@angular/material/card'; import { MatMenuModule } from '@angular/material/menu'; +import { MatTableModule } from '@angular/material/table'; import { RouterModule } from '@angular/router'; +import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { AdminSettingsComponent } from './admin-settings.component'; @@ -21,8 +22,9 @@ import { AdminSettingsComponent } from './admin-settings.component'; GfAssetProfileIconComponent, GfPremiumIndicatorComponent, MatButtonModule, - MatCardModule, MatMenuModule, + MatTableModule, + NgxSkeletonLoaderModule, RouterModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] From 6c322522d9d11dcbacf4d5bab49aa8b8649f1a06 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 10 May 2025 20:54:48 +0200 Subject: [PATCH 06/14] Feature/update locales (#4706) Co-authored-by: github-actions[bot] --- apps/client/src/locales/messages.ca.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.de.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.es.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.fr.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.it.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.nl.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.pl.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.pt.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.tr.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.uk.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.xlf | 24 ++++++++++++++---------- apps/client/src/locales/messages.zh.xlf | 24 ++++++++++++++---------- 12 files changed, 168 insertions(+), 120 deletions(-) diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf index 8fac18b44..b2f176212 100644 --- a/apps/client/src/locales/messages.ca.xlf +++ b/apps/client/src/locales/messages.ca.xlf @@ -653,7 +653,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -1057,6 +1057,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -2187,7 +2191,7 @@ Plataformes apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -2195,7 +2199,7 @@ Etiquetes apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -6671,7 +6675,7 @@ Valid until apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -7279,7 +7283,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7385,7 +7389,7 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7393,7 +7397,7 @@ daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7401,7 +7405,7 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7409,7 +7413,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7569,7 +7573,7 @@ Early Access apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index ba5b3cd9d..ba7993a92 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -144,6 +144,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -1330,7 +1334,7 @@ Tags apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -3402,7 +3406,7 @@ Gültig bis apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3962,7 +3966,7 @@ Plattformen apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -5453,7 +5457,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -7303,7 +7307,7 @@ API-Schlüssel setzen apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7409,7 +7413,7 @@ von apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7417,7 +7421,7 @@ täglichen Anfragen apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7425,7 +7429,7 @@ API-Schlüssel löschen apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7433,7 +7437,7 @@ Möchtest du den API-Schlüssel wirklich löschen? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7593,7 +7597,7 @@ Early Access apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index f49aa6873..241d5c6e6 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -145,6 +145,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -1315,7 +1319,7 @@ Etiquetas apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -3387,7 +3391,7 @@ Válido hasta apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3939,7 +3943,7 @@ Platforms apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -5430,7 +5434,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -7280,7 +7284,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7386,7 +7390,7 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7394,7 +7398,7 @@ daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7402,7 +7406,7 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7410,7 +7414,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7570,7 +7574,7 @@ Early Access apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 45323c7c1..0ca4aefdf 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -152,6 +152,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -922,7 +926,7 @@ Étiquettes apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -3386,7 +3390,7 @@ Valide jusqu’au apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3938,7 +3942,7 @@ Platformes apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -5429,7 +5433,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -7279,7 +7283,7 @@ Définir clé API apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7385,7 +7389,7 @@ sur apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7393,7 +7397,7 @@ requêtes journalières apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7401,7 +7405,7 @@ Retirer la clé API apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7409,7 +7413,7 @@ Voulez-vous vraiment supprimer la clé API? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7569,7 +7573,7 @@ Accès anticipé apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index 00440b52c..cc28bb0e1 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -145,6 +145,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -1315,7 +1319,7 @@ Tag apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -3387,7 +3391,7 @@ Valido fino a apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3939,7 +3943,7 @@ Piattaforme apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -5430,7 +5434,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -7280,7 +7284,7 @@ Imposta API Key apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7386,7 +7390,7 @@ di apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7394,7 +7398,7 @@ richieste giornaliere apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7402,7 +7406,7 @@ Rimuovi API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7410,7 +7414,7 @@ Vuoi davvero eliminare l’API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7570,7 +7574,7 @@ Accesso anticipato apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 8038048ff..5e7d4240f 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -144,6 +144,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -1314,7 +1318,7 @@ Tags apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -3386,7 +3390,7 @@ Geldig tot apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3938,7 +3942,7 @@ Platforms apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -5429,7 +5433,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -7279,7 +7283,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7385,7 +7389,7 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7393,7 +7397,7 @@ daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7401,7 +7405,7 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7409,7 +7413,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7569,7 +7573,7 @@ Early Access apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index 2052f9ee8..ab0fb8d48 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -272,7 +272,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -985,6 +985,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -2019,7 +2023,7 @@ Platformy apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -2027,7 +2031,7 @@ Tagi apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -6071,7 +6075,7 @@ Ważność do apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -7279,7 +7283,7 @@ Skonfiguruj klucz API apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7385,7 +7389,7 @@ z apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7393,7 +7397,7 @@ codzienne żądania apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7401,7 +7405,7 @@ Usuń klucz API apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7409,7 +7413,7 @@ Czy na pewno chcesz usunąć klucz API?? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7569,7 +7573,7 @@ Wczesny dostęp apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index b42e592f8..25882d131 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -152,6 +152,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -1618,7 +1622,7 @@ Marcadores apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -3386,7 +3390,7 @@ Válido até apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3938,7 +3942,7 @@ Plataformas apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -5429,7 +5433,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -7279,7 +7283,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7385,7 +7389,7 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7393,7 +7397,7 @@ daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7401,7 +7405,7 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7409,7 +7413,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7569,7 +7573,7 @@ Early Access apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index d4d2a5dda..e39043a9d 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -272,7 +272,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -945,6 +945,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -1759,7 +1763,7 @@ Etiketler apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1923,7 +1927,7 @@ Platformlar apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -4951,7 +4955,7 @@ Geçerli tarih apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -7279,7 +7283,7 @@ API anahtarını ayarla apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7385,7 +7389,7 @@ ın apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7393,7 +7397,7 @@ günlük istekler apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7401,7 +7405,7 @@ API anahtarını kaldır apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7409,7 +7413,7 @@ API anahtarını silmek istediğinize emin misiniz? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7569,7 +7573,7 @@ Erken Erişim apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf index 03af83d36..d8d274f1e 100644 --- a/apps/client/src/locales/messages.uk.xlf +++ b/apps/client/src/locales/messages.uk.xlf @@ -653,7 +653,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -1073,6 +1073,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -2183,7 +2187,7 @@ Дійсне до apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -2195,7 +2199,7 @@ з apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -2203,7 +2207,7 @@ щоденних запитів apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -2211,7 +2215,7 @@ Вилучити ключ API apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -2219,7 +2223,7 @@ Встановити ключ API apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -2227,7 +2231,7 @@ Платформи apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -2235,7 +2239,7 @@ Теги apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -2251,7 +2255,7 @@ Ви дійсно хочете видалити ключ API? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7569,7 +7573,7 @@ Ранній доступ apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 4c481d0cc..0593a1f06 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -267,7 +267,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -957,6 +957,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -1937,14 +1941,14 @@ Platforms apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 Tags apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -5605,7 +5609,7 @@ Valid until apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -6619,7 +6623,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -6721,14 +6725,14 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -6742,14 +6746,14 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -6875,7 +6879,7 @@ Early Access apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index 06d906dc7..a008b6fa7 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -273,7 +273,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.ts - 77 + 80 apps/client/src/app/components/header/header.component.ts @@ -994,6 +994,10 @@ apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html 15 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 8 + apps/client/src/app/components/admin-tag/admin-tag.component.html 30 @@ -2028,7 +2032,7 @@ 平台 apps/client/src/app/components/admin-settings/admin-settings.component.html - 107 + 111 @@ -2036,7 +2040,7 @@ 标签 apps/client/src/app/components/admin-settings/admin-settings.component.html - 113 + 117 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -6128,7 +6132,7 @@ 有效期至 apps/client/src/app/components/admin-settings/admin-settings.component.html - 36 + 34 libs/ui/src/lib/membership-card/membership-card.component.html @@ -7280,7 +7284,7 @@ 设置 API 密钥 apps/client/src/app/components/admin-settings/admin-settings.component.html - 83 + 87 @@ -7386,7 +7390,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 44 @@ -7394,7 +7398,7 @@ 每日请求 apps/client/src/app/components/admin-settings/admin-settings.component.html - 54 + 46 @@ -7402,7 +7406,7 @@ 移除 API 密钥 apps/client/src/app/components/admin-settings/admin-settings.component.html - 71 + 76 @@ -7410,7 +7414,7 @@ 您确定要删除此 API 密钥吗? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 96 + 103 @@ -7570,7 +7574,7 @@ 抢先体验 apps/client/src/app/components/admin-settings/admin-settings.component.html - 29 + 27 From 365318e6e068cb2fdc782f733f12ba3f9f5bab86 Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Mon, 12 May 2025 13:40:33 +0700 Subject: [PATCH 07/14] Feature/improve localization (#4709) * Update translations * Update changelog --------- Co-authored-by: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 1 + .../components/header/header.component.html | 2 +- apps/client/src/locales/messages.ca.xlf | 8 +++ apps/client/src/locales/messages.de.xlf | 8 +++ apps/client/src/locales/messages.es.xlf | 8 +++ apps/client/src/locales/messages.fr.xlf | 8 +++ apps/client/src/locales/messages.it.xlf | 8 +++ apps/client/src/locales/messages.nl.xlf | 8 +++ apps/client/src/locales/messages.pl.xlf | 8 +++ apps/client/src/locales/messages.pt.xlf | 8 +++ apps/client/src/locales/messages.tr.xlf | 8 +++ apps/client/src/locales/messages.uk.xlf | 8 +++ apps/client/src/locales/messages.xlf | 7 ++ apps/client/src/locales/messages.zh.xlf | 64 +++++++++++-------- 14 files changed, 125 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc3cefd97..408ef9e1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Renamed `Order` to `activities` in the `User` database schema - Improved the language localization for Catalan (`ca`) - Improved the language localization for Chinese (`zh`) +- Improved the language localization for German (`de`) - Improved the language localization for Italian (`it`) - Upgraded `nestjs` from version `10.4.15` to `11.0.12` - Upgraded `yahoo-finance2` from version `2.11.3` to `3.3.1` diff --git a/apps/client/src/app/components/header/header.component.html b/apps/client/src/app/components/header/header.component.html index 6cf0ca305..b14d142f4 100644 --- a/apps/client/src/app/components/header/header.component.html +++ b/apps/client/src/app/components/header/header.component.html @@ -312,7 +312,7 @@ >About Ghostfolio
    - + diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf index b2f176212..78a341ad7 100644 --- a/apps/client/src/locales/messages.ca.xlf +++ b/apps/client/src/locales/messages.ca.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index ba7993a92..c73acd8e9 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Ausloggen + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index 241d5c6e6..de9f07c8d 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -7990,6 +7990,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 0ca4aefdf..5077a4010 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index cc28bb0e1..57a3b7162 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -7990,6 +7990,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 5e7d4240f..d8de415d5 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index ab0fb8d48..c62b42f69 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 25882d131..535aa5acf 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index e39043a9d..400bed697 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf index d8d274f1e..56b5ba426 100644 --- a/apps/client/src/locales/messages.uk.xlf +++ b/apps/client/src/locales/messages.uk.xlf @@ -7989,6 +7989,14 @@ 122
    + + Log out + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 0593a1f06..70458fffd 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -7226,6 +7226,13 @@ 122
    + + Log out + + apps/client/src/app/components/header/header.component.html + 315 + + diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index a008b6fa7..12cbd3ed0 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -207,7 +207,7 @@ license - 许可 + 许可证 snake-case apps/client/src/app/app.component.ts @@ -701,7 +701,7 @@ License - 许可 + 许可证 apps/client/src/app/app.component.html 89 @@ -1265,7 +1265,7 @@ Attempts - 尝试 + 尝试次数 apps/client/src/app/components/admin-jobs/admin-jobs.html 83 @@ -1281,7 +1281,7 @@ Finished - 完成的 + 完成 apps/client/src/app/components/admin-jobs/admin-jobs.html 101 @@ -1289,7 +1289,7 @@ Status - 状况 + 状态 apps/client/src/app/components/admin-jobs/admin-jobs.html 110 @@ -2445,7 +2445,7 @@ Summary - 概括 + 汇总 apps/client/src/app/components/home-summary/home-summary.html 2 @@ -2553,7 +2553,7 @@ Buy - + 买入 apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 31 @@ -2561,7 +2561,7 @@ Sell - + 卖出 apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 43 @@ -3361,7 +3361,7 @@ License - 许可 + 许可证 apps/client/src/app/pages/about/about-page.component.ts 55 @@ -3733,7 +3733,7 @@ Holdings - 控股 + 持仓 apps/client/src/app/pages/home/home-page-routing.module.ts 24 @@ -3753,7 +3753,7 @@ Summary - 概括 + 汇总 apps/client/src/app/pages/home/home-page-routing.module.ts 34 @@ -4333,7 +4333,7 @@ Import Activities - 导入活动 + 导入活动记录 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts 47 @@ -4373,7 +4373,7 @@ Select Holding - 选择控股 + 选择持仓 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 20 @@ -4389,7 +4389,7 @@ Holding - 保持 + 持仓 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 32 @@ -4781,7 +4781,7 @@ Holdings - 控股 + 持仓 apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html 79 @@ -5485,7 +5485,7 @@ Import Activities - 进口活动 + 导入活动记录 libs/ui/src/lib/activities-table/activities-table.component.html 9 @@ -5509,7 +5509,7 @@ Export Activities - 出口活动 + 导出活动记录 libs/ui/src/lib/activities-table/activities-table.component.html 41 @@ -5913,7 +5913,7 @@ Buy - + 买入 libs/ui/src/lib/i18n.ts 35 @@ -5929,7 +5929,7 @@ Valuable - 有价值的 + 贵重物品 libs/ui/src/lib/i18n.ts 39 @@ -5937,7 +5937,7 @@ Liability - 责任 + 负债 libs/ui/src/lib/i18n.ts 40 @@ -5945,7 +5945,7 @@ Sell - + 卖出 libs/ui/src/lib/i18n.ts 41 @@ -5969,7 +5969,7 @@ Equity - 公平 + 股权 libs/ui/src/lib/i18n.ts 46 @@ -5977,7 +5977,7 @@ Fixed Income - 固定收入 + 固定收益 libs/ui/src/lib/i18n.ts 47 @@ -5993,7 +5993,7 @@ Bond - 纽带 + 债券 libs/ui/src/lib/i18n.ts 52 @@ -6161,7 +6161,7 @@ If a translation is missing, kindly support us in extending it here. - 如果翻译缺失,请支持我们进行扩展这里 + 如果翻译缺失,欢迎在这里进行扩展。 apps/client/src/app/components/user-account-settings/user-account-settings.html 58 @@ -6213,7 +6213,7 @@ Permission - 允许 + 权限 apps/client/src/app/components/access-table/access-table.component.html 18 @@ -6365,7 +6365,7 @@ View - 看法 + 查看 apps/client/src/app/components/access-table/access-table.component.html 23 @@ -6529,7 +6529,7 @@ Execute Job - 执行任务 + 执行作业 apps/client/src/app/components/admin-jobs/admin-jobs.html 176 @@ -7990,6 +7990,14 @@ 122 + + Log out + 登出 + + apps/client/src/app/components/header/header.component.html + 315 + + From a8937fbf04e9bc2620d27c79a6bc8bf94da5d63f Mon Sep 17 00:00:00 2001 From: Jeffrey Bouman <17855600+JeffreyBouman@users.noreply.github.com> Date: Tue, 13 May 2025 19:49:46 +0200 Subject: [PATCH 08/14] Feature/improve language localization for NL 20250512 (#4714) * Improve language localization for NL * Update changelog --- CHANGELOG.md | 1 + apps/client/src/locales/messages.nl.xlf | 556 ++++++++++++------------ 2 files changed, 279 insertions(+), 278 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 408ef9e1f..4a60ad6fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Renamed `Order` to `activities` in the `User` database schema - Improved the language localization for Catalan (`ca`) - Improved the language localization for Chinese (`zh`) +- Improved the language localization for Dutch (`nl`) - Improved the language localization for German (`de`) - Improved the language localization for Italian (`it`) - Upgraded `nestjs` from version `10.4.15` to `11.0.12` diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index d8de415d5..9eb4bef14 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -403,7 +403,7 @@ Asset Profiles - Asset Profiel + Activa Profiel libs/ui/src/lib/assistant/assistant.html 67 @@ -411,7 +411,7 @@ Historical Market Data - Historische marktgegevens + Historische marktgegevens apps/client/src/app/components/admin-jobs/admin-jobs.html 37 @@ -783,7 +783,7 @@ Last Request - Laatste verzoek + Laatste verzoek apps/client/src/app/components/admin-users/admin-users.html 202 @@ -1271,7 +1271,7 @@ Please set the amount of your emergency fund. - Voer het bedrag van je noodfonds in: + Voer het bedrag van je noodfonds in: apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts 64 @@ -1619,7 +1619,7 @@ Please enter your coupon code. - Voer je couponcode in: + Voer je couponcode in: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 201 @@ -1759,7 +1759,7 @@ Sign in with fingerprint - Aanmelden met vingerafdruk + Aanmelden met vingerafdruk apps/client/src/app/components/user-account-settings/user-account-settings.html 219 @@ -2531,7 +2531,7 @@ Change from All Time High - Verandering van All Time High + Verandering van Recordhoogte libs/ui/src/lib/benchmark/benchmark.component.html 96 @@ -2827,7 +2827,7 @@ Hello, has shared a Portfolio with you! - Hallo, heeft een portefeuille met je gedeeld! + Hallo, heeft een portefeuille met je gedeeld! apps/client/src/app/pages/public/public-page.html 4 @@ -3447,7 +3447,7 @@ Protection for sensitive information like absolute performances and quantity values - Bescherming voor gevoelige informatie zoals absoluut rendement en hoeveelheden + Bescherming voor gevoelige informatie zoals absoluut rendement en hoeveelheden apps/client/src/app/components/user-account-settings/user-account-settings.html 184 @@ -3455,7 +3455,7 @@ Distraction-free experience for turbulent times - Afleidingsvrije ervaring voor roerige tijden + Afleidingsvrije ervaring voor roerige tijden apps/client/src/app/components/user-account-settings/user-account-settings.html 202 @@ -3463,7 +3463,7 @@ Sneak peek at upcoming functionality - Voorproefje van nieuwe functionaliteit + Voorproefje van nieuwe functionaliteit apps/client/src/app/components/user-account-settings/user-account-settings.html 236 @@ -3855,7 +3855,7 @@ Our official Ghostfolio Premium cloud offering is the easiest way to get started. Due to the time it saves, this will be the best option for most people. Revenue is used to cover the costs of the hosting infrastructure and to fund ongoing development. - Ons officiële Ghostfolio Premium cloud-aanbod is de eenvoudigste manier om te beginnen. Vanwege de tijd die het bespaart, zal dit voor de meeste mensen de beste optie zijn. De inkomsten worden gebruikt om de hostinginfrastructuur te dekken en de voortdurende ontwikkeling van Ghostfolio te financieren. + Ons officiële Ghostfolio Premium cloud-aanbod is de eenvoudigste manier om te beginnen. Vanwege de tijd die het bespaart, zal dit voor de meeste mensen de beste optie zijn. De inkomsten worden gebruikt om de hostinginfrastructuur te dekken en de voortdurende ontwikkeling van Ghostfolio te financieren. apps/client/src/app/pages/pricing/pricing-page.html 6 @@ -3863,7 +3863,7 @@ Impersonate User - Gebruiker nadoen + Gebruiker immiteren apps/client/src/app/components/admin-users/admin-users.html 239 @@ -3879,7 +3879,7 @@ Do you really want to delete these activities? - Wil je echt al je activiteiten verwijderen? + Weet je zeker dat je alle activiteiten wilt verwijderen? libs/ui/src/lib/activities-table/activities-table.component.ts 219 @@ -3979,7 +3979,7 @@ Add Platform - Platform toevoegen + Platform Toevoegen apps/client/src/app/components/admin-platform/admin-platform.component.html 11 @@ -4255,7 +4255,7 @@ Dark Mode - Dark Mode + Donker Thema apps/client/src/app/pages/features/features-page.html 233 @@ -5111,7 +5111,7 @@ Are you ready? - Ben je er klaar voor? + Ben jij er klaar voor? apps/client/src/app/pages/landing/landing-page.html 431 @@ -5119,7 +5119,7 @@ Live Demo - Live Demo + Live Demo apps/client/src/app/pages/landing/landing-page.html 49 @@ -5632,7 +5632,7 @@ Open Source Alternative to - Open Source alternatief voor + Open Source alternatief voor apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html 42 @@ -5672,7 +5672,7 @@ Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - Laten we eens dieper duiken in de gedetailleerde vergelijkingstabel hieronder om een beter begrip te krijgen hoe Ghostfolio zichzelf positioneert ten opzichte van . We gaan in op verschillende aspecten zoals functies, gegevensprivacy, prijzen en meer, zodat je een weloverwogen keuze kunt maken voor jouw persoonlijke behoeften. + Laten we eens dieper duiken in de gedetailleerde vergelijkingstabel hieronder om een beter begrip te krijgen hoe Ghostfolio zichzelf positioneert ten opzichte van . We gaan in op verschillende aspecten zoals functies, gegevensprivacy, prijzen en meer, zodat je een weloverwogen keuze kunt maken voor jouw persoonlijke behoeften. apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 43 @@ -5692,7 +5692,7 @@ Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - Houd er rekening mee dat de verstrekte informatie gebaseerd is op ons onafhankelijk onderzoek en analyse. Deze website is niet gelieerd aan of een ander product dat in de vergelijking wordt genoemd. Aangezien het landschap van tools voor persoonlijke financiën evolueert, is het essentieel om specifieke details of wijzigingen rechtstreeks op de betreffende productpagina te controleren. Hebben je gegevens een opfrisbeurt nodig? Help ons nauwkeurige gegevens te onderhouden over GitHub. + Houd er rekening mee dat de verstrekte informatie in deze Ghostfolio vs is gebaseerd op ons onafhankelijk onderzoek en analyse. Deze website is niet gelieerd aan of een ander product dat in de vergelijking wordt genoemd. Aangezien het landschap van tools voor persoonlijke financiën evolueert, is het essentieel om specifieke details of wijzigingen rechtstreeks op de betreffende productpagina te controleren. Hebben je gegevens een opfrisbeurt nodig? Help ons de gegevens nauwkeurig te houden op GitHub. apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 311 @@ -5768,7 +5768,7 @@ Choose or drop a file here - Choose or drop a file here + Kies of sleep bestand hier apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 84 @@ -5776,7 +5776,7 @@ You are using the Live Demo. - You are using the Live Demo. + U maakt gebruik van een Live Demo. apps/client/src/app/app.component.html 12 @@ -5784,7 +5784,7 @@ One-time fee, annual account fees - One-time fee, annual account fees + Eenmalige kosten, jaarlijkse account kosten apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 33 @@ -5792,7 +5792,7 @@ Distribution of corporate earnings - Distribution of corporate earnings + Distribute van bedrijfsopbrengsten apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 41 @@ -5800,7 +5800,7 @@ Fee - Fee + Kosten libs/ui/src/lib/i18n.ts 37 @@ -5808,7 +5808,7 @@ Interest - Interest + Rente apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 307 @@ -5816,7 +5816,7 @@ Revenue for lending out money - Revenue for lending out money + Opbrengsten voor het uitlenen van geld apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 49 @@ -5824,7 +5824,7 @@ Add Tag - Add Tag + Label Toevoegen apps/client/src/app/components/admin-tag/admin-tag.component.html 11 @@ -5832,7 +5832,7 @@ Do you really want to delete this tag? - Do you really want to delete this tag? + Weet u zetker dat u dit label wilt verwijderen? apps/client/src/app/components/admin-tag/admin-tag.component.ts 85 @@ -5840,7 +5840,7 @@ Update tag - Update tag + Label bijwerken apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 8 @@ -5848,7 +5848,7 @@ Add tag - Add tag + Voeg label toe apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 10 @@ -5856,7 +5856,7 @@ Currency Cluster Risks - Currency Cluster Risks + Valuta Cluster Risico’s apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 93 @@ -5864,7 +5864,7 @@ Account Cluster Risks - Account Cluster Risks + Account Cluster Risco’s apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 141 @@ -5884,7 +5884,7 @@ Benchmark - Benchmark + Maatstaf apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 346 @@ -5892,7 +5892,7 @@ Version - Version + Versie apps/client/src/app/components/admin-overview/admin-overview.html 7 @@ -5900,7 +5900,7 @@ Settings - Settings + Instellingen apps/client/src/app/components/user-account-settings/user-account-settings.html 2 @@ -5908,7 +5908,7 @@ From - From + Van apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html 11 @@ -5916,7 +5916,7 @@ To - To + Naar apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html 32 @@ -5924,7 +5924,7 @@ Transfer - Transfer + Overdracht apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html 72 @@ -5932,7 +5932,7 @@ Membership - Membership + Lidmaatschap apps/client/src/app/pages/user-account/user-account-page-routing.module.ts 23 @@ -5944,7 +5944,7 @@ Access - Access + Toegang apps/client/src/app/pages/user-account/user-account-page-routing.module.ts 28 @@ -5956,7 +5956,7 @@ Find holding... - Find holding... + Vind bezittingen... libs/ui/src/lib/assistant/assistant.component.ts 143 @@ -5964,7 +5964,7 @@ No entries... - No entries... + Geen vermeldingen... libs/ui/src/lib/assistant/assistant.html 62 @@ -5976,7 +5976,7 @@ Asset Profile - Asset Profile + Bezittingen Profiel apps/client/src/app/components/admin-jobs/admin-jobs.html 35 @@ -5984,7 +5984,7 @@ Do you really want to delete this asset profile? - Do you really want to delete this asset profile? + Weet u zeker dat u dit bezittingen profiel wilt verwijderen? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 37 @@ -5992,7 +5992,7 @@ Search - Search + Zoeken apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 16 @@ -6000,7 +6000,7 @@ Add Manually - Add Manually + Voeg Handmatig Toe apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 19 @@ -6008,7 +6008,7 @@ Ghostfolio is a personal finance dashboard to keep track of your net worth including cash, stocks, ETFs and cryptocurrencies across multiple platforms. - Ghostfolio is een persoonlijk financieel dashboard om uw activa zoals aandelen, ETF’s of cryptocurrencies over meerdere platforms bij te houden. + Ghostfolio is een persoonlijk financieel dashboard om uw activa zoals aandelen, ETF’s of cryptocurrencies van verschillende platformen bij te houden. apps/client/src/app/pages/i18n/i18n-page.html 4 @@ -6016,7 +6016,7 @@ Last All Time High - Last All Time High + Laatste Recordhoogte libs/ui/src/lib/benchmark/benchmark.component.html 74 @@ -6024,7 +6024,7 @@ User - User + Gebruiker apps/client/src/app/components/admin-users/admin-users.html 29 @@ -6032,7 +6032,7 @@ Ghostfolio vs comparison table - Ghostfolio vs comparison table + Ghostfolio vs vergelijkingstabel apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 54 @@ -6040,7 +6040,7 @@ Open Source Wealth Management Software - Open Source Wealth Management Software + Open Source Vermogensbeheer Software apps/client/src/app/pages/i18n/i18n-page.html 14 @@ -6048,7 +6048,7 @@ app, asset, cryptocurrency, dashboard, etf, finance, management, performance, portfolio, software, stock, trading, wealth, web3 - app, asset, cryptocurrency, dashboard, etf, finance, management, performance, portfolio, software, stock, trading, wealth, web3 + app, asset, cryptocurrency, dashboard, etf, financiën, management, performance, portfolio, software, aandeel, handel, vermogen, web3 apps/client/src/app/pages/i18n/i18n-page.html 9 @@ -6056,7 +6056,7 @@ Oops, cash balance transfer has failed. - Oops, cash balance transfer has failed. + Oeps, geldoverdracht is mislukt. apps/client/src/app/pages/accounts/accounts-page.component.ts 318 @@ -6064,7 +6064,7 @@ Extreme Fear - Extreme Fear + Extreme Angst libs/ui/src/lib/i18n.ts 100 @@ -6072,7 +6072,7 @@ Extreme Greed - Extreme Greed + Extreme Hebzucht libs/ui/src/lib/i18n.ts 101 @@ -6080,7 +6080,7 @@ Neutral - Neutral + Neutraal libs/ui/src/lib/i18n.ts 104 @@ -6088,7 +6088,7 @@ Oops! Could not parse historical data. - Oops! Could not parse historical data. + Oeps! Ophalen van historische data is mislukt. libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts 262 @@ -6096,7 +6096,7 @@ Do you really want to delete this system message? - Do you really want to delete this system message? + Wilt u dit systeembericht echt verwijderen? apps/client/src/app/components/admin-overview/admin-overview.component.ts 147 @@ -6104,7 +6104,7 @@ 50-Day Trend - 50-Day Trend + 50-Daagse Trend libs/ui/src/lib/benchmark/benchmark.component.html 16 @@ -6112,7 +6112,7 @@ 200-Day Trend - 200-Day Trend + 200-Daagse Trend libs/ui/src/lib/benchmark/benchmark.component.html 45 @@ -6120,7 +6120,7 @@ Cash Balances - Cash Balances + Contant Saldo apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html 124 @@ -6128,7 +6128,7 @@ Starting from - Starting from + Begin vanaf apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 289 @@ -6140,7 +6140,7 @@ year - year + jaar apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 290 @@ -6152,7 +6152,7 @@ Do you really want to delete this account balance? - Do you really want to delete this account balance? + Wilt u dit rekeningsaldo echt verwijderen? libs/ui/src/lib/account-balances/account-balances.component.ts 109 @@ -6160,7 +6160,7 @@ If a translation is missing, kindly support us in extending it here. - If a translation is missing, kindly support us in extending it here. + Als er een vertaling ontbreekt, kunt u ons helpen deze here uit te breiden. apps/client/src/app/components/user-account-settings/user-account-settings.html 58 @@ -6168,7 +6168,7 @@ The current market price is - The current market price is + De huidige markt waarde is apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 536 @@ -6176,7 +6176,7 @@ Test - Test + Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 473 @@ -6184,7 +6184,7 @@ Date Range - Date Range + Datumbereik libs/ui/src/lib/assistant/assistant.html 95 @@ -6192,7 +6192,7 @@ Permission - Permission + Toestemming apps/client/src/app/components/access-table/access-table.component.html 18 @@ -6204,7 +6204,7 @@ Restricted view - Restricted view + Beperkte blik apps/client/src/app/components/access-table/access-table.component.html 26 @@ -6216,7 +6216,7 @@ Oops! Could not grant access. - Oops! Could not grant access. + Oeps! Kan geen toegang verlenen. apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts 91 @@ -6224,7 +6224,7 @@ Private - Private + Prive apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html 24 @@ -6232,7 +6232,7 @@ Job Queue - Job Queue + Opdracht Wachtrij apps/client/src/app/pages/admin/admin-page-routing.module.ts 25 @@ -6244,7 +6244,7 @@ Market data is delayed for - Market data is delayed for + Markt data is vertraagd voor apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts 87 @@ -6252,7 +6252,7 @@ Investment - Investment + Investering apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 56 @@ -6268,7 +6268,7 @@ Absolute Asset Performance - Absolute Asset Performance + Absolute Activaprestaties apps/client/src/app/pages/portfolio/analysis/analysis-page.html 102 @@ -6276,7 +6276,7 @@ Asset Performance - Asset Performance + Activaprestaties apps/client/src/app/pages/portfolio/analysis/analysis-page.html 123 @@ -6284,7 +6284,7 @@ Absolute Currency Performance - Absolute Currency Performance + Absolute Valutaprestaties apps/client/src/app/pages/portfolio/analysis/analysis-page.html 145 @@ -6292,7 +6292,7 @@ Currency Performance - Currency Performance + Valutaprestaties apps/client/src/app/pages/portfolio/analysis/analysis-page.html 169 @@ -6300,7 +6300,7 @@ Absolute Net Performance - Absolute Net Performance + Absolute Nettoprestatie apps/client/src/app/pages/portfolio/analysis/analysis-page.html 192 @@ -6308,7 +6308,7 @@ Net Performance - Net Performance + Nettoprestatie apps/client/src/app/pages/portfolio/analysis/analysis-page.html 211 @@ -6316,7 +6316,7 @@ Week to date - Week to date + Week tot nu toe libs/ui/src/lib/assistant/assistant.component.ts 222 @@ -6332,7 +6332,7 @@ Month to date - Month to date + Maand tot nu toe libs/ui/src/lib/assistant/assistant.component.ts 226 @@ -6348,7 +6348,7 @@ Year to date - Year to date + Jaar tot nu toe libs/ui/src/lib/assistant/assistant.component.ts 230 @@ -6368,7 +6368,7 @@ Oops! A data provider is experiencing the hiccups. - Oops! A data provider is experiencing the hiccups. + Oeps! Een gegevensaanbieder ondervindt problemen. apps/client/src/app/components/portfolio-performance/portfolio-performance.component.html 8 @@ -6376,7 +6376,7 @@ If you retire today, you would be able to withdraw per year or per month, based on your total assets of and a withdrawal rate of 4%. - If you retire today, you would be able to withdraw per year or per month, based on your total assets of and a withdrawal rate of 4%. + Als u vandaag met pensioen zou gaan, kunt u per jaar or per maand opnemen, gebaseerd op uw totale vermogen van en een opnamepercentage van 4%. apps/client/src/app/pages/portfolio/fire/fire-page.html 67 @@ -6384,7 +6384,7 @@ Reset Filters - Reset Filters + Filters Herstellen libs/ui/src/lib/assistant/assistant.html 187 @@ -6392,7 +6392,7 @@ year - year + jaar libs/ui/src/lib/assistant/assistant.component.ts 234 @@ -6400,7 +6400,7 @@ years - years + jaren libs/ui/src/lib/assistant/assistant.component.ts 256 @@ -6408,7 +6408,7 @@ Apply Filters - Apply Filters + Filters Toepassen libs/ui/src/lib/assistant/assistant.html 197 @@ -6416,7 +6416,7 @@ Data Gathering - Data Gathering + Data Verzamelen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 541 @@ -6428,7 +6428,7 @@ General - General + Algemeen apps/client/src/app/pages/faq/faq-page.component.ts 37 @@ -6436,7 +6436,7 @@ Cloud - Cloud + Cloud apps/client/src/app/pages/faq/faq-page.component.ts 42 @@ -6448,7 +6448,7 @@ Self-Hosting - Self-Hosting + Zelf Hosten apps/client/src/app/pages/faq/faq-page.component.ts 48 @@ -6460,7 +6460,7 @@ self-hosting - self-hosting + zelf hosten apps/client/src/app/pages/faq/faq-page.component.ts 49 @@ -6468,7 +6468,7 @@ FAQ - FAQ + FAQ apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts 13 @@ -6480,7 +6480,7 @@ Oops! It looks like you’re making too many requests. Please slow down a bit. - Oops! It looks like you’re making too many requests. Please slow down a bit. + Oeps! Het lijkt er op dat u te veel verzoeken indient. Doe het iets rustiger aan alstublieft. apps/client/src/app/core/http-response.interceptor.ts 103 @@ -6488,7 +6488,7 @@ My Account - My Account + Mijn Account apps/client/src/app/pages/i18n/i18n-page.html 13 @@ -6496,7 +6496,7 @@ Active - Active + Actief apps/client/src/app/components/home-holdings/home-holdings.component.ts 36 @@ -6504,7 +6504,7 @@ Closed - Closed + Gesloten apps/client/src/app/components/home-holdings/home-holdings.component.ts 37 @@ -6512,7 +6512,7 @@ Activity - Activity + Activiteit apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 207 @@ -6520,7 +6520,7 @@ Dividend Yield - Dividend Yield + Dividendrendement apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 175 @@ -6528,7 +6528,7 @@ Execute Job - Execute Job + Opdracht Uitvoeren apps/client/src/app/components/admin-jobs/admin-jobs.html 176 @@ -6536,7 +6536,7 @@ Priority - Priority + Prioriteit apps/client/src/app/components/admin-jobs/admin-jobs.html 64 @@ -6544,7 +6544,7 @@ This action is not allowed. - This action is not allowed. + Deze actie is niet toegestaan. apps/client/src/app/core/http-response.interceptor.ts 64 @@ -6552,7 +6552,7 @@ Liquidity - Liquidity + Liquiditeit libs/ui/src/lib/i18n.ts 48 @@ -6560,7 +6560,7 @@ {VAR_PLURAL, plural, =1 {activity} other {activities}} - {VAR_PLURAL, plural, =1 {activity} other {activities}} + {VAR_PLURAL, plural, =1 {activiteit} other {activiteiten}} apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 14 @@ -6568,7 +6568,7 @@ Buy and sell - Buy and sell + Aan- en Verkoop libs/ui/src/lib/i18n.ts 8 @@ -6576,7 +6576,7 @@ Delete Activities - Delete Activities + Verwijder Activiteiten libs/ui/src/lib/activities-table/activities-table.component.html 67 @@ -6584,7 +6584,7 @@ Internationalization - Internationalization + Internationalizering apps/client/src/app/app-routing.module.ts 88 @@ -6592,7 +6592,7 @@ Do you really want to close your Ghostfolio account? - Do you really want to close your Ghostfolio account? + Wilt u uw Ghostfolio account echt sluiten? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts 174 @@ -6600,7 +6600,7 @@ Danger Zone - Danger Zone + Gevarenzone apps/client/src/app/components/user-account-settings/user-account-settings.html 272 @@ -6608,7 +6608,7 @@ Close Account - Close Account + Account Sluiten apps/client/src/app/components/user-account-settings/user-account-settings.html 307 @@ -6616,7 +6616,7 @@ By ETF Holding - By ETF Holding + Per Aangehouden ETF apps/client/src/app/pages/portfolio/allocations/allocations-page.html 333 @@ -6624,7 +6624,7 @@ Approximation based on the top holdings of each ETF - Approximation based on the top holdings of each ETF + Benadering op basis van de grootste belegingen binnen iedere ETF apps/client/src/app/pages/portfolio/allocations/allocations-page.html 340 @@ -6632,7 +6632,7 @@ Join now or check out the example account - Join now or check out the example account + Word nu lid of bekijk het voorbeeldaccount apps/client/src/app/pages/landing/landing-page.html 434 @@ -6640,7 +6640,7 @@ Oops! There was an error setting up biometric authentication. - Oops! There was an error setting up biometric authentication. + Oeps! Er is een fout opgetreden met het instellen van de biometrische authenticatie. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts 302 @@ -6648,7 +6648,7 @@ Show more - Show more + Laat meer zien libs/ui/src/lib/top-holdings/top-holdings.component.html 174 @@ -6656,7 +6656,7 @@ Benchmarks - Benchmarks + Benchmarks apps/client/src/app/components/admin-market-data/admin-market-data.component.ts 81 @@ -6664,7 +6664,7 @@ Delete Profiles - Delete Profiles + Verwijder Profielen apps/client/src/app/components/admin-market-data/admin-market-data.html 243 @@ -6672,7 +6672,7 @@ Do you really want to delete these profiles? - Do you really want to delete these profiles? + Wilt u deze profielen echt verwijderen? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 68 @@ -6680,7 +6680,7 @@ Oops! Could not delete profiles. - Oops! Could not delete profiles. + Oeps! Verwijderen van de profielen is mislukt. apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 56 @@ -6688,7 +6688,7 @@ Table - Table + Tabel apps/client/src/app/components/home-holdings/home-holdings.html 16 @@ -6696,7 +6696,7 @@ Chart - Chart + Grafiek apps/client/src/app/components/home-holdings/home-holdings.html 19 @@ -6704,7 +6704,7 @@ Would you like to refine your personal investment strategy? - Would you like to refine your personal investment strategy? + Wilt u uw persoonlijke belegginngsstrategie verfijnen? apps/client/src/app/pages/public/public-page.html 211 @@ -6712,7 +6712,7 @@ Alternative - Alternative + Alternatief apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 81 @@ -6720,7 +6720,7 @@ App - App + App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 82 @@ -6728,7 +6728,7 @@ Budgeting - Budgeting + Budgetteren apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 83 @@ -6736,7 +6736,7 @@ Community - Community + Gemeenschap apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 84 @@ -6744,7 +6744,7 @@ Family Office - Family Office + Familiekantoor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 85 @@ -6752,7 +6752,7 @@ Investor - Investor + Investeerder apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 88 @@ -6760,7 +6760,7 @@ Open Source - Open Source + Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 89 @@ -6768,7 +6768,7 @@ Personal Finance - Personal Finance + Persoonlijke Financiën apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 91 @@ -6776,7 +6776,7 @@ Privacy - Privacy + Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 92 @@ -6784,7 +6784,7 @@ Software - Software + Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 94 @@ -6792,7 +6792,7 @@ Tool - Tool + Hulpmiddel apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 95 @@ -6800,7 +6800,7 @@ User Experience - User Experience + Gebruikers Ervaring apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 96 @@ -6808,7 +6808,7 @@ Wealth - Wealth + Vermogen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 97 @@ -6816,7 +6816,7 @@ Wealth Management - Wealth Management + Vermogensbeheer apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts 98 @@ -6824,7 +6824,7 @@ Australia - Australia + Australië libs/ui/src/lib/i18n.ts 74 @@ -6832,7 +6832,7 @@ Austria - Austria + Oostenrijk libs/ui/src/lib/i18n.ts 75 @@ -6840,7 +6840,7 @@ Belgium - Belgium + België libs/ui/src/lib/i18n.ts 76 @@ -6848,7 +6848,7 @@ Bulgaria - Bulgaria + Bulgarije libs/ui/src/lib/i18n.ts 78 @@ -6856,7 +6856,7 @@ Canada - Canada + Canada libs/ui/src/lib/i18n.ts 79 @@ -6864,7 +6864,7 @@ Czech Republic - Czech Republic + Tsjechische Republiek libs/ui/src/lib/i18n.ts 80 @@ -6872,7 +6872,7 @@ Finland - Finland + Finland libs/ui/src/lib/i18n.ts 81 @@ -6880,7 +6880,7 @@ France - France + Frankrijk libs/ui/src/lib/i18n.ts 82 @@ -6888,7 +6888,7 @@ Germany - Germany + Duitsland libs/ui/src/lib/i18n.ts 83 @@ -6896,7 +6896,7 @@ India - India + India libs/ui/src/lib/i18n.ts 84 @@ -6904,7 +6904,7 @@ Italy - Italy + Italië libs/ui/src/lib/i18n.ts 85 @@ -6912,7 +6912,7 @@ Netherlands - Netherlands + Nederland libs/ui/src/lib/i18n.ts 87 @@ -6920,7 +6920,7 @@ New Zealand - New Zealand + Nieuw-Zeeland libs/ui/src/lib/i18n.ts 88 @@ -6928,7 +6928,7 @@ Poland - Poland + Polen libs/ui/src/lib/i18n.ts 89 @@ -6936,7 +6936,7 @@ Romania - Romania + Roemenië libs/ui/src/lib/i18n.ts 90 @@ -6944,7 +6944,7 @@ South Africa - South Africa + Zuid-Afrika libs/ui/src/lib/i18n.ts 92 @@ -6952,7 +6952,7 @@ Thailand - Thailand + Thailand libs/ui/src/lib/i18n.ts 94 @@ -6960,7 +6960,7 @@ United States - United States + Verenigde Station libs/ui/src/lib/i18n.ts 97 @@ -6968,7 +6968,7 @@ Error - Error + Fout apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 527 @@ -6976,7 +6976,7 @@ Deactivate - Deactivate + Deactiveren apps/client/src/app/components/rule/rule.component.html 72 @@ -6984,7 +6984,7 @@ Activate - Activate + Activeren apps/client/src/app/components/rule/rule.component.html 74 @@ -6992,7 +6992,7 @@ Inactive - Inactive + Inactief apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 232 @@ -7000,7 +7000,7 @@ Cancel - Cancel + Annuleren libs/ui/src/lib/i18n.ts 9 @@ -7008,7 +7008,7 @@ Close - Close + Sluiten libs/ui/src/lib/i18n.ts 11 @@ -7016,7 +7016,7 @@ Yes - Yes + Ja libs/ui/src/lib/i18n.ts 32 @@ -7024,7 +7024,7 @@ Copy link to clipboard - Copy link to clipboard + Kopieer link naar klembord apps/client/src/app/components/access-table/access-table.component.html 70 @@ -7032,7 +7032,7 @@ Portfolio Snapshot - Portfolio Snapshot + Portfolio Momentopname apps/client/src/app/components/admin-jobs/admin-jobs.html 39 @@ -7040,7 +7040,7 @@ Change with currency effect Change - Change with currency effect Change + Verandering met valuta effect Verandering apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 50 @@ -7048,7 +7048,7 @@ Performance with currency effect Performance - Performance with currency effect Performance + Prestatie met valuta effect Prestatie apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 69 @@ -7056,7 +7056,7 @@ Threshold Min - Threshold Min + Drempelwaarde Min apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 54 @@ -7064,7 +7064,7 @@ Threshold Max - Threshold Max + Drempelwaarde Max apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 92 @@ -7072,7 +7072,7 @@ Close - Close + Sluiten apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 129 @@ -7080,7 +7080,7 @@ Customize - Customize + Aanpassen apps/client/src/app/components/rule/rule.component.html 67 @@ -7088,7 +7088,7 @@ No auto-renewal. - No auto-renewal. + Geen automatische verlenging. apps/client/src/app/components/user-account-membership/user-account-membership.html 70 @@ -7096,7 +7096,7 @@ Today - Today + Vandaag apps/client/src/app/pages/public/public-page.html 24 @@ -7104,7 +7104,7 @@ This year - This year + Dit jaar apps/client/src/app/pages/public/public-page.html 42 @@ -7112,7 +7112,7 @@ From the beginning - From the beginning + Vanaf het begin apps/client/src/app/pages/public/public-page.html 60 @@ -7120,7 +7120,7 @@ Oops! Invalid currency. - Oops! Invalid currency. + Oeps! Ongeldige valuta. apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 49 @@ -7128,7 +7128,7 @@ This page has been archived. - This page has been archived. + Deze pagina is gearchiveerd. apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 14 @@ -7136,7 +7136,7 @@ is Open Source Software - is Open Source Software + is Open Source Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 139 @@ -7144,7 +7144,7 @@ is not Open Source Software - is not Open Source Software + is geen Open Source Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 146 @@ -7152,7 +7152,7 @@ is Open Source Software - is Open Source Software + is Open Source Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 156 @@ -7160,7 +7160,7 @@ is not Open Source Software - is not Open Source Software + is geen Open Source Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 163 @@ -7168,7 +7168,7 @@ can be self-hosted - can be self-hosted + kan zelf gehost worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 178 @@ -7176,7 +7176,7 @@ cannot be self-hosted - cannot be self-hosted + kan niet zelf gehost worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 185 @@ -7184,7 +7184,7 @@ can be self-hosted - can be self-hosted + kan zelf gehost worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 195 @@ -7192,7 +7192,7 @@ cannot be self-hosted - cannot be self-hosted + kan niet zelf gehost worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 202 @@ -7200,7 +7200,7 @@ can be used anonymously - can be used anonymously + kan anoniem gebruikt worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 217 @@ -7208,7 +7208,7 @@ cannot be used anonymously - cannot be used anonymously + kan niet anoniem gebruik worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 224 @@ -7216,7 +7216,7 @@ can be used anonymously - can be used anonymously + kan anoniem gebruikt worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 234 @@ -7224,7 +7224,7 @@ cannot be used anonymously - cannot be used anonymously + kan niet anoniem gebruikt worden apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 241 @@ -7232,7 +7232,7 @@ offers a free plan - offers a free plan + biedt een gratis abonnement aan apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 256 @@ -7240,7 +7240,7 @@ does not offer a free plan - does not offer a free plan + biedt geen gratis abonnement aan apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 263 @@ -7248,7 +7248,7 @@ offers a free plan - offers a free plan + biedt een gratis abonnement aan apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 273 @@ -7256,7 +7256,7 @@ does not offer a free plan - does not offer a free plan + biedt geen gratis abonnement aan apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 280 @@ -7264,7 +7264,7 @@ Oops! Could not find any assets. - Oops! Could not find any assets. + Oeps! Kan geen activa vinden. libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html 40 @@ -7272,7 +7272,7 @@ Data Providers - Data Providers + Gegevensleveranciers apps/client/src/app/components/admin-settings/admin-settings.component.html 4 @@ -7280,7 +7280,7 @@ Set API key - Set API key + API-sleutel instellen apps/client/src/app/components/admin-settings/admin-settings.component.html 87 @@ -7288,7 +7288,7 @@ Get access to 80’000+ tickers from over 50 exchanges - Get access to 80’000+ tickers from over 50 exchanges + Krijg toegang tot meer dan 80.000 tickers van meer dan 50 beurzen libs/ui/src/lib/i18n.ts 24 @@ -7296,7 +7296,7 @@ Ukraine - Ukraine + Oekraïne libs/ui/src/lib/i18n.ts 95 @@ -7304,7 +7304,7 @@ Join now - Join now + Word nu lid apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html 110 @@ -7312,7 +7312,7 @@ Glossary - Glossary + Woordenlijst apps/client/src/app/pages/resources/glossary/resources-glossary-routing.module.ts 10 @@ -7324,7 +7324,7 @@ Guides - Guides + Gidsen apps/client/src/app/pages/resources/guides/resources-guides-routing.module.ts 10 @@ -7336,7 +7336,7 @@ guides - guides + gidsen snake-case apps/client/src/app/pages/resources/overview/resources-overview.component.ts @@ -7349,7 +7349,7 @@ glossary - glossary + woordenlijst snake-case apps/client/src/app/pages/resources/overview/resources-overview.component.ts @@ -7362,7 +7362,7 @@ Threshold range - Threshold range + Drempebereik apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html 9 @@ -7370,7 +7370,7 @@ Ghostfolio X-ray uses static analysis to uncover potential issues and risks in your portfolio. Adjust the rules below and set custom thresholds to align with your personal investment strategy. - Ghostfolio X-ray uses static analysis to uncover potential issues and risks in your portfolio. Adjust the rules below and set custom thresholds to align with your personal investment strategy. + Ghostfolio X-ray gebruikt statische analyse om potentiële problemen en risico’s in uw portefeuille te ontdekken. Pas de onderstaande regels aan en stel aangepaste drempelwaarden in die aansluiten bij uw persoonlijke beleggingsstrategie. apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 5 @@ -7378,7 +7378,7 @@ Economic Market Cluster Risks - Economic Market Cluster Risks + Risico’s van Economische Marktclusters apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 165 @@ -7386,7 +7386,7 @@ of - of + van apps/client/src/app/components/admin-settings/admin-settings.component.html 44 @@ -7394,7 +7394,7 @@ daily requests - daily requests + dagelijkse verzoeken apps/client/src/app/components/admin-settings/admin-settings.component.html 46 @@ -7402,7 +7402,7 @@ Remove API key - Remove API key + Verwijder API-sleutel apps/client/src/app/components/admin-settings/admin-settings.component.html 76 @@ -7410,7 +7410,7 @@ Do you really want to delete the API key? - Do you really want to delete the API key? + Wilt u de API-sleutel echt verwijderen? apps/client/src/app/components/admin-settings/admin-settings.component.ts 103 @@ -7418,7 +7418,7 @@ Please enter your Ghostfolio API key: - Please enter your Ghostfolio API key: + Voer uw Ghostfolio API-sleutel in: apps/client/src/app/pages/api/api-page.component.ts 41 @@ -7426,7 +7426,7 @@ I have an API key - I have an API key + Ik heb een API-sleutel apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html 39 @@ -7434,7 +7434,7 @@ API Requests Today - API Requests Today + Aantal API-Verzoeken Vandaag apps/client/src/app/components/admin-users/admin-users.html 178 @@ -7442,7 +7442,7 @@ Could not generate an API key - Could not generate an API key + Er kon geen API-sleutel worden gegenereerd apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 127 @@ -7450,7 +7450,7 @@ Set this API key in your self-hosted environment: - Set this API key in your self-hosted environment: + Stel deze API-sleutel in uw zelf-gehoste omgeving in: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 142 @@ -7458,7 +7458,7 @@ Ghostfolio Premium Data Provider API Key - Ghostfolio Premium Data Provider API Key + Ghostfolio Premium Gegevensleverancier API-sleutel apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 145 @@ -7466,7 +7466,7 @@ Do you really want to generate a new API key? - Do you really want to generate a new API key? + Wilt u echt een nieuwe API-sleutel genereren? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts 150 @@ -7474,7 +7474,7 @@ Tag - Tag + Label libs/ui/src/lib/assistant/assistant.html 157 @@ -7482,7 +7482,7 @@ API Key - API Key + API-sleutel libs/ui/src/lib/membership-card/membership-card.component.html 18 @@ -7490,7 +7490,7 @@ Generate Ghostfolio Premium Data Provider API key for self-hosted environments... - Generate Ghostfolio Premium Data Provider API key for self-hosted environments... + Genereer een Ghostfolio Premium Gegevensleverancier API-sleutel voor zelfgehoste omgevingen... libs/ui/src/lib/membership-card/membership-card.component.html 26 @@ -7498,7 +7498,7 @@ out of - out of + van apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 56 @@ -7506,7 +7506,7 @@ rules align with your portfolio. - rules align with your portfolio. + regels die aansluiten bij uw portefeuille. apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 58 @@ -7514,7 +7514,7 @@ Save - Save + Opslaan apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts 62 @@ -7522,7 +7522,7 @@ Asset Class Cluster Risks - Asset Class Cluster Risks + Activa Klasse Cluster Risico’s apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 117 @@ -7530,7 +7530,7 @@ Me - Me + Ik apps/client/src/app/components/user-account-access/user-account-access.component.ts 135 @@ -7538,7 +7538,7 @@ Received Access - Received Access + Toegang Verkregen apps/client/src/app/components/user-account-access/user-account-access.html 3 @@ -7546,7 +7546,7 @@ Please enter your Ghostfolio API key. - Please enter your Ghostfolio API key. + Voer uw Ghostfolio API-sleutel in. apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts 57 @@ -7554,7 +7554,7 @@ AI prompt has been copied to the clipboard - AI prompt has been copied to the clipboard + AI-prompt is naar het klembord gekopieerd apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 173 @@ -7562,7 +7562,7 @@ Link has been copied to the clipboard - Link has been copied to the clipboard + Link is gekopieerd naar klemboord apps/client/src/app/components/access-table/access-table.component.ts 65 @@ -7570,7 +7570,7 @@ Early Access - Early Access + Vroege Toegang apps/client/src/app/components/admin-settings/admin-settings.component.html 27 @@ -7578,7 +7578,7 @@ Regional Market Cluster Risks - Regional Market Cluster Risks + Regionale Markt Clusterrisico’s apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html 189 @@ -7602,7 +7602,7 @@ Default Market Price - Default Market Price + Standaard Marktprijs apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 386 @@ -7610,7 +7610,7 @@ Mode - Mode + Modus apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 423 @@ -7626,7 +7626,7 @@ HTTP Request Headers - HTTP Request Headers + HTTP Verzoek Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 399 @@ -7634,7 +7634,7 @@ end of day - end of day + eind van de dag apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 138 @@ -7642,7 +7642,7 @@ real-time - real-time + real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 142 @@ -7650,7 +7650,7 @@ Open Duck.ai - Open Duck.ai + Open Duck.ai apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 174 @@ -7658,7 +7658,7 @@ Create - Create + Nieuw libs/ui/src/lib/tags-selector/tags-selector.component.html 50 @@ -7666,7 +7666,7 @@ Market Data - Market Data + Markt Gegevens apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 374 @@ -7674,7 +7674,7 @@ Change - Change + Aanpassen libs/ui/src/lib/treemap-chart/treemap-chart.component.ts 365 @@ -7682,7 +7682,7 @@ Performance - Performance + Prestatie libs/ui/src/lib/treemap-chart/treemap-chart.component.ts 365 @@ -7694,7 +7694,7 @@ Copy portfolio data to clipboard for AI prompt - Copy portfolio data to clipboard for AI prompt + Kopieer portfolio gegevens naar klemboord voor AI-prompt apps/client/src/app/pages/portfolio/analysis/analysis-page.html 42 @@ -7702,7 +7702,7 @@ Copy AI prompt to clipboard for analysis - Copy AI prompt to clipboard for analysis + Kopieer AI-prompt naar klemboord voor analyse apps/client/src/app/pages/portfolio/analysis/analysis-page.html 67 @@ -7710,7 +7710,7 @@ Armenia - Armenia + Armenië libs/ui/src/lib/i18n.ts 73 @@ -7718,7 +7718,7 @@ British Virgin Islands - British Virgin Islands + Britse Maagdeneilanden libs/ui/src/lib/i18n.ts 77 @@ -7726,7 +7726,7 @@ Singapore - Singapore + Singapore libs/ui/src/lib/i18n.ts 91 @@ -7734,7 +7734,7 @@ Terms and Conditions - Terms and Conditions + Algemene Voorwaarden apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 15 @@ -7742,7 +7742,7 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. - Please keep your security token safe. If you lose it, you will not be able to recover your account. + Bewaar uw beveiligingstoken goed. Als u deze verliest, kunt u uw account niet meer herstellen. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 18 @@ -7750,7 +7750,7 @@ I understand that if I lose my security token, I cannot recover my account - I understand that if I lose my security token, I cannot recover my account + Ik begrijp dat als ik mijn beveiligingstoken verlies, ik mijn account niet kan herstellen apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 28 @@ -7758,7 +7758,7 @@ Continue - Continue + Doorgaan apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 57 @@ -7766,7 +7766,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. - Here is your security token. It is only visible once, please store and keep it in a safe place. + Hier is uw beveiligingstoken. Deze is slechts één keer zichtbaar, bewaar hem op een veilige plaats. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 67 @@ -7774,7 +7774,7 @@ Security token - Security token + Beveiligingstoken apps/client/src/app/components/admin-users/admin-users.component.ts 163 @@ -7782,7 +7782,7 @@ Do you really want to generate a new security token for this user? - Do you really want to generate a new security token for this user? + Wilt u echt een nieuw beveiligingstoken voor deze gebruiker aanmaken? apps/client/src/app/components/admin-users/admin-users.component.ts 168 @@ -7790,7 +7790,7 @@ Generate Security Token - Generate Security Token + Beveiligingstoken Aanmaken apps/client/src/app/components/admin-users/admin-users.html 249 @@ -7798,7 +7798,7 @@ United Kingdom - United Kingdom + Verenigd Koninkrijk libs/ui/src/lib/i18n.ts 96 @@ -7806,7 +7806,7 @@ Terms of Service - Terms of Service + Servicevoorwaarden apps/client/src/app/app.component.html 112 @@ -7814,7 +7814,7 @@ terms-of-service - terms-of-service + servicevoorwaarden snake-case apps/client/src/app/app.component.ts @@ -7835,7 +7835,7 @@ Terms of Service - Terms of Service + Servicevoorwaarden apps/client/src/app/pages/about/about-page.component.ts 71 @@ -7847,7 +7847,7 @@ Terms of Service - Terms of Service + Servicevoorwaarden apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html 4 @@ -7855,7 +7855,7 @@ and I agree to the Terms of Service. - and I agree to the Terms of Service. + en ik ga akkoord met de Servicevoorwaarden. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 34 @@ -7863,7 +7863,7 @@ () is already in use. - () is already in use. + () is al in gebruik. apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 462 @@ -7871,7 +7871,7 @@ An error occurred while updating to (). - An error occurred while updating to (). + Er is een fout opgetreden tijdens het updaten naar (). apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 470 @@ -7879,7 +7879,7 @@ Apply - Apply + Toepassen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 138 @@ -7887,7 +7887,7 @@ with API access for - with API access for + met API toegang tot apps/client/src/app/pages/pricing/pricing-page.html 266 @@ -7895,7 +7895,7 @@ Gather Recent Historical Market Data - Gather Recent Historical Market Data + Verzamel Recente Marktgegevens apps/client/src/app/components/admin-market-data/admin-market-data.html 226 @@ -7903,7 +7903,7 @@ Gather All Historical Market Data - Gather All Historical Market Data + Verzamel Alle Marktgegevens apps/client/src/app/components/admin-market-data/admin-market-data.html 231 @@ -7911,7 +7911,7 @@ Gather Historical Market Data - Gather Historical Market Data + Verzamel Historische Marktgegevens apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 29 @@ -7919,7 +7919,7 @@ Data Gathering is off - Data Gathering is off + Gegevensverzameling is uitgeschakeld apps/client/src/app/components/admin-market-data/admin-market-data.html 38 @@ -7927,7 +7927,7 @@ Performance Calculation - Performance Calculation + Prestatieberekening apps/client/src/app/components/user-account-settings/user-account-settings.html 31 @@ -7943,7 +7943,7 @@ Add asset to watchlist - Add asset to watchlist + Voeg activa toe aan de volglijst apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html 7 @@ -7951,7 +7951,7 @@ Watchlist - Watchlist + Volglijst apps/client/src/app/components/home-watchlist/home-watchlist.html 4 @@ -7963,7 +7963,7 @@ Watchlist - Watchlist + Volglijst apps/client/src/app/pages/home/home-page-routing.module.ts 44 @@ -7975,7 +7975,7 @@ Get Early Access - Get Early Access + Krijg Vroegtijdige Toegang apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html 29 @@ -7983,7 +7983,7 @@ Do you really want to delete this item? - Do you really want to delete this item? + Wilt u dit item echt verwijderen? libs/ui/src/lib/benchmark/benchmark.component.ts 122 @@ -7991,7 +7991,7 @@ Log out - Log out + Uitloggen apps/client/src/app/components/header/header.component.html 315 From e97757631b034dc7a4bb3654287bc08c50f207aa Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 14 May 2025 22:52:11 +0200 Subject: [PATCH 09/14] Feature/add missing types of impersonationId in controllers (#4691) * Add missing types --- apps/api/src/app/account/account.controller.ts | 4 ++-- apps/api/src/app/order/order.controller.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/api/src/app/account/account.controller.ts b/apps/api/src/app/account/account.controller.ts index 8512d8409..1d8f9ab27 100644 --- a/apps/api/src/app/account/account.controller.ts +++ b/apps/api/src/app/account/account.controller.ts @@ -87,7 +87,7 @@ export class AccountController { @UseInterceptors(RedactValuesInResponseInterceptor) @UseInterceptors(TransformDataSourceInRequestInterceptor) public async getAllAccounts( - @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId, + @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, @Query('dataSource') filterByDataSource?: string, @Query('symbol') filterBySymbol?: string ): Promise { @@ -110,7 +110,7 @@ export class AccountController { @UseGuards(AuthGuard('jwt'), HasPermissionGuard) @UseInterceptors(RedactValuesInResponseInterceptor) public async getAccountById( - @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId, + @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, @Param('id') id: string ): Promise { const impersonationUserId = diff --git a/apps/api/src/app/order/order.controller.ts b/apps/api/src/app/order/order.controller.ts index 907335aa0..2c4a58596 100644 --- a/apps/api/src/app/order/order.controller.ts +++ b/apps/api/src/app/order/order.controller.ts @@ -97,7 +97,7 @@ export class OrderController { @UseInterceptors(TransformDataSourceInRequestInterceptor) @UseInterceptors(TransformDataSourceInResponseInterceptor) public async getAllOrders( - @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId, + @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, @Query('accounts') filterByAccounts?: string, @Query('assetClasses') filterByAssetClasses?: string, @Query('dataSource') filterByDataSource?: string, @@ -150,7 +150,7 @@ export class OrderController { @UseInterceptors(RedactValuesInResponseInterceptor) @UseInterceptors(TransformDataSourceInResponseInterceptor) public async getOrderById( - @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId, + @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, @Param('id') id: string ): Promise { const impersonationUserId = From 895a6214c7c85e3a25adb9209c742b1f64d49c62 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 23:29:32 +0200 Subject: [PATCH 10/14] Feature/update locales (#4718) Co-authored-by: github-actions[bot] --- apps/client/src/locales/messages.nl.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 9eb4bef14..1099d5235 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -6376,7 +6376,7 @@ If you retire today, you would be able to withdraw per year or per month, based on your total assets of and a withdrawal rate of 4%. - Als u vandaag met pensioen zou gaan, kunt u per jaar or per maand opnemen, gebaseerd op uw totale vermogen van en een opnamepercentage van 4%. + Als u vandaag met pensioen zou gaan, kunt u per jaar or per maand opnemen, gebaseerd op uw totale vermogen van en een opnamepercentage van 4%. apps/client/src/app/pages/portfolio/fire/fire-page.html 67 From 1697b7e1e00ce1f403e4de680a35ab2c7d66487f Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Thu, 15 May 2025 16:56:05 +0200 Subject: [PATCH 11/14] Feature/remove unused Order model (#4690) * Remove unused Order model --- apps/api/src/models/order.ts | 83 ------------------- .../api/src/services/interfaces/interfaces.ts | 21 +---- 2 files changed, 1 insertion(+), 103 deletions(-) delete mode 100644 apps/api/src/models/order.ts diff --git a/apps/api/src/models/order.ts b/apps/api/src/models/order.ts deleted file mode 100644 index 6e6762101..000000000 --- a/apps/api/src/models/order.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { IOrder } from '@ghostfolio/api/services/interfaces/interfaces'; - -import { Account, SymbolProfile, Type as ActivityType } from '@prisma/client'; -import { v4 as uuidv4 } from 'uuid'; - -export class Order { - private account: Account; - private currency: string; - private fee: number; - private date: string; - private id: string; - private isDraft: boolean; - private quantity: number; - private symbol: string; - private symbolProfile: SymbolProfile; - private total: number; - private type: ActivityType; - private unitPrice: number; - - public constructor(data: IOrder) { - this.account = data.account; - this.currency = data.currency; - this.fee = data.fee; - this.date = data.date; - this.id = data.id || uuidv4(); - this.isDraft = data.isDraft; - this.quantity = data.quantity; - this.symbol = data.symbol; - this.symbolProfile = data.symbolProfile; - this.type = data.type; - this.unitPrice = data.unitPrice; - - this.total = this.quantity * data.unitPrice; - } - - public getAccount() { - return this.account; - } - - public getCurrency() { - return this.currency; - } - - public getDate() { - return this.date; - } - - public getFee() { - return this.fee; - } - - public getId() { - return this.id; - } - - public getIsDraft() { - return this.isDraft; - } - - public getQuantity() { - return this.quantity; - } - - public getSymbol() { - return this.symbol; - } - - getSymbolProfile() { - return this.symbolProfile; - } - - public getTotal() { - return this.total; - } - - public getType() { - return this.type; - } - - public getUnitPrice() { - return this.unitPrice; - } -} diff --git a/apps/api/src/services/interfaces/interfaces.ts b/apps/api/src/services/interfaces/interfaces.ts index fa7fc4d09..0eaa149a3 100644 --- a/apps/api/src/services/interfaces/interfaces.ts +++ b/apps/api/src/services/interfaces/interfaces.ts @@ -4,26 +4,7 @@ import { } from '@ghostfolio/common/interfaces'; import { MarketState } from '@ghostfolio/common/types'; -import { - Account, - DataSource, - SymbolProfile, - Type as ActivityType -} from '@prisma/client'; - -export interface IOrder { - account: Account; - currency: string; - date: string; - fee: number; - id?: string; - isDraft: boolean; - quantity: number; - symbol: string; - symbolProfile: SymbolProfile; - type: ActivityType; - unitPrice: number; -} +import { DataSource } from '@prisma/client'; export interface IDataProviderHistoricalResponse { marketPrice: number; From ccbf958aa653e6f26be90b7b7f4333742338bc73 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 16 May 2025 20:16:24 +0200 Subject: [PATCH 12/14] Feature/upgrade countup.js to version 2.8.2 (#4708) * Upgrade countup.js to version 2.8.2 * Update changelog --- CHANGELOG.md | 1 + package-lock.json | 8 ++++---- package.json | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a60ad6fa..c9b2ba32f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the language localization for Dutch (`nl`) - Improved the language localization for German (`de`) - Improved the language localization for Italian (`it`) +- Upgraded `countup.js` from version `2.8.0` to `2.8.2` - Upgraded `nestjs` from version `10.4.15` to `11.0.12` - Upgraded `yahoo-finance2` from version `2.11.3` to `3.3.1` diff --git a/package-lock.json b/package-lock.json index 52924f839..b2e0f3b9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,7 +61,7 @@ "color": "5.0.0", "countries-and-timezones": "3.7.2", "countries-list": "3.1.1", - "countup.js": "2.8.0", + "countup.js": "2.8.2", "date-fns": "4.1.0", "envalid": "8.0.0", "google-spreadsheet": "3.2.0", @@ -16965,9 +16965,9 @@ "license": "MIT" }, "node_modules/countup.js": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz", - "integrity": "sha512-f7xEhX0awl4NOElHulrl4XRfKoNH3rB+qfNSZZyjSZhaAoUk6elvhH+MNxMmlmuUJ2/QNTWPSA7U4mNtIAKljQ==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.2.tgz", + "integrity": "sha512-UtRoPH6udaru/MOhhZhI/GZHJKAyAxuKItD2Tr7AbrqrOPBX/uejWBBJt8q86169AMqKkE9h9/24kFWbUk/Bag==", "license": "MIT" }, "node_modules/create-jest": { diff --git a/package.json b/package.json index 51b592245..a995a8a47 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "color": "5.0.0", "countries-and-timezones": "3.7.2", "countries-list": "3.1.1", - "countup.js": "2.8.0", + "countup.js": "2.8.2", "date-fns": "4.1.0", "envalid": "8.0.0", "google-spreadsheet": "3.2.0", From 698d71fb3a6e75a9b223d2e018d1f7d15227765a Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 17 May 2025 19:39:48 +0200 Subject: [PATCH 13/14] Feature/restrict permissions of demo user (#4697) * Restrict permissions of demo user * Update changelog --- CHANGELOG.md | 1 + apps/api/src/app/user/user.service.ts | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9b2ba32f..f509061ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Harmonized the data providers management style of the admin control panel +- Restricted the permissions of the demo user - Renamed `Order` to `activities` in the `User` database schema - Improved the language localization for Catalan (`ca`) - Improved the language localization for Chinese (`zh`) diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index cf55b8862..87c82fa0b 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -394,9 +394,11 @@ export class UserService { // Reset holdings view mode user.Settings.settings.holdingsViewMode = undefined; } else if (user.subscription?.type === 'Premium') { - currentPermissions.push(permissions.createApiKey); - currentPermissions.push(permissions.enableDataProviderGhostfolio); - currentPermissions.push(permissions.reportDataGlitch); + if (!hasRole(user, Role.DEMO)) { + currentPermissions.push(permissions.createApiKey); + currentPermissions.push(permissions.enableDataProviderGhostfolio); + currentPermissions.push(permissions.reportDataGlitch); + } currentPermissions = without( currentPermissions, From af79888cd6cdd3849075b9f58395cf42d79aa928 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 18 May 2025 11:54:53 +0200 Subject: [PATCH 14/14] Feature/add asset profile count to data providers management of admin control (#4707) * Extend admin settings columns * assetProfileCount * status * Update changelog --- CHANGELOG.md | 1 + .../admin-platform.component.html | 201 ++++++++---------- .../admin-settings.component.html | 42 +++- .../admin-settings.component.scss | 12 ++ .../admin-settings.component.ts | 2 +- .../admin-settings/admin-settings.module.ts | 2 + .../admin-tag/admin-tag.component.html | 187 ++++++++-------- 7 files changed, 223 insertions(+), 224 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f509061ee..e140bef44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Harmonized the data providers management style of the admin control panel +- Extended the data providers management of the admin control panel by the asset profile count - Restricted the permissions of the demo user - Renamed `Order` to `activities` in the `User` database schema - Improved the language localization for Catalan (`ca`) diff --git a/apps/client/src/app/components/admin-platform/admin-platform.component.html b/apps/client/src/app/components/admin-platform/admin-platform.component.html index c71594e45..47fee3c8a 100644 --- a/apps/client/src/app/components/admin-platform/admin-platform.component.html +++ b/apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1,115 +1,94 @@ -
    -
    -
    - - - - - + +
    - Name - - @if (element.url) { - - } - {{ element.name }} -
    + + + - - - - + + + + - - - - + + + + - - - - + + + + - - -
    + Name + + @if (element.url) { + + } + {{ element.name }} + - Url - - {{ element.url }} - + Url + + {{ element.url }} + - Accounts - - {{ element.accountCount }} - + Accounts + + {{ element.accountCount }} + - - - -
    - -
    -
    + + + +
    + +
    +
    -
    -
    -
    + + + diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.html b/apps/client/src/app/components/admin-settings/admin-settings.component.html index 997d34aa5..2dcdefdd0 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.html +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.html @@ -38,14 +38,6 @@ }}
    -
    - - {{ ghostfolioApiStatus.dailyRequests }} - of - {{ ghostfolioApiStatus.dailyRequestsMax }} - daily requests - -
    } } @else { {{ element.name }} @@ -55,6 +47,40 @@ + + + Asset Profiles + + + {{ element.assetProfileCount }} + + + + + + + @if (isGhostfolioDataProvider(element)) { + @if (isGhostfolioApiKeyValid === true) { + + + {{ ghostfolioApiStatus.dailyRequests }} + of + {{ ghostfolioApiStatus.dailyRequestsMax }} + daily requests + + } + } + + + diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.scss b/apps/client/src/app/components/admin-settings/admin-settings.component.scss index 5d4e87f30..c08ba95bc 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.scss +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.scss @@ -1,3 +1,15 @@ :host { display: block; + + .mat-mdc-progress-bar { + --mdc-linear-progress-active-indicator-height: 0.5rem; + --mdc-linear-progress-track-height: 0.5rem; + border-radius: 0.25rem; + + ::ng-deep { + .mdc-linear-progress__buffer-bar { + background-color: rgb(var(--palette-background-unselected-chip)); + } + } + } } diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.ts b/apps/client/src/app/components/admin-settings/admin-settings.component.ts index f18e49d10..5c071c60c 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.ts +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -39,7 +39,7 @@ import { GhostfolioPremiumApiDialogParams } from './ghostfolio-premium-api-dialo export class AdminSettingsComponent implements OnDestroy, OnInit { public dataSource = new MatTableDataSource(); public defaultDateFormat: string; - public displayedColumns = ['name', 'actions']; + public displayedColumns = ['name', 'assetProfileCount', 'status', 'actions']; public ghostfolioApiStatus: DataProviderGhostfolioStatusResponse; public isGhostfolioApiKeyValid: boolean; public isLoading = false; diff --git a/apps/client/src/app/components/admin-settings/admin-settings.module.ts b/apps/client/src/app/components/admin-settings/admin-settings.module.ts index c5148f681..706f20a87 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.module.ts +++ b/apps/client/src/app/components/admin-settings/admin-settings.module.ts @@ -7,6 +7,7 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatMenuModule } from '@angular/material/menu'; +import { MatProgressBarModule } from '@angular/material/progress-bar'; import { MatTableModule } from '@angular/material/table'; import { RouterModule } from '@angular/router'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; @@ -23,6 +24,7 @@ import { AdminSettingsComponent } from './admin-settings.component'; GfPremiumIndicatorComponent, MatButtonModule, MatMenuModule, + MatProgressBarModule, MatTableModule, NgxSkeletonLoaderModule, RouterModule diff --git a/apps/client/src/app/components/admin-tag/admin-tag.component.html b/apps/client/src/app/components/admin-tag/admin-tag.component.html index f69579ab8..5979d2778 100644 --- a/apps/client/src/app/components/admin-tag/admin-tag.component.html +++ b/apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1,108 +1,87 @@ -
    -
    -
    - - - - - - + +
    - Name - - {{ element.name }} -
    + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - -
    + Name + + {{ element.name }} + - User - - {{ element.userId }} - + User + + {{ element.userId }} + - Activities - - {{ element.activityCount }} - + Activities + + {{ element.activityCount }} + - - - -
    - -
    -
    + + + +
    + +
    +
    -
    -
    -
    + + +