From a8db8cba41cd7f07f1343f4dc7ff8a3cea4f623a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 13 Mar 2023 20:23:07 -0700 Subject: update pt locale --- src/locales/pt.json | 96 ++++++++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 45 deletions(-) (limited to 'src/locales/pt.json') diff --git a/src/locales/pt.json b/src/locales/pt.json index 117a5101..180a15f2 100644 --- a/src/locales/pt.json +++ b/src/locales/pt.json @@ -15,31 +15,10 @@ "position": "Chief Technical Officer", "bio": "Adam is a web developer and bitcoin enthusiast who believes sound money is key to increasing global prosperity. He lives in North Vancouver with his wife Chelsea and two children." }, - "secondl1ght": { - "name": "secondl1ght", - "position": "Web Developer", - "bio": "A self-taught Web Developer, secondl1ght dove head first down the bitcoin rabbit hole and left his fiat job to focus on bitcoin development full-time. He contributes to open source projects, is a privacy advocate, and freedom lover." - }, - - "karnage": { - "name": "Karnage", - "position": "Product Designer", - "bio": "My mission is to help startup founders succeed. I create products to achieve this goal. Pixel-perfect product design. Get it shipped." - }, - "shauna": { - "name": "Shauna", - "position": "Operations & Marketing", - "bio": "Strategic & Project Management. Jack of all Trades. Can always find time to meet for coffee." - }, "cole": { "name": "Cole", - "position": "Bitcoin Professional", - "bio": "As a Certified Bitcoin Professional, Cole is a driven individual with a passion for freedom. He came across bitcoin in 2016 and studied it in depth. Now he wants to introduce the lightning network to as many users as possible." - }, - "john": { - "name": "John Barratt", - "position": "Full Stack Web Developer", - "bio": "When not coding you can find John out in the woods hiking all the great trails that BC has to offer." + "position": "Certified Bitcoin Professional", + "bio": "Cole is a driven individual with a passion for freedom. He came across bitcoin in 2016 and studied it in depth. Now he wants to introduce the lightning network to as many users as possible." } }, "locations": { @@ -56,26 +35,27 @@ "header": "FAQ", "cost": { "question": "What does it cost?", - "answer": "It's free to register an account and receive payments over the lightning network. We charge a 0.1% fee to convert from lightning to bitcoin." + "answer": "It's free to register an account and receive payments. We charge a 0.1% conversion fee if you withdraw regular bitcoin to lightning or vice versa." }, "compatibility": { "question": "Do I need any special device or software?", - "answer": "No. Coinos is web-based, so as long as you have an internet connection, you can use it on any device. Retail merchants might use it on a phone or a tablet." + "answer": "No. Coinos is web based, so as long as you have an internet connection and a web browser, it works anywhere. Retail merchants might use it on a phone or a tablet." }, "safety": { "question": "When do my funds settle?", - "answer": "Lightning payments are settled instantly. You can withdraw your balance to another wallet or exchange right after payments are received." + "answer": "Lightning payments are settled instantly. You can withdraw your balance to another wallet or exchange immediately once funds are received." } }, "footer": { "company": "Company", "followUs": "Follow Us", "github": "GitHub", + "linktree": "Linktree", "jobs": "Jobs", "support": "Support", "telegram": "Telegram", "twitter": "Twitter", - "news": "News" + "documentation": "Documentation" }, "howItWorks": { "header": "How it works", @@ -89,7 +69,7 @@ }, "step3": { "header": "3. That's all!", - "description": "Spend your coin at other merchants or save it for a rainy day, the choice is yours." + "description": "Spend your coin immediately or save it and watch it grow, the choice is yours." } }, "invoice": { @@ -112,11 +92,11 @@ "landing": { "header_before_icon": "The", "header_with_icon": "easiest", - "header_after_icon": "way to accept bitcoin in your store.", - "subheader": "Grow your customer base and revenue by accepting bitcoin with an easy-to-use web app. No software or hardware required.", + "header_after_icon": "way to get started with bitcoin.", + "subheader": "A simple but powerful web wallet for everyone. No software or hardware required.", "info1": { "title": "Instant payments via Lightning", - "description": "The moment your customer sends a payment, it’s there. No waiting for bank settlements or worrying about chargebacks. Instant settlement, in seconds. Say goodbye to 3% credit card processing fees." + "description": "We make it easy for merchants to receive retail payments. No waiting for bank settlements or worrying about chargebacks. Instant settlement, in seconds. Say goodbye to 3% credit card processing fees." }, "info2": { "title": "Simple to use", @@ -126,7 +106,7 @@ }, "info3": { "title": "Brand it your way!", - "description": "Customize your point of sale look and feel, or keep it on default - it's totally up to you." + "description": "Customize your profile page look and feel, or keep it on default - it's totally up to you." } }, "login": { @@ -166,7 +146,14 @@ "unfollow": "Unfollow", "following": "Following", "follow": "Follow", + "followers": "Followers", "remove": "Remove", + "noNotes": "No notes yet", + "message": "Message", + "messages": "Messages", + "feed": "Feed", + "notes": "Notes", + "pay": "Pay", "scanToPayBTC": "Scan to pay with bitcoin", "this": "This", "lightningAddress": "lightning address", @@ -198,36 +185,44 @@ "placeholder": "Paste a bitcoin address, lightning invoice or coinos username" }, "settings": { + "saveSettings": "Save Settings", "bannerImage": "Banner Image", "profileImage": "Profile Image", "oneTimeCode": "Enter one-time code", "accountId": "Account Secret", "header": "Settings", "ACCOUNT": "ACCOUNT", - "POINT_OF_SALE": "POINT OF SALE", + "POINT_OF_SALE": "PREFERENCES", "SECURITY": "SECURITY", "locale": "Language", "username": "Username", "email": "Email", - "newPassword": "New Password", - "businessAddress": "Business Address", + "newPassword": "Change Password", + "about": "About", + "aboutPlaceholder": "A little something about you or your business address and hours", "emailNotifications": "Email Notifications", "emailNotificationsDescription": "Get notified via email when a change occurs on your account or when people send you payments.", "smsNotifications": "SMS Notifications", "smsNotificationsDescription": "Coinos will send you text notifications when this is enabled.", "theme": "Color Theme", + "tipPrompt": "Prompt for tips", + "tipPromptDescription": "Ask people if they want to add a tip before paying their invoices", + "displayName": "Display name", "themeDescription": "Select from the default color themes.", - "localCurrency": "Local Currency", + "localCurrency": "Currency", "btcUnit": "Display bitcoin in:", "bitcoin": "bitcoin", + "minutes": "minutes", + "hour": "hour", + "hours": "hours", "satoshis": "Satoshis", "securityPIN": "Security PIN", "securityPINDescription": "Set a security pin that will be used to unlock your settings and to send outgoing payments.", "setPIN": "Set PIN", "autoLock": "Auto-Lock Timer", - "autoLockDescription": "Your account will go into a secure mode automatically after a specified time:", + "autoLockDescription": "Your account will go into a secure mode, requiring you to re-enter your credentials after a specified time:", "twofa": "2-Factor Authentication", - "twofaDescription": "Add an extra level of security to your device by enableing 2-factor authentication.", + "twofaDescription": "Add an extra level of security to your device by enabling 2-factor authentication.", "twofaSetup": "Set up 2FA", "twofaDisable": "Disable 2FA", "select": "Select", @@ -244,10 +239,14 @@ } }, "payments": { - "header": "Transactions", - "AMOUNT": "AMOUNT", - "TYPE": "TYPE", - "TIME": "TIME", + "amount": "Amount", + "date": "Date", + "id": "Transaction ID", + "details": "Transaction Details", + "header": "Payments", + "preimage": "Proof of payment", + "type": "Type", + "time": "Time", "sent": "Sent", "received": "Received", "empty": "No transactions yet.", @@ -259,7 +258,7 @@ "pay": "Pay", "requesting": "is requesting", "sentInvoiceTo": "Sent invoice to", - "sentRequestTo": "Sent request to", + "sentRequestTo": "Request sent!", "pleasePay": "Please pay", "day": "Day", "week": "Week", @@ -269,9 +268,16 @@ "invoice": "Invoice", "readyToPay": "is ready to pay", "describeOrder": "Use this field to describe your order", - "requestAnInvoice": "Request an invoice", + "requestAnInvoice": "Request Invoice", "submit": "Submit", "isRequesting": "is requesting", - "awaiting": "Awaiting" + "invoiceFrom": "Invoice from", + "awaiting": "Awaiting", + "tapAnywhere": "Tap anywhere to continue", + "from": "from", + "redeem": "Redeem", + "redeemed": "Redeemed", + "redeemedBy": "Redeemed by", + "sendMessage": "Write a message..." } } -- cgit v1.2.3 From 4ef6f3531e8546f15ca9546288f815f2fb3a8f65 Mon Sep 17 00:00:00 2001 From: iksolon <107311059+iksolon@users.noreply.github.com> Date: Tue, 14 Mar 2023 08:48:49 -0300 Subject: Update pt.json --- src/locales/pt.json | 388 ++++++++++++++++++++++++++-------------------------- 1 file changed, 194 insertions(+), 194 deletions(-) (limited to 'src/locales/pt.json') diff --git a/src/locales/pt.json b/src/locales/pt.json index 180a15f2..dc716c0e 100644 --- a/src/locales/pt.json +++ b/src/locales/pt.json @@ -1,283 +1,283 @@ { "404": { "404": "404", - "pageNotFound": "Page not found." + "pageNotFound": "Página não encontrada." }, - "about": { - "header": "About", - "p1": "Coinos is an open source bitcoin payment app. Development started in Vancouver in September 2012 as a way to provide local merchants with a convenient way to accept bitcoin payments.", - "p2": "You can download the source code to run an instance and connect it to your own bitcoin and lightning nodes. We'll help you get started being a benevolent custodian and payments provider for your community.", - "p3": "Account transfers amongst users on our server are done off-chain so they're completely free, instant, and unlimited.", + "header": { + "header": "Sobre", + "p1": "O Coinos é uma aplicação de pagamento de bitcoin de código aberto. O desenvolvimento começou em Vancouver em Setembro de 2012 como forma de fornecer aos comerciantes locais uma forma conveniente de aceitar pagamentos de bitcoin.", + "p2": "Você pode baixar o código fonte para executar uma instância e ligá-lo aos seus próprios nós de bitcoin e da Lightning Network. Vamos ajudá-lo a começar a ser um depositário benevolente e fornecedor de pagamentos para a sua comunidade..", + "p3": "As transferências de conta entre utilizadores no nosso servidor são feitas off-chain, por isso são completamente gratuitas, instantâneas e ilimitadas.", "team": { - "header": "The Team", + "header": "O time", "adam": { "name": "Adam Soltys", - "position": "Chief Technical Officer", - "bio": "Adam is a web developer and bitcoin enthusiast who believes sound money is key to increasing global prosperity. He lives in North Vancouver with his wife Chelsea and two children." + "position": "Responsável Técnico Principal", + "bio": "Adam é um desenvolvedor web e um entusiasta do bitcoin que acredita que o dinheiro sólido é a chave para aumentar a prosperidade global. Ele vive em North Vancouver com a sua esposa Chelsea e dois filhos." }, "cole": { "name": "Cole", - "position": "Certified Bitcoin Professional", - "bio": "Cole is a driven individual with a passion for freedom. He came across bitcoin in 2016 and studied it in depth. Now he wants to introduce the lightning network to as many users as possible." + "position": "Profissional Certificado de Bitcoin", + "bio": "Cole é um indivíduo motivado com uma paixão pela liberdade. Encontrou-se com o bitcoin em 2016 e estudou-o em profundidade. Agora quer introduzir a rede lightning ao maior número de utilizadores possível." } }, "locations": { - "header": "Locations", - "description": "Here are some businesses that are accepting bitcoin with Coinos. We hope that yours will be next!" + "header": "Locais", + "description": "Aqui estão algumas empresas que estão aceitando bitcoin com a Coinos. Esperamos que o seu seja o próximo!" } }, "error": { - "header": "Error", - "message": "Please try again or contact support.", - "signIn": "Please sign in to continue." + "header": "Erro", + "message": "Por favor tente novamente ou contate o suporte.", + "signIn": "Por favor, faça o login para continuar." }, "faq": { "header": "FAQ", "cost": { - "question": "What does it cost?", - "answer": "It's free to register an account and receive payments. We charge a 0.1% conversion fee if you withdraw regular bitcoin to lightning or vice versa." + "pergunta": "Quanto custa?", + "resposta": "É grátis para registrar uma conta e receber pagamentos. Cobramos uma taxa de conversão de 0,1% se você retirar o bitcoin da rede principal para a lightning ou vice-versa.." }, "compatibility": { - "question": "Do I need any special device or software?", - "answer": "No. Coinos is web based, so as long as you have an internet connection and a web browser, it works anywhere. Retail merchants might use it on a phone or a tablet." + "pergunta": "Eu preciso de algum dispositivo ou software especial?", + "resposta": "Não. Coinos baseado na web, desde que você tenha uma conexão com a Internet e um navegador web, ele funciona em qualquer lugar. Os comerciantes de varejo podem usá-lo em um telefone, computador ou tablet." }, "safety": { - "question": "When do my funds settle?", - "answer": "Lightning payments are settled instantly. You can withdraw your balance to another wallet or exchange immediately once funds are received." + "pergunta": "Como é a liquidez?", + "resposta": "Os pagamentos pela lightning são liquidados instantaneamente. Você pode retirar seu saldo para outra carteira ou trocar imediatamente assim que os fundos forem recebidos." } }, "footer": { - "company": "Company", - "followUs": "Follow Us", + "company": "Empresa", + "followUs": "Siga-nos", "github": "GitHub", "linktree": "Linktree", - "jobs": "Jobs", - "support": "Support", + "jobs": "Empregos", + "support": "Suporte", "telegram": "Telegram", "twitter": "Twitter", - "documentation": "Documentation" + "documentation": "Documentação" }, "howItWorks": { - "header": "How it works", + "header": "Como funciona", "step1": { - "header": "1. Create your account", - "description": "A username and password is all you need to get started." + "header": "1. Crie sua conta", + "description": "Um nome de usuário e senha é tudo o que você precisa para começar." }, "step2": { - "header": "2. Ask for payments", - "description": "The same as you normally would, but with bitcoin." + "header": "2. Solicite pagamentos", + "description": "O mesmo que você normalmente faria, mas com bitcoin." }, "step3": { - "header": "3. That's all!", - "description": "Spend your coin immediately or save it and watch it grow, the choice is yours." + "header": "3. Pronto!", + "description": "Gaste sua moeda imediatamente ou guarde-a e veja-a crescer, a escolha é sua." } }, "invoice": { - "addTip": "Add a tip", - "addTipq": "Add a tip?", - "done": "Done", - "paymentSuccessful": "Payment received!", - "invoice": "Invoice", + "addTip": "Adicionar gorjeta", + "addTipq": "Adicionar gorjeta?", + "done": "Feito", + "paymentSuccessful": "Pagamento recebido!", + "invoice": "Fatura", "total": "Total", - "tip": "Tip" + "tip": "Gorjeta" }, "jobs": { - "header": "Jobs", - "subheader": "Current Openings", - "pitch1": "Coinos is actively looking for developers to join our growing team (full-time or part-time, remote working OK).", - "pitch2": "Excited about working on open source bitcoin? Then take a look at our repositories on", + "header": "Vagas de emprego", + "subheader": "Atualmente abertas", + "pitch1": "Coinos está procurando ativamente desenvolvedores para se juntar à nossa crescente equipe (tempo integral ou meio-período, trabalho remoto OK).", + "pitch2": "Entusiasmado com o trabalho em bitcoin open source? Então dê uma olhada em nossos repositórios em", "github": "GitHub", - "pitch3": "If you think you can make an impact, we'd love to hear from you. Send us your resume to" + "pitch3": "Se você acha que pode causar um impacto, gostaríamos muito de ouvir de você. Envie-nos seu currículo para" }, "landing": { - "header_before_icon": "The", - "header_with_icon": "easiest", - "header_after_icon": "way to get started with bitcoin.", - "subheader": "A simple but powerful web wallet for everyone. No software or hardware required.", + "header_before_icon": "O", + "header_with_icon": "jeito mais fácil", + "header_after_icon": "de iniciar no Bitcoin.", + "subheader": "Uma carteira web simples, mas poderosa para todos. Não requer software nem hardware.", "info1": { - "title": "Instant payments via Lightning", - "description": "We make it easy for merchants to receive retail payments. No waiting for bank settlements or worrying about chargebacks. Instant settlement, in seconds. Say goodbye to 3% credit card processing fees." + "title": "Pagamentos instantâneos via Lightning", + "description": "Facilitamos para os comerciantes o recebimento de pagamentos de varejo. Nada de esperar por liquidações bancárias ou se preocupar com chargebacks. Liquidação instantânea, em segundos. Diga adeus a 3% de taxas de processamento de cartão de crédito.." }, "info2": { - "title": "Simple to use", - "description1": "Just enter an amount in your local currency, share the QR code and you’re done.", - "description2": "We do all the heavy lifting so you can focus on your business.", - "description3": "You always have the option of taking custody of your funds by withdrawing instantly at any time." + "title": "Simples de usar", + "description1": "Basta inserir a quantia em sua moeda local, compartilhar o QR code e pronto..", + "description2": "Nós fazemos todo o trabalho pesado para que você possa se concentrar no seu negócio.", + "description3": "Você sempre tem a opção de tomar para sí a custódia de seus fundos, retirando-se imediatamente a qualquer momento." }, "info3": { - "title": "Brand it your way!", - "description": "Customize your profile page look and feel, or keep it on default - it's totally up to you." + "title": "Personalise do seu jeito!", + "description": "Personalize a aparência de sua página de perfil, ou mantenha o padrão - você escolhe." } }, "login": { - "optional": "Optional", + "optional": "Opcional", "token": "2FA Token", - "username": "Username", - "password": "Password", + "username": "Usuário", + "password": "Senha", "email": "Email", - "passwordRecommendation": "We recommend a long, random password generated with a password manager.", - "forgotUserOrPassword": "Forgot Username or Password?", - "haveAccount": "Already have an account?", - "noAccount": "Don't have an account?", - "register": "Register", - "signIn": "Sign In", - "failed": "Login failed" + "passwordRecommendation": "Recomendamos uma senha longa e aleatória gerada com um gerenciador de senhas.", + "forgotUserOrPassword": "Esqueceu o usuário ou senha?", + "haveAccount": "Já tem uma conta?", + "noAccount": "Não tem uma conta?", + "register": "Registre", + "signIn": "Entrar", + "failed": "Falha no login" }, "nav": { - "profile": "Profile", - "startInSeconds": "Start in Seconds", - "account": "Account", - "signIn": "Sign In", - "signOut": "Sign Out", - "dashboard": "Dashboard", - "settings": "Settings", - "support": "Support" + "profile": "Perfil", + "startInSeconds": "Inicie em segundos", + "account": "Conta", + "signIn": "Entrar", + "signOut": "Sair", + "dashboard": "Painel de controle", + "settings": "Ajustes", + "support": "Suporte" }, "newSiteHeader": "Join us at our launch party in Vancouver on October 26! Looking for the old coinos? Visit classic.coinos.io", "news": { - "header": "News", - "subheader": "Latest Updates", + "header": "Notícias", + "subheader": "Últimos Updates", "update1": "" }, "user": { "bitcoin": "Bitcoin", "lightning": "Lightning", - "invoice": "Invoice", - "unfollow": "Unfollow", - "following": "Following", - "follow": "Follow", - "followers": "Followers", - "remove": "Remove", - "noNotes": "No notes yet", - "message": "Message", - "messages": "Messages", + "invoice": "Fatura", + "unfollow": "Deixar de seguir", + "following": "Seguindo", + "follow": "Seguir", + "followers": "Seguidores", + "remove": "Remover", + "noNotes": "Nenhuma nota ainda", + "message": "Mensagem", + "messages": "Mensagens", "feed": "Feed", - "notes": "Notes", - "pay": "Pay", - "scanToPayBTC": "Scan to pay with bitcoin", - "this": "This", - "lightningAddress": "lightning address", - "likeAnEmail": "is like an email for bitcoin. You can publish it on your website or business cards and use it multiple times.", + "notes": "Notas", + "pay": "Pagar", + "scanToPayBTC": "Escaneie para pagar com bitcoin", + "this": "Este", + "lightningAddress": "endereço lightning", + "likeAnEmail": "é como um email para o bitcoin. Você pode publicá-lo em seu site ou cartão de visita e usá-lo várias vezes.", "dashboard": { - "go": "Go", - "dashboard": "Dashboard", - "accountBalance": "Account Balance", - "bitcoinPrice": "bitcoin Price:", - "conversionFeeWarning": "You will be charged a 1% withdrawal fee on the amount.", + "go": "Ir", + "dashboard": "Painel de controle", + "accountBalance": "Saldo na conta", + "bitcoinPrice": "Preço do bitcoin:", + "conversionFeeWarning": "Será cobrada uma taxa de retirada de 1% sobre o valor.", "dataFromBinance": "Data from Binance.", - "fetchingRate": "fetching rate...", - "optionalNote": "Note (Optional)", - "send": "Send", - "receive": "Receive", - "withdraw": "Send", + "fetchingRate": "buscando taxa...", + "optionalNote": "Nota (Opcional)", + "send": "Enviar", + "receive": "Receber, + "withdraw": "Enviar", "deposit": "Deposit", "voucher": "Voucher" }, "receive": { - "lessThan1BTCWarning": "Please enter an amount less than 1 bitcoin.", - "showQR": "Show QR" + "lessThan1BTCWarning": "Favor inserir uma quantidade inferior a 1 bitcoin.", + "showQR": "Mostrar QR code" }, "send": { - "contacts": "Contacts", - "scan": "Scan", - "paste": "Paste", - "next": "Next", - "placeholder": "Paste a bitcoin address, lightning invoice or coinos username" + "contacts": "Contatos", + "scan": "Escanear", + "paste": "Colar", + "next": "Continuar", + "placeholder": "Colar um endereço de bitcoin, fatura lightning ou nome de usuário na coinos" }, "settings": { - "saveSettings": "Save Settings", - "bannerImage": "Banner Image", - "profileImage": "Profile Image", - "oneTimeCode": "Enter one-time code", - "accountId": "Account Secret", - "header": "Settings", - "ACCOUNT": "ACCOUNT", - "POINT_OF_SALE": "PREFERENCES", - "SECURITY": "SECURITY", - "locale": "Language", - "username": "Username", + "saveSettings": "Salvar ajustes", + "bannerImage": "Imagem do banner", + "profileImage": "Imagem do perfil", + "oneTimeCode": "Entre com o código único", + "accountId": "ID da conta", + "header": "Ajustes", + "ACCOUNT": "CONTA", + "POINT_OF_SALE": "PREFERÊNCIAS", + "SECURITY": "SEGURANÇA", + "locale": "Idioma", + "username": "Usuário", "email": "Email", - "newPassword": "Change Password", - "about": "About", - "aboutPlaceholder": "A little something about you or your business address and hours", - "emailNotifications": "Email Notifications", - "emailNotificationsDescription": "Get notified via email when a change occurs on your account or when people send you payments.", - "smsNotifications": "SMS Notifications", - "smsNotificationsDescription": "Coinos will send you text notifications when this is enabled.", - "theme": "Color Theme", - "tipPrompt": "Prompt for tips", - "tipPromptDescription": "Ask people if they want to add a tip before paying their invoices", - "displayName": "Display name", - "themeDescription": "Select from the default color themes.", - "localCurrency": "Currency", - "btcUnit": "Display bitcoin in:", + "newPassword": "Alterar senhar", + "about": "Sobre", + "aboutPlaceholder": "Um pouco sobre você ou seu endereço comercial e horários", + "emailNotifications": "Notificações por email", + "emailNotificationsDescription": "Ser notificado por e-mail quando ocorrer uma mudança em sua conta ou quando as pessoas lhe enviarem pagamentos.", + "smsNotifications": "Notificações por SMS", + "smsNotificationsDescription": "A Coinos lhe enviará notificações por SMS quando isto estiver habilitado.", + "theme": "Cor do tema", + "tipPrompt": "Mostrar opção gorjetas", + "tipPromptDescription": "Pergunte às pessoas se elas querem acrescentar uma gorjeta antes de pagar sua fatura", + "displayName": "Mostrar nome", + "themeDescription": "Selecionar entre os temas de cor padrão.", + "localCurrency": "Moeda", + "btcUnit": "Mostrar bitcoin em:", "bitcoin": "bitcoin", - "minutes": "minutes", - "hour": "hour", - "hours": "hours", + "minutes": "minutos", + "hour": "hora", + "hours": "horas", "satoshis": "Satoshis", - "securityPIN": "Security PIN", - "securityPINDescription": "Set a security pin that will be used to unlock your settings and to send outgoing payments.", - "setPIN": "Set PIN", - "autoLock": "Auto-Lock Timer", - "autoLockDescription": "Your account will go into a secure mode, requiring you to re-enter your credentials after a specified time:", - "twofa": "2-Factor Authentication", - "twofaDescription": "Add an extra level of security to your device by enabling 2-factor authentication.", - "twofaSetup": "Set up 2FA", - "twofaDisable": "Disable 2FA", - "select": "Select", - "verifyPIN": "Verify PIN", - "enablePIN": "Enable PIN", - "disablePIN": "Disable PIN" + "securityPIN": "PIN de segurança", + "securityPINDescription": "Estabeleça um PIN de segurança que será usado para desbloquear suas configurações e para enviar pagamentos.", + "setPIN": "Insira o PIN", + "autoLock": "Bloqueio automático", + "autoLockDescription": "Sua conta entrará em um modo seguro, exigindo que você reentre suas credenciais após um tempo especificado:", + "twofa": "Eutenticação de 2 fatores", + "twofaDescription": "Adicione um nível extra de segurança ao seu dispositivo, permitindo autenticação de 2 fatores.", + "twofaSetup": "Habilitar o 2FA", + "twofaDisable": "Desabilitar o 2FA", + "select": "Selecionar", + "verifyPIN": "Verificar PIN", + "enablePIN": "Habilitar PIN", + "disablePIN": "Desabilitar PIN" }, "support": { - "header": "Support", + "header": "Suporte", "email": "Email", - "accountName": "Account Name", - "message": "Message", - "send": "Send" + "accountName": "Usuário", + "message": "Mensagem", + "send": "Enviar" } }, "payments": { - "amount": "Amount", - "date": "Date", - "id": "Transaction ID", - "details": "Transaction Details", - "header": "Payments", - "preimage": "Proof of payment", - "type": "Type", - "time": "Time", - "sent": "Sent", - "received": "Received", - "empty": "No transactions yet.", - "send": "Send", - "next": "Next", - "sendersChoice": "Sender's choice", - "sendTo": "Send to", - "to": "to", - "pay": "Pay", - "requesting": "is requesting", - "sentInvoiceTo": "Sent invoice to", - "sentRequestTo": "Request sent!", - "pleasePay": "Please pay", - "day": "Day", - "week": "Week", - "month": "Month", - "all": "All", - "export": "Export", - "invoice": "Invoice", - "readyToPay": "is ready to pay", - "describeOrder": "Use this field to describe your order", - "requestAnInvoice": "Request Invoice", - "submit": "Submit", - "isRequesting": "is requesting", - "invoiceFrom": "Invoice from", - "awaiting": "Awaiting", - "tapAnywhere": "Tap anywhere to continue", - "from": "from", - "redeem": "Redeem", - "redeemed": "Redeemed", - "redeemedBy": "Redeemed by", - "sendMessage": "Write a message..." + "amount": "Quantidade", + "date": "Data", + "id": "ID de transação", + "details": "Details da transação", + "header": "Pagamentos", + "preimage": "Prova de pagamento", + "type": "Tipo", + "time": "Hora", + "sent": "Enviado", + "received": "Recebido", + "empty": "Nenhuma transação ainda.", + "send": "Enviar", + "next": "Continuar", + "sendersChoice": "A escolha do remetente", + "sendTo": "Enviar para", + "to": "para", + "pay": "Pagar", + "requesting": "solicitando", + "sentInvoiceTo": "Fatura enviada para", + "sentRequestTo": "Solicitação enviada!", + "pleasePay": "Por favor pague", + "day": "Dia", + "week": "Semana", + "month": "Mês", + "all": "Todos", + "export": "Exportar", + "invoice": "Fatura", + "readyToPay": "está pronta para pagar", + "describeOrder": "Use este campo para descrever seu pedido", + "requestAnInvoice": "Solicitar Fatura", + "submit": "O envio", + "isRequesting": "foi solicitado", + "invoiceFrom": "Fatura de", + "awaiting": "Aguardando", + "tapAnywhere": "Toque em qualquer lugar para continuar", + "from": "de", + "redeem": "Resgatar", + "redeemed": "Resgatado", + "redeemedBy": "Resgatado por", + "sendMessage": "Escreva uma mensagem..." } } -- cgit v1.2.3 From 4f27d69176952e05a5ce11cd10b4c52ed3b528e3 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 14 Mar 2023 10:11:55 -0700 Subject: missing quote --- src/locales/pt.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/locales/pt.json') diff --git a/src/locales/pt.json b/src/locales/pt.json index dc716c0e..b5b71172 100644 --- a/src/locales/pt.json +++ b/src/locales/pt.json @@ -1,5 +1,5 @@ { - "404": { + "404": { "404": "404", "pageNotFound": "Página não encontrada." }, @@ -168,7 +168,7 @@ "fetchingRate": "buscando taxa...", "optionalNote": "Nota (Opcional)", "send": "Enviar", - "receive": "Receber, + "receive": "Receber", "withdraw": "Enviar", "deposit": "Deposit", "voucher": "Voucher" -- cgit v1.2.3 From 190b5c8756caccfb1d3e3832c2784c125adea060 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 14 Mar 2023 10:16:41 -0700 Subject: rename pt keys --- src/locales/pt.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/locales/pt.json') diff --git a/src/locales/pt.json b/src/locales/pt.json index b5b71172..f73431e3 100644 --- a/src/locales/pt.json +++ b/src/locales/pt.json @@ -3,7 +3,7 @@ "404": "404", "pageNotFound": "Página não encontrada." }, - "header": { + "about": { "header": "Sobre", "p1": "O Coinos é uma aplicação de pagamento de bitcoin de código aberto. O desenvolvimento começou em Vancouver em Setembro de 2012 como forma de fornecer aos comerciantes locais uma forma conveniente de aceitar pagamentos de bitcoin.", "p2": "Você pode baixar o código fonte para executar uma instância e ligá-lo aos seus próprios nós de bitcoin e da Lightning Network. Vamos ajudá-lo a começar a ser um depositário benevolente e fornecedor de pagamentos para a sua comunidade..", @@ -34,16 +34,16 @@ "faq": { "header": "FAQ", "cost": { - "pergunta": "Quanto custa?", - "resposta": "É grátis para registrar uma conta e receber pagamentos. Cobramos uma taxa de conversão de 0,1% se você retirar o bitcoin da rede principal para a lightning ou vice-versa.." + "question": "Quanto custa?", + "answer": "É grátis para registrar uma conta e receber pagamentos. Cobramos uma taxa de conversão de 0,1% se você retirar o bitcoin da rede principal para a lightning ou vice-versa.." }, "compatibility": { - "pergunta": "Eu preciso de algum dispositivo ou software especial?", - "resposta": "Não. Coinos baseado na web, desde que você tenha uma conexão com a Internet e um navegador web, ele funciona em qualquer lugar. Os comerciantes de varejo podem usá-lo em um telefone, computador ou tablet." + "question": "Eu preciso de algum dispositivo ou software especial?", + "answer": "Não. Coinos baseado na web, desde que você tenha uma conexão com a Internet e um navegador web, ele funciona em qualquer lugar. Os comerciantes de varejo podem usá-lo em um telefone, computador ou tablet." }, "safety": { - "pergunta": "Como é a liquidez?", - "resposta": "Os pagamentos pela lightning são liquidados instantaneamente. Você pode retirar seu saldo para outra carteira ou trocar imediatamente assim que os fundos forem recebidos." + "question": "Como é a liquidez?", + "answer": "Os pagamentos pela lightning são liquidados instantaneamente. Você pode retirar seu saldo para outra carteira ou trocar imediatamente assim que os fundos forem recebidos." } }, "footer": { -- cgit v1.2.3 From cdc3a2677c8728af27084024daba288153c2bd52 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 16 Mar 2023 23:04:32 -0700 Subject: admin route --- README.md | 1 - src/locales/en.json | 2 +- src/locales/es.json | 2 +- src/locales/pt.json | 4 ++-- .../(app)/[username]/(profile)/followers/+page.svelte | 4 +++- .../(app)/[username]/(profile)/follows/+page.svelte | 4 +++- .../(app)/[username]/payments/[...page]/+page.svelte | 2 +- .../(app)/[username]/settings/[...tab]/+page.svelte | 19 ++++++++++++++----- src/routes/(app)/admin/+layout.server.js | 11 +++++++++++ src/routes/(app)/admin/+layout.svelte | 10 ++++++++++ src/routes/(app)/admin/+page.server.js | 10 ++++++++++ src/routes/(app)/admin/+page.svelte | 11 +++++++++++ src/routes/(app)/payment/[id]/+page.svelte | 2 +- src/routes/(app)/sent/+page.svelte | 2 +- 14 files changed, 69 insertions(+), 15 deletions(-) create mode 100644 src/routes/(app)/admin/+layout.server.js create mode 100644 src/routes/(app)/admin/+layout.svelte create mode 100644 src/routes/(app)/admin/+page.server.js create mode 100644 src/routes/(app)/admin/+page.svelte (limited to 'src/locales/pt.json') diff --git a/README.md b/README.md index f7dab808..51763e4f 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,3 @@ To get started, clone or download the repo, then: pnpm run dev You'll need to run [`coinos-server`](https://github.com/coinos/coinos-server) as well - diff --git a/src/locales/en.json b/src/locales/en.json index 180a15f2..28f7db2b 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -185,7 +185,7 @@ "placeholder": "Paste a bitcoin address, lightning invoice or coinos username" }, "settings": { - "saveSettings": "Save Settings", + "saveSettings": "Save Settings", "bannerImage": "Banner Image", "profileImage": "Profile Image", "oneTimeCode": "Enter one-time code", diff --git a/src/locales/es.json b/src/locales/es.json index 5a2a5123..9f6c6e1b 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -178,7 +178,7 @@ "placeholder": "Asigne una dirección de bitcoin, una factura lightning o un usuario de coinos" }, "settings": { - "saveSettings": "Guardar ajustes", + "saveSettings": "Guardar ajustes", "tipPrompt": "Solicitar propinas", "tipPromptDescription": "Pregunta a las personas si quieren agregar una propina antes de pagar sus facturas", "bannerImage": "Imagen del Banner", diff --git a/src/locales/pt.json b/src/locales/pt.json index f73431e3..309511f9 100644 --- a/src/locales/pt.json +++ b/src/locales/pt.json @@ -1,5 +1,5 @@ { - "404": { + "404": { "404": "404", "pageNotFound": "Página não encontrada." }, @@ -185,7 +185,7 @@ "placeholder": "Colar um endereço de bitcoin, fatura lightning ou nome de usuário na coinos" }, "settings": { - "saveSettings": "Salvar ajustes", + "saveSettings": "Salvar ajustes", "bannerImage": "Imagem do banner", "profileImage": "Imagem do perfil", "oneTimeCode": "Entre com o código único", diff --git a/src/routes/(app)/[username]/(profile)/followers/+page.svelte b/src/routes/(app)/[username]/(profile)/followers/+page.svelte index 9c425449..56b3ba16 100644 --- a/src/routes/(app)/[username]/(profile)/followers/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/followers/+page.svelte @@ -15,7 +15,9 @@
-

{$t('user.followers')}

+

+ {$t('user.followers')} +

{#if browser} {#if followers.length} diff --git a/src/routes/(app)/[username]/(profile)/follows/+page.svelte b/src/routes/(app)/[username]/(profile)/follows/+page.svelte index b6256a71..b238c3a7 100644 --- a/src/routes/(app)/[username]/(profile)/follows/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/follows/+page.svelte @@ -14,7 +14,9 @@
-

{$t('user.following')}

+

+ {$t('user.following')} +

{#if browser} {#if follows.length} diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte index 4e2e6ede..c9cc5c40 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.svelte +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -64,7 +64,7 @@ amount_fiat: f((p.amount * p.rate) / sats, p.currency), fee_fiat: p.fee ? f((p.fee * p.rate) / sats, p.currency) : null, tip_fiat: p.tip ? f((p.tip * p.rate) / sats, p.currency) : null, - total_fiat: f(((p.amount + (p.tip || 0)) * p.rate) / sats, p.currency) + total_fiat: f(((p.amount + (p.tip || 0)) * p.rate) / sats, p.currency) })); let keys = [ diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte index 06e80c8c..997d8b4a 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte @@ -5,7 +5,7 @@ import { Icon, Spinner, Pin } from '$comp'; import { t } from '$lib/translations'; - import { fail, post, success } from '$lib/utils'; + import { fail, post, warning, success } from '$lib/utils'; import { avatar, banner, password, pin } from '$lib/store'; import { upload } from '$lib/upload'; import { page } from '$app/stores'; @@ -55,7 +55,12 @@ let data = new FormData(formElement); if (data.get('password')) { - data.set('cipher', await reEncryptEntropy(user, data.get('password'))); + try { + data.set('cipher', await reEncryptEntropy(user, data.get('password'))); + } catch (e) { + console.log('Failed to encrypt keys with new password'); + throw e; + } } if ($avatar) { @@ -80,8 +85,12 @@ tags: [] }; - await sign({ event, user }); - await send(event); + try { + await sign({ event, user }); + await send(event); + } catch (e) { + warning('nostr profile could not be updated'); + } const response = await fetch(formElement.action, { method: 'POST', @@ -150,7 +159,7 @@ {#if loading} {:else} -
{$t('user.settings.saveSettings')}
+
{$t('user.settings.saveSettings')}
{/if}
diff --git a/src/routes/(app)/admin/+layout.server.js b/src/routes/(app)/admin/+layout.server.js new file mode 100644 index 00000000..26449467 --- /dev/null +++ b/src/routes/(app)/admin/+layout.server.js @@ -0,0 +1,11 @@ +import { auth, get } from '$lib/utils'; +import { redirect } from '@sveltejs/kit'; + +export async function load({ cookies, parent }) { + let token = cookies.get('token'); + if (!token) throw redirect(307, '/login'); + let user = await get('/me', auth(cookies)); + if (!user) throw redirect(307, '/login'); + + return { user }; +} diff --git a/src/routes/(app)/admin/+layout.svelte b/src/routes/(app)/admin/+layout.svelte new file mode 100644 index 00000000..d7561e32 --- /dev/null +++ b/src/routes/(app)/admin/+layout.svelte @@ -0,0 +1,10 @@ + + + +
+ +
diff --git a/src/routes/(app)/admin/+page.server.js b/src/routes/(app)/admin/+page.server.js new file mode 100644 index 00000000..c4079a2f --- /dev/null +++ b/src/routes/(app)/admin/+page.server.js @@ -0,0 +1,10 @@ +import { get } from '$lib/utils'; +import { redirect } from '@sveltejs/kit'; + +export async function load({ parent }) { + let { user } = await parent(); + if (!user) throw redirect(307, '/login'); + + let users = (await get('/users')).sort((a, b) => b.balance - a.balance); + return { users }; +} diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte new file mode 100644 index 00000000..1a747f1f --- /dev/null +++ b/src/routes/(app)/admin/+page.svelte @@ -0,0 +1,11 @@ + + +{#each users as { balance, username }} +
+
{username}
+
{balance}
+
+{/each} diff --git a/src/routes/(app)/payment/[id]/+page.svelte b/src/routes/(app)/payment/[id]/+page.svelte index 34e2d327..cf30db35 100644 --- a/src/routes/(app)/payment/[id]/+page.svelte +++ b/src/routes/(app)/payment/[id]/+page.svelte @@ -62,7 +62,7 @@ Total
{f(fiat(a + (tip || 0), rate), currency)} - ⚡️{`${s(a + (tip || 0))}`} + ⚡️{`${s(a + (tip || 0))}`}
{/if} diff --git a/src/routes/(app)/sent/+page.svelte b/src/routes/(app)/sent/+page.svelte index 72973c50..dbd18c2e 100644 --- a/src/routes/(app)/sent/+page.svelte +++ b/src/routes/(app)/sent/+page.svelte @@ -20,7 +20,7 @@
-

{$t('payments.sent')}!

+

{$t('payments.sent')}!

{f(fiat(amount, rate), currency)} {#if tip} -- cgit v1.2.3