Skip to content

Added Portuguese translations#2

Merged
sunknudsen merged 2 commits intosuperbacked:mainfrom
Edu-Amorim:translation-pt
Jun 8, 2025
Merged

Added Portuguese translations#2
sunknudsen merged 2 commits intosuperbacked:mainfrom
Edu-Amorim:translation-pt

Conversation

@Edu-Amorim
Copy link
Contributor

This PR introduces full Brazilian Portuguese (pt) support for the application.

@sunknudsen
Copy link
Member

Hey @Edu-Amorim, I didn’t forget about this PR. I reached out to a friend to see if he has time to review PR before it is merged.

@sunknudsen
Copy link
Member

sunknudsen commented May 23, 2025

While I wait for feedback from my friend (who speaks Brazilian Portuguese) , I asked ChatGPT to compare translations in this PR to en.json and this is the feedback provided. Given I don’t speak Portuguese, does any of this feedback apply?

Also, can you please use ellipsis character vs dot dot dot ...?

ChatGPT feedback below:

Yes, the Portuguese JSON you provided is generally a correct and equivalent translation of the English entries found in en.json, and the locale used is Brazilian Portuguese (pt-BR).

✅ Equivalence Check

  • All menu items (menu.superbacked, file, edit, insert, view) match in meaning.
  • Structural keys like secretRequired, passphraseStrength, copy, create, print, and unlock are correctly translated.
  • Pluralization support (validBip39Mnemonic_one/other, totpUri_one/other) is preserved.
  • Complex warnings and terms of use (e.g., superbackedIncCannotBeHeldResponsible, useAtYourOwnRisk) are accurate and idiomatic.

⚠️ Minor Observations / Suggestions

  1. Typographic Consistency

    • In typeSecret, the English uses an ellipsis () while the Portuguese uses .... Consider using the ellipsis character for consistency:

      • Current: "Digite o segredo..."
      • Suggested: "Digite o segredo…"
  2. Grammar

    • "para gerenciamento de segredos, a menos que o segredo já esteja presente no computador" is grammatically correct, but could be slightly more fluent as:

      • Suggested: "a menos que o segredo já esteja presente neste computador." (adds a bit more emphasis and clarity with "neste")
  3. Localization Style

    • "Aviso" is used for both "headsUp" and "warning"—though valid, differentiating with "Atenção" for "headsUp" might be more nuanced:

      • "headsUp""Atenção"
      • "warning""Aviso"
  4. "Senha de recuperação"

    • This translation for "passphrase" is functionally accurate and user-friendly. However, some cryptographic contexts may prefer "frase secreta" or "senha frase" depending on the app's audience.

✅ Summary

  • ✅ Functional equivalence: Yes
  • ✅ Locale match: Yes (pt-BR)
  • ✅ No critical typos found
  • ⚠️ Minor stylistic and consistency enhancements are recommended

@sunknudsen
Copy link
Member

Now, another thing that comes to mind before merging this PR is that someone might want to translate app to another country-specific version of Portuguese.

Perhaps it is time to support pt-BR type locales? Have to investigate how much of a refactor this would be.

Copy link

@irae irae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Edu. I've added a number of comments, but the only thing I would think is required for us to change is the "passphrase" translation. My first comment on it has a deep research using ChatGPT to help you understand how other software uses its meaning. So everywhere I looked to change to "frase secreta" instead of your translation.

All other comments are minor and optional, but please think about "air-gapped" too, as I think might be better to keep the english version in parenthesis, it would prompt people to research what it means.

Also, thanks, Sun, to inviting me to help with the translation <3

},
"doNot": "Não",
"useSuperbackedOnComputer": "use o Superbacked em um computador que não seja",
"airGapped": "isolado",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is a shame we, in portuguese, don't have the same term as in "air-gapped" with a literal translation. I would use "totalmente isolado" (completely isolated) in this context. Or maybe even better: "isolado (air-gapped)". Let me know what you think in this case, since it is of upmost importance that it is well understood.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @irae,
To be honest, I haven't encountered that expression in Portuguese either, only in English.

I plan to go ahead with a direct translation of @sunknudsen's French version ("isolé d’Internet") and incorporate your suggestion to include the original term in parentheses.

The updated entry will look like this:

-  "airGapped": "isolado",
+  "airGapped": "isolado da internet (air-gapped)",

@irae
Copy link

irae commented May 25, 2025

Perhaps it is time to support pt-BR type locales?

@sunknudsen Brazilian Portuguese kinda took over already. Even in Portugual the language is slowly changing towards the Brazilian portuguese style. I rarely see software translated in both, and my own impression is that the vast majority of texts translated only to one Portuguese is Brazilian nowadays.

I am not at all against having the two, but I would leave as is and change it to pt-BR if someone finds it necessary and puts the effort to have the Portugal version in addition.

@irae
Copy link

irae commented May 25, 2025

Lastly, I agree with ChatGPT points 1, 2 and 3. The 4th point I agree needs changing, but not to what ChatGPT posted by Sun, suggested as replacement, as stated in one of my code comments.

@sunknudsen
Copy link
Member

Hey @Edu-Amorim, thanks again for submitting PR… have a moment to review comments?

This commit updates the Portuguese translations in response to the comments provided in the PR. The following terms have been revised:
1. ... -> … (ellipsis character)
2. "Senha de recuperação" -> "Frase secreta"
3. "Escanear código QR" -> "Ler código QR"
4. "Força da frase secreta" -> "Complexidade da frase secreta"
5. "Frase secreta muito similar" -> "Frase secreta muito parecida"
6. "[...] a menos que o segredo já esteja presente no computador." -> "[...] a menos que o segredo já esteja presente neste computador."
7. "headsUp": "Aviso" -> "headsUp": "Atenção"
8. "isolado" -> "isolado da internet (air-gapped)"
@Edu-Amorim Edu-Amorim requested a review from irae June 6, 2025 18:45
Copy link

@irae irae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update! Looks like everything was covered!

@sunknudsen sunknudsen merged commit 363374c into superbacked:main Jun 8, 2025
@sunknudsen
Copy link
Member

Thanks for contributing @Edu-Amorim and @irae… Portuguese translations will be included in 1.7.3 release.

@sunknudsen
Copy link
Member

Released as v1.8.0 given I had to drop universal macOS target due to upstream breaking change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants