diff --git a/web/public/i18n/en.json b/web/public/i18n/en.json index 7b594da..93def4f 100644 --- a/web/public/i18n/en.json +++ b/web/public/i18n/en.json @@ -631,7 +631,7 @@ "confirmDelete": "Delete the connection \"{{name}}\"? Its credentials are erased immediately.", "confirmPurge": "Also delete all data imported from it? (Cancel keeps the history.)", "emptyTitle": "Connect your first broker", - "emptyBody": "Links are read-only: they import holdings, trades, dividends and cash movements, and can never place orders or move money. Follow the guide below — it takes about five minutes.", + "emptyBody": "Links are read-only: they import holdings, trades, dividends and cash movements, and can never place orders or move money. Pick your broker below: a step-by-step guide opens with the form — it takes about five minutes.", "checking": "Checking connection…", "setupGuide": "Where do I find these? Step-by-step guide", "fixHint": "How to fix it", @@ -659,6 +659,16 @@ "profile": { "label": "Profile", "hint": "a or b — both hold the same ETF to show consolidation." + }, + "Binance": { + "apiKey": { + "label": "API Key", + "hint": "From Binance → API Management, next to the key." + }, + "apiSecret": { + "label": "Secret Key", + "hint": "Shown once, right after the key is created." + } } }, "env": { @@ -722,7 +732,7 @@ }, "6": { "title": "Paste them here", - "body": "Click + Trading 212, paste the key and secret, keep Live and save. The first sync starts right away; if something is wrong the card tells you what to fix." + "body": "Paste the key and secret in the form below, keep Live and save. The first sync starts right away; if something is wrong the card tells you what to fix." } }, "onTitle": "Switch ON", @@ -769,7 +779,7 @@ }, "7": { "title": "Paste them here", - "body": "Click + Interactive Brokers, paste the token and the query ID and enter the token's expiry date. The first sync backfills several years and can take a few minutes." + "body": "Paste the token and the query ID in the form below and enter the token's expiry date. The first sync backfills several years and can take a few minutes." } }, "onTitle": "Sections to include", @@ -812,7 +822,7 @@ }, "6": { "title": "Paste them here", - "body": "Click + Binance, paste the API Key and the Secret Key and save. The first sync reads your spot and Earn balances and the last 180 days of Earn rewards." + "body": "Paste the API Key and the Secret Key in the form below and save. The first sync reads your spot and Earn balances and the last 180 days of Earn rewards." } }, "onTitle": "Keep ON", diff --git a/web/public/i18n/pt-PT.json b/web/public/i18n/pt-PT.json index 8412a92..0b5379a 100644 --- a/web/public/i18n/pt-PT.json +++ b/web/public/i18n/pt-PT.json @@ -631,7 +631,7 @@ "confirmDelete": "Eliminar a ligação \"{{name}}\"? As credenciais são apagadas de imediato.", "confirmPurge": "Apagar também todos os dados importados? (Cancelar mantém o histórico.)", "emptyTitle": "Liga a tua primeira corretora", - "emptyBody": "As ligações são só de leitura: importam posições, negócios, dividendos e movimentos de caixa, e nunca podem dar ordens nem mover dinheiro. Segue o guia abaixo — demora cerca de cinco minutos.", + "emptyBody": "As ligações são só de leitura: importam posições, negócios, dividendos e movimentos de caixa, e nunca podem dar ordens nem mover dinheiro. Escolhe a tua corretora abaixo: o guia passo a passo abre com o formulário — demora cerca de cinco minutos.", "checking": "A verificar a ligação…", "setupGuide": "Onde encontro isto? Guia passo a passo", "fixHint": "Como resolver", @@ -659,6 +659,16 @@ "profile": { "label": "Perfil", "hint": "a ou b — ambos têm o mesmo ETF para mostrar a consolidação." + }, + "Binance": { + "apiKey": { + "label": "API Key", + "hint": "Na Binance → Gestão de API, junto à chave." + }, + "apiSecret": { + "label": "Secret Key", + "hint": "Mostrada uma só vez, logo após criares a chave." + } } }, "env": { @@ -722,7 +732,7 @@ }, "6": { "title": "Cola-os aqui", - "body": "Clica em + Trading 212, cola a chave e o segredo, mantém Real e guarda. A primeira sincronização começa logo; se algo estiver mal, o cartão diz-te o que corrigir." + "body": "Cola a chave e o segredo no formulário abaixo, mantém Real e guarda. A primeira sincronização começa logo; se algo estiver mal, o cartão diz-te o que corrigir." } }, "onTitle": "ATIVAR", @@ -769,7 +779,7 @@ }, "7": { "title": "Cola-os aqui", - "body": "Clica em + Interactive Brokers, cola o token e o ID da query e indica a data de expiração do token. A primeira sincronização importa vários anos e pode demorar alguns minutos." + "body": "Cola o token e o ID da query no formulário abaixo e indica a data de expiração do token. A primeira sincronização importa vários anos e pode demorar alguns minutos." } }, "onTitle": "Secções a incluir", @@ -791,33 +801,33 @@ "intro": "A Binance liga-se com uma chave API que só pode ler. Antes de cada sincronização a app pergunta à Binance o que a chave pode fazer e recusa-a se puder negociar, transferir ou levantar.", "steps": { "1": { - "title": "Confirme que pode criar chaves API", - "body": "A Binance só cria chaves API numa conta verificada e com autenticação de dois fatores ativa. Use o site (binance.com) — para isto é mais simples do que a app." + "title": "Confirma que podes criar chaves API", + "body": "A Binance só cria chaves API numa conta verificada e com autenticação de dois fatores ativa. Usa o site (binance.com) — para isto é mais simples do que a app." }, "2": { - "title": "Crie a chave", - "body": "Vá a Perfil → Conta → Gestão de API → Criar API, escolha Gerada pelo sistema, dê-lhe um nome, p. ex. personal-finance, e confirme com 2FA." + "title": "Cria a chave", + "body": "Vai a Perfil → Conta → Gestão de API → Criar API, escolhe Gerada pelo sistema, dá-lhe um nome, p. ex. personal-finance, e confirma com 2FA." }, "3": { - "title": "Deixe só a leitura ligada", - "body": "Clique em Editar restrições. Mantenha Enable Reading ativo e tudo o resto desligado. Uma chave com qualquer outra permissão é recusada pela app." + "title": "Deixa só a leitura ligada", + "body": "Clica em Editar restrições. Mantém Enable Reading ativo e tudo o resto desligado. Uma chave com qualquer outra permissão é recusada pela app." }, "4": { - "title": "Restrinja-a ao seu IP", - "body": "Escolha Restringir o acesso apenas a IPs de confiança e indique o IP público do servidor (no servidor: curl -4 ifconfig.me). Guarde — a Binance volta a pedir 2FA." + "title": "Restringe-a ao teu IP", + "body": "Escolhe Restringir o acesso apenas a IPs de confiança e indica o IP público do servidor (no servidor: curl -4 ifconfig.me). Guarda — a Binance volta a pedir 2FA." }, "5": { - "title": "Copie a API Key e a Secret Key", - "body": "A Secret Key só aparece uma vez, logo a seguir a criar a chave. Copie as duas agora; se perder o segredo, apague a chave e crie outra." + "title": "Copia a API Key e a Secret Key", + "body": "A Secret Key só aparece uma vez, logo a seguir a criares a chave. Copia as duas agora; se perderes o segredo, apaga a chave e cria outra." }, "6": { - "title": "Cole-as aqui", - "body": "Clique em + Binance, cole a API Key e a Secret Key e guarde. A primeira sincronização lê os saldos spot e Earn e as recompensas Earn dos últimos 180 dias." + "title": "Cola-as aqui", + "body": "Cola a API Key e a Secret Key no formulário abaixo e guarda. A primeira sincronização lê os saldos spot e Earn e as recompensas Earn dos últimos 180 dias." } }, "onTitle": "Manter LIGADO", "on": { - "1": "Enable Reading — saldos, posições e recompensas Simple Earn, as suas execuções (para o preço médio)" + "1": "Enable Reading — saldos, posições e recompensas Simple Earn, as tuas execuções (para o preço médio)" }, "offTitle": "Deixar DESLIGADO", "off": { @@ -827,7 +837,7 @@ "4": "Permits Universal Transfer", "5": "Futures, European Options e qualquer outra permissão de negociação" }, - "revoke": "Revogue quando quiser: Binance → Gestão de API → Eliminar ao lado da chave. Deixa de funcionar de imediato.", + "revoke": "Revoga quando quiseres: Binance → Gestão de API → Eliminar ao lado da chave. Deixa de funcionar de imediato.", "csv": "Não há importação de ficheiros da Binance. Moedas noutras exchanges ou numa carteira podem ser adicionadas à mão em Portfólio → Adicionar cripto; a mesma moeda na Binance e à mão aparece como uma só posição." } }, diff --git a/web/src/app/features/connections/connections.ts b/web/src/app/features/connections/connections.ts index 3193a70..dcd6fa4 100644 --- a/web/src/app/features/connections/connections.ts +++ b/web/src/app/features/connections/connections.ts @@ -189,11 +189,11 @@ type CredentialField = ProviderInfo['fields'][number]; } @else {

{{ c.lastError }}

} - @if (guideFor(c.kind); as g) { + @if (guideFor(c.kind)) { @@ -330,57 +330,6 @@ type CredentialField = ProviderInfo['fields'][number]; } - @if (guideBrokers().length) { -
- - - - {{ 'connections.guide.title' | translate }} - {{ - 'connections.guide.subtitle' | translate - }} - - -
- @if (guideBrokers().length > 1) { -
- @for (b of guideBrokers(); track b) { - - } -
- } - -
-
- } - @if (guideFor(p.kind); as g) { -
+ +