{
    "extensionDescription": {
        "message": "将请求重定向到本地资源，保护你免于 CDN（内容分发网络）的跟踪。",
        "description": "Protects you against tracking through CDNs (Content Delivery Networks) by redirecting to local resources."
    },
    "amountInjectedDescription": {
        "message": "自安装以来本地 CDN 资源的注入次数。",
        "description": "Amount injected description."
    },
    "optionsTitle": {
        "message": "选项",
        "description": "Options title"
    },
    "showIconBadgeTitle": {
        "message": "在图标上显示注入数量",
        "description": "Show icon badge title"
    },
    "showIconBadgeDescription": {
        "message": "在扩展图标上显示注入资源的数量。",
        "description": "Show icon badge description."
    },
    "blockMissingTitle": {
        "message": "阻止缺失资源的请求",
        "description": "Block requests for missing resources title"
    },
    "blockMissingDescription": {
        "message": "如果请求的资源在本地不可用，则取消当前被拦截的请求。",
        "description": "Block requests for missing resources description."
    },
    "disablePrefetchTitle": {
        "message": "禁用链接预读取",
        "description": "Disable prefetch title"
    },
    "disablePrefetchDescription": {
        "message": "防止被拒绝的请求泄漏到 CDN。",
        "description": "Disable prefetch description."
    },
    "stripMetadataTitle": {
        "message": "清除被允许的请求中的元数据",
        "description": "Strip metadata title"
    },
    "stripMetadataDescription": {
        "message": "从被允许的 CDN 请求中擦除敏感数据，以保护隐私。",
        "description": "Strip metadata description."
    },
    "allowlistedDomainsTitle": {
        "message": "对以下域名禁用 LocalCDN：",
        "description": "Deactivate LocalCDN for these domains:"
    },
    "allowlistedDomainsDescription": {
        "message": "请输入要禁用 LocalCDN 的域名。每行一个。",
        "description": "Enter domains to disable LocalCDN there. One entry per line."
    },
    "advancedLabel": {
        "message": "高级",
        "description": "Advanced label"
    },
    "generateRuleSetTitle": {
        "message": "为你的广告拦截器生成规则集",
        "description": "Generate rule sets for your adblocker"
    },
    "generateRuleSetDescription": {
        "message": "如果你正在使用广告拦截器，你可以在这里生成规则。你需要手动把规则添加到广告拦截器中。",
        "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": "上次更新：",
        "description": "Last update:"
    },
    "copyRuleSet": {
        "message": "复制",
        "description": "Text of button to copy ruleset"
    },
    "loggingTitle": {
        "message": "记录日志",
        "description": "Enable logging"
    },
    "loggingDescription": {
        "message": "你可以使用菜单中的图标打开日志。 关闭浏览器或禁用记录日志后，日志将被删除。",
        "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": "此特性会破坏网站功能。除非你准备手动将受影响的域名添加到允许列表中，否则请勿开启。",
        "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": "禁用",
        "description": "Disable"
    },
    "labelManipulateDOM": {
        "message": "过滤 HTML 源代码",
        "description": "Filter HTML source code"
    },
    "labelDonate": {
        "message": "捐赠",
        "description": "Donate"
    },
    "negateHtmlFilterListTitle": {
        "message": "反转 HTML 过滤器",
        "description": "Invert HTML filter"
    },
    "negateHtmlFilterListDescription": {
        "message": "开启此选项会始终应用 HTML 过滤器，此时列表中的域名将被忽略；若禁用此选项，则 HTML 过滤器仅应用于此列表中的域名。",
        "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": "此功能可能会破坏网站。请阅读 Wiki 页面以了解更多信息。",
        "description": "This function can break websites. Please note the information on the Wiki page."
    },
    "htmlFilterDomainsTitleExclude": {
        "message": "不要将 HTML 过滤器应用于以下域名：",
        "description": "Do not apply HTML filter to these domains:"
    },
    "htmlFilterDomainsDescription": {
        "message": "输入 HTML 过滤器要处理或忽略的域名，每行一个。",
        "description": "Enter the domains to be handled or ignored by the HTML filter. One entry per line."
    },
    "htmlFilterDomainsTitleInclude": {
        "message": "对这些域名应用 HTML 过滤器：",
        "description": "Apply HTML filter for these domains:"
    },
    "blockGoogleFontsTitle": {
        "message": "屏蔽 Google Fonts",
        "description": "Block Google Fonts"
    },
    "blockGoogleFontsDescription": {
        "message": "如果允许加载缺少的资源，则不会阻止到 \"fonts.googleapis.com\" 的连接。开启此选项可阻止这些请求。",
        "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": "选择一个此扩展程序的图标",
        "description": "Choose an icon for this extension"
    },
    "internalStatisticsTitle": {
        "message": "内部统计数据",
        "description": "Internal statistics"
    },
    "internalStatisticsDescription": {
        "message": "此功能当前正处于实验阶段。数据全部存储在本地，不会外传。",
        "description": "No data transmission. It’s all local on your device."
    },
    "headerStatistics": {
        "message": "统计数据",
        "description": "Statistics. The header of a statistics page."
    },
    "labelToday": {
        "message": "今天",
        "description": "Statistics view for today."
    },
    "labelPastWeek": {
        "message": "上周",
        "description": "Statistics view for past week."
    },
    "labelPastMonth": {
        "message": "上月",
        "description": "Statistics view for past month."
    },
    "labelPastYear": {
        "message": "去年",
        "description": "Statistics view for past year."
    },
    "labelDelete": {
        "message": "删除",
        "description": "Button to delete all statistics data."
    },
    "labelAvg": {
        "message": "平均（每天的替换次数）",
        "description": "Followed by a number of average injections per day within a specific period."
    },
    "labelInjectedFrameworks": {
        "message": "已替换的框架",
        "description": "Followed by a number of injections within a specific period."
    },
    "dialogConfirmDeleteStatistics": {
        "message": "你确定要删除所有的统计数据吗？",
        "description": "Are you sure you want to delete all the statistics?"
    },
    "labelDomainsAllowlistGoogleFonts": {
        "message": "允许以下域名加载 Google Fonts，每行一个。",
        "description": "These domains are allowed to load Google Fonts. One entry per line."
    },
    "btnGeneral": {
        "message": "基础",
        "description": "Basic"
    },
    "btnAdvanced": {
        "message": "高级",
        "description": "Advanced"
    },
    "btnOther": {
        "message": "其他",
        "description": "Other"
    },
    "btnInfo": {
        "message": "信息",
        "description": "Info"
    },
    "headerStorageType": {
        "message": "存储类型",
        "description": "Storage type"
    },
    "labelStorageTypeLocal": {
        "message": "本地",
        "description": "Local"
    },
    "labelStorageTypeSync": {
        "message": "同步",
        "description": "Sync"
    },
    "headerImportExport": {
        "message": "导入/导出",
        "description": "Import/Export"
    },
    "labelExportData": {
        "message": "备份到文件",
        "description": "Back up to file"
    },
    "labelImportData": {
        "message": "从文件还原",
        "description": "Restore from file"
    },
    "dialogImportSuccessful": {
        "message": "导入成功",
        "description": "Import successful"
    },
    "dialogImportFailed": {
        "message": "导入失败",
        "description": "Import failed"
    },
    "updateNotificationTitle": {
        "message": "更新后显示通知",
        "description": "Notification after an update"
    },
    "updateNotificationNever": {
        "message": "从不（静默更新）",
        "description": "Never (Silent Updates)"
    },
    "updateNotificationOnlyRules": {
        "message": "仅当有新的 CDN 和规则时",
        "description": "Only if new CDNs and rules"
    },
    "updateNotificationAlways": {
        "message": "始终",
        "description": "Always"
    },
    "websiteBroken": {
        "message": "网站显示不正常？",
        "description": "Website broken?"
    },
    "hideDonationButton": {
        "message": "隐藏捐赠按钮",
        "description": "Hide donation button"
    },
    "betaLabel": {
        "message": "测试版",
        "description": "beta"
    },
    "changeBadgeColorMissingResourcesTitle": {
        "message": "在图标上标示缺失的资源",
        "description": "Indicate missing resources on the icon"
    },
    "changeBadgeColorMissingResourcesDescription": {
        "message": "如果资源缺失，改变图标颜色。",
        "description": "Change the badge color if resources are missing."
    },
    "titleHelp": {
        "message": "帮助",
        "description": "Help"
    },
    "helpIntroductionTitle": {
        "message": "介绍",
        "description": "Introduction"
    },
    "helpHtmlFilterTitle": {
        "message": "什么是 »HTML 过滤器«?",
        "description": "What is »HTML filter«?"
    },
    "helpRuleGeneratorTitle": {
        "message": "规则生成器",
        "description": "Rule generator"
    },
    "helpWebsiteIssuesTitle": {
        "message": "一些网站外观看上去很怪或不易使用",
        "description": "Some websites look strange or are not easy to use"
    },
    "helpBlockGoogleFontsTitle": {
        "message": "为何会有 »拦截谷歌字体«选项？",
        "description": "Why is there a »Block Google Fonts« option?"
    },
    "helpStatisticsTitle": {
        "message": "统计数据呢？有东西被传输到服务器吗？",
        "description": "What about the statistics? Is anything transferred to any servers?"
    },
    "helpWhatWillBeSynchronizedTitle": {
        "message": "有哪些东西会被同步，当我选择»同步«作为存储类型？",
        "description": "What will be synchronized when I select »sync« as storage type?"
    },
    "helpBrowserCompatibilityTitle": {
        "message": "浏览器兼容性",
        "description": "Browser compatibility"
    },
    "helpIntroductionDescription": {
        "message": "LocalCDN 是一个 web 浏览器扩展，模拟内容交付网络，以改善您的在线隐私。它拦截流量，在本地找到支持的框架/库，并将它们注入网站。请随意使用下面的测试实用程序来确定您是否得到了适当的保护。欲了解更多信息，请阅读教程或我们的维基页面。",
        "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": "测试工具",
        "description": "Testing utility"
    },
    "helpLinkTutorial": {
        "message": "教程",
        "description": "Tutorial"
    },
    "helpLinkWikiPages": {
        "message": "维基页面",
        "description": "Wiki pages"
    },
    "helpHtmlFilterDescription": {
        "message": "大多数情况下，LocalCDN 可以很容易地替换嵌入式框架并改善隐私。在某些情况下，网站可能会通过在 HTML 源代码中设置某些选项来阻止这种情况的发生。LocalCDN 在浏览器中显示之前读取HTML源代码，并删除这些部分(红色)。",
        "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": "HTML 过滤器从这个例子中移除红色字符:",
        "description": "The HTML filter removes the red characters from this example:"
    },
    "helpHtmlFilterAfter": {
        "message": "结果看起来像这样：",
        "description": "The result then looks like this:"
    },
    "helpHtmlFilterWhyTitle": {
        "message": "为何必需删除交叉起源和完整性属性?",
        "description": "Why is it necessary to remove crossorigin and integrity attributes?"
    },
    "helpHtmlFilterCrossorigin": {
        "message": "crossorigin 属性阻止替换，因为目标与请求的目标不匹配。",
        "description": "The crossorigin attribute prevents the replacement because the destination does not match the requested one."
    },
    "helpHtmlFilterIntegrity": {
        "message": "为了节省磁盘空间和交付更多的框架，LocalCDN 升级了一个框架。完整性标记是文件的散列值。如果检查失败，浏览器将不包含框架。完整性检查将失败，因为例如 jQuery 1.10.1和 jQuery 1.12.4的散列值是不同的。",
        "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": "不幸的是，有时会出现特殊字符显示不正确的情况。在这种情况下，您可以再次取消该设置，以正确显示元音变音。",
        "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": "如果你想自动重定向所有支持的 CDN 连接到 LocalCDN，你可以把这些规则添加到你的广告拦截器来允许这些重定向。如果你不想添加这些规则，你必须为每个网站单独允许每个 CDN 连接。",
        "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": "仅 uBlock Origin：",
        "description": "Only uBlock Origin:"
    },
    "helpRuleGeneratorUblockDescription": {
        "message": "这些规则仅在 »medium « 或 »hard« 模式下有意义，因为它拦截所有的第三方资源。它们在 »default« »easy« 或 »very-easy«下没有必要。更多信息，请访问 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": "图标",
        "description": "Icon"
    },
    "helpRuleGeneratorUblockTableMode": {
        "message": "模式",
        "description": "Mode"
    },
    "helpRuleGeneratorUblockTableUseful": {
        "message": "有用规则",
        "description": "Rules useful"
    },
    "helpRuleGeneratorUblockTableDefaultEasy": {
        "message": "默认/轻松",
        "description": "Default/Easy"
    },
    "helpRuleGeneratorUblockTableMedium": {
        "message": "中级",
        "description": "Medium"
    },
    "helpRuleGeneratorUblockTableHard": {
        "message": "困难",
        "description": "Hard"
    },
    "helpWebsiteIssuesDescription": {
        "message": "有两个可能的原因：要么是需要一个框架/库，但 LocalCDN (还)没有交付，要么是一个 SOP 。SOP (同源策略)是一种安全机制，它决定了浏览器允许加载哪些数据。它有助于隔离恶意文档，从而减少可能的攻击向量。此策略阻止浏览器加载其外部框架。不幸的是，目前没有解决办法。",
        "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": "LocalCDN 能替换 »Google Material 图标«。为了捕获连接，你的广告拦截器 (如uBlock Origin、uMatrix 或 AdGuard )必须允许请求。LocalCDN 监听这些请求，如果查询包含»Google Material 图标«，资源将被替换。如果你取消勾选“缺少内容的块请求”选项，不存在的资源将被允许通过，并且“谷歌字体”将被加载，因为“Google Material 图标”和“谷歌字体”“使用相同的域。如果你不想这样，你可以在 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": "别慌，不会传输任何东西。那将违背我的原则。统计信息(JSON格式)包含下列信息：日期、CDN+计数器和框架+计数器。这是所有。我举个例子:",
        "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": "统计数据不包含有关浏览器、操作系统、请求网站、IP地址或任何其他信息。只有日期，CDN+计数器和框架+计数器。它会告诉你哪些框架被 LocalCDN 替换，替换频率及请求了哪些 CDN。",
        "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": "我怎么知道你说的是真的？",
        "description": "How do I know that‘s true?"
    },
    "helpStatisticsTruthDescription": {
        "message": "扩展存储可以通过 Firefox 浏览器直接查看。打开 URL»about:debugging«，转到»存储«并选择»扩展存储。在键 »internalStatisticsData« 下，你会找到收集的数据。可将其复制并放入JSON PrettyPrinter 中，以使其更具可读性。请注意，您必须删除数据的第一个和最后一个引号和它的键名。在这个视频中你们应该能看得很清楚。",
        "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": "有哪些东西会被同步，当我选择 »同步« 作为存储类型？",
        "description": "What will be synchronized when I select »sync« as storage type?"
    },
    "helpSyncDescription": {
        "message": "只有当你在设备上使用Firefox帐户登录并允许插件同步设置时，同步才会生效。也可以使用一个单独的你控制的服务器进行同步。这将在所有设备上同步LocalCDN的大部分设置。",
        "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": "如果你没有一个同步帐号，任何东西都不会被同步。在这种情况下，选择哪种类型的存储没有什么区别。",
        "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": "永远不会被同步的东西：",
        "description": "Things that are never synchronized:"
    },
    "helpNumberOfInjections": {
        "message": "注入数量",
        "description": "Numbers of injections"
    },
    "helpYes": {
        "message": "是",
        "description": "Yes"
    },
    "helpNo": {
        "message": "否",
        "description": "No"
    },
    "helpData": {
        "message": "数据",
        "description": "Data"
    },
    "helpSyncContentEver": {
        "message": "将被同步的设置：",
        "description": "Settings that will be synchronized:"
    },
    "helpIcons": {
        "message": "默认、浅色、蓝/灰色",
        "description": "Default, Light, Blue/Grey"
    },
    "helpSyncContentLinks": {
        "message": "关于FireFox同步的更多信息：",
        "description": "More information about Firefox Sync:"
    },
    "helpBrowserCompatibility": {
        "message": "浏览器兼容性",
        "description": "Browser compatibility"
    },
    "helpReplace": {
        "message": "替换",
        "description": "Replace"
    },
    "helpReplaceOther": {
        "message": "替换其他资源",
        "description": "Replace other resources"
    },
    "helpUpgradeAllResources": {
        "message": "升级所有资源",
        "description": "Upgrade all resources"
    },
    "helpExplanationChrome": {
        "message": "所有基于Chromium的浏览器",
        "description": "All Chromium based Browser"
    },
    "helpLimitation": {
        "message": "这个限制不是LocalCDN的原因，而是基于Chromium的浏览器缺少API支持。",
        "description": "This is not a limitation of LocalCDN, but missing API support of Chromium based browsers."
    },
    "titleBadgeDefault": {
        "message": "默认徽章",
        "description": "Default badge"
    },
    "titleBadgeHTMLFilter": {
        "message": "HTML 过滤器徽章",
        "description": "HTML filter badge"
    },
    "titleBadgeMissingResource": {
        "message": "缺失资源的徽章",
        "description": "Missing resource badge"
    }
}
