{
    "extensionDescription": {
        "message": "Protege contra monitorização através de entrega de conteúdo centralizado redirecionando para recursos locais.",
        "description": "Protects you against tracking through CDNs (Content Delivery Networks) by redirecting to local resources."
    },
    "amountInjectedDescription": {
        "message": "Número de injeções de recursos Content Delivery Network locais desde a instalação.",
        "description": "Amount injected description."
    },
    "optionsTitle": {
        "message": "Opções",
        "description": "Options title"
    },
    "showIconBadgeTitle": {
        "message": "Mostrar número de injeções no ícone",
        "description": "Show icon badge title"
    },
    "showIconBadgeDescription": {
        "message": "Mostrar número de recursos injetados no ícone da extensão.",
        "description": "Show icon badge description."
    },
    "blockMissingTitle": {
        "message": "Bloquear pedidos para recursos em falta",
        "description": "Block requests for missing resources title"
    },
    "blockMissingDescription": {
        "message": "Cancelar pedido intercetado se o recurso necessário não estiver disponível localmente.",
        "description": "Block requests for missing resources description."
    },
    "disablePrefetchTitle": {
        "message": "Desativar pré-obtenção de ligações",
        "description": "Disable prefetch title"
    },
    "disablePrefetchDescription": {
        "message": "Impedir recursos não permitidos de vazar às redes de entrega.",
        "description": "Disable prefetch description."
    },
    "stripMetadataTitle": {
        "message": "Retirar meta dados dos pedidos permitidos",
        "description": "Strip metadata title"
    },
    "stripMetadataDescription": {
        "message": "Limpar dados sensíveis de recursos CDN permitidos para melhoria de privacidade.",
        "description": "Strip metadata description."
    },
    "allowlistedDomainsTitle": {
        "message": "Desativar o LocalCDN para estes domínios:",
        "description": "Deactivate LocalCDN for these domains:"
    },
    "allowlistedDomainsDescription": {
        "message": "Introduza os domínios para desativar o LocalCDN. Uma entrada por linha. Separe várias entradas com ponto e vírgula (;).",
        "description": "Enter domains to disable LocalCDN there. One entry per line."
    },
    "advancedLabel": {
        "message": "Avançado",
        "description": "Advanced label"
    },
    "generateRuleSetTitle": {
        "message": "Gerar conjuntos de regras para o seu adblocker",
        "description": "Generate rule sets for your adblocker"
    },
    "generateRuleSetDescription": {
        "message": "Caso esteja a usar um adblocker, pode gerar as regras aqui. Tem que adicionar essas regras ao seu adblocker manualmente.",
        "description": "In case you are using an adblocker you can generate the rules here. You have to add these rules manually in your adblocker."
    },
    "lastUpdate": {
        "message": "Última atualização:",
        "description": "Last update:"
    },
    "copyRuleSet": {
        "message": "Copiar",
        "description": "Text of button to copy ruleset"
    },
    "loggingTitle": {
        "message": "Ativar logging no console do browser",
        "description": "Enable logging"
    },
    "loggingDescription": {
        "message": "Pode abrir o registo a usar o ícone no menu. Após fechar o navegador ou desativar o registo, o mesmo será apagado.",
        "description": "You can open the log with the icon in the menu. The log will be deleted when you close the browser or disable logging."
    },
    "featureBreaksWebsitesDescription": {
        "message": "Esse recurso quebra sites. Não deixe ativado, a não ser que esteja preparado para adicionar manualmente os domínios afetados à lista de permissão.",
        "description": "This feature breaks websites. Do not leave it enabled, unless you are prepared to manually add affected domains to the allow list."
    },
    "featureBreaksWebsitesButton": {
        "message": "Desativar",
        "description": "Disable"
    },
    "labelManipulateDOM": {
        "message": "Filtrar código HTML",
        "description": "Filter HTML source code"
    },
    "labelDonate": {
        "message": "Doar",
        "description": "Donate"
    },
    "negateHtmlFilterListTitle": {
        "message": "Inverter filtro HTML",
        "description": "Invert HTML filter"
    },
    "negateHtmlFilterListDescription": {
        "message": "Ative essa opção para sempre aplicar o filtro HTML. Os domínios na lista serão ignorados. Se esta opção está desativada, o filtro HTML é apenas aplicado a domínios na lista.",
        "description": "Enable this option to always apply the HTML filter. The domains in the list will be ignored then. If this option is disabled, the HTML filter is only applied to domains in the list."
    },
    "negateHtmlFilterListWarning": {
        "message": "Essa função quebra sites. Por favor, olhe a informação na página da Wiki.",
        "description": "This function can break websites. Please note the information on the Wiki page."
    },
    "htmlFilterDomainsTitleExclude": {
        "message": "Não aplique o filtro HTML para estes domínios:",
        "description": "Do not apply HTML filter to these domains:"
    },
    "htmlFilterDomainsDescription": {
        "message": "Digite os domínios que serão usados ou ignorados pelo filtro HTML. Uma entrada por linha.",
        "description": "Enter the domains to be handled or ignored by the HTML filter. One entry per line."
    },
    "htmlFilterDomainsTitleInclude": {
        "message": "Aplique o filtro HTML para estes domínios:",
        "description": "Apply HTML filter for these domains:"
    },
    "blockGoogleFontsTitle": {
        "message": "Bloquear Google Fonts",
        "description": "Block Google Fonts"
    },
    "blockGoogleFontsDescription": {
        "message": "Se pedidos para recursos faltantes são permitidos, conexões para \"fonts.googleapis.com\" não são bloqueadas. Ative esta opção para bloquear esses pedidos.",
        "description": "If requests for missing resources are allowed, connections to \"fonts.googleapis.com\" are not blocked. Enable this option to block these requests."
    },
    "chooseIconStyle": {
        "message": "Escolha um ícone para essa extensão",
        "description": "Choose an icon for this extension"
    },
    "internalStatisticsTitle": {
        "message": "Estatísticas internas",
        "description": "Internal statistics"
    },
    "internalStatisticsDescription": {
        "message": "Esta função está atualmente numa fase experimental. Não há transmissão de dados. É tudo local no seu aparelho.",
        "description": "No data transmission. It’s all local on your device."
    },
    "headerStatistics": {
        "message": "Estatísticas",
        "description": "Statistics. The header of a statistics page."
    },
    "labelToday": {
        "message": "Hoje",
        "description": "Statistics view for today."
    },
    "labelPastWeek": {
        "message": "Semana passada",
        "description": "Statistics view for past week."
    },
    "labelPastMonth": {
        "message": "Último mês",
        "description": "Statistics view for past month."
    },
    "labelPastYear": {
        "message": "Ano passado",
        "description": "Statistics view for past year."
    },
    "labelDelete": {
        "message": "Apagar",
        "description": "Button to delete all statistics data."
    },
    "labelAvg": {
        "message": "Média (Substituições por dia)",
        "description": "Followed by a number of average injections per day within a specific period."
    },
    "labelInjectedFrameworks": {
        "message": "Estruturas substituídas",
        "description": "Followed by a number of injections within a specific period."
    },
    "dialogConfirmDeleteStatistics": {
        "message": "Tem certeza de que quer apagar todas as estatísticas?",
        "description": "Are you sure you want to delete all the statistics?"
    },
    "labelDomainsAllowlistGoogleFonts": {
        "message": "Estes domínios tem permissão para carregar Google Fonts. Uma entrada por linha.",
        "description": "These domains are allowed to load Google Fonts. One entry per line."
    },
    "btnGeneral": {
        "message": "Básico",
        "description": "Basic"
    },
    "btnAdvanced": {
        "message": "Avançado",
        "description": "Advanced"
    },
    "btnOther": {
        "message": "Outros",
        "description": "Other"
    },
    "btnInfo": {
        "message": "Informações",
        "description": "Info"
    },
    "headerStorageType": {
        "message": "Tipo de armazenamento",
        "description": "Storage type"
    },
    "labelStorageTypeLocal": {
        "message": "Local",
        "description": "Local"
    },
    "labelStorageTypeSync": {
        "message": "Sincronizar",
        "description": "Sync"
    },
    "headerImportExport": {
        "message": "Importar/Exportar",
        "description": "Import/Export"
    },
    "labelExportData": {
        "message": "Fazer backup para um ficheiro",
        "description": "Back up to file"
    },
    "labelImportData": {
        "message": "Restaurar do ficheiro",
        "description": "Restore from file"
    },
    "dialogImportSuccessful": {
        "message": "Importação bem sucedida",
        "description": "Import successful"
    },
    "dialogImportFailed": {
        "message": "A importação falhou",
        "description": "Import failed"
    },
    "updateNotificationTitle": {
        "message": "Notificar depois de atualizar",
        "description": "Notification after an update"
    },
    "updateNotificationNever": {
        "message": "Nunca (Atualizações Silenciosas)",
        "description": "Never (Silent Updates)"
    },
    "updateNotificationOnlyRules": {
        "message": "Apenas quando houver novos CDNs ou regras",
        "description": "Only if new CDNs and rules"
    },
    "updateNotificationAlways": {
        "message": "Sempre",
        "description": "Always"
    },
    "websiteBroken": {
        "message": "Site quebrado?",
        "description": "Website broken?"
    },
    "hideDonationButton": {
        "message": "Ocultar botão de doação",
        "description": "Hide donation button"
    },
    "betaLabel": {
        "message": "Beta",
        "description": "beta"
    },
    "changeBadgeColorMissingResourcesTitle": {
        "message": "Indicar os recursos ausentes no ícone",
        "description": "Indicate missing resources on the icon"
    },
    "changeBadgeColorMissingResourcesDescription": {
        "message": "Altera a cor do contador se houver recursos ausentes.",
        "description": "Change the badge color if resources are missing."
    },
    "titleHelp": {
        "message": "Ajuda",
        "description": "Help"
    },
    "helpIntroductionTitle": {
        "message": "Introdução",
        "description": "Introduction"
    },
    "helpHtmlFilterTitle": {
        "message": "O que é »filtro HTML«?",
        "description": "What is »HTML filter«?"
    },
    "helpRuleGeneratorTitle": {
        "message": "Gerador de regras",
        "description": "Rule generator"
    },
    "helpWebsiteIssuesTitle": {
        "message": "Alguns sites parecem estranhos ou não são fáceis de usar",
        "description": "Some websites look strange or are not easy to use"
    },
    "helpBlockGoogleFontsTitle": {
        "message": "Por que há uma opção de »Bloquear Google Fonts«?",
        "description": "Why is there a »Block Google Fonts« option?"
    },
    "helpStatisticsTitle": {
        "message": "E sobre as estatísticas? Algo está a ser transferido para algum servidor?",
        "description": "What about the statistics? Is anything transferred to any servers?"
    },
    "helpWhatWillBeSynchronizedTitle": {
        "message": "O que será sincronizado quando selecionar »sincronizar« como o tipo de armazenamento?",
        "description": "What will be synchronized when I select »sync« as storage type?"
    },
    "helpBrowserCompatibilityTitle": {
        "message": "Compatibilidade do navegador",
        "description": "Browser compatibility"
    },
    "helpIntroductionDescription": {
        "message": "LocalCDN é uma extensão de navegador da web que emula Redes de Distribuição de Conteúdo que melhora a sua privacidade online, a interceptar o tráfego, a buscar frameworks/livrarias localmente e a injetar-os no site. Sinta-se à vontade para usar o seguinte utilitário de teste para ver se está devidamente protegido. Para mais informações, leia o tutorial ou nossas páginas na Wiki.",
        "description": "LocalCDN is a web browser extension that emulates Content Delivery Networks to improve your online privacy. It intercepts traffic, finds supported frameworks/libraries locally, and injects them into the website. Feel free to use the following testing utility to find out if you are properly protected. For more information read the tutorial or our Wiki pages."
    },
    "helpLinkTestUtility": {
        "message": "Utilitário de teste",
        "description": "Testing utility"
    },
    "helpLinkTutorial": {
        "message": "Tutorial",
        "description": "Tutorial"
    },
    "helpLinkWikiPages": {
        "message": "Wikipedia",
        "description": "Wiki pages"
    },
    "helpHtmlFilterDescription": {
        "message": "Na maioria dos casos, o LocalCDN pode facilmente substituir frameworks incorporados e melhorar a privacidade. Em alguns casos, o site tentará impedir isso a definir certas opções no código-fonte HTML. O LocalCDN lê o código-fonte HTML antes de ser exibido no navegador e remove essas partes (vermelho).",
        "description": "In most cases LocalCDN can easily replace embedded frameworks and improves privacy. In some cases the website may try to prevent this by setting certain options in the HTML source code. LocalCDN reads the HTML source code before it is displayed in the browser and removes these part (red)."
    },
    "helpHtmlFilterBefore": {
        "message": "O filtro HTML remove os caracteres em vermelho deste exemplo:",
        "description": "The HTML filter removes the red characters from this example:"
    },
    "helpHtmlFilterAfter": {
        "message": "O resultado será assim:",
        "description": "The result then looks like this:"
    },
    "helpHtmlFilterWhyTitle": {
        "message": "Por que é necessário remover os atributos de origem cruzada e integridade?",
        "description": "Why is it necessary to remove crossorigin and integrity attributes?"
    },
    "helpHtmlFilterCrossorigin": {
        "message": "O atributo de origem cruzada impede a substituição porque o alvo não corresponde ao alvo solicitado.",
        "description": "The crossorigin attribute prevents the replacement because the destination does not match the requested one."
    },
    "helpHtmlFilterIntegrity": {
        "message": "O LocalCDN atualiza os frameworks para economizar espaço em disco e fornece-los mais. Uma tag de integridade é o valor hash de um ficheiro. Se a verificação falhar, o navegador não incluirá um framework. A verificação de integridade falhará porque os valores hash de, por exemplo, jQuery 1.10.1 e jQuery 1.12.4 são diferentes.",
        "description": "To save disk space and to deliver more frameworks LocalCDN upgrades a framework. An integrity tag is the hash value of a file. If the check fails, the browser won‘t include a framework. The integrity check will fail because the hash values for e.g. jQuery 1.10.1 and jQuery 1.12.4 are different."
    },
    "helpHtmlFilterErrors": {
        "message": "Infelizmente, às vezes os caracteres especiais são exibidos incorretamente. Neste caso, pode desativar a configuração novamente, para exibir os tremas corretamente.",
        "description": "Unfortunately, it sometimes happens that special characters are then displayed incorrectly. In this case you can deactivate the setting again, to display the umlauts correctly."
    },
    "helpRuleGeneratorDescription": {
        "message": "Se deseja redirecionar automaticamente todas as conexões CDNs suportadas para o LocalCDN, pode adicionar essas regras ao seu bloqueador de anúncios para permitir esses redirecionamentos. Se não quiser adicionar essas regras, deverá permitir cada conexão CDN individualmente para cada site.",
        "description": "If you want to automatically redirect all supported CDN connections to LocalCDN, you can add these rules to your adblocker to allow these redirections. If you do not want to add these rules, you must allow each CDN connection individually for each website."
    },
    "helpRuleGeneratorUblockTitle": {
        "message": "Apenas uBlock Origin:",
        "description": "Only uBlock Origin:"
    },
    "helpRuleGeneratorUblockDescription": {
        "message": "Essas regras são relevantes apenas no modo »médio« ou »rígido«, porque bloqueia todos os recursos de terceiros. Elas não são necessárias no modo »padrão«, »fácil« ou »muito fácil«. Para mais informações, visite a Wiki do uBlock Origin.",
        "description": "These rules are only relevant in »medium« or »hard« mode, because it blocks all 3rd-party resources. They are not necessary in »default«, »easy« or »very-easy« mode. For more information, please visit the uBlock Origin Wiki."
    },
    "helpRuleGeneratorUblockTableIcon": {
        "message": "Ícone",
        "description": "Icon"
    },
    "helpRuleGeneratorUblockTableMode": {
        "message": "Modo",
        "description": "Mode"
    },
    "helpRuleGeneratorUblockTableUseful": {
        "message": "Regras úteis",
        "description": "Rules useful"
    },
    "helpRuleGeneratorUblockTableDefaultEasy": {
        "message": "Padrão/Fácil",
        "description": "Default/Easy"
    },
    "helpRuleGeneratorUblockTableMedium": {
        "message": "Médio",
        "description": "Medium"
    },
    "helpRuleGeneratorUblockTableHard": {
        "message": "Rígido",
        "description": "Hard"
    },
    "helpWebsiteIssuesDescription": {
        "message": "Há duas possíveis razões para isso: Ou um framework/livraria é requerida que o LocalCDN (ainda) não fornece ou um SOP. Um SOP (Política de mesma origem) é um recurso de segurança que determina quais dados o navegador pode carregar. Isso ajuda no isolamento de documentos maliciosos e, assim, a reduzir possíveis vetores de ataques. Esta política impede que o navegador carregue frameworks externos do LocalCDN. Infelizmente, não há solução para isso no momento.",
        "description": "There are two possible reasons: Either a framework/library is required that LocalCDN doesn‘t (yet) deliver or an SOP. A SOP (Same origin policy) is a security mechanism that determines what data the browser is allowed to load. It helps to isolate malicious documents and thus reduce possible attack vectors. This policy prevents the browser from loading the external frameworks of LocalCDN. Unfortunately there is no solution for this at the moment."
    },
    "helpBlockGoogleFontsDescription": {
        "message": "O LocalCDN pode substituir »Ícones do Google Material«. Para capturar a conexão, o seu bloqueador de anúncios (como uBlock Origin, uMatrix ou AdGuard) deve permitir a solicitação. O LocalCDN atende a essas solicitações e, se a consulta contiver »Ícones do Google Material«, o recurso será substituído. Se não ativou a opção »Bloquear pedidos de recursos ausentes«, recursos inexistentes serão permitidos e »Google Fonts« será carregado porque »Ícones do Google Material« e »Google Fonts« usam o mesmo domínio. Se não deseja isso, pode bloquear »Google Fonts« no LocalCDN.",
        "description": "LocalCDN can replace »Google Material Icons«. To catch the connection your adblocker (e.g. uBlock Origin, uMatrix or AdGuard) must allow the request. LocalCDN listens on these requests and if the query contains »Google Material Icons«, the resource will be replaced. If you uncheck the »Block requests for missing content« option, non-existent resources will be allowed to pass and »Google Fonts« will be loaded, because »Google Material Icons« and »Google Fonts« use the same domain. If you don‘t want this, you can block »Google Fonts« on LocalCDN."
    },
    "helpStatisticsDescription": {
        "message": "Não entre em pânico, nada será transmitido. Isso vai contra todos os meus princípios. As estatísticas (em formato JSON) contém as seguintes informações: Data + contador de framework e CDN. Isso é tudo. Deixe-me dar um exemplo:",
        "description": "Don‘t panic, nothing will be transmitted. It would be against all my principles. The statistics (JSON format) contains the following information: Date, CDN+counter and framework+counter. That‘s all. I‘ve an example here:"
    },
    "helpStatisticsContent": {
        "message": "As estatísticas não contém nenhuma informação sobre o navegador, sistema operacional, site solicitante, endereço de IP ou qualquer outra informação. Apenas Data, contador de framework e CDN. Ele te mostra quais frameworks são substituídos pelo LocalCDN com que frequência e quais CDNs foram solicitados.",
        "description": "The statistics contain no information about the browser, operating system, requesting website, IP addresses or any other information. Just date, CDN+counter and framework+counter. It shows you which frameworks are replaced by LocalCDNs how often and which CDNs were requested."
    },
    "helpStatisticsTruthTitle": {
        "message": "Como sei que isso é verdade?",
        "description": "How do I know that‘s true?"
    },
    "helpStatisticsTruthDescription": {
        "message": "O armazenamento de extensão pode ser visualizado diretamente com o navegador Firefox. Abra o URL »about:debugging«, mude para »Armazenamento« e selecione »Armazenamento de Extensão«. Na chave »internalStatisticsData« encontrará os dados coletados. Apenas copie e ponha num JSON PrettyPrinter para torna-lo mais legível. Note que a primeira e a última aspas e a chave devem ser removidas. Deve ser capaz de ver isso claramente neste vídeo.",
        "description": "The extension storage can be viewed directly with the Firefox browser. Open the URL »about:debugging«, switch to »Storage« and select »Extension Storage«. Under the key »internalStatisticsData« you will find the collected data. Just copy it and put it into a JSON PrettyPrinter to make it more readable. Please note that you have to remove the first and last quotation mark and the key to it. You should be able to see this clearly in this video."
    },
    "helpSyncTitle": {
        "message": "O que será sincronizado quando selecionar »sincronizar« como o tipo de armazenamento?",
        "description": "What will be synchronized when I select »sync« as storage type?"
    },
    "helpSyncDescription": {
        "message": "A sincronização só funcionará se estiver conectado com uma conta do Firefox no aparelho e permitir a sincronização de extensões nas configurações. Um servidor de sincronização separado sob o seu controle também funcionará. Isso sincronizará a maioria das configurações do LocalCDN em todos os seus aparelhos.",
        "description": "Sync will only work if you are logged in with a Firefox account on the device and have allowed add-ons to sync in the settings. A separate sync server under your control will also work. This will synchronize most of the settings of LocalCDN across all devices."
    },
    "helpSyncAccount": {
        "message": "Se não tiver uma conta de sincronização, nada será sincronizado. Neste caso, não fará diferença o tipo de armazenamento que selecionou.",
        "description": "If you don‘t have a sync account, nothing will be synchronized. In that case it makes no difference what type of storage you have selected."
    },
    "helpSyncContentNever": {
        "message": "Coisas que nunca serão sincronizadas:",
        "description": "Things that are never synchronized:"
    },
    "helpNumberOfInjections": {
        "message": "Quantidade de injeções",
        "description": "Numbers of injections"
    },
    "helpYes": {
        "message": "Sim",
        "description": "Yes"
    },
    "helpNo": {
        "message": "Não",
        "description": "No"
    },
    "helpData": {
        "message": "Dados",
        "description": "Data"
    },
    "helpSyncContentEver": {
        "message": "Configurações que serão sincronizadas:",
        "description": "Settings that will be synchronized:"
    },
    "helpIcons": {
        "message": "Padrão, Claro, Azul/Cinzento",
        "description": "Default, Light, Blue/Grey"
    },
    "helpSyncContentLinks": {
        "message": "Mais informações sobre a sincronização do Firefox:",
        "description": "More information about Firefox Sync:"
    },
    "helpBrowserCompatibility": {
        "message": "Compatibilidade do navegador",
        "description": "Browser compatibility"
    },
    "helpReplace": {
        "message": "Substituir",
        "description": "Replace"
    },
    "helpReplaceOther": {
        "message": "Substituir outros recursos",
        "description": "Replace other resources"
    },
    "helpUpgradeAllResources": {
        "message": "Atualizar todos os recursos",
        "description": "Upgrade all resources"
    },
    "helpExplanationChrome": {
        "message": "Todos os navegadores baseado em Chromium",
        "description": "All Chromium based Browser"
    },
    "helpLimitation": {
        "message": "Isso não é uma limitação do LocalCDN, mas à falta de suporte à API em navegadores baseado em Chromium.",
        "description": "This is not a limitation of LocalCDN, but missing API support of Chromium based browsers."
    },
    "titleBadgeDefault": {
        "message": "Emblema padrão",
        "description": "Default badge"
    },
    "titleBadgeHTMLFilter": {
        "message": "Emblema do filtro HTML",
        "description": "HTML filter badge"
    },
    "titleBadgeMissingResource": {
        "message": "Emblema de recurso ausente",
        "description": "Missing resource badge"
    }
}
