From 63bd2489ed490c59df815027f8021403de692a1f Mon Sep 17 00:00:00 2001 From: Vasco Ferreira Date: Tue, 13 Oct 2026 00:07:51 +0100 Subject: [PATCH 1/3] fix(i18n): pt-PT translation corrections from a native speaker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apple (Localizable.xcstrings) and Android (values-pt-rPT): - Fix "Descansoaurador/Descansoaurar/..." (a bad find-and-replace of "Rest...") to Restaurador/Restaurar/Restaurado; "Descansoante" -> "Restante". - Replace "cochilo" (pt-BR) with "sesta" and fix the surrounding agreement. - Fix gender/number agreement for "cópia de segurança" (feminine). - "Livro-razão da dívida do sono" -> "Registo da dívida de sono". - "pega" (handle) -> "bracelete" for the strap, the app's dominant term. - "esparso/esparsas" -> "escasso/escassas"; fix swapped placeholders in "Sparse, widened to %@ · %lld readings". - "Band Sleep State": Android pt-PT was "Estado de suspensão da banda"; now "Estado de sono da bracelete". - Minor typos: "tincronização", "tinais", "Detecção" -> "Deteção". "Band Sleep State" had no Apple catalogue entry, so it fell back to English. Added it for the other focus locales too (reusing the Android strings), because the i18n audit fails a new key that lacks them. --- Strand/Resources/Localizable.xcstrings | 216 +++++++++++------- .../src/main/res/values-pt-rPT/strings.xml | 62 ++--- 2 files changed, 168 insertions(+), 110 deletions(-) diff --git a/Strand/Resources/Localizable.xcstrings b/Strand/Resources/Localizable.xcstrings index 7f227851a7..e3c80f0db6 100644 --- a/Strand/Resources/Localizable.xcstrings +++ b/Strand/Resources/Localizable.xcstrings @@ -7381,7 +7381,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "%@ · algumas séries esparsas alargadas" + "value": "%@ · algumas séries escassas alargadas" } }, "ru": { @@ -12291,7 +12291,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "%1$lld dias · %2$@ · algumas séries esparsas alargadas" + "value": "%1$lld dias · %2$@ · algumas séries escassas alargadas" } }, "ru": { @@ -15271,7 +15271,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "%1$lld leituras · esparsas, ampliadas para %2$@" + "value": "%1$lld leituras · escassas, ampliadas para %2$@" } }, "ru": { @@ -16061,7 +16061,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "%1$lld sessões · esparsas, ampliadas para %2$@" + "value": "%1$lld sessões · escassas, ampliadas para %2$@" } }, "ru": { @@ -19374,7 +19374,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "1 dia · %@ · algumas séries esparsas ampliadas" + "value": "1 dia · %@ · algumas séries escassas ampliadas" } }, "ru": { @@ -30000,7 +30000,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Adicionar cochilo" + "value": "Adicionar sesta" } }, "ru": { @@ -34052,7 +34052,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Armado na própria pega, para que possa vibrar na hora de acordar, mesmo que o telefone esteja em modo de espera ou o NOOP esteja fechado. Envia o comando de alarme exato que a aplicação oficial envia, zumbido confirmado num WHOOP 4.0 real (captura de fio da comunidade + teste no dispositivo, #535). Mantenha um alarme de reserva para qualquer coisa que não possa realmente perder." + "value": "Armado na própria bracelete, para que possa vibrar na hora de acordar, mesmo que o telefone esteja em modo de espera ou o NOOP esteja fechado. Envia o comando de alarme exato que a aplicação oficial envia, zumbido confirmado num WHOOP 4.0 real (captura de fio da comunidade + teste no dispositivo, #535). Mantenha um alarme de reserva para qualquer coisa que não possa realmente perder." } }, "pl": { @@ -34110,7 +34110,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Armado na própria pega, para que possa vibrar na hora de acordar, mesmo que o telefone esteja em modo de espera ou o NOOP esteja fechado. Enviámos o mesmo comando de alarme que a aplicação oficial envia, mas um despertar acionado por bracelete ainda não foi confirmado da nossa parte, por isso, mantenha um alarme de reserva por enquanto." + "value": "Armado na própria bracelete, para que possa vibrar na hora de acordar, mesmo que o telefone esteja em modo de espera ou o NOOP esteja fechado. Enviámos o mesmo comando de alarme que a aplicação oficial envia, mas um despertar acionado por bracelete ainda não foi confirmado da nossa parte, por isso, mantenha um alarme de reserva por enquanto." } }, "ru": { @@ -34168,7 +34168,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Arma a pega para vibrar na hora de acordar, mesmo que o NOOP esteja fechado. Envia o comando de alarme exato que a aplicação oficial envia, zumbido confirmado num WHOOP 4.0 real (captura de fio da comunidade + teste no dispositivo, #535). Mantenha um alarme de reserva para qualquer coisa que não possa realmente perder." + "value": "Arma a bracelete para vibrar na hora de acordar, mesmo que o NOOP esteja fechado. Envia o comando de alarme exato que a aplicação oficial envia, zumbido confirmado num WHOOP 4.0 real (captura de fio da comunidade + teste no dispositivo, #535). Mantenha um alarme de reserva para qualquer coisa que não possa realmente perder." } }, "pl": { @@ -34226,7 +34226,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Arma a pega para vibrar na hora de acordar, mesmo que o NOOP esteja fechado. Ainda experimental no WHOOP 4.0, por isso mantenha um alarme de reserva até confirmar que o acorda." + "value": "Arma a bracelete para vibrar na hora de acordar, mesmo que o NOOP esteja fechado. Ainda experimental no WHOOP 4.0, por isso mantenha um alarme de reserva até confirmar que o acorda." } }, "ru": { @@ -35378,7 +35378,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Detecção automática de treinos" + "value": "Deteção automática de treinos" } }, "ru": { @@ -37137,6 +37137,64 @@ } } }, + "Band Sleep State": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Schlafstatus des Bands" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Estado de sueño de la pulsera" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "État de sommeil du bracelet" + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Stato del sonno della fascia" + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Stan snu opaski" + } + }, + "pt-PT": { + "stringUnit": { + "state": "translated", + "value": "Estado de sono da bracelete" + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Состояние сна по браслету" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "手环端睡眠状态" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "手環端睡眠狀態" + } + } + } + }, "Back": { "localizations": { "de": { @@ -37758,7 +37816,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Cópia de segurança exportado" + "value": "Cópia de segurança exportada" } }, "ru": { @@ -37816,7 +37874,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Falha no cópia de segurança - selecione novamente a pasta e tente novamente." + "value": "Falha na cópia de segurança - selecione novamente a pasta e tente novamente." } }, "ru": { @@ -37874,7 +37932,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Falha no cópia de segurança: %@" + "value": "Falha na cópia de segurança: %@" } }, "ru": { @@ -37990,7 +38048,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Cópia de segurança importado" + "value": "Cópia de segurança importada" } }, "ru": { @@ -42866,7 +42924,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Pega de transmissão HR (Garmin/ANT)" + "value": "Bracelete de transmissão HR (Garmin/ANT)" } }, "pl": { @@ -43318,7 +43376,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "A construir a partir da tua pega" + "value": "A construir a partir da tua bracelete" } }, "ru": { @@ -50352,7 +50410,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Escolha um cópia de segurança" + "value": "Escolha uma cópia de segurança" } }, "ru": { @@ -52372,7 +52430,7 @@ "es": { "stringUnit": { "state": "translated", - "value": "El coach usa tu propia clave de API. Elige un proveedor, pega una clave y selecciona un modelo. Tu clave se guarda de forma segura en el Llavero y nunca sale de %@ salvo en la solicitud que tú haces." + "value": "El coach usa tu propia clave de API. Elige un proveedor, bracelete una clave y selecciona un modelo. Tu clave se guarda de forma segura en el Llavero y nunca sale de %@ salvo en la solicitud que tú haces." } }, "fr": { @@ -52437,7 +52495,7 @@ "es": { "stringUnit": { "state": "translated", - "value": "El Entrenador usa tu propia clave de API. Elige un proveedor, pega una clave y elige un modelo. Tu clave se almacena de forma segura en el Llavero de macOS y nunca sale de tu Mac salvo como la solicitud que tú haces." + "value": "El Entrenador usa tu propia clave de API. Elige un proveedor, bracelete una clave y elige un modelo. Tu clave se almacena de forma segura en el Llavero de macOS y nunca sale de tu Mac salvo como la solicitud que tú haces." } }, "fr": { @@ -54139,7 +54197,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Ligue a pega para tinais de zumbido" + "value": "Ligue a bracelete para sinais de vibração" } }, "ru": { @@ -54668,7 +54726,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Ligue a tua pega para o taco de feltro. A varredura acompanha-o com um zumbido na inspiração e dois na expiração." + "value": "Ligue a tua bracelete para o sinal tátil. A varredura acompanha-o com um zumbido na inspiração e dois na expiração." } }, "ru": { @@ -57722,7 +57780,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Não foi possível restaurar este cópia de segurança." + "value": "Não foi possível restaurar esta cópia de segurança." } }, "ru": { @@ -57780,7 +57838,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Não foi possível fazer o cópia de segurança em segurança agora. As alterações recentes ainda estão no registo de gravação antecipada." + "value": "Não foi possível fazer a cópia de segurança em segurança agora. As alterações recentes ainda estão no registo de gravação antecipada." } }, "ru": { @@ -60078,7 +60136,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Cópia de segurança automático diário" + "value": "Cópia de segurança automática diária" } }, "ru": { @@ -65216,7 +65274,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Toque duas vezes na pega para desencadear uma ação em %@. (A bracelete expõe um único gesto de duplo toque.)" + "value": "Toque duas vezes na bracelete para desencadear uma ação em %@. (A bracelete expõe um único gesto de duplo toque.)" } }, "ru": { @@ -88718,7 +88776,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "A importação substitui tudo o que está atualmente em %@. Os teus dados antigos são mantidos num ficheiro secundário, apenas para garantir. O NOOP precisa de ser reiniciado para que uma importação entre em vigor. O Export CSV grava um zip em formato WHOOP dos teus dias, sono, treinos e diário que reimporta para NOOP no Mac, iPhone ou Android. As linhas computadas no dispositivo são marcadas como APPROXIMATE na coluna Origem; o cópia de segurança completo permanece no caminho de restauro sem perdas." + "value": "A importação substitui tudo o que está atualmente em %@. Os teus dados antigos são mantidos num ficheiro secundário, apenas para garantir. O NOOP precisa de ser reiniciado para que uma importação entre em vigor. O Export CSV grava um zip em formato WHOOP dos teus dias, sono, treinos e diário que reimporta para NOOP no Mac, iPhone ou Android. As linhas computadas no dispositivo são marcadas como APPROXIMATE na coluna Origem; a cópia de segurança completa permanece no caminho de restauro sem perdas." } }, "ru": { @@ -93073,7 +93131,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Último cópia de segurança: %@" + "value": "Última cópia de segurança: %@" } }, "ru": { @@ -93369,7 +93427,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Ontem à noite, %@. A noite de hoje chega depois de ter dormido com a pega." + "value": "Ontem à noite, %@. A noite de hoje chega depois de ter dormido com a bracelete." } }, "ru": { @@ -96445,7 +96503,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "O RH em direto funciona. Liberte a pega para desbloquear o buzz, os alarmes e a sincronização" + "value": "O RH em direto funciona. Liberte a bracelete para desbloquear o buzz, os alarmes e a sincronização" } }, "ru": { @@ -97810,7 +97868,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Bloquear o Mac quando eu tirar a pega" + "value": "Bloquear o Mac quando eu tirar a bracelete" } }, "ru": { @@ -98918,7 +98976,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Registado como um cochilo. Errado? Toque em Editar para ajustar os teus horários de deitar e acordar." + "value": "Registado como uma sesta. Errado? Toque em Editar para ajustar os teus horários de deitar e acordar." } }, "ru": { @@ -103795,7 +103853,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Mín–máx normalizado · série esparsa alargada para além de %1$@ · %2$@" + "value": "Mín–máx normalizado · série escassa alargada para além de %1$@ · %2$@" } }, "ru": { @@ -105141,7 +105199,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Mova todos os teus dados NOOP para outra máquina. A exportação guarda tudo (histórico, sono, treinos, definições) num único ficheiro que pode copiar; import substitui os dados de %@ por um cópia de segurança." + "value": "Mova todos os teus dados NOOP para outra máquina. A exportação guarda tudo (histórico, sono, treinos, definições) num único ficheiro que pode copiar; import substitui os dados de %@ por uma cópia de segurança." } }, "ru": { @@ -105206,7 +105264,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Mova todos os teus dados NOOP para outra máquina. A exportação guarda tudo, histórico, sono, treinos, definições, num único ficheiro que pode copiar; a importação substitui os dados deste Mac por um cópia de segurança." + "value": "Mova todos os teus dados NOOP para outra máquina. A exportação guarda tudo, histórico, sono, treinos, definições, num único ficheiro que pode copiar; a importação substitui os dados deste Mac por uma cópia de segurança." } }, "ru": { @@ -108911,7 +108969,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Cochilo(s)" + "value": "Sesta(s)" } }, "ru": { @@ -108969,7 +109027,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Cochilos" + "value": "Sestas" } }, "ru": { @@ -109381,7 +109439,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Precisa da pega. Não há dados para hoje. A tua bracelete foi usada e ligada durante a noite?" + "value": "Precisa da bracelete. Não há dados para hoje. A tua bracelete foi usada e ligada durante a noite?" } }, "ru": { @@ -110901,7 +110959,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Nenhum cópia de segurança ainda." + "value": "Nenhuma cópia de segurança ainda." } }, "ru": { @@ -110959,7 +111017,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Nenhum cópia de segurança encontrado" + "value": "Nenhuma cópia de segurança encontrada" } }, "ru": { @@ -112717,7 +112775,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Nenhum cochilo registado neste dia." + "value": "Nenhuma sesta registada neste dia." } }, "ru": { @@ -112955,7 +113013,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Ainda não há noites com dados de sono. O teu livro-razão é preenchido à medida que usa a pega para dormir." + "value": "Ainda não há noites com dados de sono. O teu registo é preenchido à medida que usa a bracelete para dormir." } }, "ru": { @@ -113999,7 +114057,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Nenhuma pega conectada. Coloque o teu WHOOP por perto e toque em Digitalizar novamente para emparelhar." + "value": "Nenhuma bracelete conectada. Coloque o teu WHOOP por perto e toque em Digitalizar novamente para emparelhar." } }, "ru": { @@ -115418,7 +115476,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Não há dados suficientes de batida limpa para travar o ritmo hoje. Tente novamente descansado, sentado imóvel com a pega bem ajustada. Para já, vamos definir um ritmo de 5,5 br/min (coerência)." + "value": "Não há dados suficientes de batida limpa para travar o ritmo hoje. Tente novamente descansado, sentado imóvel com a bracelete bem ajustada. Para já, vamos definir um ritmo de 5,5 br/min (coerência)." } }, "ru": { @@ -118983,7 +119041,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Os cópia de seguranças mais antigos para além deste número são removidos, os mais antigos em primeiro lugar (≈ este número de dias). Se os dados estiverem corrompidos, restaure os mais recentes." + "value": "As cópias de segurança mais antigas para além deste número são removidas, as mais antigas em primeiro lugar (≈ este número de dias). Se os dados estiverem corrompidos, restaure os mais recentes." } }, "pl": { @@ -120516,7 +120574,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Abra o Cópia de segurança e sincronização numa pasta" + "value": "Abra a Cópia de segurança e sincronização numa pasta" } }, "ru": { @@ -124247,7 +124305,7 @@ "es": { "stringUnit": { "state": "translated", - "value": "Pega tu clave de API de %@" + "value": "Bracelete tu clave de API de %@" } }, "fr": { @@ -125809,7 +125867,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Escolha quando o cochilo começou e terminou. O NOOP organiza-o a partir dos teus dados como uma sessão própria, separada da noite de sono." + "value": "Escolha quando a sesta começou e terminou. O NOOP organiza-a a partir dos teus dados como uma sessão própria, separada da noite de sono." } }, "ru": { @@ -128541,7 +128599,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Coloque a pega primeiro. O fluxo profundo ocorre apenas no pulso." + "value": "Coloque a bracelete primeiro. O fluxo profundo ocorre apenas no pulso." } }, "ru": { @@ -134842,7 +134900,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "A recuperação, pontuação de carga do NOOP, é liderada pela variabilidade da frequência cardíaca medida em relação à sua linha de base pessoal. Uma bracelete torácica transmite dados de batimento a batimento de forma densa durante toda a noite, para que possa aprender esta linha de base rapidamente. Em vez disso, um Apple Watch faz uma amostragem da VFC, uma mão cheia de leituras durante o dia e durante a noite, pelo que o sinal é real, mas mais esparso." + "value": "A recuperação, pontuação de carga do NOOP, é liderada pela variabilidade da frequência cardíaca medida em relação à sua linha de base pessoal. Uma bracelete torácica transmite dados de batimento a batimento de forma densa durante toda a noite, para que possa aprender esta linha de base rapidamente. Em vez disso, um Apple Watch faz uma amostragem da VFC, uma mão cheia de leituras durante o dia e durante a noite, pelo que o sinal é real, mas mais escasso." } }, "ru": { @@ -135672,7 +135730,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoante" + "value": "Restante" } }, "ru": { @@ -136942,7 +137000,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Substitua todos os dados atuais pelo cópia de segurança %@? Isto não pode ser desfeito." + "value": "Substitua todos os dados atuais pela cópia de segurança %@? Isto não pode ser desfeito." } }, "ru": { @@ -137000,7 +137058,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Substituir todos os dados atuais pelo cópia de segurança de %@? Isto não pode ser desfeito." + "value": "Substituir todos os dados atuais pela cópia de segurança de %@? Isto não pode ser desfeito." } }, "ru": { @@ -137116,7 +137174,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Substitua os dados deste dispositivo por um dos cópia de seguranças da tua pasta. Isto substitui os dados atuais, por isso faça uma cópia de segurança primeiro se não tiver a certeza." + "value": "Substitua os dados deste dispositivo por uma das cópias de segurança da tua pasta. Isto substitui os dados atuais, por isso faça uma cópia de segurança primeiro se não tiver a certeza." } }, "ru": { @@ -139788,7 +139846,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurador" + "value": "Restaurador" } }, "ru": { @@ -139846,7 +139904,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Sono Descansoaurador" + "value": "Sono Restaurador" } }, "ru": { @@ -139904,7 +139962,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurar" + "value": "Restaurar" } }, "ru": { @@ -139962,7 +140020,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurar cópia de segurança %@" + "value": "Restaurar cópia de segurança %@" } }, "ru": { @@ -140020,7 +140078,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurar cópia de segurança de %@" + "value": "Restaurar cópia de segurança de %@" } }, "ru": { @@ -140078,7 +140136,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurar a partir de um cópia de segurança…" + "value": "Restaurar a partir de uma cópia de segurança…" } }, "ru": { @@ -140194,7 +140252,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurar este cópia de segurança?" + "value": "Restaurar esta cópia de segurança?" } }, "ru": { @@ -140252,7 +140310,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurar para hoje" + "value": "Restaurar para hoje" } }, "ru": { @@ -140310,7 +140368,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Descansoaurado" + "value": "Restaurado" } }, "ru": { @@ -141970,7 +142028,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Executa o fluxo contínuo de HRV apenas durante a janela de horário de silêncio (22h00 às 07h00 por defeito), reduzindo aproximadamente para metade o custo da bateria. As leituras de stress diurno serão mais esparsas. Nota: a captura contínua de VFC em segundo plano (incluindo sestas diurnas) é colocada em pausa fora desta janela. Para leituras diurnas de VFC a pedido (incluindo sestas), utilize o botão \"Fazer uma leitura de VFC\" no ecrã Em direto." + "value": "Executa o fluxo contínuo de HRV apenas durante a janela de horário de silêncio (22h00 às 07h00 por defeito), reduzindo aproximadamente para metade o custo da bateria. As leituras de stress diurno serão mais escassas. Nota: a captura contínua de VFC em segundo plano (incluindo sestas diurnas) é colocada em pausa fora desta janela. Para leituras diurnas de VFC a pedido (incluindo sestas), utilize o botão \"Fazer uma leitura de VFC\" no ecrã Em direto." } }, "pl": { @@ -142028,7 +142086,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Executa o stream apenas durante o horário de silêncio (das 22h às 7h por defeito), reduzindo aproximadamente para metade o custo da bateria. As leituras do Stress Diurno serão mais esparsas, uma vez que o Stress lê esta transmissão em direto." + "value": "Executa o stream apenas durante o horário de silêncio (das 22h às 7h por defeito), reduzindo aproximadamente para metade o custo da bateria. As leituras do Stress Diurno serão mais escassas, uma vez que o Stress lê esta transmissão em direto." } }, "ru": { @@ -143734,7 +143792,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Guarde um cópia de segurança completo numa pasta à sua escolha - aponte-o para o Google Drive, iCloud ou Dropbox para tincronização fora do dispositivo." + "value": "Guarde uma cópia de segurança completa numa pasta à sua escolha - aponte-a para o Google Drive, iCloud ou Dropbox para sincronização fora do dispositivo." } }, "ru": { @@ -144204,7 +144262,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Guardei um cópia de segurança na tua pasta." + "value": "Guardei uma cópia de segurança na tua pasta." } }, "ru": { @@ -151830,7 +151888,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Livro-razão da dívida do sono" + "value": "Registo da dívida de sono" } }, "ru": { @@ -153182,7 +153240,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Esparso, ampliado para leituras %1$@ · %2$lld" + "value": "Escassas, ampliadas para %1$@ · %2$lld leituras" } }, "ru": { @@ -157664,7 +157722,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Pega conectada" + "value": "Bracelete conectada" } }, "ru": { @@ -164188,7 +164246,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Esse ficheiro não é um cópia de segurança NOOP. Não se parece com uma base de dados SQLite." + "value": "Esse ficheiro não é uma cópia de segurança NOOP. Não se parece com uma base de dados SQLite." } }, "ru": { @@ -165703,7 +165761,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "O despertador acima vibra no teu pulso a partir do firmware da própria bracelete. Não pode fazer soar um alarme alto. Também agendamos uma notificação de cópia de segurança no horário de ativação, mas uma aplicação transferida por sideload não pode soar uma ativação garantida neste dispositivo (que precisa de uma permissão de alerta crítico que esta compilação não tem), pelo que o modo Foco ou silencioso ainda pode silenciá-lo. Mantenha o alarme de relógio integrado do teu telemóvel como o teu verdadeiro cópia de segurança. O smart wake baseado no telefone do NOOP (deteção de sono leve) está disponível na aplicação Android." + "value": "O despertador acima vibra no teu pulso a partir do firmware da própria bracelete. Não pode fazer soar um alarme alto. Também agendamos uma notificação de cópia de segurança no horário de ativação, mas uma aplicação transferida por sideload não pode soar uma ativação garantida neste dispositivo (que precisa de uma permissão de alerta crítico que esta compilação não tem), pelo que o modo Foco ou silencioso ainda pode silenciá-lo. Mantenha o alarme de relógio integrado do teu telemóvel como a tua verdadeira cópia de segurança. O smart wake baseado no telefone do NOOP (deteção de sono leve) está disponível na aplicação Android." } }, "ru": { @@ -165819,7 +165877,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Ainda não existem cópia de seguranças NOOP na tua pasta. Utilize Faça cópia de segurança agora primeiro." + "value": "Ainda não existem cópias de segurança NOOP na tua pasta. Utilize Faça cópia de segurança agora primeiro." } }, "ru": { @@ -167721,7 +167779,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Este não é um cópia de segurança NOOP desta aplicação. Falta a contabilidade de migração que um cópia de segurança NOOP carrega (parece um cópia de segurança do Android ou a base de dados de outra aplicação) e restaurá-lo deixaria a tua loja paralisada. Para mover o teu histórico entre plataformas, exporte o CSV no formato WHOOP no outro dispositivo (Definições → Exportar dados) e importe-o para aqui ou importe a tua exportação original do WHOOP/Apple Health." + "value": "Esta não é uma cópia de segurança NOOP desta aplicação. Falta a contabilidade de migração que uma cópia de segurança NOOP carrega (parece uma cópia de segurança do Android ou a base de dados de outra aplicação) e restaurá-la deixaria a tua loja paralisada. Para mover o teu histórico entre plataformas, exporte o CSV no formato WHOOP no outro dispositivo (Definições → Exportar dados) e importe-o para aqui ou importe a tua exportação original do WHOOP/Apple Health." } }, "ru": { @@ -169583,7 +169641,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Dica: escolha uma pasta no iCloud Drive e os teus cópia de seguranças serão sincronizados com todos os teus dispositivos Apple automaticamente, sem necessidade de configuração de conta." + "value": "Dica: escolha uma pasta no iCloud Drive e as tuas cópias de segurança serão sincronizadas com todos os teus dispositivos Apple automaticamente, sem necessidade de configuração de conta." } }, "ru": { @@ -170727,7 +170785,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "A noite de hoje chega depois de ter dormido com a pega." + "value": "A noite de hoje chega depois de ter dormido com a bracelete." } }, "ru": { @@ -183061,7 +183119,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Por que razão isto é registado como um cochilo" + "value": "Por que razão isto é registado como uma sesta" } }, "ru": { @@ -183473,7 +183531,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "Ligue as ações do NOOP num Back-Tap, numa automação de foco ou num atalho mais longo. Por exemplo, toque duas vezes na parte de trás do teu iPhone para movimentar a pega." + "value": "Ligue as ações do NOOP num Back-Tap, numa automação de foco ou num atalho mais longo. Por exemplo, toque duas vezes na parte de trás do teu iPhone para fazer vibrar a bracelete." } }, "ru": { @@ -219011,7 +219069,7 @@ } }, "Paste the corrected key. Your conversation is kept." : { "localizations" : { "de": {"stringUnit": {"state": "translated", "value": "Füge den korrigierten Schlüssel ein. Deine Unterhaltung bleibt erhalten."}}, - "es": {"stringUnit": {"state": "translated", "value": "Pega la clave corregida. Tu conversación se conserva."}}, + "es": {"stringUnit": {"state": "translated", "value": "Bracelete la clave corregida. Tu conversación se conserva."}}, "fr": {"stringUnit": {"state": "translated", "value": "Collez la clé corrigée. Votre conversation est conservée."}}, "it": {"stringUnit": {"state": "translated", "value": "Incolla la chiave corretta. La tua conversazione viene mantenuta."}}, "pl": {"stringUnit": {"state": "translated", "value": "Wklej poprawiony klucz. Twoja rozmowa zostanie zachowana."}}, diff --git a/android/app/src/main/res/values-pt-rPT/strings.xml b/android/app/src/main/res/values-pt-rPT/strings.xml index b64877aeb3..1f635085de 100644 --- a/android/app/src/main/res/values-pt-rPT/strings.xml +++ b/android/app/src/main/res/values-pt-rPT/strings.xml @@ -226,7 +226,7 @@ Alertas de bateria Força do zumbido Escolha a ação de duplo toque - Detetar cochilos curtos + Detetar sestas curtas Toque duas vezes Cada dia utiliza o horário acima, a menos que defina aqui um horário diferente. Ativar lembrete de inatividade @@ -235,8 +235,8 @@ Treinadoring da zona de RH Alerta precoce de doença Lembrete de inatividade - Detecção de sesta - Sem sestas para rever. Os sestas detetados aparecem aqui após uma sincronização do histórico. + Deteção de sesta + Sem sestas para rever. As sestas detetadas aparecem aqui após uma sincronização do histórico. As notificações estão desativadas, pelo que isto ainda não pode vibrar. Ligue a chave mestre em Settings → Notifications to let it through. Notificar sobre bateria fraca e cheia Apenas durante o horário ativo @@ -254,23 +254,23 @@ Cópia de segurança e sincronização Tempo de cópia de segurança Cancelar - Escolha um cópia de segurança - Cópia de segurança automático diário + Escolha uma cópia de segurança + Cópia de segurança automática diária %1$s Manter os últimos instantâneos %1$s O mais novo primeiro. A restauração substitui os dados deste dispositivo. - Os cópia de seguranças mais antigos para além deste número são removidos, os mais antigos primeiro (≈ este número de dias de daily backups). For recovery: if data ever corrupts, grab the newest snapshot. + As cópias de segurança mais antigas para além deste número são removidas, as mais antigas primeiro (≈ este número de dias de daily backups). For recovery: if data ever corrupts, grab the newest snapshot. Substituir Substituir todos os dados atuais? Substitua todos os dados atuais por %1$s? Isto não pode ser desfeito. - Substitua os dados deste dispositivo por um dos teus cópia de seguranças. Este substitui os dados atuais, so back up first if unsure. + Substitua os dados deste dispositivo por uma das tuas cópias de segurança. Este substitui os dados atuais, so back up first if unsure. Restaurar - Restaurar a partir de um cópia de segurança… - Aproximadamente quando o cópia de segurança diário é executado (melhor esforço - o sistema pode deslizar um pouco). + Restaurar a partir de uma cópia de segurança… + Aproximadamente quando a cópia de segurança diária é executado (melhor esforço - o sistema pode deslizar um pouco). Estas cópias de segurança também não estão encriptadas. Se esta pasta sincronizar com o Drive, o Dropbox ou o iCloud, o ficheiro legível também vai parar lá — aponta apenas para um serviço de confiança. Dica: uma aplicação Drive/Dropbox para desktop sincroniza automaticamente uma pasta escolhida. No telefone, guarde num folder a sync app (e.g. FolderSync / Autosync) keeps in your cloud. - Grava um novo cópia de segurança datado na tua pasta uma vez por dia no horário abaixo, mantendo the latest %1$s. Off by default - flip it on if you want it. + Grava uma nova cópia de segurança datada na tua pasta uma vez por dia no horário abaixo, mantendo the latest %1$s. Off by default - flip it on if you want it. Um ritmo de relaxamento, não de controlo cardíaco. Nunca anda abaixo de uma taxa segura e pode parar a qualquer momento. Se a tua frequência cardíaca não acalmar, diremos isso claramente. Dicas de áudio %1$s respirações @@ -287,7 +287,7 @@ VFC (RMSSD) Bloqueado %1$s · ritmos à deriva, meça novamente a qualquer momento. Bloqueado %1$s. Mude para Respirar para o utilizar ou meça novamente acima. - Não há dados suficientes de batida limpa para travar o ritmo hoje. Tente novamente descansado, sentado imóvel com a pega bem ajustada. Para já, vamos definir um ritmo de 5,5 br/min (coerência). + Não há dados suficientes de batida limpa para travar o ritmo hoje. Tente novamente descansado, sentado imóvel com a bracelete bem ajustada. Para já, vamos definir um ritmo de 5,5 br/min (coerência). Agora não Paz Varrimento rápido · ~7 min @@ -679,12 +679,12 @@ EFFORT Frequência cardíaca DESCANSO - Bateria de pega + Bateria da bracelete COBRAR EFFORT Frequência cardíaca DESCANSO - Bateria de pega + Bateria da bracelete %1$02d:%2$02d Todos os outros aplicativos %1$s alertas de pulso @@ -796,7 +796,7 @@ Hora de dormir e acordar Consistência %1$s%% - Exclua este cochilo + Elimine esta sesta Adormeci às %1$s, acordei às %2$s Indo dormir Horas a dormir @@ -807,13 +807,13 @@ %1$s minutos versus a tua barra típica Log indo dormir Registo acordando - Registado como um cochilo. Errado? Toque em Editar para ajustar os teus horários de deitar e acordar. + Registado como uma sesta. Errado? Toque em Editar para ajustar os teus horários de deitar e acordar. Sesta %1$s, %2$s Detalhe noturno Sem detalhes de movimento para esta noite. Movimento, em relação a esta noite Nenhuma noite aqui ainda - Ainda não há noites com dados de sono. O teu livro-razão é preenchido à medida que usa a pega para dormir. + Ainda não há noites com dados de sono. O teu registo é preenchido à medida que usa a bracelete para dormir. Não há histórico suficiente nesta faixa. Experimente 3M, 6M ou TODOS. Ainda não há histórico suficiente Saldo de sono por noite: %1$s noites, líquido %2$s @@ -821,7 +821,7 @@ %1$s%% Gráfico noturno da consistência do sono, cama e vigília Dívida de sono - Livro-razão da dívida do sono + Registo da dívida de sono Gráfico de tendências da dívida do sono Gráfico de tendências das horas de sono Gráfico da frequência cardíaca do sono @@ -840,7 +840,7 @@ Esta métrica necessita de pelo menos duas noites de dados. Desfazer Anular eliminação do sono - Por que razão isto é registado como um cochilo + Por que razão isto é registado como uma sesta Porque é que este é o teu sono principal Porquê este sono? Acordei @@ -858,7 +858,7 @@ A resposta da pulseira aparece no registo e na exportação de diagnóstico, com os bytes recebidos. O primeiro NOOP irá acordá-lo. O alarme garantido dispara muito depois do primeiro horário. - Esta é uma indicação grosseira da frequência cardíaca, não uma leitura clínica da fase do sono. Se a pega isn\'t streaming (Bluetooth off, not worn, app killed), no early wake happens and the guaranteed alarm at the window\'s end still wakes you. + Esta é uma indicação grosseira da frequência cardíaca, não uma leitura clínica da fase do sono. Se a bracelete isn\'t streaming (Bluetooth off, not worn, app killed), no early wake happens and the guaranteed alarm at the window\'s end still wakes you. Ative o alarme inteligente para acordar dentro de uma janela à sua escolha. Alarme de despertar Acorde às @@ -1176,7 +1176,7 @@ As exportações francesas do WHOOP importam agora Treinos rastreados por GPS (Android) Correção de falha no treino GPS (Android) - Corrija manualmente os teus horários de sono + cópia de seguranças mais pequenos + Corrija manualmente os teus horários de sono + cópias de segurança mais pequenas Health Connect: rótulos corretos + tipos de treino (Android) O Health Connect aparece como Health Connect Datas do histórico corrigidas para braceletes revividas, gestos durante a sincronização, emparelhamento mais claro @@ -1259,7 +1259,7 @@ Números de sono, zonas de RH, carregamento e calibração – uma grande atualização orientada para a comunidade Correção de sono para WHOOP 4.0 + passos precisos de WHOOP 5/MG Dormir do WHOOP 4 em mais firmware (Mac) - Sono: passe noites a sério quando a pega sai + Sono: passe noites a sério quando a bracelete sai Sono, devidamente classificado e uma aplicação que se explica Os estágios do sono curam-se após uma sincronização O sono que estava preso no ficheiro volta @@ -1462,12 +1462,12 @@ Aspeto Reduzir movimento no NOOP Mantém parados os medidores líquidos, o céu e a resposta à inclinação, e desliga o sensor de movimento que os anima. Poupa bateria. O Modo de Baixo Consumo e a definição de sistema «Reduzir movimento» já fazem isto. - Detecção automática de treinos - Cópia de seguranças automáticos + Deteção automática de treinos + Cópias de segurança automáticas Cópia de segurança e restauro Bateria %1$s%%%2$s Transmitir frequência cardíaca - Pega de transmissão HR (Garmin/ANT) + Bracelete de transmissão HR (Garmin/ANT) Avise a hora na tua bracelete Cancelar Restaurar @@ -1546,10 +1546,10 @@ Reinicia a acumulação de aproximadamente 4 noites para Carga e a tua linha de base de HRV a partir desta noite. Usa-o se uma má primeira semana prejudicar a tua linha de base. A tua histórico permanece. Revê cada bloco de despertar marcado em busca de provas reais de que se levantou (cadência de marcha, change in body position) instead of just a heart-rate rise. A wake block with no locomotion and a stable posture -- a hot night, a brief turn-over -- is folded back into light sleep; a real get-up is left alone. Self-checks how much motion detail your strap actually recorded and stays off on a night that\'s too sparse to trust (older WHOOP 4.0 firmware, mainly). Off by default; takes effect on the next nights staged. Ritmo (experimental) - Executa o fluxo contínuo de HRV apenas durante a janela de horário de silêncio (22h00 às 07h00 por defeito), reduzindo aproximadamente para metade o custo da bateria. As leituras de stress diurno serão mais esparsas. Note: continuous background HRV capture (including daytime naps) is paused outside this window. For on-demand daytime HRV readings (including naps), use the \"Take an HRV reading\" button on the Live screen. + Executa o fluxo contínuo de HRV apenas durante a janela de horário de silêncio (22h00 às 07h00 por defeito), reduzindo aproximadamente para metade o custo da bateria. As leituras de stress diurno serão mais escassas. Note: continuous background HRV capture (including daytime naps) is paused outside this window. For on-demand daytime HRV readings (including naps), use the \"Take an HRV reading\" button on the Live screen. Guarda as últimas 24 horas de amostras de sensores descodificadas (frequência cardíaca, RR, movimento, passos e quaisquer fluxos profundos de 5/MG que tenha desbloqueado) como um CSV que pode partilhar, para alterar os teus próprios dados. Nada sai do telefone a menos que o partilhe. Enviar sequência de ativação para bracelete - Configure cópia de seguranças automáticos + Configure cópias de segurança automáticas Definições Sexo Partilhe a captura 5/MG (para o esforço de descodificação) @@ -1625,10 +1625,10 @@ Talvez mais tarde Mova-se de qualquer maneira Mover esse sono? - Cochilos + Sestas Na noite seguinte Nenhuma noite anterior armazenada ainda. As noites anteriores são sincronizadas de manhã. - Nenhum cochilo registado neste dia. + Nenhuma sesta registada neste dia. Sem quebra de palco para esta noite. Sem dados de palco registados para esta noite. Diário aberto @@ -1745,7 +1745,7 @@ Temperatura da pele Respiração Movimento - Estado de suspensão da banda + Estado de sono da bracelete Movimento Carga Esforço @@ -1959,11 +1959,11 @@ Foi excluída %1$d hora — estiveste em movimento. Foram excluídas %1$d horas — estiveste em movimento. - Precisa da pega + Precisa da bracelete Ontem à noite · %1$s Último sono · %1$s Não há dados para hoje. A tua bracelete foi usada e ligada durante a noite? - A noite de hoje chega depois de ter dormido com a pega. + A noite de hoje chega depois de ter dormido com a bracelete. Esta é a tua última sessão pontuada. Usa a bracelete durante a noite para obteres uma nova pontuação. A construir a tua linha de base. Cerca de mais %1$d noite até que a tua pontuação seja pessoal. From 117e325ba5249ed5ddbdf0dd5d5d7dc07ab43409 Mon Sep 17 00:00:00 2001 From: Vasco Ferreira Date: Tue, 13 Oct 2026 09:47:55 +0100 Subject: [PATCH 2/3] fix(i18n): translate pt-PT Explore window names and fix agreement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - week/month/quarter/year were left in English in the Apple catalogue, which produced captions like "sem week anterior". - "o tempo todo" (all the time) -> "todo o período" for the all-time window. - "toda a histórico" -> "todo o histórico" (Apple and Android). - "versus anterior %@" -> "vs. %@ anterior" (Apple and Android). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- Strand/Resources/Localizable.xcstrings | 14 +++++++------- android/app/src/main/res/values-pt-rPT/strings.xml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Strand/Resources/Localizable.xcstrings b/Strand/Resources/Localizable.xcstrings index e3c80f0db6..437c80657f 100644 --- a/Strand/Resources/Localizable.xcstrings +++ b/Strand/Resources/Localizable.xcstrings @@ -190448,7 +190448,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "toda a histórico" + "value": "todo o histórico" } }, "ru": { @@ -190506,7 +190506,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "o tempo todo" + "value": "todo o período" } }, "ru": { @@ -195282,7 +195282,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "month" + "value": "mês" } }, "ru": { @@ -198121,7 +198121,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "quarter" + "value": "trimestre" } }, "ru": { @@ -201643,7 +201643,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "versus anterior %@" + "value": "vs. %@ anterior" } }, "ru": { @@ -201933,7 +201933,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "week" + "value": "semana" } }, "ru": { @@ -202049,7 +202049,7 @@ "pt-PT": { "stringUnit": { "state": "translated", - "value": "year" + "value": "ano" } }, "ru": { diff --git a/android/app/src/main/res/values-pt-rPT/strings.xml b/android/app/src/main/res/values-pt-rPT/strings.xml index 1f635085de..fbbcb84d76 100644 --- a/android/app/src/main/res/values-pt-rPT/strings.xml +++ b/android/app/src/main/res/values-pt-rPT/strings.xml @@ -142,8 +142,8 @@ Resumo Sobre a janela visível %1$d pontos - versus anterior %1$s - toda a histórico + vs. %1$s anterior + todo o histórico sem %1$s anterior Nenhum %1$s registado ainda. Sincronize a tua bracelete para preencher esta tendência. Apenas uma leitura no intervalo – amplie a janela para ver uma tendência. From e14392431ab8eab258a611f4cc757cd648c10bb0 Mon Sep 17 00:00:00 2001 From: Vasco Ferreira Date: Thu, 15 Oct 2026 23:47:54 +0100 Subject: [PATCH 3/3] fix(i18n): restore Spanish 'pega' (paste) values The pt-PT 'pega' -> 'bracelete' sweep also rewrote four Spanish AI Coach key-setup strings, where 'pega' is the imperative of 'pegar' (paste). Restore them to their values on main. --- Strand/Resources/Localizable.xcstrings | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Strand/Resources/Localizable.xcstrings b/Strand/Resources/Localizable.xcstrings index 437c80657f..889eb35089 100644 --- a/Strand/Resources/Localizable.xcstrings +++ b/Strand/Resources/Localizable.xcstrings @@ -52430,7 +52430,7 @@ "es": { "stringUnit": { "state": "translated", - "value": "El coach usa tu propia clave de API. Elige un proveedor, bracelete una clave y selecciona un modelo. Tu clave se guarda de forma segura en el Llavero y nunca sale de %@ salvo en la solicitud que tú haces." + "value": "El coach usa tu propia clave de API. Elige un proveedor, pega una clave y selecciona un modelo. Tu clave se guarda de forma segura en el Llavero y nunca sale de %@ salvo en la solicitud que tú haces." } }, "fr": { @@ -52495,7 +52495,7 @@ "es": { "stringUnit": { "state": "translated", - "value": "El Entrenador usa tu propia clave de API. Elige un proveedor, bracelete una clave y elige un modelo. Tu clave se almacena de forma segura en el Llavero de macOS y nunca sale de tu Mac salvo como la solicitud que tú haces." + "value": "El Entrenador usa tu propia clave de API. Elige un proveedor, pega una clave y elige un modelo. Tu clave se almacena de forma segura en el Llavero de macOS y nunca sale de tu Mac salvo como la solicitud que tú haces." } }, "fr": { @@ -124305,7 +124305,7 @@ "es": { "stringUnit": { "state": "translated", - "value": "Bracelete tu clave de API de %@" + "value": "Pega tu clave de API de %@" } }, "fr": { @@ -219069,7 +219069,7 @@ } }, "Paste the corrected key. Your conversation is kept." : { "localizations" : { "de": {"stringUnit": {"state": "translated", "value": "Füge den korrigierten Schlüssel ein. Deine Unterhaltung bleibt erhalten."}}, - "es": {"stringUnit": {"state": "translated", "value": "Bracelete la clave corregida. Tu conversación se conserva."}}, + "es": {"stringUnit": {"state": "translated", "value": "Pega la clave corregida. Tu conversación se conserva."}}, "fr": {"stringUnit": {"state": "translated", "value": "Collez la clé corrigée. Votre conversation est conservée."}}, "it": {"stringUnit": {"state": "translated", "value": "Incolla la chiave corretta. La tua conversazione viene mantenuta."}}, "pl": {"stringUnit": {"state": "translated", "value": "Wklej poprawiony klucz. Twoja rozmowa zostanie zachowana."}},