# SOME DESCRIPTIVE TITLE. # Copyright (C) 2010–2024 # This file is distributed under the same license as the PELICAN package. # FIRST AUTHOR , 2024. # msgid "" msgstr "" "Project-Id-Version: PELICAN 4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-13 11:46+0800\n" "PO-Revision-Date: 2024-06-27 19:00+0800\n" "Last-Translator: GeorgeHu \n" "Language: zh_CN\n" "Language-Team: \n" "Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.17.0\n" #: ../../contribute.rst:2 848b6c0ec944440791d56b25e314a8ab msgid "Contributing and feedback guidelines" msgstr "项目贡献与意见反馈" #: ../../contribute.rst:4 e8b8762778fd461db0934f07e4fc1fc5 msgid "" "There are many ways to contribute to Pelican. You can improve the " "documentation, add missing features, and fix bugs (or just report them). " "You can also help out by reviewing and commenting on `existing issues " "`_." msgstr "" "有很多渠道可以参与到贡献项目中来,例如帮助改进文档、添加缺失的特性、修复与报告bug。可以从查看 `已有 issues " "`_ 开始。" #: ../../contribute.rst:9 103b2f2862c4469695e4c6aff2321a8d msgid "" "Don't hesitate to fork Pelican and submit an issue or pull request on " "GitHub. When doing so, please consider the following guidelines." msgstr "随时随地都可以fork Pelican或是在GitHub上提交issue或PR。" #: ../../../CONTRIBUTING.rst:2 5ad44a6fdf0b45eaaa800023139694f8 msgid "Filing issues" msgstr "提出issue" #: ../../../CONTRIBUTING.rst:4 c7e2bb966f49419aba7ed7027a977043 msgid "Before you submit a new issue, try `asking for help`_ first." msgstr "在你提交一个新的issue之前,可以先尝试 `请求他人帮助`_ 。" #: ../../../CONTRIBUTING.rst:5 a287bb06699b4db79d6dd7491bbe031b msgid "" "If determined to create a new issue, first search `Pelican Discussions`_ " "and `existing issues`_ (open and closed) to see if your question has " "already been answered previously." msgstr "" "当你决定要提出新的issue时,先在 `Pelican的讨论版`_ 和 `已有issues`_ " "中搜索一下,(开放关闭的issue都搜一下),来看看你的问题是不是有人之前已经提出过。" #: ../../../CONTRIBUTING.rst:14 d4a600f2338b458e822aba90e54d4cfd msgid "How to get help" msgstr "如何获取帮助" #: ../../../CONTRIBUTING.rst:16 db3264afde384c2891d9be7205578556 msgid "Before you ask for help, please make sure you do the following:" msgstr "在寻求帮助之前,请先尝试如下步骤:" #: ../../../CONTRIBUTING.rst:18 3581147764244a548cd2898faaa7799a msgid "" "Read the documentation_ thoroughly. If in a hurry, at least use the " "search field that is provided at top-left on the documentation_ pages. " "Make sure you read the docs for the Pelican version you are using." msgstr "" "完整阅读 documentation_ 。如果你很急,至少先在 documentation_ " "左上角的搜索栏中尝试搜索。确保你阅读的文档和使用的Pelican版本相匹配。" #: ../../../CONTRIBUTING.rst:21 d8e467909ec64ba7900da93b3765bfa6 msgid "" "Use a search engine (e.g., DuckDuckGo, Google) to search for a solution " "to your problem. Someone may have already found a solution, perhaps in " "the form of a ':pelican-doc:`plugins` or a specific combination of " "settings." msgstr "" "使用搜索引擎(例如 DuckDuckGo、Google)搜索遇到问题的解决方案。互联网上可能已经有人遇到过相同的问题,解决方法可能包括使用某些 " ":pelican-doc:`plugins` 或配置一系列的设置选项。" #: ../../../CONTRIBUTING.rst:25 2011839b36504c41b307cc9f817c4a46 msgid "Try reproducing the issue in a clean environment, ensuring you are using:" msgstr "尝试在一个尽可能简单的环境中重现问题,并确保以下几点:" #: ../../../CONTRIBUTING.rst:27 2d64217ea3e54dc58a371fc11a6ece8e msgid "" "latest Pelican release (or an up-to-date Git clone of Pelican ``main`` " "branch)" msgstr "使用最新版本的Pelican(或是用Git克隆Pelican的main分支)" #: ../../../CONTRIBUTING.rst:28 721ca09c5a9a495b9fbb6aa86df8be28 msgid "latest releases of libraries used by Pelican" msgstr "将Pelican使用的库升级到最新版本" #: ../../../CONTRIBUTING.rst:29 bbe722bd2be748219d38c134f29569dd msgid "no plugins or only those related to the issue" msgstr "此环境中没有使用插件或是只使用和问题相关的插件" #: ../../../CONTRIBUTING.rst:31 e9f337f01ca546be93bd1d18884a1685 msgid "" "**NOTE:** The most common sources of problems are anomalies in (1) " "themes, (2) plugins, (3) settings files, and (4) ``make``/``invoke`` " "automation wrappers. If you can't reproduce your problem when using the " "following steps to generate your site, then the problem is almost " "certainly with one of the above-listed elements (and not Pelican " "itself)::" msgstr "" "**注意:** 最常见的问题基本上都产生于主题、插件、设置文件和自动化工具 ``make``/``invoke`` " "中。如果按照下述步骤生成站点后无法复现之前的问题,那么几乎可以肯定问题出在这四个地方,而不在Pelican本身:" #: ../../../CONTRIBUTING.rst:41 1420bb3dd096480289b3da1534d7bf64 msgid "" "If you can generate your site without problems using the steps above, " "then your problem is unlikely to be caused by Pelican itself, and " "therefore please consider reaching out to the maintainers of the " "plugins/theme you are using instead of raising the topic with the Pelican" " core community." msgstr "如果按照上述步骤能够正常生成站点,那么你的问题不太可能是由Pelican本身导致的,请考虑联系对应插件/主题的维护者,而不是在Pelican内核的社区中提出问题。" #: ../../../CONTRIBUTING.rst:46 bdb7575fa4c74c0891fd686794cc84fd msgid "" "If despite the above efforts you still cannot resolve your problem, be " "sure to include in your inquiry the following information, preferably in " "the form of links to content uploaded to a `paste service`_, GitHub " "repository, or other publicly-accessible location:" msgstr "" "经过上面这些努力,若您仍无法解决问题,确保你的提问中包括如下信息,可以以 `paste service`_ " "链接、GitHub仓库,或者其他可公开获取的形式提供:" #: ../../../CONTRIBUTING.rst:51 b559dc6ca72649baa754cb14d1ac77ca msgid "" "Describe what version of Pelican you are running (output of ``pelican " "--version`` or the HEAD commit hash if you cloned the repo) and how " "exactly you installed it (the full command you used, e.g. ``python -m pip" " install pelican``)." msgstr "" "描述正在运行的Pelican版本信息(可以通过 ``pelican --version`` 命令得到,如果clone的源仓库则可以查看HEAD " "commit的哈希值),以及你是如何安装Pelican的(要包括使用到的命令,例如 ``python -m pip install " "pelican``)" #: ../../../CONTRIBUTING.rst:54 d09a0393a4c1462b878c1adf31a7537d msgid "" "If you are looking for a way to get some end result, prepare a detailed " "description of what the end result should look like (preferably in the " "form of an image or a mock-up page) and explain in detail what you have " "done so far to achieve it." msgstr "如果你希望产生某种特定的最终结果,请详细描述此最终结果是什么样的(最好以图片或者伪页面的形式),,并且细致讲述你做了哪些尝试。" #: ../../../CONTRIBUTING.rst:58 720ee9dbccc74dccbabb994a2d36638d msgid "" "If you are trying to solve some issue, prepare a detailed description of " "how to reproduce the problem. If the issue cannot be easily reproduced, " "it cannot be debugged by developers or volunteers. Describe only the " "**minimum steps** necessary to reproduce it (no extra plugins, etc.)." msgstr "" "如果你在尝试解决某些问题,请详细描述如何复现此问题。如果问题很难被复现,其他开发者和志愿者就很难进行调试。尽量只写出复现该问题的 **最少步骤**" " (无额外插件)。" #: ../../../CONTRIBUTING.rst:62 34bdc49c617643d8ae7adb6a433a88fe msgid "" "Upload your settings file or any other custom code that would enable " "people to reproduce the problem or to see what you have already tried to " "achieve the desired end result." msgstr "上传你的配置文件以及所有自定义过的代码,这可以使得大家能够重现问题或者看到你已经做出的尝试。" #: ../../../CONTRIBUTING.rst:65 03c88e23c7b54117aa69e003c8bbef6e msgid "" "Upload detailed and **complete** output logs and backtraces (remember to " "add the ``--debug`` flag: ``pelican --debug content [...]``)" msgstr "" "上传详细 **完整** 的输出日志以及backtraces信息(记得在执行pelican命令时加上 ``--debug`` 标记: " "``pelican --debug content [...]`` )" #: ../../../CONTRIBUTING.rst:71 953240a12cd64be7b9375a4571193314 msgid "" "Once the above preparation is ready, you can post your query as a new " "thread in `Pelican Discussions`_. Remember to include all the information" " you prepared." msgstr "一旦做好了上述准备,就可以在 `Pelican Discussions`_ 中发起你的问题了。记得在请求中附上收集好的信息。" #: ../../../CONTRIBUTING.rst:75 e9f48bdfc6c744f282c70da3ac581052 msgid "Contributing code" msgstr "贡献代码" #: ../../../CONTRIBUTING.rst:77 888be6bde2de42a49705f29443a519c1 msgid "" "Before you submit a contribution, please ask whether it is desired so " "that you don't spend a lot of time working on something that would be " "rejected for a known reason. Consider also whether your new feature might" " be better suited as a ':pelican-doc:`plugins` — you can `ask for help`_" " to make that determination." msgstr "" "在提交代码修改前,请先询问是否需要此修改,以免你做的工作因为已知原因而被拒绝。想想要添加的新特性是否更适合以 :pelican-doc:`插件` " "形式完成。可以通过 `如何获取帮助`_ 来帮助你作出决定。" #: ../../../CONTRIBUTING.rst:82 6e1329bbd8354c30b8ffa07f18894d3f msgid "" "Also, if you intend to submit a pull request to address something for " "which there is no existing issue, there is no need to create a new issue " "and then immediately submit a pull request that closes it. You can submit" " the pull request by itself." msgstr "另外,如果你的PR是为了解决一个目前没有在issue中出现过的问题,那么就没有必要先创建一个新的issue,而是可以直接提起PR。" #: ../../../CONTRIBUTING.rst:87 bca476812a33487c98d6aa840820671b msgid "Using Git and GitHub" msgstr "使用Git与GitHub" #: ../../../CONTRIBUTING.rst:89 51f8df6063a544baabf35ef3bae28e83 msgid "" "`Create a new branch`_ specific to your change (as opposed to making your" " commits in the ``main`` branch)." msgstr "`创建一个新的分支`_ 来标记你做的修改(而不是直接在主分支中提交)。" #: ../../../CONTRIBUTING.rst:91 6c419972402444d5976574902311e2d7 msgid "" "**Don't put multiple unrelated fixes/features in the same branch / pull " "request.** For example, if you're working on a new feature and find a " "bugfix that doesn't *require* your new feature, **make a new distinct " "branch and pull request** for the bugfix. Similarly, any proposed changes" " to code style formatting should be in a completely separate pull " "request." msgstr "" "**不要把多个无关联的修复/特性修改放在同一个分支/拉去请求中。** 如果当你在做新特性的时候发现了一个bug可以修复,但修复这个bug " "*不需要用到* 这个新特性, **那么请另外创建一个分支并拉取请求。** 类似的,任何对代码风格的格式化都应该在单独的请求中拉取。" #: ../../../CONTRIBUTING.rst:96 ced35621749d426a8e39fdeb9b0f7c90 msgid "" "Add a ``RELEASE.md`` file in the root of the project that contains the " "release type (major, minor, patch) and a summary of the changes that will" " be used as the release changelog entry. For example::" msgstr "" "在项目根目录下添加 ``RELEASE.md`` " "文件,在其中包含release的类型(主要、次要、补丁),以及对项目改变的概述,这些内容会作为该release发布日志的一部分。下面是一个例子:" #: ../../../CONTRIBUTING.rst:104 ca6b2bf54f5248cbb7d90edb678478fc msgid "" "Check for unnecessary whitespace via ``git diff --check`` before " "committing." msgstr "在提交前使用 ``git diff --check`` 来检查是否有无意义的空白字符。" #: ../../../CONTRIBUTING.rst:105 48776b48e4924398b7632b8f05141e78 msgid "" "First line of your commit message should start with present-tense verb, " "be 50 characters or less, and include the relevant issue number(s) if " "applicable. *Example:* ``Ensure proper PLUGIN_PATH behavior. Refs #428.``" " If the commit *completely fixes* an existing bug report, please use " "``Fixes #585`` or ``Fix #585`` syntax (so the relevant issue is " "automatically closed upon PR merge)." msgstr "" "commit信息的第一行应该以现在时动词开头,并且第一行尽量保持在50字以下,并且包含相关联issue的编号(如果有的话)。 例如: " "``Ensure proper PLUGIN_PATH behavior. Refs #428.`` 如果此项提交 *完全修复* " "了某项已报告的bug,请使用例如 ``Fixes #585`` 或 ``Fix #585`` " "的语法(这样的话相关的issue会在PR合并后自动关闭)。" #: ../../../CONTRIBUTING.rst:110 75acb68d9eaa4230ae230f016bf77b6c msgid "" "After the first line of the commit message, add a blank line and then a " "more detailed explanation (when relevant)." msgstr "在第一行commit信息后添加一行空白行,再进行更多相关的细节描述。" #: ../../../CONTRIBUTING.rst:112 51e3a16f76364d91a9abf219c731ff80 msgid "" "`Squash your commits`_ to eliminate merge commits and ensure a clean and " "readable commit history." msgstr "`压缩commit`_ 来消除合并commits,确保你的commit历史记录是干净可读的。" #: ../../../CONTRIBUTING.rst:114 01ddd9df01024d38a8de79122a91cc07 msgid "" "After you have issued a pull request, the continuous integration (CI) " "system will run the test suite on all supported Python versions and check" " for code style compliance. If any of these checks fail, you should fix " "them. (If tests fail on the CI system but seem to pass locally, ensure " "that local test runs aren't skipping any tests.)" msgstr "在你发出PR后,持续集成(CI)系统会在所有支持的Python版本上运行测试套件,并且检查代码风格的合规性。如果出现了错误,你应该将其修复。(如果没有通过CI系统上的测试但是本地测试通过了,请再检查一下,确保在本地进行了所有CI系统中的检查)" #: ../../../CONTRIBUTING.rst:121 bc27587df397410a9bb272f0851756a3 msgid "Contribution quality standards" msgstr "贡献的质量标准" #: ../../../CONTRIBUTING.rst:123 2cf100b3e98b43e5b841493887a1d8be msgid "" "Adhere to the project's code style standards. See: `Development " "Environment`_" msgstr "遵循项目的代码风格标准。详见 `开发环境`_" #: ../../../CONTRIBUTING.rst:124 fffad000d6ca490291bd09cb18fcc75a msgid "" "Ensure your code is compatible with the `officially-supported Python " "releases`_." msgstr "确保你的代码可以兼容 `python的官方发布版本`_" #: ../../../CONTRIBUTING.rst:125 907e4426cbc643fb9075e32be169ba42 msgid "" "Add docs and tests for your changes. Undocumented and untested features " "will not be accepted." msgstr "请为你修改的内容添加文档与测试。未注有文档或没有对应测试的特性会被拒绝。" #: ../../../CONTRIBUTING.rst:127 d2bcbeeb9c0541c2a5ac5ec589a16ca4 msgid "" ":pelican-doc:`Run all the tests ` **on all versions of Python" " supported by Pelican** to ensure nothing was accidentally broken." msgstr "" "**在Pelican支持的所有Python版本上** :pelican-doc:`执行所有测试 ` " ",以确保没有意料之外的问题。" #: ../../../CONTRIBUTING.rst:130 26daa76aea674039be278882a95422f5 msgid "" "Check out our `Git Tips`_ page or `ask for help`_ if you need assistance " "or have any questions about these guidelines." msgstr "若需要帮助或对以上指南有任何疑惑,还可以查看我们的 `Git提示`_ 页面和 `请求帮助`_ 部分。" #: ../../contribute.rst:15 b4a94275e9c14d8795fa54473ee2f05b msgid "Setting up the development environment" msgstr "配置开发环境" #: ../../contribute.rst:17 a0eb6948883742d2a00665a576ef6aba msgid "" "While there are many ways to set up one's development environment, the " "following instructions will utilize Pip_ and PDM_. These tools facilitate" " managing virtual environments for separate Python projects that are " "isolated from one another, so you can use different packages (and package" " versions) for each." msgstr "" "在配置开发环境时往往有很多种方式,但下面的指南会使用 Pip_ 和 PDM_ " "完成配置。这两个工具都可以用于管理虚拟环境,使得不同的Python项目相互隔离,这样就可以很方便的在不同的项目中使用不同的库(以及不同的库版本)。" #: ../../contribute.rst:22 4c5c4d91e6964d709d01102e32310642 msgid "Please note that Python |min_python| is required for Pelican development." msgstr "请注意,要进行Pelican的开发,至少需要Python |min_python|" #: ../../contribute.rst:24 5419157e28984a618fc1f0df81deb620 msgid "" "*(Optional)* If you prefer to `install PDM " "`_ once for use with multiple" " projects, you can install it via::" msgstr "" "*(可选)* 若您想要 `安装PDM `_ " ",可以使用下面这条命令:" #: ../../contribute.rst:29 a9d08dc294cb4857a58d2c63eae98a15 msgid "" "Point your web browser to the `Pelican repository`_ and tap the **Fork** " "button at top-right. Then clone the source for your fork and add the " "upstream project as a Git remote::" msgstr "" "在Web浏览器中进入 `Pelican的代码仓库`_ ,点击右上角的 **Fork** " "按钮。然后克隆你自己的这份fork,最后添加项目的原仓库为远程仓库upstream:" #: ../../contribute.rst:38 4c8ebbf9839441ca9364eeb1d25b180f msgid "" "While PDM can dynamically create and manage virtual environments, we're " "going to manually create and activate a virtual environment::" msgstr "通过下面的命令可以手动创建并激活一个虚拟环境:" #: ../../contribute.rst:45 ../../contribute.rst:186 #: 2afe046c20814fe5b3de9a65606505f1 6ec60e6a37b642edb68af7ed1bc82c0b msgid "Install the needed dependencies and set up the project::" msgstr "安装必需的依赖并配置项目:" #: ../../contribute.rst:50 59d5dabaab1d409c8873187e5664fe67 msgid "Your local environment should now be ready to go!" msgstr "现在,你的本地开发环境就配置完成了!" #: ../../contribute.rst:57 6fdce76f8ec64275b24366ff03cc6340 msgid "Development" msgstr "开发" #: ../../contribute.rst:59 1d1a814a5dba40bcb84ce824d6312805 msgid "" "Once Pelican has been set up for local development, create a topic branch" " for your bug fix or feature::" msgstr "在配置好Pelican的本地开发环境后,请先为你的bug修复或特性增加创建一个分支:" #: ../../contribute.rst:64 773cdd3a48894e11a62cb24b25ef4829 msgid "" "Now you can make changes to Pelican, its documentation, and/or other " "aspects of the project." msgstr "在切换到新建的分支后,就可以开始对Pelican的文档或其他内容做更改了。" #: ../../contribute.rst:68 bb120553218b4d0699998fbaf00d32c0 msgid "Setting up ``git blame`` (optional)" msgstr "配置 ``git blame`` (可选)" #: ../../contribute.rst:70 644fae63e5ea4e66a24e35a7ada3524c msgid "" "``git blame`` annotates lines in a file with information about the pull " "request that last modified it. Sweeping shallow changes (like formatting)" " can make that information less useful, so we keep a list of such changes" " to be ignored. Run the following command to set this up in your " "repository, adding ``--global`` if you want this setting to apply to all " "repositories::" msgstr "" "``git blame`` " "会在文件中的行上标注有关最后一次修改该行的PR信息。对浅层变化(如格式化)进行批量更改可能会使这些信息变得不那么有用,因此我们维护一个包含此类更改的列表,以便忽略它们。运行以下命令在您的存储库中设置此配置,如果希望此设置适用于所有存储库,请添加" " ``--global`` :" #: ../../contribute.rst:78 68b7031047e94e03b0e1b0ea39d0355e msgid "" "As noted in a `useful article`_ about ``git blame``, there are other " "related settings you may find to be beneficial::" msgstr "就像在 `这篇文章`_ 中提到的,还可以进行一些可能有用的额外设置:" #: ../../contribute.rst:89 c33fd6178fb044dda7073f1fc2cce979 msgid "Running the test suite" msgstr "运行测试套件" #: ../../contribute.rst:91 5b51e49bc1ca42c6916c4dceed476057 msgid "" "Each time you make changes to Pelican, there are two things to do " "regarding tests: check that the existing tests pass, and add tests for " "any new features or bug fixes. The tests are located in " "``pelican/tests``, and you can run them via::" msgstr "" "每次对Pelican做出修改后,在测试方面需要做两个工作:检查是否能通过已有的测试、为新增特性或bug修复创建测试。请将自动化测试文件放在 " "``pelican/tests`` 中,接着执行以下命令:" #: ../../contribute.rst:98 0e03b29d89cc408e9374cb51f7147611 msgid "" "(For more on Invoke, see ``invoke -l`` to list tasks, or " "https://pyinvoke.org for documentation.)" msgstr "(执行 ``invoke -l`` 会列出可以调用的测试任务,关于此的更多文档请参阅 https://pyinvoke.org )" #: ../../contribute.rst:101 70aad8c721c64d2b8d32488dd9da851e msgid "" "In addition to running the test suite, it is important to also ensure " "that any lines you changed conform to code style guidelines. You can " "check that via::" msgstr "除了运行测试套件外,还要确保修改了的部分遵循代码风格指南。可以通过下面的命令检查代码风格:" #: ../../contribute.rst:106 ../../contribute.rst:200 #: b0ff008dde5e4e0b892e0fc2fa959b6a msgid "" "If style violations are found, many of them can be addressed " "automatically via::" msgstr "若存在不合规范风格的代码,大多数情况下可以通过下述命令自动纠正:" #: ../../contribute.rst:111 ebad1e2cb63a45d999d2d3e510711972 msgid "" "If code style violations are found in lines you changed, correct those " "lines and re-run the ``invoke lint`` command until they have all been " "fixed. You do not need to address style violations, if any, for code " "lines you did not touch." msgstr "如果在修改过的代码中有地方违反了代码风格规范,请纠正并再次运行上述命令,直到全部纠正。但是若是发现违反代码风格的地方并不是你修改的,请忽略之,不要进行纠正。" #: ../../contribute.rst:115 e208ada16ab8425e9fbbcd5f135f6574 msgid "" "After making your changes and running the tests, you may see a test " "failure mentioning that \"some generated files differ from the expected " "functional tests output.\" If you have made changes that affect the HTML " "output generated by Pelican, and the changes to that output are expected " "and deemed correct given the nature of your changes, then you should " "update the output used by the functional tests. To do so, **make sure you" " have both** ``en_EN.utf8`` **and** ``fr_FR.utf8`` **locales installed**," " and then run the following command::" msgstr "" "在修改完代码,运行测试的过程中,你可能会看到测试失败中有提到“some generated files differ from the " "expected functional tests output” " "。这可能是由于你对代码的修改影响到了Pelican的HTML输出,若输出的结果确实是你想要的,请更新功能测试所用的输出用例。请确保你安装了 " "``en_EN.utf8`` 和 ``fr_FR.utf8`` ,然后执行下述命令:" #: ../../contribute.rst:125 a4a3e16c3e0345c99cb2d8b674627afa msgid "" "You may also find that some tests are skipped because some dependency " "(e.g., Pandoc) is not installed. This does not automatically mean that " "these tests have passed; you should at least verify that any skipped " "tests are not affected by your changes." msgstr "你还可能会发现有一些测试由于缺少依赖(例如 Pandoc)而被跳过。这并不意味着通过了这些测试,请至少确保对代码的修改不会影响到这些被跳过的测试。" #: ../../contribute.rst:130 dd6db784c2534b0ea0842cb736dca7c3 msgid "" "You should run the test suite under each of the supported versions of " "Python. This is best done by creating a separate Python environment for " "each version. Tox_ is a useful tool to automate running tests inside " "``virtualenv`` environments." msgstr "" "你应该在Pelican支持的所有Python版本下运行测试套件。一般会通过为每一个Python版本创建一个虚拟环境来实现这一点。Tox_ " "是一个用于在 ``virtualenv`` 环境中自动运行测试的工具。" #: ../../contribute.rst:138 58fd644b4b7248ebb9c8ff899a2f90b1 msgid "Running a code coverage report" msgstr "运行代码测试覆盖报告" #: ../../contribute.rst:140 abe50ab68fef48dea42aa269743fc172 msgid "" "Code is more likely to stay robust if it is tested. Coverage_ is a " "library that measures how much of the code is tested. To run it::" msgstr "经过测试的代码往往具有更好的健壮性。 Coverage_ 是一个用于衡量代码测试覆盖率的库执行下面的命令以调取之:" #: ../../contribute.rst:145 9d5ba28c240f464c92db9869c01e3917 msgid "" "This will show overall coverage, coverage per file, and even line-by-line" " coverage. There is also an HTML report available::" msgstr "该命令会展示总体覆盖率以及在每个文件上的覆盖率,甚至还会展示每一行的覆盖情况。同样也会有一份HTML格式的报告供您查看:" #: ../../contribute.rst:153 45e095f0c0fd4a5b9f75027d12dd891f msgid "Building the docs" msgstr "构建文档" #: ../../contribute.rst:155 e1e8bb56a9c8449a8da8e10fcf45da2a msgid "" "If you make changes to the documentation, you should build and inspect " "your changes before committing them::" msgstr "若你对文档进行过修改,请在commit前完成构建和检查:" #: ../../contribute.rst:160 9482dc5bee484f0c9f05af197b49ed70 msgid "" "Open http://localhost:8000 in your browser to review the documentation. " "While the above task is running, any changes you make and save to the " "documentation should automatically appear in the browser, as it live-" "reloads when it detects changes to the documentation source files." msgstr "" "执行上述命令后,请在Web浏览器中打开 http://localhost:8000 " "来查看文档。在上述命令执行时,对文档做的任何修改应该会自动反映在浏览器中。" #: ../../contribute.rst:166 82343c9684bb440eb260110d98bb0e59 msgid "Plugin development" msgstr "插件开发" #: ../../contribute.rst:168 8697f547344e4973ad34f9c619ddf22e msgid "" "To create a *new* Pelican plugin, please refer to the `plugin template`_ " "repository for detailed instructions." msgstr "要创建一个 *新的* Pelican插件,请参阅 `插件模板`_ 仓库以获得更为详细的指导。" #: ../../contribute.rst:171 3c505e3035c143c89efd3e648fe00e8e msgid "" "If you want to contribute to an *existing* Pelican plugin, follow the " "steps above to set up Pelican for local development, and then create a " "directory to store cloned plugin repositories::" msgstr "若你想在 *已有* Pelican插件中做贡献,请先按前文所述步骤配置Pelican的本地开发环境,然后创建一个文件夹来存放克隆下来的插件仓库:" #: ../../contribute.rst:177 5523421ea2664b1ab0859216a1c8a463 msgid "" "Assuming you wanted to contribute to the Simple Footnotes plugin, you " "would first browse to the `Simple Footnotes`_ repository on GitHub and " "tap the **Fork** button at top-right. Then clone the source for your fork" " and add the upstream project as a Git remote::" msgstr "" "假设想要为Simple Footnotes插件做贡献,你应该先查看并fork `Simple Footnotes`_ " "的Github仓库,然后克隆你自己fork的那一份,再添加原仓库作为Git远程仓库upstream:" #: ../../contribute.rst:190 e5178eb4654a44919c743d37f00ff4c3 msgid "Create a topic branch for your plugin bug fix or feature::" msgstr "同样地,为你想要进行的bug修复或特性添加创建一个分支:" #: ../../contribute.rst:194 af04dad9f528473caa4c4c0f4c33042a msgid "" "After writing new tests for your plugin changes, run the plugin test " "suite and check for code style compliance via::" msgstr "完成修改并添加测试后,运行测试套件,并检查代码风格:" #: ../../contribute.rst:205 06d00f61d5c344d587baa85116b3c1e0 msgid "" "If style violations are found even after running the above auto-" "formatters, you will need to make additional manual changes until " "``invoke lint`` no longer reports any code style violations." msgstr "如果在自动格式化后仍存在代码风格上的问题,请手动修正这些问题,直到执行 ``invoke lint`` 时不再报告问题。" #: ../../contribute.rst:213 9a0831b06abd494fad469b7df71c489f msgid "Submitting your changes" msgstr "提交更改" #: ../../contribute.rst:215 23b5d147059b4cea99a213f50d63097a msgid "" "Assuming linting validation and tests pass, add a ``RELEASE.md`` file in " "the root of the project that contains the release type (major, minor, " "patch) and a summary of the changes that will be used as the release " "changelog entry. For example::" msgstr "" "通过了风格检查和所有测试后,请在项目的根目录下添加一个 ``RELEASE.md`` " "文件,其中应包含发布的类型(major、minor、patch)以及代码变更的摘要,这份摘要会被用作更新日志的条目。下面是一个例子:" #: ../../contribute.rst:224 6794c41ebe2c4937ba4f3f8e16e7a9d9 msgid "Commit your changes and push your topic branch::" msgstr "commit你的更改,并push对应分支:" #: ../../contribute.rst:230 daa69b097fc14739be924714f8070cf6 msgid "" "Finally, browse to your repository fork on GitHub and submit a pull " "request." msgstr "最后,前往Github,从你fork的仓库向原仓库提出PR。" #: ../../contribute.rst:234 b71524be74c84517a12fcdecb51bc55e msgid "Logging tips" msgstr "日志技巧" #: ../../contribute.rst:236 a0b70f864ce144eabe0f89d78844c395 msgid "Try to use logging with appropriate levels." msgstr "请仔细斟酌合适的日志等级。" #: ../../contribute.rst:238 3b44fa3ec9b3493e97c310207e5dce91 msgid "For logging messages that are not repeated, use the usual Python way::" msgstr "对于不重复的日志消息,使用一般的方式即可:" #: ../../contribute.rst:247 49d4e407310348838660e8c74c6e3fb6 #, python-format msgid "" "Do not format log messages yourself. Use ``%s`` formatting in messages " "and pass arguments to logger. This is important, because the Pelican " "logger will preprocess some arguments, such as exceptions." msgstr "" "请不要自己格式化日志消息,而是使用在日志消息中使用 ``%s`` " "并向logger传入参数。请务必遵循这一规则,因为Pelican的logger会自动预处理一些特殊的参数,例如exception。" #: ../../contribute.rst:252 4ac501dff8bc4554998d3f03486cce0e msgid "Limiting extraneous log messages" msgstr "限制低关联日志消息" #: ../../contribute.rst:254 c4dfb487945341cda6c0858954a2ed40 msgid "" "If the log message can occur several times, you may want to limit the log" " to prevent flooding. In order to do that, use the ``extra`` keyword " "argument for the logging message in the following format::" msgstr "如果同一日志消息会重复多次,你会希望限制这些多余的内容。使用 ``extra`` 命名参数来实现这一点:" #: ../../contribute.rst:261 4090a3bc71e3441e8a7efd639d36ec1e msgid "" "Optionally, you can also set ``'limit_args'`` as a tuple of arguments in " "``extra`` dict if your generic message needs formatting." msgstr "可选的,如果通用日志消息需要格式化,可以添加 ``'limit_args'`` 参数并将其对应值设为一个元组。" #: ../../contribute.rst:264 dd6530ceb29d4a91902046a3d4e63af6 msgid "" "Limit is set to ``5``, i.e, first four logs with the same ``'limit_msg'``" " are outputted normally but the fifth one will be logged using " "``'limit_msg'`` (and ``'limit_args'`` if present). After the fifth, " "corresponding log messages will be ignored." msgstr "" "限制数默认设为了 ``5`` ,即前四个有相同 ``'limit_msg'`` 参数的日志消息会正常输出,但第五条这样的日志消息会呈现为 " "``'limit_msg'`` 参数值本身( ``'limit_args'`` 同理)。第六条及之后的日志消息会被直接忽略。" #: ../../contribute.rst:269 50bdb3405a964740aeb91a7d559ba9b5 msgid "" "For example, if you want to log missing resources, use the following " "code::" msgstr "例如,如果你想要用日志记录资源缺失的信息,可以使用下面的代码:" #: ../../contribute.rst:277 0303387eccd842f9aa57eb3192252dba msgid "The log messages will be displayed as follows::" msgstr "最终的日志消息看起来会像这样:" #: ../../contribute.rst:287 281637c4520d4755993e8bfa46b0326b msgid "Outputting traceback in the logs" msgstr "在日志中输出traceback信息" #: ../../contribute.rst:289 8bd9319a7a6c4f77bd651057d1cc7c75 msgid "" "If you're logging inside an ``except`` block, you may want to provide the" " traceback information as well. You can do that by setting ``exc_info`` " "keyword argument to ``True`` during logging. However, doing so by default" " can be undesired because tracebacks are long and can be confusing to " "regular users. Try to limit them to ``--debug`` mode like the following::" msgstr "" "当在 ``except`` 块中进行日志记录时,你可能会希望同时输出traceback信息。可以简单地将 ``exc_info`` 参数设为 " "``True`` 来实现这一功能。但是通过此方法输出的traceback信息会非常长,不便于理解。可以像下述代码一样将这些信息限制在 " "``--debug`` 模式中:" #~ msgid "latest Pelican release (or an up-to-date Git clone of Pelican master)" #~ msgstr "" #~ msgid "" #~ "`Create a new branch`_ specific to " #~ "your change (as opposed to making " #~ "your commits in the master branch)." #~ msgstr ""