Browse Source

Merge remote-tracking branch 'upstream/main' into fix-x-ray-rule-bug-after-creating-new-account

pull/4705/head
tobikugel 2 months ago
parent
commit
3db2df1496
  1. 4
      CHANGELOG.md
  2. 4
      apps/api/src/app/account/account.controller.ts
  3. 4
      apps/api/src/app/order/order.controller.ts
  4. 21
      apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts
  5. 33
      apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts
  6. 182
      apps/client/src/app/components/admin-settings/admin-settings.component.html
  7. 19
      apps/client/src/app/components/admin-settings/admin-settings.component.ts
  8. 6
      apps/client/src/app/components/admin-settings/admin-settings.module.ts
  9. 2
      apps/client/src/app/components/header/header.component.html
  10. 32
      apps/client/src/locales/messages.ca.xlf
  11. 32
      apps/client/src/locales/messages.de.xlf
  12. 32
      apps/client/src/locales/messages.es.xlf
  13. 32
      apps/client/src/locales/messages.fr.xlf
  14. 32
      apps/client/src/locales/messages.it.xlf
  15. 586
      apps/client/src/locales/messages.nl.xlf
  16. 32
      apps/client/src/locales/messages.pl.xlf
  17. 32
      apps/client/src/locales/messages.pt.xlf
  18. 32
      apps/client/src/locales/messages.tr.xlf
  19. 32
      apps/client/src/locales/messages.uk.xlf
  20. 31
      apps/client/src/locales/messages.xlf
  21. 88
      apps/client/src/locales/messages.zh.xlf
  22. 252
      package-lock.json
  23. 2
      package.json

4
CHANGELOG.md

@ -13,11 +13,15 @@ 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`)
- 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`
- Upgraded `yahoo-finance2` from version `2.11.3` to `3.3.1`
### Fixed

4
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<AccountsResponse> {
@ -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<AccountWithValue> {
const impersonationUserId =

4
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<Activity> {
const impersonationUserId =

21
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 (

33
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<typeof quote, SearchQuoteNonYahoo> => {
// 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'

182
apps/client/src/app/components/admin-settings/admin-settings.component.html

@ -1,105 +1,109 @@
<div class="container">
<div class="d-md-block d-none mb-5 row">
<div class="mb-5 row">
<div class="col">
<h2 class="text-center" i18n>Data Providers</h2>
<mat-card appearance="outlined">
<mat-card-content>
@for (dataProvider of dataProviders; track dataProvider.name) {
<div class="align-items-center d-flex my-3">
@if (dataProvider.name === 'Ghostfolio') {
<div class="w-50">
<div class="d-flex">
<gf-asset-profile-icon
class="mr-1"
[url]="dataProvider.url"
<table class="gf-table w-100" mat-table [dataSource]="dataSource">
<ng-container matColumnDef="name">
<th *matHeaderCellDef class="px-1 py-2" mat-header-cell>
<ng-container i18n>Name</ng-container>
</th>
<td *matCellDef="let element" class="px-1 py-2" mat-cell>
<div class="d-flex align-items-center">
<gf-asset-profile-icon class="mr-1" [url]="element.url" />
<div>
@if (isGhostfolioDataProvider(element)) {
<a
class="align-items-center d-inline-flex"
target="_blank"
[href]="pricingUrl"
>
Ghostfolio Premium
<gf-premium-indicator
class="d-inline-block ml-1"
[enableLink]="false"
/>
<div>
<a
class="align-items-center d-inline-flex"
target="_blank"
[href]="pricingUrl"
@if (isGhostfolioApiKeyValid === false) {
<span class="badge badge-warning ml-2" i18n
>Early Access</span
>
Ghostfolio Premium
<gf-premium-indicator
class="d-inline-block ml-1"
[enableLink]="false"
/>
@if (isGhostfolioApiKeyValid === false) {
<span class="badge badge-warning ml-2" i18n
>Early Access</span
>
}
</a>
@if (isGhostfolioApiKeyValid === true) {
<div class="line-height-1">
<small class="text-muted">
<ng-container i18n>Valid until</ng-container>
{{
ghostfolioApiStatus?.subscription?.expiresAt
| date: defaultDateFormat
}}</small
>
</div>
}
</div>
</div>
</div>
<div class="w-50">
}
</a>
@if (isGhostfolioApiKeyValid === true) {
<div class="align-items-center d-flex flex-wrap">
<div class="flex-grow-1 mr-3">
<div class="line-height-1">
<small class="text-muted">
<ng-container i18n>Valid until</ng-container>
{{
ghostfolioApiStatus?.subscription?.expiresAt
| date: defaultDateFormat
}}
</small>
</div>
<div class="line-height-1 mt-1">
<small class="text-muted">
{{ ghostfolioApiStatus.dailyRequests }}
<ng-container i18n>of</ng-container>
{{ ghostfolioApiStatus.dailyRequestsMax }}
<ng-container i18n>daily requests</ng-container>
</div>
<button
class="mx-1 no-min-width px-2"
mat-button
[matMenuTriggerFor]="ghostfolioApiMenu"
(click)="$event.stopPropagation()"
>
<ion-icon name="ellipsis-horizontal" />
</button>
<mat-menu #ghostfolioApiMenu="matMenu" xPosition="before">
<button
mat-menu-item
(click)="onRemoveGhostfolioApiKey()"
>
<span class="align-items-center d-flex">
<ion-icon class="mr-2" name="trash-outline" />
<span i18n>Remove API key</span>
</span>
</button>
</mat-menu>
</small>
</div>
} @else if (isGhostfolioApiKeyValid === false) {
<button
color="accent"
mat-flat-button
(click)="onSetGhostfolioApiKey()"
>
<ion-icon class="mr-1" name="key-outline" />
<span i18n>Set API key</span>
</button>
}
</div>
} @else {
<div class="w-50">
<div class="d-flex">
<gf-asset-profile-icon
class="mr-1"
[url]="dataProvider.url"
/>
{{ dataProvider.name }}
</div>
</div>
<div class="w-50"></div>
}
} @else {
{{ element.name }}
}
</div>
</div>
}
</mat-card-content>
</mat-card>
</td>
</ng-container>
<ng-container matColumnDef="actions">
<th *matHeaderCellDef class="px-1 py-2" mat-header-cell></th>
<td *matCellDef="let element" class="px-1 py-2 text-right" mat-cell>
@if (isGhostfolioDataProvider(element)) {
@if (isGhostfolioApiKeyValid === true) {
<button
class="mx-1 no-min-width px-2"
mat-button
[matMenuTriggerFor]="ghostfolioApiMenu"
(click)="$event.stopPropagation()"
>
<ion-icon name="ellipsis-horizontal" />
</button>
<mat-menu #ghostfolioApiMenu="matMenu" xPosition="before">
<button mat-menu-item (click)="onRemoveGhostfolioApiKey()">
<span class="align-items-center d-flex">
<ion-icon class="mr-2" name="trash-outline" />
<span i18n>Remove API key</span>
</span>
</button>
</mat-menu>
} @else if (isGhostfolioApiKeyValid === false) {
<button
color="accent"
mat-flat-button
(click)="onSetGhostfolioApiKey()"
>
<ion-icon class="mr-1" name="key-outline" />
<span i18n>Set API key</span>
</button>
}
}
</td>
</ng-container>
<tr *matHeaderRowDef="displayedColumns" mat-header-row></tr>
<tr *matRowDef="let row; columns: displayedColumns" mat-row></tr>
</table>
@if (isLoading) {
<ngx-skeleton-loader
animation="pulse"
class="px-4 py-3"
[theme]="{
height: '1.5rem',
width: '100%'
}"
/>
}
</div>
</div>
<div class="mb-5 row">

19
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<DataProviderInfo>();
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();
});
}

6
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]

2
apps/client/src/app/components/header/header.component.html

@ -312,7 +312,7 @@
>About Ghostfolio</a
>
<hr class="d-flex d-sm-none m-0" />
<button mat-menu-item (click)="onSignOut()">Logout</button>
<button i18n mat-menu-item (click)="onSignOut()">Log out</button>
</mat-menu>
</li>
</ul>

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

@ -653,7 +653,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -1057,6 +1057,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -2187,7 +2191,7 @@
<target state="translated">Plataformes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -2195,7 +2199,7 @@
<target state="translated">Etiquetes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -6671,7 +6675,7 @@
<target state="new">Valid until</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -7279,7 +7283,7 @@
<target state="new">Set API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7385,7 +7389,7 @@
<target state="new">of</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7393,7 +7397,7 @@
<target state="new">daily requests</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7401,7 +7405,7 @@
<target state="new">Remove API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7409,7 +7413,7 @@
<target state="new">Do you really want to delete the API key?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7569,7 +7573,7 @@
<target state="new">Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7985,6 +7989,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

32
apps/client/src/locales/messages.de.xlf

@ -144,6 +144,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -1330,7 +1334,7 @@
<target state="translated">Tags</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -3402,7 +3406,7 @@
<target state="translated">Gültig bis</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3962,7 +3966,7 @@
<target state="translated">Plattformen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5453,7 +5457,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7303,7 +7307,7 @@
<target state="translated">API-Schlüssel setzen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7409,7 +7413,7 @@
<target state="translated">von</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7417,7 +7421,7 @@
<target state="translated">täglichen Anfragen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7425,7 +7429,7 @@
<target state="translated">API-Schlüssel löschen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7433,7 +7437,7 @@
<target state="translated">Möchtest du den API-Schlüssel wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7593,7 +7597,7 @@
<target state="translated">Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7985,6 +7989,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="translated">Ausloggen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -145,6 +145,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -1315,7 +1319,7 @@
<target state="translated">Etiquetas</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -3387,7 +3391,7 @@
<target state="translated">Válido hasta</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3939,7 +3943,7 @@
<target state="new">Platforms</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5430,7 +5434,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7280,7 +7284,7 @@
<target state="new">Set API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7386,7 +7390,7 @@
<target state="new">of</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7394,7 +7398,7 @@
<target state="new">daily requests</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7402,7 +7406,7 @@
<target state="new">Remove API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7410,7 +7414,7 @@
<target state="new">Do you really want to delete the API key?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7570,7 +7574,7 @@
<target state="new">Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7986,6 +7990,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

32
apps/client/src/locales/messages.fr.xlf

@ -152,6 +152,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -922,7 +926,7 @@
<target state="translated">Étiquettes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -3386,7 +3390,7 @@
<target state="translated">Valide jusqu’au</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3938,7 +3942,7 @@
<target state="translated">Platformes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5429,7 +5433,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7279,7 +7283,7 @@
<target state="translated">Définir clé API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7385,7 +7389,7 @@
<target state="translated">sur</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7393,7 +7397,7 @@
<target state="translated">requêtes journalières</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7401,7 +7405,7 @@
<target state="translated">Retirer la clé API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7409,7 +7413,7 @@
<target state="translated">Voulez-vous vraiment supprimer la clé API?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7569,7 +7573,7 @@
<target state="translated">Accès anticipé</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7985,6 +7989,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

32
apps/client/src/locales/messages.it.xlf

@ -145,6 +145,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -1315,7 +1319,7 @@
<target state="translated">Tag</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -3387,7 +3391,7 @@
<target state="translated">Valido fino a</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3939,7 +3943,7 @@
<target state="translated">Piattaforme</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5430,7 +5434,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7280,7 +7284,7 @@
<target state="translated">Imposta API Key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7386,7 +7390,7 @@
<target state="translated">di</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7394,7 +7398,7 @@
<target state="translated">richieste giornaliere</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7402,7 +7406,7 @@
<target state="translated">Rimuovi API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7410,7 +7414,7 @@
<target state="translated">Vuoi davvero eliminare l’API key?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7570,7 +7574,7 @@
<target state="translated">Accesso anticipato</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7986,6 +7990,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

586
apps/client/src/locales/messages.nl.xlf

File diff suppressed because it is too large

32
apps/client/src/locales/messages.pl.xlf

@ -272,7 +272,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -985,6 +985,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -2019,7 +2023,7 @@
<target state="translated">Platformy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -2027,7 +2031,7 @@
<target state="translated">Tagi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -6071,7 +6075,7 @@
<target state="translated">Ważność do</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -7279,7 +7283,7 @@
<target state="translated">Skonfiguruj klucz API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7385,7 +7389,7 @@
<target state="translated">z</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7393,7 +7397,7 @@
<target state="translated">codzienne żądania</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7401,7 +7405,7 @@
<target state="translated">Usuń klucz API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7409,7 +7413,7 @@
<target state="translated">Czy na pewno chcesz usunąć klucz API??</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7569,7 +7573,7 @@
<target state="translated">Wczesny dostęp</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7985,6 +7989,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

32
apps/client/src/locales/messages.pt.xlf

@ -152,6 +152,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -1618,7 +1622,7 @@
<target state="translated">Marcadores</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -3386,7 +3390,7 @@
<target state="translated">Válido até</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3938,7 +3942,7 @@
<target state="translated">Plataformas</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5429,7 +5433,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7279,7 +7283,7 @@
<target state="new">Set API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7385,7 +7389,7 @@
<target state="new">of</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7393,7 +7397,7 @@
<target state="new">daily requests</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7401,7 +7405,7 @@
<target state="new">Remove API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7409,7 +7413,7 @@
<target state="new">Do you really want to delete the API key?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7569,7 +7573,7 @@
<target state="new">Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7985,6 +7989,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -272,7 +272,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -945,6 +945,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -1759,7 +1763,7 @@
<target state="translated">Etiketler</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1923,7 +1927,7 @@
<target state="translated">Platformlar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="2817099043823177227" datatype="html">
@ -4951,7 +4955,7 @@
<target state="translated">Geçerli tarih</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -7279,7 +7283,7 @@
<target state="translated">API anahtarını ayarla</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7385,7 +7389,7 @@
<target state="translated">ın</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7393,7 +7397,7 @@
<target state="translated">günlük istekler</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7401,7 +7405,7 @@
<target state="translated">API anahtarını kaldır</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7409,7 +7413,7 @@
<target state="translated">API anahtarını silmek istediğinize emin misiniz?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7569,7 +7573,7 @@
<target state="translated">Erken Erişim</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7985,6 +7989,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

32
apps/client/src/locales/messages.uk.xlf

@ -653,7 +653,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -1073,6 +1073,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -2183,7 +2187,7 @@
<target state="translated">Дійсне до</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -2195,7 +2199,7 @@
<target state="translated">з</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -2203,7 +2207,7 @@
<target state="translated">щоденних запитів</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -2211,7 +2215,7 @@
<target state="translated">Вилучити ключ API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="8af1a18460a6a5a33c19443ae14a0417c3a9c023" datatype="html">
@ -2219,7 +2223,7 @@
<target state="translated">Встановити ключ API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6ee0b8778b1e61a6434b8f1a92febacca34112a7" datatype="html">
@ -2227,7 +2231,7 @@
<target state="translated">Платформи</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -2235,7 +2239,7 @@
<target state="translated">Теги</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -2251,7 +2255,7 @@
<target state="translated">Ви дійсно хочете видалити ключ API?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="4068738931505527681" datatype="html">
@ -7569,7 +7573,7 @@
<target state="translated">Ранній доступ</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7985,6 +7989,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="new">Log out</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

31
apps/client/src/locales/messages.xlf

@ -267,7 +267,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -957,6 +957,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -1937,14 +1941,14 @@
<source>Platforms</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
<source>Tags</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -5605,7 +5609,7 @@
<source>Valid until</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -6619,7 +6623,7 @@
<source>Set API key</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -6721,14 +6725,14 @@
<source>of</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
<source>Do you really want to delete the API key?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
@ -6742,14 +6746,14 @@
<source>Remove API key</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
<source>daily requests</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="0ad3c057fbf21b81a1f1d0bad8b9ee4b284139ab" datatype="html">
@ -6875,7 +6879,7 @@
<source>Early Access</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7222,6 +7226,13 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

88
apps/client/src/locales/messages.zh.xlf

@ -207,7 +207,7 @@
</trans-unit>
<trans-unit id="6099902667884446960" datatype="html">
<source>license</source>
<target state="translated">许可</target>
<target state="translated">许可</target>
<note priority="1" from="description">snake-case</note>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/app.component.ts</context>
@ -273,7 +273,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">80</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -701,7 +701,7 @@
</trans-unit>
<trans-unit id="15bdfa7e753e80e9f158a0d23194cb33eb63088f" datatype="html">
<source>License</source>
<target state="translated">许可</target>
<target state="translated">许可</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/app.component.html</context>
<context context-type="linenumber">89</context>
@ -994,6 +994,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">30</context>
@ -1261,7 +1265,7 @@
</trans-unit>
<trans-unit id="3bb2d877ef3ef7a032ff8b84147cd4fefbdde1e9" datatype="html">
<source>Attempts</source>
<target state="translated">尝试</target>
<target state="translated">尝试次数</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">83</context>
@ -1277,7 +1281,7 @@
</trans-unit>
<trans-unit id="edcc19a49c950289ffe5d38be4843cdf194e5622" datatype="html">
<source>Finished</source>
<target state="translated">完成</target>
<target state="translated">完成</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">101</context>
@ -1285,7 +1289,7 @@
</trans-unit>
<trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">
<source>Status</source>
<target state="translated">状</target>
<target state="translated">状</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">110</context>
@ -2028,7 +2032,7 @@
<target state="translated">平台</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
</trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -2036,7 +2040,7 @@
<target state="translated">标签</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context>
<context context-type="linenumber">117</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -2441,7 +2445,7 @@
</trans-unit>
<trans-unit id="a8233de047500bf0f0d9f9f1712ddb071501a283" datatype="html">
<source>Summary</source>
<target state="translated">概括</target>
<target state="translated">汇总</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-summary/home-summary.html</context>
<context context-type="linenumber">2</context>
@ -2549,7 +2553,7 @@
</trans-unit>
<trans-unit id="1befce3c6f0c468b06ae5199116e5b096a35a3ef" datatype="html">
<source>Buy</source>
<target state="translated">买</target>
<target state="translated">买</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">31</context>
@ -2557,7 +2561,7 @@
</trans-unit>
<trans-unit id="fe708b572beec788b18edd1b5852d63c07dfaead" datatype="html">
<source>Sell</source>
<target state="translated">卖</target>
<target state="translated">卖</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">43</context>
@ -3357,7 +3361,7 @@
</trans-unit>
<trans-unit id="6877113876835666202" datatype="html">
<source>License</source>
<target state="translated">许可</target>
<target state="translated">许可</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/about/about-page.component.ts</context>
<context context-type="linenumber">55</context>
@ -3729,7 +3733,7 @@
</trans-unit>
<trans-unit id="803941175683258052" datatype="html">
<source>Holdings</source>
<target state="translated">控股</target>
<target state="translated">持仓</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">24</context>
@ -3749,7 +3753,7 @@
</trans-unit>
<trans-unit id="4739818603756173797" datatype="html">
<source>Summary</source>
<target state="translated">概括</target>
<target state="translated">汇总</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">34</context>
@ -4329,7 +4333,7 @@
</trans-unit>
<trans-unit id="1817902710689724227" datatype="html">
<source>Import Activities</source>
<target state="translated">导入活动</target>
<target state="translated">导入活动记录</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">47</context>
@ -4369,7 +4373,7 @@
</trans-unit>
<trans-unit id="4de7b521c9a386fa682d6c995b30f6bc2d6c14b8" datatype="html">
<source>Select Holding</source>
<target state="translated">选择控股</target>
<target state="translated">选择持仓</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">20</context>
@ -4385,7 +4389,7 @@
</trans-unit>
<trans-unit id="0f845001c88b82c18535e6d44f5597061f506e42" datatype="html">
<source>Holding</source>
<target state="translated">持</target>
<target state="translated">持</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">32</context>
@ -4777,7 +4781,7 @@
</trans-unit>
<trans-unit id="4945c8e3bbf650f8dc6d03b16553f2c0bac42b11" datatype="html">
<source>Holdings</source>
<target state="translated">控股</target>
<target state="translated">持仓</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">79</context>
@ -5481,7 +5485,7 @@
</trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
<source>Import Activities</source>
<target state="translated">进口活动</target>
<target state="translated">导入活动记录</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">9</context>
@ -5505,7 +5509,7 @@
</trans-unit>
<trans-unit id="446d1376bd7f6cf33d75d7a6022c33d2910327a2" datatype="html">
<source>Export Activities</source>
<target state="translated">出活动</target>
<target state="translated">出活动记录</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">41</context>
@ -5909,7 +5913,7 @@
</trans-unit>
<trans-unit id="2149165958319691680" datatype="html">
<source>Buy</source>
<target state="translated">买</target>
<target state="translated">买</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">35</context>
@ -5925,7 +5929,7 @@
</trans-unit>
<trans-unit id="7025236479211408772" datatype="html">
<source>Valuable</source>
<target state="translated">有价值的</target>
<target state="translated">贵重物品</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">39</context>
@ -5933,7 +5937,7 @@
</trans-unit>
<trans-unit id="4230401090765872563" datatype="html">
<source>Liability</source>
<target state="translated">责任</target>
<target state="translated">负债</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">40</context>
@ -5941,7 +5945,7 @@
</trans-unit>
<trans-unit id="4881880242577556" datatype="html">
<source>Sell</source>
<target state="translated">卖</target>
<target state="translated">卖</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">41</context>
@ -5965,7 +5969,7 @@
</trans-unit>
<trans-unit id="1983771552391474467" datatype="html">
<source>Equity</source>
<target state="translated">公平</target>
<target state="translated">股权</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">46</context>
@ -5973,7 +5977,7 @@
</trans-unit>
<trans-unit id="6124744839836623630" datatype="html">
<source>Fixed Income</source>
<target state="translated">固定收</target>
<target state="translated">固定收</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">47</context>
@ -5989,7 +5993,7 @@
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
<source>Bond</source>
<target state="translated">纽带</target>
<target state="translated">债券</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">52</context>
@ -6128,7 +6132,7 @@
<target state="translated">有效期至</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">36</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -6157,7 +6161,7 @@
</trans-unit>
<trans-unit id="62c28ddba8fedb2ae7b0fff9a641778b59791aa2" datatype="html">
<source> If a translation is missing, kindly support us in extending it <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio/blob/main/apps/client/src/locales/messages.{{ language }}.xlf&quot; target=&quot;_blank&quot; &gt;"/>here<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/>. </source>
<target state="translated">如果翻译缺失,请支持我们进行扩展<x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio/blob/main/apps/client/src/locales/messages.{{ language }}.xlf&quot; target=&quot;_blank&quot; &gt;"/>这里<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/>。</target>
<target state="translated">如果翻译缺失,欢迎在<x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://github.com/ghostfolio/ghostfolio/blob/main/apps/client/src/locales/messages.{{ language }}.xlf&quot; target=&quot;_blank&quot; &gt;"/>这里<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a &gt;"/>进行扩展。</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">58</context>
@ -6209,7 +6213,7 @@
</trans-unit>
<trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">
<source>Permission</source>
<target state="translated">允许</target>
<target state="translated">权限</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">18</context>
@ -6361,7 +6365,7 @@
</trans-unit>
<trans-unit id="6829218544e108e152f5fa72cb79c4ccb82e0d06" datatype="html">
<source>View</source>
<target state="translated">看</target>
<target state="translated">看</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">23</context>
@ -6525,7 +6529,7 @@
</trans-unit>
<trans-unit id="c356d831858fd8fed753c149088c800e36b36d84" datatype="html">
<source>Execute Job</source>
<target state="translated">执行任务</target>
<target state="translated">执行作业</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">176</context>
@ -7280,7 +7284,7 @@
<target state="translated">设置 API 密钥</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -7386,7 +7390,7 @@
<target state="translated">的</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7394,7 +7398,7 @@
<target state="translated">每日请求</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7402,7 +7406,7 @@
<target state="translated">移除 API 密钥</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="5649402767950535555" datatype="html">
@ -7410,7 +7414,7 @@
<target state="translated">您确定要删除此 API 密钥吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">103</context>
</context-group>
</trans-unit>
<trans-unit id="1486033335993102285" datatype="html">
@ -7570,7 +7574,7 @@
<target state="translated">抢先体验</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7986,6 +7990,14 @@
<context context-type="linenumber">122</context>
</context-group>
</trans-unit>
<trans-unit id="3fdc751b264ca9998e1542fcf5794e274cd56344" datatype="html">
<source>Log out</source>
<target state="translated">登出</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">315</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

252
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": {

2
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": {

Loading…
Cancel
Save