From e44745c9e3535f93a1fe9c4ef8abfc9f9791e4c8 Mon Sep 17 00:00:00 2001
From: John Peter Sa <156824256+johnpetersa19@users.noreply.github.com>
Date: Wed, 8 Jan 2025 12:04:53 -0300
Subject: [PATCH 1/2] Add files via upload
add new language portuguese brazil
---
extension/src/_locales/pt-BR/messages.json | 1100 ++++++++++++++++++++
1 file changed, 1100 insertions(+)
create mode 100644 extension/src/_locales/pt-BR/messages.json
diff --git a/extension/src/_locales/pt-BR/messages.json b/extension/src/_locales/pt-BR/messages.json
new file mode 100644
index 00000000..3bca4a51
--- /dev/null
+++ b/extension/src/_locales/pt-BR/messages.json
@@ -0,0 +1,1100 @@
+{
+ "appName": {
+ "message": "Aplicativos da Web progressivos para Firefox",
+ "description": "The name of the application, should not be translated"
+ },
+ "appShortName": {
+ "message": "Pwasforfirefox",
+ "description": "The short name of the application, should not be translated"
+ },
+ "appDescription": {
+ "message": "Uma ferramenta para instalar, gerenciar e usar aplicativos da Web Progressive (PWAs) em Mozilla Firefox",
+ "description": "The description of the application"
+ },
+ "actionInstallSite": {
+ "message": "Instale este site",
+ "description": "Instruct users that they can install the current site here"
+ },
+ "actionLaunchSite": {
+ "message": "Inicie este site",
+ "description": "Instruct users that they can launch the current site here"
+ },
+ "updateNotificationTitle": {
+ "message": "Atualização PWASFORFIREFOX",
+ "description": "The title of the update notification, displayed when an update is available"
+ },
+ "updateNotificationMessage": {
+ "message": "Uma atualização do PWASFORFIREFOX está disponível.",
+ "description": "The message of the update notification, displayed when an update is available"
+ },
+ "commonError": {
+ "message": "Erro",
+ "description": "Displayed before error messages or as a popup title"
+ },
+ "commonWarning": {
+ "message": "Aviso",
+ "description": "Displayed before warning messages or as a popup title"
+ },
+ "commonNote": {
+ "message": "Observação",
+ "description": "Displayed before note messages or as a popup title"
+ },
+ "commonClose": {
+ "message": "Fechar",
+ "description": "Displayed as a label for a close button"
+ },
+ "commonCancel": {
+ "message": "Cancelar",
+ "description": "Displayed as a label for a cancel button"
+ },
+ "commonLoading": {
+ "message": "Carregando…",
+ "description": "Displayed when things are still loading"
+ },
+ "commonAnd": {
+ "message": "e",
+ "description": "The \"and\" conjunction, used between untranslatable words"
+ },
+ "commonOr": {
+ "message": "ou",
+ "description": "The \"or\" conjunction, used between untranslatable words"
+ },
+ "commonExtensionVersion": {
+ "message": "Versão de extensão:",
+ "description": "Displayed before the extension version"
+ },
+ "commonNativeVersion": {
+ "message": "Versão nativa:",
+ "description": "Displayed before the native connector version"
+ },
+ "commonRuntimeVersion": {
+ "message": "Versão de tempo de execução:",
+ "description": "Displayed before the app browser version"
+ },
+ "commonFirefoxVersion": {
+ "message": "Versão do Firefox:",
+ "description": "Displayed before the main browser version"
+ },
+ "webAppName": {
+ "message": "Nome",
+ "description": "The name property of a web app"
+ },
+ "webAppDescription": {
+ "message": "Descrição",
+ "description": "The description property of a web app"
+ },
+ "webAppCategories": {
+ "message": "Categorias",
+ "description": "The categories property of a web app"
+ },
+ "webAppKeywords": {
+ "message": "Palavras -chave",
+ "description": "The keywords property of a web app"
+ },
+ "webAppStartURL": {
+ "message": "Iniciar URL",
+ "description": "The start URL property of a web app"
+ },
+ "webAppIconURL": {
+ "message": "URL do ícone",
+ "description": "The icon URL property of a web app"
+ },
+ "webAppID": {
+ "message": "EU IA",
+ "description": "The ID property of a web app"
+ },
+ "webAppProfile": {
+ "message": "Perfil",
+ "description": "The profile property of a web app"
+ },
+ "webAppProtocolHandlers": {
+ "message": "Manipuladores de protocolo",
+ "description": "The protocol handlers property of a web app"
+ },
+ "profileName": {
+ "message": "Nome",
+ "description": "The name property of a profile"
+ },
+ "profileDescription": {
+ "message": "Descrição",
+ "description": "The description property of a profile"
+ },
+ "profileTemplate": {
+ "message": "Modelo",
+ "description": "The template property of a profile"
+ },
+ "profileTemplatePlaceholder": {
+ "message": "Insira um caminho para o modelo de perfil",
+ "description": "The placeholder for the template input"
+ },
+ "profileID": {
+ "message": "EU IA",
+ "description": "The ID property of a profile"
+ },
+ "webAppValidationNameReuse": {
+ "message": "O nome não pode ser reutilizado de aplicativos da web existentes",
+ "description": "A validation error when the web app name is reused"
+ },
+ "webAppValidationStartURLInvalid": {
+ "message": "Start URL precisa ser um URL válido",
+ "description": "A validation error when the web app start URL is invalid"
+ },
+ "webAppValidationStartURLScope": {
+ "message": "O URL inicial deve estar dentro do escopo:",
+ "description": "A validation warning when the web app start URL is out-of-scope, with the scope displayed after the colon"
+ },
+ "webAppValidationIconURLInvalid": {
+ "message": "URL do ícone precisa ser um URL válido",
+ "description": "A validation error when the web app icon URL is invalid"
+ },
+ "webAppValidationProfileLimit": {
+ "message": "Apenas uma instância por perfil pode ser instalada",
+ "description": "A validation error when multiple web app instances are tried to be installed in the same profile"
+ },
+ "setupPageTitle": {
+ "message": "Configurar aplicativos da Web Progressive para Firefox",
+ "description": "The title of the setup page"
+ },
+ "setupPageTabLicenseAgreement": {
+ "message": "Contrato de licença",
+ "description": "The licence agreement tab on the setup page"
+ },
+ "setupPageTabConnectorInstallation": {
+ "message": "Instalação do conector",
+ "description": "The connector installation tab on the setup page"
+ },
+ "setupPageTabRuntimeInstallation": {
+ "message": "Instalação de tempo de execução",
+ "description": "The runtime installation tab on the setup page"
+ },
+ "setupPageTabReady": {
+ "message": "Preparar",
+ "description": "The ready tab on the setup page"
+ },
+ "setupPageLicenseBase": {
+ "message": "Erro ao traduzir",
+ "description": "The base license notice on the setup page"
+ },
+ "setupPageLicenseThirdPartyIncluded": {
+ "message": "O projeto usa ativos e código adicionais de terceiros:",
+ "description": "The included third-party assets and code notice on the setup page"
+ },
+ "setupPageLicenseLogo": {
+ "message": "O logotipo do projeto é baseado em o ícone \"fOX SVG Vector\" e xiaoxiaoflood/firefox-scripts
/",
+ "description": "The notice for `xiaoxiaoflood/firefox-scripts` on the setup page"
+ },
+ "setupPageLicenseFirefoxUiFix": {
+ "message": "As modificações do navegador do Chrome usam parcialmente o código derivado do preto7375/firefox-ui-fix
",
+ "description": "The notice for `black7375/Firefox-UI-Fix` on the setup page"
+ },
+ "setupPageLicenseFirefoxSource": {
+ "message": "Erro ao traduzir",
+ "description": "The notice for the Firefox source on the setup page"
+ },
+ "setupPageLicenseMetropolisFont": {
+ "message": "Os programas nativos contêm The Metropolis Semi Bold Typeface Por Chris Simpson, lançado no domínio público usando",
+ "description": "The notice for Metropolis Typeface on the setup page"
+ },
+ "setupPageLicenseBootstrapIcons": {
+ "message": "O Windows Installer contém ícones de bootstrap , licenciados em 7-zip se ainda não estiver instalado.",
+ "description": "The notice for downloaded 7-Zip on the setup page"
+ },
+ "setupPageLicenseFirefoxDownloaded": {
+ "message": "Instalar o tempo de execução em qualquer sistema baixará o não modificado",
+ "description": "The notice for downloaded Firefox on the setup page"
+ },
+ "setupPageLicensePrivacyPolicy": {
+ "message": "Esta extensão troca dados pessoais (Site atual e URLs manifestos, bem como outros detalhes da PWA) com o programa nativo quando o usuário inicia a instalação da PWA.",
+ "description": "The privacy policy notice on the setup page"
+ },
+ "setupPageLicenseLinks": {
+ "message": "Você também pode ler isso Contrato de licença e 7-zip instalado.",
+ "description": "The runtime installation notice on the setup page, displayed when 7-Zip needs to be installed"
+ },
+ "setupPageRuntimeInstallationAfter": {
+ "message": "Após a instalação do tempo de execução, você deve prosseguir automaticamente para a próxima etapa.",
+ "description": "The runtime installation notice on the setup page, displayed always"
+ },
+ "setupPageAdvancedOptionsTitle": {
+ "message": "Opções avançadas",
+ "description": "The advanced runtime installation options toggle on the setup page"
+ },
+ "setupPageAdvancedOptionsFromArchiveTitle": {
+ "message": "Instalando manualmente o Firefox a partir do arquivo:",
+ "description": "Instructions for manually installing Firefox from the archive, title"
+ },
+ "setupPageAdvancedOptionsFromArchiveStep1": {
+ "message": "Faça o download do arquivo Firefox da sua fonte preferida (por exemplo, de a página de downloads oficiais ).",
+ "description": "Instructions for manually installing Firefox from the archive, step 1"
+ },
+ "setupPageAdvancedOptionsFromArchiveStep2": {
+ "message": "Extraia o arquivo baixado e copie arquivos para o diretório correto (veja abaixo).",
+ "description": "Instructions for manually installing Firefox from the archive, step 2"
+ },
+ "setupPageAdvancedOptionsPackageManagerTitle": {
+ "message": "Instalando manualmente o Firefox usando o gerenciador de pacotes:",
+ "description": "Instructions for manually installing Firefox using package manager, title"
+ },
+ "setupPageAdvancedOptionsPackageManagerStep1": {
+ "message": "Instale o Firefox usando o gerenciador de pacotes do seu distro (por exemplo, sudo apt install firefox , sudo yum install firefox ,…).",
+ "description": "Instructions for manually installing Firefox using package manager, step 1"
+ },
+ "setupPageAdvancedOptionsPackageManagerStep2": {
+ "message": "Copie os arquivos Firefox instalados (comumente armazenados em /usr/lib/firefox/) para o diretório correto (veja abaixo).",
+ "description": "Instructions for manually installing Firefox using package manager, step 2"
+ },
+ "setupPageAdvancedOptionsAlternativeBrowserTitle": {
+ "message": "Instalando um navegador alternativo baseado em Firefox (por exemplo, Librewolf):",
+ "description": "Instructions for using alternative browser for runtime, title"
+ },
+ "setupPageAdvancedOptionsAlternativeBrowserStep1": {
+ "message": "Faça o download do arquivo \"portátil\" (tarball binário) para o seu navegador baseado em Firefox preferido.",
+ "description": "Instructions for using alternative browser for runtime, step 1"
+ },
+ "setupPageAdvancedOptionsAlternativeBrowserStep2": {
+ "message": "Extrair o arquivo baixado e copiar arquivos para o diretório correto (veja abaixo).",
+ "description": "Instructions for using alternative browser for runtime, step 2"
+ },
+ "setupPageAdvancedOptionsAlternativeBrowserStep3": {
+ "message": "Dentro desse diretório, simplifique o binário principal do seu navegador (por exemplo, libewolf.exe / libewolf-bin ) como firefox.exe /",
+ "description": "Instructions for using alternative browser for runtime, step 3"
+ },
+ "setupPageAdvancedOptionsOverlayTitle": {
+ "message": "Vinculando a instalação global do Firefox com o Fuse Overlayfs:",
+ "description": "Instructions for linking the runtime with FUSE OverlayFS, title"
+ },
+ "setupPageAdvancedOptionsOverlayStep1": {
+ "message": "As instruções estão disponíveis na documentação",
+ "description": "Instructions for linking the runtime with FUSE OverlayFS, step 1"
+ },
+ "setupPageDefaultRuntimeLocationTitle": {
+ "message": "Locais de tempo de execução padrão:",
+ "description": "The title for the default runtime locations section"
+ },
+ "setupPageReady": {
+ "message": "Esta extensão agora está pronta para ser usada.",
+ "description": "The ready notice on the setup page"
+ },
+ "updatePageTitle": {
+ "message": "Atualize aplicativos da Web Progressive para Firefox",
+ "description": "The title of the update page"
+ },
+ "updatePageNativeOutdated": {
+ "message": "O conector nativo está atualmente desatualizado.",
+ "description": "Displayed on the update page when the native connector is outdated"
+ },
+ "updatePageNativeCompatible": {
+ "message": "É compatível com a versão de extensão atual, mas é altamente recomendável atualizá -lo para obter os recursos e correções mais recentes.",
+ "description": "Displayed on the update page when the native connector is compatible"
+ },
+ "updatePageNativeIncompatible": {
+ "message": "Não é não compatível com a versão de extensão atual, portanto, você não pode usar a extensão até atualizá -la.",
+ "description": "Displayed on the update page when the native connector is incompatible"
+ },
+ "updatePageNativeInstructions": {
+ "message": "Siga as instruções abaixo.",
+ "description": "Displayed on the update page nstruct users to follow the instructions to update the native connector"
+ },
+ "updatePageExtensionOutdated": {
+ "message": "Atualmente, esta extensão está desatualizada.",
+ "description": "Displayed on the update page when the extension is outdated"
+ },
+ "updatePageExtensionCompatible": {
+ "message": "É compatível com a versão atual do conector, mas é altamente recomendável atualizá -lo para obter os recursos e correções mais recentes.",
+ "description": "Displayed on the update page when the extension is compatible"
+ },
+ "updatePageExtensionIncompatible": {
+ "message": "Não é não compatível com a versão atual do conector, portanto, você não pode usar a extensão até atualizá -la.",
+ "description": "Displayed on the update page when the extension is incompatible"
+ },
+ "updatePageExtensionInstructions": {
+ "message": "Atualize -o do Firefox Addon Manager ( sobre: Addons ).",
+ "description": "Displayed on the update page nstruct users to follow the instructions to update the extension"
+ },
+ "updatePageUpdated": {
+ "message": "A extensão e o conector nativo são atualizados para a mesma versão.",
+ "description": "Displayed on the update page when both the extension and the native connector are updated to the same version"
+ },
+ "updatePageReleaseNotes": {
+ "message": "Você pode ler as notas de lançamento Para obter uma lista de novos recursos, correções de bugs e outras melhorias.",
+ "description": "Displayed on the update page to link the release notes"
+ },
+ "updatePageReleaseNotesIncompatible": {
+ "message": "Esta atualização pode conter alterações compatíveis com versões anteriores ; portanto, você também pode precisar reconfigurar algumas coisas, conforme especificado nas notas de lançamento para fazê-lo funcionar.",
+ "description": "Displayed on the update page when an update contains potential backward-incompatible changes"
+ },
+ "instructionsPageTitle": {
+ "message": "Instruções de instalação",
+ "description": "The title of the installation instructions page"
+ },
+ "instructionsPageTabWindows": {
+ "message": "Windows",
+ "description": "The Microsoft Windows tab on the instructions page"
+ },
+ "instructionsPageTabDebian": {
+ "message": "Linux do tipo Debian (Deb)",
+ "description": "The Debian (DEB) tab on the instructions page"
+ },
+ "instructionsPageTabRedHat": {
+ "message": "Red Hat-Like Linux (RPM)",
+ "description": "The Red Hat (RPM) tab on the instructions page"
+ },
+ "instructionsPageTabArch": {
+ "message": "Linux semelhante ao arco",
+ "description": "The Arch tab on the instructions page"
+ },
+ "instructionsPageTabGentoo": {
+ "message": "Linux, tipo Gentoo",
+ "description": "The Gentoo tab on the instructions page"
+ },
+ "instructionsPageTabNixOS": {
+ "message": "Nixos Linux",
+ "description": "The NixOS tab on the instructions page"
+ },
+ "instructionsPageTabMacOS": {
+ "message": "macos",
+ "description": "The macOS tab on the instructions page"
+ },
+ "instructionsPageTabBSD": {
+ "message": "BSD",
+ "description": "The BSD tab on the instructions page"
+ },
+ "instructionsPageTabSourceCode": {
+ "message": "Do código -fonte",
+ "description": "The source code tab on the instructions page"
+ },
+ "instructionsPageTabOtherPlatforms": {
+ "message": "Outras plataformas",
+ "description": "The other platforms tab on the instructions page"
+ },
+ "instructionsPageOr": {
+ "message": "Ou…",
+ "description": "The \"or\" conjunction, displayed in the installation options list"
+ },
+ "instructionsPageAfterProgramsInstalled": {
+ "message": "Após a instalação dos programas, você deve ser prosseguido automaticamente para a próxima etapa.",
+ "description": "The final installation step in installation options that use the \"program\" terminology"
+ },
+ "instructionsPageAfterPackageInstalled": {
+ "message": "Após a instalação do pacote, você deve ser prosseguido automaticamente para a próxima etapa.",
+ "description": "The final installation step in installation options that use the \"package\" terminology"
+ },
+ "instructionsPageAfterProjectInstalled": {
+ "message": "Após a instalação do projeto, você deve ser prosseguido automaticamente para a próxima etapa.",
+ "description": "The final installation step in installation options that use the \"project\" terminology"
+ },
+ "instructionsPageInstallManualMSITitle": {
+ "message": "Para instalar o programa manualmente:",
+ "description": "The title of the manual MSI installation option"
+ },
+ "instructionsPageInstallManualMSIStep1": {
+ "message": "Faça o download e instale o Visual C ++ Redistributable .",
+ "description": "The step 1 of the manual MSI installation option"
+ },
+ "instructionsPageInstallManualMSIStep2": {
+ "message": "Faça o download e execute o pwasforfirefox msi instalador .",
+ "description": "The step 2 of the manual MSI installation option"
+ },
+ "instructionsPageInstallManualDEBTitle": {
+ "message": "Para instalar o pacote manualmente:",
+ "description": "The title of the manual DEB installation option"
+ },
+ "instructionsPageInstallManualDEBStep1": {
+ "message": "Faça o download e instale o pwa para o pacote do Firefox Deb .",
+ "description": "The step 1 of the manual DEB installation option"
+ },
+ "instructionsPageInstallManualRPMTitle": {
+ "message": "Para instalar o pacote manualmente:",
+ "description": "The title of the manual RPM installation option"
+ },
+ "instructionsPageInstallManualRPMStep1": {
+ "message": "Faça o download e instale o pacote pwasforfirefox rpm .",
+ "description": "The step 1 of the manual RPM installation option"
+ },
+ "instructionsPageInstallWingetTitle": {
+ "message": "Para instalar o pacote usando o Windows Package Manager:",
+ "description": "The title of the Windows Package Manager (winget) installation option"
+ },
+ "instructionsPageInstallWingetStep1": {
+ "message": "Verifique se Windows Package Manager está instalado.",
+ "description": "The step 1 of the Windows Package Manager (winget) installation option"
+ },
+ "instructionsPageInstallWingetStep2": {
+ "message": "Instale o pacote usando Winget:",
+ "description": "The step 2 of the Windows Package Manager (winget) installation option"
+ },
+ "instructionsPageInstallChocolateyTitle": {
+ "message": "Para instalar o pacote usando chocolate:",
+ "description": "The title of the Chocolatey installation option"
+ },
+ "instructionsPageInstallChocolateyStep1": {
+ "message": "Verifique se Chocolatey está instalado.",
+ "description": "The step 1 of the Chocolatey installation option"
+ },
+ "instructionsPageInstallChocolateyStep2": {
+ "message": "Instale o pacote usando Choco:",
+ "description": "The step 2 of the Chocolatey installation option"
+ },
+ "instructionsPageInstallNpackdTitle": {
+ "message": "Para instalar o pacote usando o npackd:",
+ "description": "The title of the Npackd installation option"
+ },
+ "instructionsPageInstallNpackdStep1": {
+ "message": "Verifique se npackd está instalado.",
+ "description": "The step 1 of the Npackd installation option"
+ },
+ "instructionsPageInstallNpackdStep2": {
+ "message": "Instale o pacote usando o NCL:",
+ "description": "The step 2 of the Npackd installation option"
+ },
+ "instructionsPageInstallScoopTitle": {
+ "message": "Para instalar o pacote usando o SCOOP:",
+ "description": "The title of the Scoop installation option"
+ },
+ "instructionsPageInstallScoopStep1": {
+ "message": "Verifique se Scoop está instalado.",
+ "description": "The step 1 of the Scoop installation option"
+ },
+ "instructionsPageInstallScoopStep2": {
+ "message": "Adicione o bucket do Scoop Extras:",
+ "description": "The step 2 of the Scoop installation option"
+ },
+ "instructionsPageInstallScoopStep3": {
+ "message": "Instale o pacote usando o SCOOP:",
+ "description": "The step 3 of the Scoop installation option"
+ },
+ "instructionsPageInstallPAFTitle": {
+ "message": "Para instalar o pacote usando o PortableApps.com:",
+ "description": "The title of the PortableApps.com installation option"
+ },
+ "instructionsPageInstallPAFStep1": {
+ "message": "Verifique se plataforma portableApps.com está instalado.",
+ "description": "The step 1 of the PortableApps.com installation option"
+ },
+ "instructionsPageInstallPAFStep2": {
+ "message": "Faça o download do pacote pwasforfirefox paf e instale-o usando a plataforma PortableApps.com.",
+ "description": "The step 2 of the PortableApps.com installation option"
+ },
+ "instructionsPageInstallPAFStep3": {
+ "message": "Execute o programa PWASFORFIREFOX usando a plataforma PortableApps.com e aguarde até que uma notificação apareça.",
+ "description": "The step 3 of the PortableApps.com installation option"
+ },
+ "instructionsPageInstallPAFStep4": {
+ "message": "Quando o programa estiver em execução, você deve prosseguir automaticamente para a próxima etapa.",
+ "description": "The step 4 of the PortableApps.com installation option"
+ },
+ "instructionsPageSignPathThanks": {
+ "message": "Graças a Signpath Foundation Por nos fornecer um certificado de assinatura de código gratuito para pacotes do Windows e Packagecloud.io Repositório ",
+ "description": "The step 1 of the packagecloud.io installation option"
+ },
+ "instructionsPagePackagecloudThanks": {
+ "message": "Agradecemos ao PackageCloud.io por patrocinar este projeto e nos fornecer uma hospedagem gratuita para nossos pacotes Deb e RPM!",
+ "description": "A message that thanks packagecloud.io for sponsoring the project"
+ },
+ "instructionsPagePackagecloudAlt": {
+ "message": "Private NPM Registry and Maven, RPM, Deb, Pypi e Rubygem Repository · PackageCloud",
+ "description": "An alternative text for the packagecloud.io logo"
+ },
+ "instructionsPageLinuxArchInstallStep1": {
+ "message": "Instale o pacote usando o Pacman:",
+ "description": "The step 1 of the Arch Linux installation option"
+ },
+ "instructionsPageLinuxGentooInstallStep1": {
+ "message": "Ativar sobreposição de guru gentoo usando o eselect:",
+ "description": "The step 1 of the Gentoo installation option"
+ },
+ "instructionsPageLinuxGentooInstallStep2": {
+ "message": "SYNC Gentoo Guru Sobreposição usando emerge:",
+ "description": "The step 2 of the Gentoo installation option"
+ },
+ "instructionsPageLinuxGentooInstallStep3": {
+ "message": "Instale o pacote usando emerge:",
+ "description": "The step 3 of the Gentoo installation option"
+ },
+ "instructionsPageLinuxNixOSInstallStep1": {
+ "message": "Adicione o código NIX a seguir à sua configuração de nixos, geralmente localizada em /etc/nixos/configuration.nix :",
+ "description": "The step 1 of the NixOS installation option"
+ },
+ "instructionsPageLinuxNixOSInstallStep1After": {
+ "message": "… Para garantir que o pacote esteja no caminho e no nativemessaghosthosts do Firefox .",
+ "description": "The step 1 of the NixOS installation option"
+ },
+ "instructionsPageLinuxNixOSInstallStep2": {
+ "message": "Reconstrua seu sistema:",
+ "description": "The step 2 of the NixOS installation option"
+ },
+ "instructionsPageLinuxNixOSInstallStep3": {
+ "message": "Depois de reconstruir o sistema, você deve prosseguir automaticamente para a próxima etapa.",
+ "description": "The step 3 of the NixOS installation option"
+ },
+ "instructionsPageLinuxNixOSInstallNotice": {
+ "message": "Recomenda -se instalar o pacote no canal instável NIXOS/NIXPKGS.",
+ "description": "The unstable channel notice for the NixOS installation option"
+ },
+ "instructionsPageMacOSInstallStep1": {
+ "message": "Verifique se homebrew está instalado.",
+ "description": "The step 1 of the macOS installation option"
+ },
+ "instructionsPageMacOSInstallStep2": {
+ "message": "Erro ao traduzir",
+ "description": "The step 2 of the macOS installation option"
+ },
+ "instructionsPageMacOSInstallStep3": {
+ "message": "Siga as instruções exibidas na seção advertência da saída de instalação para vincular o manifesto.",
+ "description": "The step 3 of the macOS installation option"
+ },
+ "instructionsPageMacOSInstallStep4": {
+ "message": "Depois que a fórmula é instalada e o manifesto estiver vinculado, você deve ser prosseguido automaticamente para a próxima etapa.",
+ "description": "The step 4 of the macOS installation option"
+ },
+ "instructionsPageBSDInstallNotice": {
+ "message": "Para instalar o projeto no BSD, siga as instruções da seção de instalação de origem.",
+ "description": "The notice for the BSD installation option"
+ },
+ "instructionsPageBSDInstallWarning": {
+ "message": "O suporte ao BSD depende da especificação de entrada da Desktop XDG (feita para Linux) e não é testada regularmente.",
+ "description": "The warning for the BSD installation option"
+ },
+ "instructionsPageSourceInstallStep1": {
+ "message": "Certifique-se de cargo-make está instalado e atualizado.",
+ "description": "The step 1 of the source installation option"
+ },
+ "instructionsPageSourceInstallStep2": {
+ "message": "Verifique se Wix Toolset v3 está instalado (apenas com Windows).",
+ "description": "The step 2 of the source installation option, displayed on Windows only"
+ },
+ "instructionsPageSourceInstallStep3": {
+ "message": "Clone o repositório e cd no diretório nativo ",
+ "description": "The step 3 of the source installation option"
+ },
+ "instructionsPageSourceInstallStep4": {
+ "message": "Confira a tag .",
+ "description": "The step 4 of the source installation option, tag is dynamically set to the correct version"
+ },
+ "instructionsPageSourceInstallStep5": {
+ "message": "Prepare o código -fonte para a construção:",
+ "description": "The step 5 of the source installation option"
+ },
+ "instructionsPageSourceInstallStep6": {
+ "message": "Construa e instale o projeto:",
+ "description": "The step 6 of the source installation option"
+ },
+ "instructionsPageSourceInstallNotice1": {
+ "message": "Para uma lista de comandos para fazer isso, verifique o arquivo readme no repositório .",
+ "description": "The notice for a list of commands for the source installation option"
+ },
+ "instructionsPageSourceInstallNotice2": {
+ "message": "Se você deseja empacotar o PWASFORFIREFOX para sua distribuição ou já o empacotou, informe -me, para que eu possa ajudar com a embalagem e listá -la nas instruções de instalação.",
+ "description": "The notice for packaging the project for the source installation option"
+ },
+ "instructionsPageOtherInstallNotice": {
+ "message": "Seu sistema operacional não é oficialmente apoiado.",
+ "description": "The notice for the other installation option"
+ },
+ "installPageTitle": {
+ "message": "Instale este aplicativo da web",
+ "description": "The title of the install web app page"
+ },
+ "installPageCreateProfile": {
+ "message": "Crie um novo perfil",
+ "description": "The profile creation option on the install web app page"
+ },
+ "installPageAutoCreateProfile": {
+ "message": "Crie automaticamente um novo perfil",
+ "description": "The automatic profile creation option on the install web app page"
+ },
+ "installPageSeparateProfiles": {
+ "message": "É altamente recomendável instalar cada aplicativo da web em um perfil separado devido a um bug difícil de fixar.",
+ "description": "The message that tells users each web app should be in a separate profile on affected platforms"
+ },
+ "installPageUseManifestLabel": {
+ "message": "Use o manifesto para determinar as propriedades do aplicativo",
+ "description": "The label for the use manifest checkbox on the web app installation page"
+ },
+ "installPageUseManifestTooltip": {
+ "message": "Desative apenas se você não puder instalar este aplicativo da web com o manifesto ativado",
+ "description": "The tooltip for the use manifest checkbox on the web app installation page"
+ },
+ "installPageLaunchNowLabel": {
+ "message": "Inicie o aplicativo da web quando a instalação terminar",
+ "description": "The label for the launch now checkbox on the web app installation page"
+ },
+ "installPageLaunchNowTooltip": {
+ "message": "Ativar se você deseja que este aplicativo da web seja lançado automaticamente após a instalação",
+ "description": "The tooltip for the launch now checkbox on the web app installation page"
+ },
+ "installPageContentScriptError": {
+ "message": "Falha ao acessar o script de conteúdo.",
+ "description": "A message that says the extension was not able to access the content script"
+ },
+ "installPageContentScriptErrorDevelopment": {
+ "message": "Você está usando uma compilação de desenvolvimento, então isso provavelmente é causado por um recurso de realização ao vivo.",
+ "description": "A message that extends the content script error with more details when a development build is used"
+ },
+ "installPageContentScriptErrorRestricted": {
+ "message": "Alguns sites de mozilla são restritos para extensões.",
+ "description": "A message that extends the content script error with more details when used on restricted domains"
+ },
+ "launchPageTitle": {
+ "message": "Inicie este aplicativo da web",
+ "description": "The title of the launch web app page"
+ },
+ "launchPageInstallNewInstance": {
+ "message": "Instale uma nova instância",
+ "description": "Displayed on the launch web app page to install a new instance"
+ },
+ "managePageTitle": {
+ "message": "Gerenciar aplicativos e perfis da web",
+ "description": "The title of the manage page"
+ },
+ "managePageTabApps": {
+ "message": "Erro ao traduzir",
+ "description": "The apps tab on the manage page"
+ },
+ "managePageTabProfiles": {
+ "message": "Perfis",
+ "description": "The profiles tab on the manage page"
+ },
+ "managePageTabSettings": {
+ "message": "Configurações",
+ "description": "The settings tab on the manage page"
+ },
+ "managePageAppListIcon": {
+ "message": "Ícone",
+ "description": "The icon alternative text on the web app list"
+ },
+ "managePageAppListLaunch": {
+ "message": "Inicie o aplicativo da web",
+ "description": "The launch tooltip on the web app list"
+ },
+ "managePageAppListEdit": {
+ "message": "Editar aplicativo da web",
+ "description": "The edit tooltip on the web app list and the title of the edit web app dialog"
+ },
+ "managePageAppListRemove": {
+ "message": "Remova o aplicativo da web",
+ "description": "The remove tooltip on the web app list and the title of the remove web app dialog"
+ },
+ "managePageAppListEmpty": {
+ "message": "Nenhum aplicativo da web instalado!",
+ "description": "A message that is displayed on the web app list when no web apps are installed"
+ },
+ "managePageAppListAdd": {
+ "message": "Instale o site atual",
+ "description": "A button that is displayed on the web app list to install the current site"
+ },
+ "managePageProfileListCreate": {
+ "message": "Criar perfil",
+ "description": "The create tooltip on the profile list and the title of the edit profile dialog"
+ },
+ "managePageProfileListEdit": {
+ "message": "Editar perfil",
+ "description": "The edit tooltip on the profile list and the title of the edit profile dialog"
+ },
+ "managePageProfileListRemove": {
+ "message": "Remova o perfil",
+ "description": "The remove tooltip on the profile list and title of the remove profile dialog"
+ },
+ "managePageProfileListEmpty": {
+ "message": "Sem perfis disponíveis!",
+ "description": "A message that is displayed on the profile list when no profile are available"
+ },
+ "managePageProfileListAdd": {
+ "message": "Crie um novo perfil",
+ "description": "A button that is displayed on the profile list to create a new profile"
+ },
+ "managePageProfileListUnnamed": {
+ "message": "Sem nome",
+ "description": "The unnamed profile on the profile list"
+ },
+ "managePageProfileListCount": {
+ "message": "{contagem, plural, um {# app} outros {# apps}}",
+ "description": "The web app count in the profile, supports limited pluralization options"
+ },
+ "managePageSettingsDisplayPageAction": {
+ "message": "Widget de barra de endereço de exibição",
+ "description": "The setting for displaying page action (address bar widget)"
+ },
+ "managePageSettingsDisplayPageActionValid": {
+ "message": "Em aplicativos da Web progressivos válidos",
+ "description": "The option to display page action on valid web apps"
+ },
+ "managePageSettingsDisplayPageActionAlways": {
+ "message": "Sempre",
+ "description": "The option to always display page action"
+ },
+ "managePageSettingsDisplayPageActionNever": {
+ "message": "Nunca",
+ "description": "The option to never display page action"
+ },
+ "managePageSettingsLaunchCurrentURL": {
+ "message": "Inicie aplicativos da web em URLs ativos",
+ "description": "The setting for launching web apps on active URLs"
+ },
+ "managePageSettingsShowUpdatePopup": {
+ "message": "Mostre um pop -up em atualizações de extensão",
+ "description": "The setting for showing update popups"
+ },
+ "managePageSettingsEnableAutoLaunch": {
+ "message": "Ativar lançamento automático de aplicativos da web",
+ "description": "The setting for enabling automatic launching"
+ },
+ "managePageSettingsAlwaysPatch": {
+ "message": "Sempre patch o tempo de execução e perfil",
+ "description": "The setting for configuring patching"
+ },
+ "managePageSettingsEnableWayland": {
+ "message": "Use Wayland Display Server",
+ "description": "The setting for enabling Wayland (Linux-only)"
+ },
+ "managePageSettingsEnableXInput2": {
+ "message": "Use X Extensão de entrada 2",
+ "description": "The setting for enabling XInput2 (Linux-only)"
+ },
+ "managePageSettingsEnablePortals": {
+ "message": "Use Portais de Desktop XDG",
+ "description": "The setting for enabling XDG Desktop Portals (Linux-only)"
+ },
+ "managePageSettingsDarkMode": {
+ "message": "Ativar modo escuro",
+ "description": "The setting for enabling dark mode"
+ },
+ "managePageSettingsDarkModeTooltip": {
+ "message": "Só pode ser ativado nas configurações do sistema",
+ "description": "The tooltip for the dark mode setting"
+ },
+ "managePageSettingsDefaultProfileTemplate": {
+ "message": "Modelo de perfil padrão",
+ "description": "The setting for default profile template"
+ },
+ "managePageSettingsAutoLaunchExclusion": {
+ "message": "Exclusão automática de lançamento",
+ "description": "The setting for auto launch exclusion"
+ },
+ "managePageSettingsAutoLaunchExclusionPlaceholder": {
+ "message": "Digite um regex de URLs excluídos",
+ "description": "The placeholder for auto launch exclusion"
+ },
+ "managePageSettingsLanguage": {
+ "message": "Linguagem",
+ "description": "The setting for language"
+ },
+ "managePageSettingsUpdateWebApps": {
+ "message": "Atualize aplicativos da web",
+ "description": "The button in settings to update web apps"
+ },
+ "managePageSettingsPatchProfiles": {
+ "message": "Perfis de patch e tempo de execução",
+ "description": "The button in settings to patch profiles and runtime"
+ },
+ "managePageSettingsReinstallRuntime": {
+ "message": "Reinstale o tempo de execução",
+ "description": "The button in settings to reinstall runtime"
+ },
+ "managePageSettingsAboutProject": {
+ "message": "Sobre o projeto",
+ "description": "The button in settings to display project info"
+ },
+ "managePageFooterOutdated1": {
+ "message": "A extensão está desatualizada!",
+ "description": "The first part of the extension outdated warning"
+ },
+ "managePageFooterOutdated2": {
+ "message": "Por favor, atualize -o!",
+ "description": "The second part of the extension outdated warning"
+ },
+ "managePageFooterSearchPlaceholder": {
+ "message": "Pesquise por nome",
+ "description": "The search placeholder for web apps and profiles"
+ },
+ "managePageAppEditLaunchOnWebsiteLabel": {
+ "message": "Inicie este aplicativo da web no site de correspondência",
+ "description": "The label for the launch on website checkbox on the edit web app dialog"
+ },
+ "managePageAppEditLaunchOnWebsiteTooltip": {
+ "message": "Determina se o aplicativo da web será lançado automaticamente ao visitar o site correspondente",
+ "description": "The tooltip for the launch on website checkbox on the edit web app dialog"
+ },
+ "managePageAppEditLaunchOnLoginLabel": {
+ "message": "Inicie este aplicativo da web no login do sistema",
+ "description": "The label for the launch on login checkbox on the edit web app dialog"
+ },
+ "managePageAppEditLaunchOnLoginTooltip": {
+ "message": "Determina se o aplicativo da web será lançado automaticamente no login do sistema",
+ "description": "The tooltip for the launch on login checkbox on the edit web app dialog"
+ },
+ "managePageAppEditLaunchOnBrowserLabel": {
+ "message": "Inicie este aplicativo da web no lançamento do navegador",
+ "description": "The label for the launch on browser checkbox on the edit web app dialog"
+ },
+ "managePageAppEditLaunchOnBrowserTooltip": {
+ "message": "Determina se o aplicativo da web será lançado automaticamente no lançamento do navegador",
+ "description": "The tooltip for the launch on browser checkbox on the edit web app dialog"
+ },
+ "managePageAppEditUpdateManifestLabel": {
+ "message": "Atualizar o manifesto do aplicativo da web",
+ "description": "The label for the manifest update checkbox on the edit web app dialog"
+ },
+ "managePageAppEditUpdateManifestTooltip": {
+ "message": "Determina se o manifesto será atualizado quando você editar este aplicativo da web",
+ "description": "The tooltip for the manifest update checkbox on the edit web app dialog"
+ },
+ "managePageAppEditUpdateIconsLabel": {
+ "message": "Atualize os ícones do aplicativo da web",
+ "description": "The label for the icons update checkbox on the edit web app dialog"
+ },
+ "managePageAppEditUpdateIconsTooltip": {
+ "message": "Determina se os ícones serão atualizados quando você editar este aplicativo da web",
+ "description": "The tooltip for the icons update checkbox on the edit web app dialog"
+ },
+ "managePageAppRemoveQuestion": {
+ "message": "Tem certeza de que deseja remover este aplicativo da web?",
+ "description": "The confirmation question on the remove web app dialog"
+ },
+ "managePageAppRemoveNotLast": {
+ "message": "Outros aplicativos estão presentes neste perfil, portanto, o perfil não será removido.",
+ "description": "The additional clarification on the remove web app dialog if the web app is not the last in its profile"
+ },
+ "managePageAppRemoveLast": {
+ "message": "Este é o último aplicativo neste perfil, para que você possa excluí -lo e os dados do aplicativo associados.",
+ "description": "The additional clarification on the remove web app dialog if the web app is the last in its profile"
+ },
+ "managePageAppRemoveCheckboxLabel": {
+ "message": "Excluir dados de perfil e aplicativo",
+ "description": "The label for the profile delete checkbox on the remove web app dialog"
+ },
+ "managePageAppRemoveCheckboxTooltip": {
+ "message": "Determina se o perfil e os dados atuais do aplicativo serão excluídos ao desinstalar o aplicativo",
+ "description": "The label for the profile delete checkbox on the remove web app dialog"
+ },
+ "managePageProfileEditApplyProfileLabel": {
+ "message": "Aplique o modelo de perfil",
+ "description": "The label for the apply template checkbox on the edit profile dialog"
+ },
+ "managePageProfileRemoveQuestion": {
+ "message": "Tem certeza de que deseja remover este perfil?",
+ "description": "The confirmation question on the remove profile dialog"
+ },
+ "managePageProfileRemoveDefault": {
+ "message": "O perfil padrão não pode ser completamente removido.",
+ "description": "The additional clarification on the remove profile dialog if this is the default profile"
+ },
+ "managePageAutoLaunchTitle": {
+ "message": "Lançamento automático de aplicativos da web",
+ "description": "The title of the automatic launching dialog"
+ },
+ "managePageAutoLaunchAboutMain": {
+ "message": "Ativando o lançamento automático de aplicativos da web iniciará automaticamente todos os URLs que correspondem aos escopos dos aplicativos da Web ativados como um aplicativo da Web.",
+ "description": "The main clarification about the automatic launching"
+ },
+ "managePageAutoLaunchAboutExperimental": {
+ "message": "Esse recurso é experimental, pode não funcionar com todos os sites corretamente e pode afetar o desempenho.",
+ "description": "The experimental clarification about the automatic launching",
+ "placeholders": {
+ "option": {
+ "content": "$managePageAppEditLaunchOnWebsiteLabel$",
+ "example": "Launch this web app on matching website"
+ }
+ }
+ },
+ "managePageAutoLaunchAboutPermissions": {
+ "message": "Permissões adicionais do navegador são necessárias para que isso funcione.",
+ "description": "The permissions clarification about the automatic launching"
+ },
+ "managePageAutoLaunchEnable": {
+ "message": "Habilitar",
+ "description": "The enable button for the automatic launching"
+ },
+ "managePageUpdateWebAppsAbout1": {
+ "message": "Isso baixará e analisará os manifestos de todos os seus aplicativos da Web e os registrará novamente nos sistemas operacionais.",
+ "description": "The first part of about updating web apps message"
+ },
+ "managePageUpdateWebAppsAbout2": {
+ "message": "Como alternativa, você pode registrar todos os aplicativos da Web no sistema operacional sem executar nenhuma atualização de manifesto.",
+ "description": "The second part of about updating web apps message"
+ },
+ "managePageUpdateWebAppsManifest": {
+ "message": "Execute atualizações manifestas",
+ "description": "The checkbox label for performing manifest updates when updating web apps"
+ },
+ "managePagePatchProfilesAbout1": {
+ "message": "Isso corrigirá todos os perfis e tempo de execução com a versão atual de instalação global.",
+ "description": "The first part of about patching profiles and runtime message"
+ },
+ "managePagePatchProfilesAbout2": {
+ "message": "Isso é útil após (re) instalar um tempo de execução personalizado ou se você estiver enfrentando problemas com o lançamento de aplicativos da web.",
+ "description": "The second part of about patching profiles and runtime message"
+ },
+ "managePagePatchProfilesPatchRuntime": {
+ "message": "Time de execução do patch",
+ "description": "The checkbox label for patching runtime when patching profiles and runtime"
+ },
+ "managePagePatchProfilesPatchProfiles": {
+ "message": "Perfis de patch",
+ "description": "The checkbox label for patching profiles when patching profiles and runtime"
+ },
+ "managePageReinstallRuntimeAbout1": {
+ "message": "Tem certeza de que deseja reinstalar o tempo de execução do PWASFORFIREFOX?",
+ "description": "The first part of about reinstalling runtime message"
+ },
+ "managePageReinstallRuntimeAbout2": {
+ "message": "Isso não afetará seu navegador Firefox principal e não removerá remover perfis ou outros dados.",
+ "description": "The second part of about reinstalling runtime message"
+ },
+ "buttonRuntimeInstallDefault": {
+ "message": "Instale o tempo de execução",
+ "description": "The runtime installation button on the setup page, allowing the user to install the runtime"
+ },
+ "buttonRuntimeInstallProcessing": {
+ "message": "Instalando o tempo de execução…",
+ "description": "The runtime installation button on the setup page, while the runtime is installing"
+ },
+ "buttonRuntimeInstallFinished": {
+ "message": "Tempo de execução instalado!",
+ "description": "The runtime installation button on the setup page, after the runtime has been installed"
+ },
+ "buttonWebAppInstallDefault": {
+ "message": "Instale o aplicativo da web",
+ "description": "The web app button on the install web app page, allowing the user to install the web app"
+ },
+ "buttonWebAppInstallProcessing": {
+ "message": "Instalando o aplicativo da web…",
+ "description": "The web app installation button on the install web app page, while the web app is installing"
+ },
+ "buttonWebAppInstallFinished": {
+ "message": "Aplicativo da web instalado!",
+ "description": "The web app installation button on the install web app page, after the web app has been installed"
+ },
+ "buttonCreateDefault": {
+ "message": "Criar",
+ "description": "The create button, allowing the user to create something (profile)"
+ },
+ "buttonCreateProcessing": {
+ "message": "Criando ...",
+ "description": "The create button, while something (profile) is being created"
+ },
+ "buttonCreateFinished": {
+ "message": "Criado!",
+ "description": "The create button, after something (profile) has been created"
+ },
+ "buttonEditDefault": {
+ "message": "Aplicar",
+ "description": "The edit button, allowing the user to edit something (web app or profile)"
+ },
+ "buttonEditProcessing": {
+ "message": "Salvando ...",
+ "description": "The edit button, while something (web app or profile) is being edited"
+ },
+ "buttonEditFinished": {
+ "message": "Salvo!",
+ "description": "The edit button, after something (web app or profile) has been edited"
+ },
+ "buttonRemoveDefault": {
+ "message": "Remover",
+ "description": "The remove button, allowing the user to remove something (web app or profile)"
+ },
+ "buttonRemoveProcessing": {
+ "message": "Removendo…",
+ "description": "The remove button, while something (web app or profile) is being removed"
+ },
+ "buttonRemoveFinished": {
+ "message": "Removido!",
+ "description": "The remove button, after something (web app or profile) has been removed"
+ },
+ "buttonUpdateDefault": {
+ "message": "Atualizar",
+ "description": "The update button, allowing the user to update something (all web apps)"
+ },
+ "buttonUpdateProcessing": {
+ "message": "Atualizando ...",
+ "description": "The update button, while something (all web apps) is being updated"
+ },
+ "buttonUpdateFinished": {
+ "message": "Atualizado!",
+ "description": "The update button, after something (all web apps) has been updated"
+ },
+ "buttonPatchDefault": {
+ "message": "Correção",
+ "description": "The patch button, allowing the user to patch something (all web apps or profiles)"
+ },
+ "buttonPatchProcessing": {
+ "message": "Patching ...",
+ "description": "The patch button, while something (all web apps or profiles) is being patched"
+ },
+ "buttonPatchFinished": {
+ "message": "Remendado!",
+ "description": "The patch button, after something (all web apps or profiles) has been patched"
+ },
+ "buttonReinstallDefault": {
+ "message": "Reinstalar",
+ "description": "The reinstall button, allowing the user to reinstall something (runtime)"
+ },
+ "buttonReinstallProcessing": {
+ "message": "Reinstalando ...",
+ "description": "The reinstall button, while something (runtime) is being reinstalled"
+ },
+ "buttonReinstallFinished": {
+ "message": "Reinstalado!",
+ "description": "The reinstall button, after something (runtime) has been reinstalled"
+ }
+}
From baa4ad0f66bb1bd274a2c45ba3686ea28b9bc8eb Mon Sep 17 00:00:00 2001
From: John Peter Sa <156824256+johnpetersa19@users.noreply.github.com>
Date: Wed, 8 Jan 2025 12:38:06 -0300
Subject: [PATCH 2/2] Add files via upload
add language portuguese brazil
---
.../pwa/localization/pt-BR/pwa/appmenu.ftl | 5 +
.../pwa/localization/pt-BR/pwa/browser.ftl | 20 ++++
.../localization/pt-BR/pwa/contextmenu.ftl | 31 ++++++
.../localization/pt-BR/pwa/customizemode.ftl | 5 +
.../localization/pt-BR/pwa/preferences.ftl | 105 ++++++++++++++++++
.../pwa/localization/pt-BR/pwa/widgets.ftl | 61 ++++++++++
6 files changed, 227 insertions(+)
create mode 100644 native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/appmenu.ftl
create mode 100644 native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/browser.ftl
create mode 100644 native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/contextmenu.ftl
create mode 100644 native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/customizemode.ftl
create mode 100644 native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/preferences.ftl
create mode 100644 native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/widgets.ftl
diff --git a/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/appmenu.ftl b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/appmenu.ftl
new file mode 100644
index 00000000..277e834d
--- /dev/null
+++ b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/appmenu.ftl
@@ -0,0 +1,5 @@
+## App menu items should be translated in the same style and capitalization as existing Firefox messages in your language
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/appmenu.ftl/?search=appmenuitem-new&search_identifiers=true
+
+app-menu-new-default-browser =
+ .label = Novo navegador padrão
diff --git a/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/browser.ftl b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/browser.ftl
new file mode 100644
index 00000000..6c1267e5
--- /dev/null
+++ b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/browser.ftl
@@ -0,0 +1,20 @@
+## Toolbars should be translated in the same style and capitalization as existing Firefox messages in your language
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/toolbarContextMenu.ftl/?string=231726
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/browser.ftl/?string=217992
+
+# The label for the tabs/icon bar, when the tabs mode is enabled
+toolbar-tabs-ffpwa =
+ .toolbarname = Barra de abas
+ .aria-label = Abas
+ .accesskey = A
+
+# The label for the tabs/icon bar, when the tabs mode is disabled
+toolbar-icon-ffpwa =
+ .toolbarname = Barra de ícones
+ .aria-label = ícones
+ .accesskey = I
+
+## Popup inputs should be translated in imperative mood, without any end punctuation
+
+# The prompt for the address input popup
+popup-address-input = Insira o endereço do site
diff --git a/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/contextmenu.ftl b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/contextmenu.ftl
new file mode 100644
index 00000000..e73b1da9
--- /dev/null
+++ b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/contextmenu.ftl
@@ -0,0 +1,31 @@
+## Context menu items should be translated in the same style and capitalization as existing Firefox messages in your language
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/browserContext.ftl/?search=view-new-tab&search_identifiers=true
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/browserContext.ftl/?search=open-link&search_identifiers=true
+
+context-menu-image-view-current-tab =
+ .label = Abrir Imagem
+ .accesskey = { main-context-menu-image-view-new-tab.accesskey }
+
+context-menu-image-view-new-tab =
+ .label = { main-context-menu-image-view-new-tab.label }
+ .accesskey = { main-context-menu-image-view-new-tab.accesskey }
+
+context-menu-image-view-new-window =
+ .label = Abrir imagem em nova janela
+ .accesskey = { main-context-menu-image-view-new-tab.accesskey }
+
+context-menu-video-view-current-tab =
+ .label = Abrir vídeo
+ .accesskey = { main-context-menu-video-view-new-tab.accesskey }
+
+context-menu-video-view-new-tab =
+ .label = { main-context-menu-video-view-new-tab.label }
+ .accesskey = { main-context-menu-video-view-new-tab.accesskey }
+
+context-menu-video-view-new-window =
+ .label = Abrir vídeo em uma nova janela
+ .accesskey = { main-context-menu-video-view-new-tab.accesskey }
+
+context-menu-open-link-default-browser =
+ .label = Abrir link no navegador padrão
+ .accesskey = P
diff --git a/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/customizemode.ftl b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/customizemode.ftl
new file mode 100644
index 00000000..22fa8262
--- /dev/null
+++ b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/customizemode.ftl
@@ -0,0 +1,5 @@
+## Autohide messages should be translated in the same style and capitalization as existing Firefox messages in your language
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/customizeMode.ftl/?search=autohide&search_identifiers=true
+
+customize-mode-mute-button-autohide =
+ .label = Ocultar botão quando não estiver jogando
diff --git a/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/preferences.ftl b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/preferences.ftl
new file mode 100644
index 00000000..4712e0ac
--- /dev/null
+++ b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/preferences.ftl
@@ -0,0 +1,105 @@
+## Progressive Web Apps Group Details
+
+firefoxpwa-group-header = Aplicativos Web Progressivos
+firefoxpwa-group-note = Pode ser necessário reiniciar o navegador para aplicar essas configurações
+
+## Colors Preferences
+
+sites-set-theme-color =
+ .label = Permitir que aplicativos da web substituam uma cor de tema (barra de título)
+
+sites-set-background-color =
+ .label = Permitir que aplicativos da web substituam uma cor de fundo (janela)
+
+dynamic-theme-color =
+ .label = Permitir que aplicativos da web alterem dinamicamente a cor de um tema
+
+## Titlebar Preferences
+
+dynamic-window-title =
+ .label = Alterar o título da janela com base no título do aplicativo da web
+
+dynamic-window-icon =
+ .label = Alterar o ícone da janela com base no ícone do aplicativo da web
+
+native-window-controls =
+ .label = Sempre use controles de janela nativos
+
+## User Experience Preferences
+
+open-out-of-scope-in-default-browser =
+ .label = Abra URLs fora do escopo em um navegador padrão (pode quebrar alguns aplicativos da web)
+
+enable-tabs-mode =
+ .label = Mostrar abas do navegador e habilitar o uso de aplicativos da web com várias abas
+
+## Links Target Preference
+
+links-target-description = Ao abrir um link que normalmente deveria abrir em uma nova janela ou aba
+
+links-target-choice-current-tab =
+ .label = Forçar links na aba atual
+
+links-target-choice-new-tab =
+ .label = Forçar links em uma nova aba
+
+links-target-choice-new-window =
+ .label = Forçar links para uma nova janela
+
+links-target-choice-keep =
+ .label = Não altere o comportamento do link
+
+## Launch Type Preference
+
+launch-type-description = Ao iniciar um aplicativo da web que já está aberto
+
+launch-type-choice-new-window =
+ .label = Abra o aplicativo da web em uma nova janela
+
+launch-type-choice-new-tab =
+ .label = Abra o aplicativo da web em uma nova guia
+
+launch-type-choice-replace =
+ .label = Substituir a aba existente
+
+launch-type-choice-focus =
+ .label = Focar a janela existente
+
+## Address Bar Preference
+
+display-address-bar-description = Exibir a barra de endereço
+
+display-address-bar-choice-out-of-scope =
+ .label = Quando o URL está fora do escopo
+
+display-address-bar-choice-always =
+ .label = Sempre
+
+display-address-bar-choice-never =
+ .label = Nunca
+
+## Allowed Domains Preference
+
+allowed-domains-description = Domínios sempre podem ser abertos no navegador do aplicativo
+
+allowed-domains-input =
+ .placeholder = Insira uma lista de domínios separados por vírgulas...
+
+## Keyboard Shortcuts Group Details
+
+shortcuts-group-header = Atalhos de teclado
+shortcuts-group-note = Pode ser necessário reiniciar o navegador para aplicar essas configurações
+
+## Keyboard Shortcuts Preferences
+
+shortcuts-close-tab =
+ .label = Fechar aba ({ $shortcut })
+
+shortcuts-close-window =
+ .label = Fechar janela ({ $shortcut })
+
+shortcuts-quit-application =
+ .label = Sair do aplicativo ({ $shortcut })
+
+shortcuts-private-browsing =
+ .label = Navegação privada ({ $shortcut })
diff --git a/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/widgets.ftl b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/widgets.ftl
new file mode 100644
index 00000000..1cabf913
--- /dev/null
+++ b/native/userchrome/profile/chrome/pwa/localization/pt-BR/pwa/widgets.ftl
@@ -0,0 +1,61 @@
+## Widget names and tooltips should be translated in the same style and capitalization as existing Firefox messages in your language
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/browser.ftl/?search=toolbar-button&search_identifiers=true
+## Example: https://pontoon.mozilla.org/sl/firefox/browser/browser/browser.ftl/?search=navbar&search_identifiers=true
+
+toolbar-button-mute =
+ .label = Alternar som
+ .tooltiptext = Alternar o som da página ({ $shortcut })
+
+toolbar-button-reader-view =
+ .label = Visualização do leitor
+ .tooltiptext = Alternar a visualização do leitor ({ $shortcut })
+
+toolbar-button-copy-link =
+ .label = Copiar link
+ .tooltiptext = Copie um link para esta página
+
+toolbar-button-share-link =
+ .label = Compartilhar link
+ .tooltiptext = Compartilhe um link para esta página
+
+toolbar-button-send-to-device =
+ .label = Enviar para o dispositivo
+ .tooltiptext = Enviar esta página para outro dispositivo
+
+toolbar-button-open-in-browser =
+ .label = Abrir no navegador
+ .tooltiptext = Abra esta página no navegador
+
+toolbar-button-tracking-protection =
+ .label = Proteção de rastreamento
+ .tooltiptext = Veja informações sobre proteção de rastreamento neste site
+
+toolbar-button-identity =
+ .label = Informações do site
+ .tooltiptext = Ver informações sobre este site
+
+toolbar-button-permissions =
+ .label = Permissões do site
+ .tooltiptext = Ver permissões concedidas a este site
+
+toolbar-button-notifications =
+ .label = Notificações do site
+ .tooltiptext = Notificações pop-up para este site
+
+toolbar-button-close =
+ .label = Fechar
+ .tooltiptext = Feche a página atual
+
+toolbar-button-home-ffpwa =
+ .label = { navbar-home.label }
+ .tooltiptext = Página inicial do aplicativo
+
+## Internal messages that should not be translated
+
+toolbar-button-back-ffpwa =
+ .label = { main-context-menu-back-2.aria-label }
+ .tooltiptext = { main-context-menu-back-2.tooltiptext }
+
+toolbar-button-forward-ffpwa =
+ .label = { main-context-menu-forward-2.aria-label }
+ .tooltiptext = { main-context-menu-forward-2.tooltiptext }