Browse Source

Merge branch 'ghostfolio:main' into bugfix/improve-portfolio-calc

pull/5130/head
Kenrick Tandrian 1 month ago
committed by GitHub
parent
commit
2f77caa215
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      CHANGELOG.md
  2. 16
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  3. 4
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
  4. 20
      apps/client/src/locales/messages.ca.xlf
  5. 38
      apps/client/src/locales/messages.es.xlf
  6. 26
      apps/client/src/locales/messages.tr.xlf

2
CHANGELOG.md

@ -9,9 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ### Changed
- Improved the asset profile dialog’s data gathering checkbox of the admin control panel to reflect the global settings
- Improved the language localization for Catalan (`ca`) - Improved the language localization for Catalan (`ca`)
- Improved the language localization for Portuguese (`pt`) - Improved the language localization for Portuguese (`pt`)
- Improved the language localization for Spanish (`es`) - Improved the language localization for Spanish (`es`)
- Improved the language localization for Turkish (`tr`)
## 2.180.0 - 2025-07-08 ## 2.180.0 - 2025-07-08

16
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts

@ -5,7 +5,10 @@ import { AdminService } from '@ghostfolio/client/services/admin.service';
import { DataService } from '@ghostfolio/client/services/data.service'; import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service'; import { UserService } from '@ghostfolio/client/services/user/user.service';
import { validateObjectForForm } from '@ghostfolio/client/util/form.util'; import { validateObjectForForm } from '@ghostfolio/client/util/form.util';
import { ghostfolioScraperApiSymbolPrefix } from '@ghostfolio/common/config'; import {
ghostfolioScraperApiSymbolPrefix,
PROPERTY_IS_DATA_GATHERING_ENABLED
} from '@ghostfolio/common/config';
import { DATE_FORMAT } from '@ghostfolio/common/helper'; import { DATE_FORMAT } from '@ghostfolio/common/helper';
import { import {
AdminMarketDataDetails, AdminMarketDataDetails,
@ -133,6 +136,7 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
public ghostfolioScraperApiSymbolPrefix = ghostfolioScraperApiSymbolPrefix; public ghostfolioScraperApiSymbolPrefix = ghostfolioScraperApiSymbolPrefix;
public historicalDataItems: LineChartItem[]; public historicalDataItems: LineChartItem[];
public isBenchmark = false; public isBenchmark = false;
public isDataGatheringEnabled: boolean;
public isEditAssetProfileIdentifierMode = false; public isEditAssetProfileIdentifierMode = false;
public marketDataItems: MarketData[] = []; public marketDataItems: MarketData[] = [];
@ -196,6 +200,16 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
public initialize() { public initialize() {
this.historicalDataItems = undefined; this.historicalDataItems = undefined;
this.adminService
.fetchAdminData()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ settings }) => {
this.isDataGatheringEnabled =
settings[PROPERTY_IS_DATA_GATHERING_ENABLED] === false ? false : true;
this.changeDetectorRef.markForCheck();
});
this.userService.stateChanged this.userService.stateChanged
.pipe(takeUntil(this.unsubscribeSubject)) .pipe(takeUntil(this.unsubscribeSubject))
.subscribe((state) => { .subscribe((state) => {

4
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

@ -534,8 +534,8 @@
<div class="gf-spacer"> <div class="gf-spacer">
<mat-checkbox <mat-checkbox
color="primary" color="primary"
[checked]="assetProfile?.isActive ?? false" [checked]="isDataGatheringEnabled && (assetProfile?.isActive ?? false)"
[disabled]="isEditAssetProfileIdentifierMode" [disabled]="!isDataGatheringEnabled || isEditAssetProfileIdentifierMode"
(change)="onToggleIsActive($event)" (change)="onToggleIsActive($event)"
> >
<ng-container i18n>Data Gathering</ng-container> <ng-container i18n>Data Gathering</ng-container>

20
apps/client/src/locales/messages.ca.xlf

@ -4921,7 +4921,7 @@
</trans-unit> </trans-unit>
<trans-unit id="cf087e9f8728da2befde9cc29fa65c70d5f8edc4" datatype="html"> <trans-unit id="cf087e9f8728da2befde9cc29fa65c70d5f8edc4" datatype="html">
<source> If you prefer to run Ghostfolio on your own infrastructure, please find the source code and further instructions on <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. </source> <source> If you prefer to run Ghostfolio on your own infrastructure, please find the source code and further instructions on <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. </source>
<target state="new"> If you prefer to run Ghostfolio on your own infrastructure, please find the source code and further instructions on <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. </target> <target state="translated">Si prefereixes executar Ghostfolio a la teva pròpia infraestructura, consulta el codi font i les instruccions a <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">12</context> <context context-type="linenumber">12</context>
@ -5081,7 +5081,7 @@
</trans-unit> </trans-unit>
<trans-unit id="a4a68fbb5bf56e4bccaf5e73ba2d9567f754e7ca" datatype="html"> <trans-unit id="a4a68fbb5bf56e4bccaf5e73ba2d9567f754e7ca" datatype="html">
<source> Hello, <x id="INTERPOLATION" equiv-text="{{ publicPortfolioDetails?.alias ?? defaultAlias }}"/> has shared a <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Portfolio<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> with you! </source> <source> Hello, <x id="INTERPOLATION" equiv-text="{{ publicPortfolioDetails?.alias ?? defaultAlias }}"/> has shared a <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Portfolio<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> with you! </source>
<target state="new"> Hello, <x id="INTERPOLATION" equiv-text="{{ publicPortfolioDetails?.alias ?? defaultAlias }}"/> has shared a <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Portfolio<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> with you! </target> <target state="translated">Hola, <x id="INTERPOLATION" equiv-text="{{ publicPortfolioDetails?.alias ?? defaultAlias }}"/> ha compartit un <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Portafoli<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> amb tu!</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">4</context> <context context-type="linenumber">4</context>
@ -5105,7 +5105,7 @@
</trans-unit> </trans-unit>
<trans-unit id="8e82d0437ea637850bb6cb99332b72422c723aae" datatype="html"> <trans-unit id="8e82d0437ea637850bb6cb99332b72422c723aae" datatype="html">
<source> Would you like to <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refine<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> your <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>personal investment strategy<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>? </source> <source> Would you like to <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refine<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> your <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>personal investment strategy<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>? </source>
<target state="new"> Would you like to <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refine<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> your <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>personal investment strategy<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>? </target> <target state="translated">Vols <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refinar<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> la teva <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>estratègia d’inversió personal<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context> <context context-type="linenumber">211</context>
@ -5182,7 +5182,7 @@
</trans-unit> </trans-unit>
<trans-unit id="a92a0e8a2e70e4a0735b714680629187d2b6f23e" datatype="html"> <trans-unit id="a92a0e8a2e70e4a0735b714680629187d2b6f23e" datatype="html">
<source> This overview page features a curated collection of personal finance tools compared to the open source alternative <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. </source> <source> This overview page features a curated collection of personal finance tools compared to the open source alternative <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. </source>
<target state="new"> This overview page features a curated collection of personal finance tools compared to the open source alternative <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. </target> <target state="translated">Aquesta pàgina de resum presenta una selecció acurada d’eines de finances personals comparades amb l’alternativa de codi obert <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. Si valores la transparència, la privadesa de dades i la col·laboració comunitària, Ghostfolio t’ofereix una excel·lent oportunitat per prendre el control de la teva gestió financera.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context>
<context context-type="linenumber">8</context> <context context-type="linenumber">8</context>
@ -5238,7 +5238,7 @@
</trans-unit> </trans-unit>
<trans-unit id="1800c29bad68f121c80fc8581f6b1f07b5a5a2ca" datatype="html"> <trans-unit id="1800c29bad68f121c80fc8581f6b1f07b5a5a2ca" datatype="html">
<source> Are you looking for an open source alternative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>? <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a <x id="START_LINK_1" equiv-text="&lt;a [routerLink]=&quot;routerLinkFeatures&quot; &gt;"/>wide range of functionalities<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> to help you make informed decisions and take control of your financial future. </source> <source> Are you looking for an open source alternative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>? <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a <x id="START_LINK_1" equiv-text="&lt;a [routerLink]=&quot;routerLinkFeatures&quot; &gt;"/>wide range of functionalities<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> to help you make informed decisions and take control of your financial future. </source>
<target state="new"> Are you looking for an open source alternative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>? <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a <x id="START_LINK_1" equiv-text="&lt;a [routerLink]=&quot;routerLinkFeatures&quot; &gt;"/>wide range of functionalities<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> to help you make informed decisions and take control of your financial future. </target> <target state="translated">Estàs buscant una alternativa de codi obert a <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>? <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> és una potent eina de gestió de portafolis que proporciona a les persones una plataforma completa per fer el seguiment, analitzar i optimitzar les seves inversions. Tant si ets un inversor amb experiència com si tot just comences, Ghostfolio ofereix una interfície intuïtiva i una <x id="START_LINK_1" equiv-text="&lt;a [routerLink]=&quot;routerLinkFeatures&quot; &gt;"/>àmplia gamma de funcionalitats<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/> per ajudar-te a prendre decisions informades i a prendre el control del teu futur financer.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">18</context> <context context-type="linenumber">18</context>
@ -5246,7 +5246,7 @@
</trans-unit> </trans-unit>
<trans-unit id="2d66779e125a3e4e53fc001b8faf70864231082c" datatype="html"> <trans-unit id="2d66779e125a3e4e53fc001b8faf70864231082c" datatype="html">
<source> Ghostfolio is an open source software (OSS), providing a cost-effective alternative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> making it particularly suitable for individuals on a tight budget, such as those <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;../en/blog/2023/07/exploring-the-path-to-fire&quot; &gt;"/>pursuing Financial Independence, Retire Early (FIRE)<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/>. By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. </source> <source> Ghostfolio is an open source software (OSS), providing a cost-effective alternative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> making it particularly suitable for individuals on a tight budget, such as those <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;../en/blog/2023/07/exploring-the-path-to-fire&quot; &gt;"/>pursuing Financial Independence, Retire Early (FIRE)<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/>. By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. </source>
<target state="new"> Ghostfolio is an open source software (OSS), providing a cost-effective alternative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> making it particularly suitable for individuals on a tight budget, such as those <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;../en/blog/2023/07/exploring-the-path-to-fire&quot; &gt;"/>pursuing Financial Independence, Retire Early (FIRE)<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/>. By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. </target> <target state="translated">Ghostfolio és un programari de codi obert (OSS), que proporciona una alternativa rendible a <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>, especialment adequada per a persones amb un pressupost ajustat, com ara aquelles que <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;../en/blog/2023/07/exploring-the-path-to-fire&quot; &gt;"/>segueixen el camí cap a la independència financera i jubilació anticipada (FIRE)<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/>. Mitjançant els esforços col·lectius d’una comunitat de desenvolupadors i apassionats de les finances personals, Ghostfolio millora contínuament les seves capacitats, la seva seguretat i l’experiència d’usuari.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
@ -5254,7 +5254,7 @@
</trans-unit> </trans-unit>
<trans-unit id="e8c5f8fe4c44fa8c6df595290d1597849a10634f" datatype="html"> <trans-unit id="e8c5f8fe4c44fa8c6df595290d1597849a10634f" datatype="html">
<source> Let’s dive deeper into the detailed Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>. 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. </source> <source> Let’s dive deeper into the detailed Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>. 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. </source>
<target state="new"> Let’s dive deeper into the detailed Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>. 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. </target> <target state="translated">Explorem en profunditat la taula comparativa detallada de Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> que trobaràs a continuació per entendre a fons com es posiciona Ghostfolio en relació amb <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/>. Analitzarem diversos aspectes com ara funcionalitats, privadesa de dades, preus i molt més, per tal que puguis prendre una decisió ben informada segons les teves necessitats personals.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">43</context>
@ -5262,7 +5262,7 @@
</trans-unit> </trans-unit>
<trans-unit id="567d4a9cafe9790b401ebf3a5d74f7c51b46a7b5" datatype="html"> <trans-unit id="567d4a9cafe9790b401ebf3a5d74f7c51b46a7b5" datatype="html">
<source> Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table </source> <source> Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table </source>
<target state="new"> Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table </target> <target state="translated">Taula comparativa Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/></target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">54</context> <context context-type="linenumber">54</context>
@ -5430,7 +5430,7 @@
</trans-unit> </trans-unit>
<trans-unit id="986ed5a2e3edee8d10d65a7c087b226879ebaecc" datatype="html"> <trans-unit id="986ed5a2e3edee8d10d65a7c087b226879ebaecc" datatype="html">
<source> Please note that the information provided in the Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table is based on our independent research and analysis. This website is not affiliated with <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> 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 <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. </source> <source> Please note that the information provided in the Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table is based on our independent research and analysis. This website is not affiliated with <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> 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 <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. </source>
<target state="new"> Please note that the information provided in the Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> comparison table is based on our independent research and analysis. This website is not affiliated with <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> 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 <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. </target> <target state="translated">Tingues en compte que la informació proporcionada a la taula comparativa Ghostfolio vs <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> es basa en la nostra investigació i anàlisi independents. Aquest lloc web no està afiliat a <x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> ni a cap altre producte esmentat en la comparació. A mesura que evoluciona el panorama de les eines de finances personals, és essencial verificar qualsevol detall o canvi específic directament a la pàgina del producte corresponent. Necessites actualitzar dades? Ajuda’ns a mantenir la informació precisa a <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio&quot;&gt;"/>GitHub<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">311</context> <context context-type="linenumber">311</context>
@ -5438,7 +5438,7 @@
</trans-unit> </trans-unit>
<trans-unit id="c02f31906b9a50d3d126db14c2cbc2079d4ab499" datatype="html"> <trans-unit id="c02f31906b9a50d3d126db14c2cbc2079d4ab499" datatype="html">
<source> Ready to take your <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>investments<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> to the <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>next level<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>? </source> <source> Ready to take your <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>investments<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> to the <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>next level<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>? </source>
<target state="new"> Ready to take your <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>investments<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> to the <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>next level<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>? </target> <target state="translated">Preparat per portar les teves <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>inversions<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> al <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>següent nivell<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">324</context>

38
apps/client/src/locales/messages.es.xlf

@ -6735,7 +6735,7 @@
</trans-unit> </trans-unit>
<trans-unit id="5beadaafe995fa04343008b0ab57e579c9fc81b9" datatype="html"> <trans-unit id="5beadaafe995fa04343008b0ab57e579c9fc81b9" datatype="html">
<source>From the beginning</source> <source>From the beginning</source>
<target state="new">From the beginning</target> <target state="translated">Desde el principio</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">60</context> <context context-type="linenumber">60</context>
@ -6743,7 +6743,7 @@
</trans-unit> </trans-unit>
<trans-unit id="f7ed8f2e1ac78c5a63741ae684779bcf7a99ab16" datatype="html"> <trans-unit id="f7ed8f2e1ac78c5a63741ae684779bcf7a99ab16" datatype="html">
<source>Oops! Invalid currency.</source> <source>Oops! Invalid currency.</source>
<target state="new">Oops! Invalid currency.</target> <target state="translated">¡Ups! Moneda inválida.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">49</context> <context context-type="linenumber">49</context>
@ -6751,7 +6751,7 @@
</trans-unit> </trans-unit>
<trans-unit id="f1cc4a59110dd72517210565f76118df74336fec" datatype="html"> <trans-unit id="f1cc4a59110dd72517210565f76118df74336fec" datatype="html">
<source>This page has been archived.</source> <source>This page has been archived.</source>
<target state="new">This page has been archived.</target> <target state="translated">Esta página ha sido archivada.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">14</context> <context context-type="linenumber">14</context>
@ -6759,7 +6759,7 @@
</trans-unit> </trans-unit>
<trans-unit id="ea66ce0bb1cb1dcee2bcb86a8876c5f2c2fa65f6" datatype="html"> <trans-unit id="ea66ce0bb1cb1dcee2bcb86a8876c5f2c2fa65f6" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> is Open Source Software</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> is Open Source Software</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> is Open Source Software</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> es software de código abierto</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">139</context> <context context-type="linenumber">139</context>
@ -6767,7 +6767,7 @@
</trans-unit> </trans-unit>
<trans-unit id="aa945d3772281b66851cc8b86d6de9726e65db70" datatype="html"> <trans-unit id="aa945d3772281b66851cc8b86d6de9726e65db70" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> is not Open Source Software</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> is not Open Source Software</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> is not Open Source Software</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> no es software de código abierto</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
@ -6775,7 +6775,7 @@
</trans-unit> </trans-unit>
<trans-unit id="942e46b94b9d9662c3c3b7b5e7f9005c7b9feab7" datatype="html"> <trans-unit id="942e46b94b9d9662c3c3b7b5e7f9005c7b9feab7" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> is Open Source Software</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> is Open Source Software</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> is Open Source Software</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> es software de código abierto</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">156</context> <context context-type="linenumber">156</context>
@ -6783,7 +6783,7 @@
</trans-unit> </trans-unit>
<trans-unit id="08beed5100360c242c0aec92e8706d92f0cb70f3" datatype="html"> <trans-unit id="08beed5100360c242c0aec92e8706d92f0cb70f3" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> is not Open Source Software</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> is not Open Source Software</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> is not Open Source Software</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> no es software de código abierto</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">163</context> <context context-type="linenumber">163</context>
@ -6791,7 +6791,7 @@
</trans-unit> </trans-unit>
<trans-unit id="1302d86668c92816f6e69a61fee77d573ace918b" datatype="html"> <trans-unit id="1302d86668c92816f6e69a61fee77d573ace918b" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> can be self-hosted</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> can be self-hosted</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> can be self-hosted</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> se puede autoalojar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">178</context> <context context-type="linenumber">178</context>
@ -6799,7 +6799,7 @@
</trans-unit> </trans-unit>
<trans-unit id="2371f735292afd7ed2b6c90640068d33667933e7" datatype="html"> <trans-unit id="2371f735292afd7ed2b6c90640068d33667933e7" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> cannot be self-hosted</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> cannot be self-hosted</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> cannot be self-hosted</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> no se puede autoalojar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">185</context> <context context-type="linenumber">185</context>
@ -6807,7 +6807,7 @@
</trans-unit> </trans-unit>
<trans-unit id="4803807735afa465179312a0094a432c7d8e1a55" datatype="html"> <trans-unit id="4803807735afa465179312a0094a432c7d8e1a55" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> can be self-hosted</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> can be self-hosted</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> can be self-hosted</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> se puede autoalojar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">195</context> <context context-type="linenumber">195</context>
@ -6815,7 +6815,7 @@
</trans-unit> </trans-unit>
<trans-unit id="e44d1606f6b1c8b549b5bbc22c8f2d53b6626404" datatype="html"> <trans-unit id="e44d1606f6b1c8b549b5bbc22c8f2d53b6626404" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> cannot be self-hosted</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> cannot be self-hosted</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> cannot be self-hosted</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> no se puede autoalojar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">202</context> <context context-type="linenumber">202</context>
@ -6823,7 +6823,7 @@
</trans-unit> </trans-unit>
<trans-unit id="575dc02bb1fbd579cb7ecca00198bbf2893d6115" datatype="html"> <trans-unit id="575dc02bb1fbd579cb7ecca00198bbf2893d6115" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> can be used anonymously</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> can be used anonymously</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> can be used anonymously</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> se puede usar de forma anónima</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">217</context> <context context-type="linenumber">217</context>
@ -6831,7 +6831,7 @@
</trans-unit> </trans-unit>
<trans-unit id="60bcadcc133112179baf414d6bca496616026ddf" datatype="html"> <trans-unit id="60bcadcc133112179baf414d6bca496616026ddf" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> cannot be used anonymously</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> cannot be used anonymously</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> cannot be used anonymously</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> no se puede usar de forma anónima</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">224</context> <context context-type="linenumber">224</context>
@ -6839,7 +6839,7 @@
</trans-unit> </trans-unit>
<trans-unit id="ea9dead7214d6e5e68bedcfc41ed92e6f331b476" datatype="html"> <trans-unit id="ea9dead7214d6e5e68bedcfc41ed92e6f331b476" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> can be used anonymously</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> can be used anonymously</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> can be used anonymously</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> se puede usar de forma anónima</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">234</context> <context context-type="linenumber">234</context>
@ -6847,7 +6847,7 @@
</trans-unit> </trans-unit>
<trans-unit id="d69adb6f3253a16368a171d0a5d998e9a6b95717" datatype="html"> <trans-unit id="d69adb6f3253a16368a171d0a5d998e9a6b95717" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> cannot be used anonymously</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> cannot be used anonymously</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> cannot be used anonymously</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> no se puede usar de forma anónima</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">241</context> <context context-type="linenumber">241</context>
@ -6855,7 +6855,7 @@
</trans-unit> </trans-unit>
<trans-unit id="0499b37a6ed7d654307685844b35684df638a95f" datatype="html"> <trans-unit id="0499b37a6ed7d654307685844b35684df638a95f" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> offers a free plan</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> offers a free plan</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> offers a free plan</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> ofrece un plan gratuito</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">256</context> <context context-type="linenumber">256</context>
@ -6863,7 +6863,7 @@
</trans-unit> </trans-unit>
<trans-unit id="0a3bfda56ea7cd7ae419cb5091e3a68ade032c30" datatype="html"> <trans-unit id="0a3bfda56ea7cd7ae419cb5091e3a68ade032c30" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> does not offer a free plan</source> <source><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> does not offer a free plan</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> does not offer a free plan</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product1.name }}"/> no ofrece un plan gratuito</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">263</context> <context context-type="linenumber">263</context>
@ -6871,7 +6871,7 @@
</trans-unit> </trans-unit>
<trans-unit id="04eede9cafd81f04b01b6c7937e047824f78b05d" datatype="html"> <trans-unit id="04eede9cafd81f04b01b6c7937e047824f78b05d" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> offers a free plan</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> offers a free plan</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> offers a free plan</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> ofrece un plan gratuito</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">273</context> <context context-type="linenumber">273</context>
@ -6879,7 +6879,7 @@
</trans-unit> </trans-unit>
<trans-unit id="2452ec985c64ade4904d93697e68d3846beb2bf4" datatype="html"> <trans-unit id="2452ec985c64ade4904d93697e68d3846beb2bf4" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> does not offer a free plan</source> <source><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> does not offer a free plan</source>
<target state="new"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> does not offer a free plan</target> <target state="translated"><x id="INTERPOLATION" equiv-text="{{ product2.name }}"/> no ofrece un plan gratuito</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">280</context>

26
apps/client/src/locales/messages.tr.xlf

@ -7792,7 +7792,7 @@
</trans-unit> </trans-unit>
<trans-unit id="101d5e861e35b1aacb9a620938c2b886dbbb515a" datatype="html"> <trans-unit id="101d5e861e35b1aacb9a620938c2b886dbbb515a" datatype="html">
<source>Get Access</source> <source>Get Access</source>
<target state="new">Get Access</target> <target state="translated">Erişim Alın</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">27</context> <context context-type="linenumber">27</context>
@ -7800,7 +7800,7 @@
</trans-unit> </trans-unit>
<trans-unit id="e2dcf27db9c6a5e249960c576014aa40b3883360" datatype="html"> <trans-unit id="e2dcf27db9c6a5e249960c576014aa40b3883360" datatype="html">
<source>Learn more</source> <source>Learn more</source>
<target state="new">Learn more</target> <target state="translated">Daha fazla bilgi edin</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">38</context>
@ -7808,7 +7808,7 @@
</trans-unit> </trans-unit>
<trans-unit id="50b3e721b5c4731ab004595b348ce2a7737e81b3" datatype="html"> <trans-unit id="50b3e721b5c4731ab004595b348ce2a7737e81b3" datatype="html">
<source>new</source> <source>new</source>
<target state="new">new</target> <target state="translated">yeni</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
@ -7816,7 +7816,7 @@
</trans-unit> </trans-unit>
<trans-unit id="2b3030c13e8ffdfbfcaf6d487dbe23e4f9b8f4d7" datatype="html"> <trans-unit id="2b3030c13e8ffdfbfcaf6d487dbe23e4f9b8f4d7" datatype="html">
<source>Limited Offer!</source> <source>Limited Offer!</source>
<target state="new">Limited Offer!</target> <target state="translated">Sınırlı Teklif!</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">311</context> <context context-type="linenumber">311</context>
@ -7832,7 +7832,7 @@
</trans-unit> </trans-unit>
<trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html"> <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
<source>Available</source> <source>Available</source>
<target state="new">Available</target> <target state="translated">Mevcut</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/data-provider-status/data-provider-status.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/data-provider-status/data-provider-status.component.html</context>
<context context-type="linenumber">3</context> <context context-type="linenumber">3</context>
@ -7840,7 +7840,7 @@
</trans-unit> </trans-unit>
<trans-unit id="15c02cb6b6c3be53477e502d3e1ee26955b23af0" datatype="html"> <trans-unit id="15c02cb6b6c3be53477e502d3e1ee26955b23af0" datatype="html">
<source>Unavailable</source> <source>Unavailable</source>
<target state="new">Unavailable</target> <target state="translated">Mevcut değil</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/data-provider-status/data-provider-status.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/data-provider-status/data-provider-status.component.html</context>
<context context-type="linenumber">5</context> <context context-type="linenumber">5</context>
@ -7848,7 +7848,7 @@
</trans-unit> </trans-unit>
<trans-unit id="7387635272539030076" datatype="html"> <trans-unit id="7387635272539030076" datatype="html">
<source>new</source> <source>new</source>
<target state="new">new</target> <target state="translated">yeni</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">53</context> <context context-type="linenumber">53</context>
@ -7856,7 +7856,7 @@
</trans-unit> </trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html"> <trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source> <source>Investment</source>
<target state="new">Investment</target> <target state="translated">Yatırım</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">14</context> <context context-type="linenumber">14</context>
@ -7880,7 +7880,7 @@
</trans-unit> </trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html"> <trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source> <source>Equity</source>
<target state="new">Equity</target> <target state="translated">özsermaye</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">31</context>
@ -7912,7 +7912,7 @@
</trans-unit> </trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html"> <trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source> <source>Fixed Income</source>
<target state="new">Fixed Income</target> <target state="translated">Sabit Gelir</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context> <context context-type="linenumber">45</context>
@ -7944,7 +7944,7 @@
</trans-unit> </trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html"> <trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source> <source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target> <target state="translated"> Yatırım: Baz Para Birimi </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context> <context context-type="linenumber">60</context>
@ -7968,7 +7968,7 @@
</trans-unit> </trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html"> <trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source> <source>Investment</source>
<target state="new">Investment</target> <target state="translated">Yatırım</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context> <context context-type="linenumber">71</context>
@ -7992,7 +7992,7 @@
</trans-unit> </trans-unit>
<trans-unit id="routes.start" datatype="html"> <trans-unit id="routes.start" datatype="html">
<source>start</source> <source>start</source>
<target state="new">start</target> <target state="translated">baslangic</target>
<note priority="1" from="description">kebab-case</note> <note priority="1" from="description">kebab-case</note>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context> <context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>

Loading…
Cancel
Save