Translated using Weblate (Portuguese)

Currently translated at 100.0% (118 of 118 strings)

Translate-URL: https://hosted.weblate.org/projects/localcdn/localcdn/pt/
This commit is contained in:
ssantos 2021-05-03 14:50:00 +00:00 committed by Hosted Weblate
parent 666f6d3102
commit 82a3be2319
No known key found for this signature in database
GPG Key ID: A3FAAA06E6569B4C
1 changed files with 65 additions and 65 deletions

View File

@ -76,7 +76,7 @@
"description": "Enable logging" "description": "Enable logging"
}, },
"loggingDescription": { "loggingDescription": {
"message": "Abra \"Browser Console\" ( CTRL + SHIFT + J ) para mostrar recursos faltantes.", "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." "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": { "featureBreaksWebsitesDescription": {
@ -112,7 +112,7 @@
"description": "Do not apply HTML filter to these domains:" "description": "Do not apply HTML filter to these domains:"
}, },
"htmlFilterDomainsDescription": { "htmlFilterDomainsDescription": {
"message": "Entre os domínios que irão ser usados ou ignorados pelo filtro HTML. Separe múltiplas entradas com ponto e vírgula (;).", "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." "description": "Enter the domains to be handled or ignored by the HTML filter. One entry per line."
}, },
"htmlFilterDomainsTitleInclude": { "htmlFilterDomainsTitleInclude": {
@ -172,11 +172,11 @@
"description": "Followed by a number of injections within a specific period." "description": "Followed by a number of injections within a specific period."
}, },
"dialogConfirmDeleteStatistics": { "dialogConfirmDeleteStatistics": {
"message": "Tem certeza de que quer apagar as estatísticas?", "message": "Tem certeza de que quer apagar todas as estatísticas?",
"description": "Are you sure you want to delete all the statistics?" "description": "Are you sure you want to delete all the statistics?"
}, },
"labelDomainsAllowlistGoogleFonts": { "labelDomainsAllowlistGoogleFonts": {
"message": "Estes domínios são permitidos para carregar Google Fonts. Separe várias entradas com ponto e vírgula (;).", "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." "description": "These domains are allowed to load Google Fonts. One entry per line."
}, },
"btnGeneral": { "btnGeneral": {
@ -228,247 +228,247 @@
"description": "Import failed" "description": "Import failed"
}, },
"updateNotificationTitle": { "updateNotificationTitle": {
"message": "", "message": "Notificar depois de atualizar",
"description": "Notification after an update" "description": "Notification after an update"
}, },
"updateNotificationNever": { "updateNotificationNever": {
"message": "", "message": "Nunca (Atualizações Silenciosas)",
"description": "Never (Silent Updates)" "description": "Never (Silent Updates)"
}, },
"updateNotificationOnlyRules": { "updateNotificationOnlyRules": {
"message": "", "message": "Apenas quando houver novos CDNs ou regras",
"description": "Only if new CDNs and rules" "description": "Only if new CDNs and rules"
}, },
"updateNotificationAlways": { "updateNotificationAlways": {
"message": "", "message": "Sempre",
"description": "Always" "description": "Always"
}, },
"websiteBroken": { "websiteBroken": {
"message": "", "message": "Site quebrado?",
"description": "Website broken?" "description": "Website broken?"
}, },
"hideDonationButton": { "hideDonationButton": {
"message": "", "message": "Ocultar botão de doação",
"description": "Hide donation button" "description": "Hide donation button"
}, },
"betaLabel": { "betaLabel": {
"message": "", "message": "Beta",
"description": "beta" "description": "beta"
}, },
"changeBadgeColorMissingResourcesTitle": { "changeBadgeColorMissingResourcesTitle": {
"message": "", "message": "Indicar os recursos ausentes no ícone",
"description": "Indicate missing resources on the icon" "description": "Indicate missing resources on the icon"
}, },
"changeBadgeColorMissingResourcesDescription": { "changeBadgeColorMissingResourcesDescription": {
"message": "", "message": "Altera a cor do contador se houver recursos ausentes.",
"description": "Change the badge color if resources are missing." "description": "Change the badge color if resources are missing."
}, },
"titleHelp": { "titleHelp": {
"message": "", "message": "Ajuda",
"description": "Help" "description": "Help"
}, },
"helpIntroductionTitle": { "helpIntroductionTitle": {
"message": "", "message": "Introdução",
"description": "Introduction" "description": "Introduction"
}, },
"helpHtmlFilterTitle": { "helpHtmlFilterTitle": {
"message": "", "message": "O que é »filtro HTML«?",
"description": "What is »HTML filter«?" "description": "What is »HTML filter«?"
}, },
"helpRuleGeneratorTitle": { "helpRuleGeneratorTitle": {
"message": "", "message": "Gerador de regras",
"description": "Rule generator" "description": "Rule generator"
}, },
"helpWebsiteIssuesTitle": { "helpWebsiteIssuesTitle": {
"message": "", "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" "description": "Some websites look strange or are not easy to use"
}, },
"helpBlockGoogleFontsTitle": { "helpBlockGoogleFontsTitle": {
"message": "", "message": "Por que há uma opção de »Bloquear Google Fonts«?",
"description": "Why is there a »Block Google Fonts« option?" "description": "Why is there a »Block Google Fonts« option?"
}, },
"helpStatisticsTitle": { "helpStatisticsTitle": {
"message": "", "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?" "description": "What about the statistics? Is anything transferred to any servers?"
}, },
"helpWhatWillBeSynchronizedTitle": { "helpWhatWillBeSynchronizedTitle": {
"message": "", "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?" "description": "What will be synchronized when I select »sync« as storage type?"
}, },
"helpBrowserCompatibilityTitle": { "helpBrowserCompatibilityTitle": {
"message": "", "message": "Compatibilidade do navegador",
"description": "Browser compatibility" "description": "Browser compatibility"
}, },
"helpIntroductionDescription": { "helpIntroductionDescription": {
"message": "", "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." "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": { "helpLinkTestUtility": {
"message": "", "message": "Utilitário de teste",
"description": "Testing utility" "description": "Testing utility"
}, },
"helpLinkTutorial": { "helpLinkTutorial": {
"message": "", "message": "Tutorial",
"description": "Tutorial" "description": "Tutorial"
}, },
"helpLinkWikiPages": { "helpLinkWikiPages": {
"message": "", "message": "Wikipedia",
"description": "Wiki pages" "description": "Wiki pages"
}, },
"helpHtmlFilterDescription": { "helpHtmlFilterDescription": {
"message": "", "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)." "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": { "helpHtmlFilterBefore": {
"message": "", "message": "O filtro HTML remove os caracteres em vermelho deste exemplo:",
"description": "The HTML filter removes the red characters from this example:" "description": "The HTML filter removes the red characters from this example:"
}, },
"helpHtmlFilterAfter": { "helpHtmlFilterAfter": {
"message": "", "message": "O resultado será assim:",
"description": "The result then looks like this:" "description": "The result then looks like this:"
}, },
"helpHtmlFilterWhyTitle": { "helpHtmlFilterWhyTitle": {
"message": "", "message": "Por que é necessário remover os atributos de origem cruzada e integridade?",
"description": "Why is it necessary to remove crossorigin and integrity attributes?" "description": "Why is it necessary to remove crossorigin and integrity attributes?"
}, },
"helpHtmlFilterCrossorigin": { "helpHtmlFilterCrossorigin": {
"message": "", "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." "description": "The crossorigin attribute prevents the replacement because the destination does not match the requested one."
}, },
"helpHtmlFilterIntegrity": { "helpHtmlFilterIntegrity": {
"message": "", "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 wont 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." "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 wont 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": { "helpHtmlFilterErrors": {
"message": "", "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." "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": { "helpRuleGeneratorDescription": {
"message": "", "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." "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": { "helpRuleGeneratorUblockTitle": {
"message": "", "message": "Apenas uBlock Origin:",
"description": "Only uBlock Origin:" "description": "Only uBlock Origin:"
}, },
"helpRuleGeneratorUblockDescription": { "helpRuleGeneratorUblockDescription": {
"message": "", "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." "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": { "helpRuleGeneratorUblockTableIcon": {
"message": "", "message": "Ícone",
"description": "Icon" "description": "Icon"
}, },
"helpRuleGeneratorUblockTableMode": { "helpRuleGeneratorUblockTableMode": {
"message": "", "message": "Modo",
"description": "Mode" "description": "Mode"
}, },
"helpRuleGeneratorUblockTableUseful": { "helpRuleGeneratorUblockTableUseful": {
"message": "", "message": "Regras úteis",
"description": "Rules useful" "description": "Rules useful"
}, },
"helpRuleGeneratorUblockTableDefaultEasy": { "helpRuleGeneratorUblockTableDefaultEasy": {
"message": "", "message": "Padrão/Fácil",
"description": "Default/Easy" "description": "Default/Easy"
}, },
"helpRuleGeneratorUblockTableMedium": { "helpRuleGeneratorUblockTableMedium": {
"message": "", "message": "Médio",
"description": "Medium" "description": "Medium"
}, },
"helpRuleGeneratorUblockTableHard": { "helpRuleGeneratorUblockTableHard": {
"message": "", "message": "Rígido",
"description": "Hard" "description": "Hard"
}, },
"helpWebsiteIssuesDescription": { "helpWebsiteIssuesDescription": {
"message": "", "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 doesnt (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." "description": "There are two possible reasons: Either a framework/library is required that LocalCDN doesnt (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": { "helpBlockGoogleFontsDescription": {
"message": "", "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 dont want this, you can block »Google Fonts« on 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 dont want this, you can block »Google Fonts« on LocalCDN."
}, },
"helpStatisticsDescription": { "helpStatisticsDescription": {
"message": "", "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": "Dont 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. Thats all. Ive an example here:" "description": "Dont 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. Thats all. Ive an example here:"
}, },
"helpStatisticsContent": { "helpStatisticsContent": {
"message": "", "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." "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": { "helpStatisticsTruthTitle": {
"message": "", "message": "Como sei que isso é verdade?",
"description": "How do I know thats true?" "description": "How do I know thats true?"
}, },
"helpStatisticsTruthDescription": { "helpStatisticsTruthDescription": {
"message": "", "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." "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": { "helpSyncTitle": {
"message": "", "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?" "description": "What will be synchronized when I select »sync« as storage type?"
}, },
"helpSyncDescription": { "helpSyncDescription": {
"message": "", "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." "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": { "helpSyncAccount": {
"message": "", "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 dont have a sync account, nothing will be synchronized. In that case it makes no difference what type of storage you have selected." "description": "If you dont have a sync account, nothing will be synchronized. In that case it makes no difference what type of storage you have selected."
}, },
"helpSyncContentNever": { "helpSyncContentNever": {
"message": "", "message": "Coisas que nunca serão sincronizadas:",
"description": "Things that are never synchronized:" "description": "Things that are never synchronized:"
}, },
"helpNumberOfInjections": { "helpNumberOfInjections": {
"message": "", "message": "Quantidade de injeções",
"description": "Numbers of injections" "description": "Numbers of injections"
}, },
"helpYes": { "helpYes": {
"message": "", "message": "Sim",
"description": "Yes" "description": "Yes"
}, },
"helpNo": { "helpNo": {
"message": "", "message": "Não",
"description": "No" "description": "No"
}, },
"helpData": { "helpData": {
"message": "", "message": "Dados",
"description": "Data" "description": "Data"
}, },
"helpSyncContentEver": { "helpSyncContentEver": {
"message": "", "message": "Configurações que serão sincronizadas:",
"description": "Settings that will be synchronized:" "description": "Settings that will be synchronized:"
}, },
"helpIcons": { "helpIcons": {
"message": "", "message": "Padrão, Claro, Azul/Cinzento",
"description": "Default, Light, Blue/Grey" "description": "Default, Light, Blue/Grey"
}, },
"helpSyncContentLinks": { "helpSyncContentLinks": {
"message": "", "message": "Mais informações sobre a sincronização do Firefox:",
"description": "More information about Firefox Sync:" "description": "More information about Firefox Sync:"
}, },
"helpBrowserCompatibility": { "helpBrowserCompatibility": {
"message": "", "message": "Compatibilidade do navegador",
"description": "Browser compatibility" "description": "Browser compatibility"
}, },
"helpReplace": { "helpReplace": {
"message": "", "message": "Substituir",
"description": "Replace" "description": "Replace"
}, },
"helpReplaceOther": { "helpReplaceOther": {
"message": "", "message": "Substituir outros recursos",
"description": "Replace other resources" "description": "Replace other resources"
}, },
"helpUpgradeAllResources": { "helpUpgradeAllResources": {
"message": "", "message": "Atualizar todos os recursos",
"description": "Upgrade all resources" "description": "Upgrade all resources"
}, },
"helpExplanationChrome": { "helpExplanationChrome": {
"message": "", "message": "Todos os navegadores baseado em Chromium",
"description": "All Chromium based Browser" "description": "All Chromium based Browser"
}, },
"helpLimitation": { "helpLimitation": {
"message": "", "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." "description": "This is not a limitation of LocalCDN, but missing API support of Chromium based browsers."
} }
} }