Merge pull request #3488 from GeorgeHu6/chinese-translation

This commit is contained in:
Justin Mayer 2025-07-13 13:06:21 +02:00 committed by GitHub
commit eb0d4deb01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 1720 additions and 1529 deletions

File diff suppressed because it is too large Load diff

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PELICAN 4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-25 20:36+0800\n"
"POT-Creation-Date: 2025-07-13 11:46+0800\n"
"PO-Revision-Date: 2024-06-27 19:00+0800\n"
"Last-Translator: GeorgeHu <dhxxhch@163.com>\n"
"Language: zh_CN\n"
@ -16,93 +16,91 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.15.0\n"
"Generated-By: Babel 2.17.0\n"
#: ../../contribute.rst:2 e8f9694c47aa44e7944dae800ee528f3
#: ../../contribute.rst:2 848b6c0ec944440791d56b25e314a8ab
msgid "Contributing and feedback guidelines"
msgstr "项目贡献与意见反馈"
#: ../../contribute.rst:4 784f37182e78474b960306a5a794ae16
#: ../../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 "
"<https://github.com/getpelican/pelican/issues>`_."
msgstr ""
"有很多渠道可以参与到贡献项目中来例如帮助改进文档、添加缺失的特性、修复与报告bug。"
"可以从查看 `已有 issues <https://github.com/getpelican/pelican/issues>`_ 开始。"
"有很多渠道可以参与到贡献项目中来例如帮助改进文档、添加缺失的特性、修复与报告bug。可以从查看 `已有 issues "
"<https://github.com/getpelican/pelican/issues>`_ 开始。"
#: ../../contribute.rst:9 e17c3ff0fa71469cbe22cb4ad2640ad8
#: ../../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。"
msgstr "随时随地都可以fork Pelican或是在GitHub上提交issue或PR。"
#: ../../../CONTRIBUTING.rst:2 f8bc69070fab4dd7be34e1cc6a42cc02
#: ../../../CONTRIBUTING.rst:2 5ad44a6fdf0b45eaaa800023139694f8
msgid "Filing issues"
msgstr "提出issue"
#: ../../../CONTRIBUTING.rst:4 fe98a059b9c24fcc92358f2c4505174d
#: ../../../CONTRIBUTING.rst:4 c7e2bb966f49419aba7ed7027a977043
msgid "Before you submit a new issue, try `asking for help`_ first."
msgstr "在你提交一个新的issue之前可以先尝试 `请求他人帮助`_ 。"
#: ../../../CONTRIBUTING.rst:5 e9fff7c354614ae28db994c0fcc121c0
#: ../../../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都搜一下来看看你的问题是不是有人之前已经提出过。"
"当你决定要提出新的issue时先在 `Pelican的讨论版`_ 和 `已有issues`_ "
"中搜索一下,开放关闭的issue都搜一下来看看你的问题是不是有人之前已经提出过。"
#: ../../../CONTRIBUTING.rst:14 84cb74beed564f31810674cacf5c1f97
#: ../../../CONTRIBUTING.rst:14 d4a600f2338b458e822aba90e54d4cfd
msgid "How to get help"
msgstr "如何获取帮助"
#: ../../../CONTRIBUTING.rst:16 0557a84947c14606be4fd0565247d85d
#: ../../../CONTRIBUTING.rst:16 db3264afde384c2891d9be7205578556
msgid "Before you ask for help, please make sure you do the following:"
msgstr "在寻求帮助之前,请先尝试如下步骤:"
#: ../../../CONTRIBUTING.rst:18 6d59a3356e734dd196ec8a0739556b4c
#: ../../../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版本相匹配。"
"完整阅读 documentation_ 。如果你很急,至少先在 documentation_ "
"左上角的搜索栏中尝试搜索。确保你阅读的文档和使用的Pelican版本相匹配。"
#: ../../../CONTRIBUTING.rst:21 4b33299936404cf98a66b672fad0e38f
#: ../../../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` 或配置"
"一系列的设置选项。"
"使用搜索引擎(例如 DuckDuckGo、Google搜索遇到问题的解决方案。互联网上可能已经有人遇到过相同的问题解决方法可能包括使用某些 "
":pelican-doc:`plugins` 或配置一系列的设置选项。"
#: ../../../CONTRIBUTING.rst:25 b48195d9ef674566b89aabc38139c301
#: ../../../CONTRIBUTING.rst:25 2011839b36504c41b307cc9f817c4a46
msgid "Try reproducing the issue in a clean environment, ensuring you are using:"
msgstr "尝试在一个尽可能简单的环境中重现问题,并确保以下几点:"
#: ../../../CONTRIBUTING.rst:27 685d2888d2c94ea9a752ec433f8b9f1f
#: ../../../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 910a372d95d8448492eafc66eccd1ccf
#: ../../../CONTRIBUTING.rst:28 721ca09c5a9a495b9fbb6aa86df8be28
msgid "latest releases of libraries used by Pelican"
msgstr "将Pelican使用的库升级到最新版本"
#: ../../../CONTRIBUTING.rst:29 c44f4dc6b05d4be29eccc889f042702c
#: ../../../CONTRIBUTING.rst:29 bbe722bd2be748219d38c134f29569dd
msgid "no plugins or only those related to the issue"
msgstr "此环境中没有使用插件或是只使用和问题相关的插件"
#: ../../../CONTRIBUTING.rst:31 3abdf6131cf4412a8205b634a6651b01
#: ../../../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`` "
@ -111,93 +109,84 @@ msgid ""
"certainly with one of the above-listed elements (and not Pelican "
"itself)::"
msgstr ""
"**注意:** 最常见的问题基本上都产生于主题、插件、设置文件和自动化工具 "
"``make``/``invoke`` 中。如果按照下述步骤生成站点后无法复现之前的问题,那么"
"几乎可以肯定问题出在这四个地方而不在Pelican本身"
"**注意:** 最常见的问题基本上都产生于主题、插件、设置文件和自动化工具 ``make``/``invoke`` "
"中。如果按照下述步骤生成站点后无法复现之前的问题那么几乎可以肯定问题出在这四个地方而不在Pelican本身"
#: ../../../CONTRIBUTING.rst:41 f2331ea165ac4a3c8e70bf98c995f0e8
#: ../../../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内核的社区中提出问题。"
msgstr "如果按照上述步骤能够正常生成站点那么你的问题不太可能是由Pelican本身导致的请考虑联系对应插件/主题的维护者而不是在Pelican内核的社区中提出问题。"
#: ../../../CONTRIBUTING.rst:46 d83b0036d4894f3ebc73e657a203d11a
#: ../../../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仓库或者其他可公开获取的形式提供"
"经过上面这些努力,若您仍无法解决问题,确保你的提问中包括如下信息,可以以 `paste service`_ "
"链接、GitHub仓库或者其他可公开获取的形式提供"
#: ../../../CONTRIBUTING.rst:51 4281f931e9064336b267bd67a35134e9
#: ../../../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``"
"描述正在运行的Pelican版本信息可以通过 ``pelican --version`` 命令得到,如果clone的源仓库则可以查看HEAD "
"commit的哈希值以及你是如何安装Pelican的(要包括使用到的命令,例如 ``python -m pip install "
"pelican``"
#: ../../../CONTRIBUTING.rst:54 b1303c98bca840efb895aceb16789eb9
#: ../../../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 ""
"如果你希望产生某种特定的最终结果,请详细描述此最终结果是什么样的(最好以图片或者"
"伪页面的形式),,并且细致讲述你做了哪些尝试。"
msgstr "如果你希望产生某种特定的最终结果,请详细描述此最终结果是什么样的(最好以图片或者伪页面的形式),,并且细致讲述你做了哪些尝试。"
#: ../../../CONTRIBUTING.rst:58 8fe972c4685140d5bd1c37f4635f6f09
#: ../../../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 1f3874f308e64281b910dc716180ebcf
#: ../../../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 ""
"上传你的配置文件以及所有自定义过的代码,这可以使得大家能够重现问题或者看到你已经"
"做出的尝试。"
msgstr "上传你的配置文件以及所有自定义过的代码,这可以使得大家能够重现问题或者看到你已经做出的尝试。"
#: ../../../CONTRIBUTING.rst:65 1fdc6c63f1b141c7a35233607ec0d922
#: ../../../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 [...]`` "
"上传详细 **完整** 的输出日志以及backtraces信息记得在执行pelican命令时加上 ``--debug`` 标记: "
"``pelican --debug content [...]`` "
#: ../../../CONTRIBUTING.rst:71 8741dba5da1a4990ae9c30531d05dc19
#: ../../../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`_ 中发起你的问题了。记得在请求"
"中附上收集好的信息。"
msgstr "一旦做好了上述准备,就可以在 `Pelican Discussions`_ 中发起你的问题了。记得在请求中附上收集好的信息。"
#: ../../../CONTRIBUTING.rst:75 b34a3031f5d1427e92a9d1969d7b5274
#: ../../../CONTRIBUTING.rst:75 e9f48bdfc6c744f282c70da3ac581052
msgid "Contributing code"
msgstr "贡献代码"
#: ../../../CONTRIBUTING.rst:77 e29672c736554ebbbd6efd441af19df7
#: ../../../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 "
@ -205,32 +194,28 @@ msgid ""
" be better suited as a ':pelican-doc:`plugins` — you can `ask for help`_"
" to make that determination."
msgstr ""
"在提交代码修改前,请先询问是否需要此修改,以免你做的工作因为已知原因而被拒绝。"
"想想要添加的新特性是否更适合以 :pelican-doc:`插件` 形式完成。可以通过 "
"`如何获取帮助`_ 来帮助你作出决定。"
"在提交代码修改前,请先询问是否需要此修改,以免你做的工作因为已知原因而被拒绝。想想要添加的新特性是否更适合以 :pelican-doc:`插件` "
"形式完成。可以通过 `如何获取帮助`_ 来帮助你作出决定。"
#: ../../../CONTRIBUTING.rst:82 e263c09fb6e5471eb0c2c3e97994322d
#: ../../../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。"
msgstr "另外如果你的PR是为了解决一个目前没有在issue中出现过的问题那么就没有必要先创建一个新的issue而是可以直接提起PR。"
#: ../../../CONTRIBUTING.rst:87 9b08ef3e5fe4474e9306e4bfe9662fff
#: ../../../CONTRIBUTING.rst:87 bca476812a33487c98d6aa840820671b
msgid "Using Git and GitHub"
msgstr "使用Git与GitHub"
#: ../../../CONTRIBUTING.rst:89 7ad95f82b7d04c0ca97bb958d2425e27
#: ../../../CONTRIBUTING.rst:89 51f8df6063a544baabf35ef3bae28e83
msgid ""
"`Create a new branch`_ specific to your change (as opposed to making your"
" commits in the ``main`` branch)."
msgstr ""
"`创建一个新的分支`_ 来标记你做的修改(而不是直接在主分支中提交)。"
msgstr "`创建一个新的分支`_ 来标记你做的修改(而不是直接在主分支中提交)。"
#: ../../../CONTRIBUTING.rst:91 8a31c5d7ae4045cdbf2aa67e79be3f9c
#: ../../../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 "
@ -239,27 +224,25 @@ msgid ""
" to code style formatting should be in a completely separate pull "
"request."
msgstr ""
"**不要把多个无关联的修复/特性修改放在同一个分支/拉去请求中。** 如果当你在做新特性的时候"
"发现了一个bug可以修复但修复这个bug *不需要用到* 这个新特性, **那么请另外创建"
"一个分支并拉取请求。** 类似的,任何对代码风格的格式化都应该在单独的请求中拉取。"
"**不要把多个无关联的修复/特性修改放在同一个分支/拉去请求中。** 如果当你在做新特性的时候发现了一个bug可以修复但修复这个bug "
"*不需要用到* 这个新特性, **那么请另外创建一个分支并拉取请求。** 类似的,任何对代码风格的格式化都应该在单独的请求中拉取。"
#: ../../../CONTRIBUTING.rst:96 ef2e10f7ec5e4fbbb0f977dd09b7be49
#: ../../../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发布日志的一部分。下面是一个例子"
"在项目根目录下添加 ``RELEASE.md`` "
"文件在其中包含release的类型主要、次要、补丁以及对项目改变的概述这些内容会作为该release发布日志的一部分。下面是一个例子"
#: ../../../CONTRIBUTING.rst:104 24a4d63624f44f63a0ce809901455c02
#: ../../../CONTRIBUTING.rst:104 ca6b2bf54f5248cbb7d90edb678478fc
msgid ""
"Check for unnecessary whitespace via ``git diff --check`` before "
"committing."
msgstr ""
"在提交前使用 ``git diff --check`` 来检查是否有无意义的空白字符。"
msgstr "在提交前使用 ``git diff --check`` 来检查是否有无意义的空白字符。"
#: ../../../CONTRIBUTING.rst:105 11c5b82604fe4638bf9ee6e9ef0a401b
#: ../../../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 "
@ -268,82 +251,73 @@ msgid ""
"``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合并后自动关闭。"
"commit信息的第一行应该以现在时动词开头并且第一行尽量保持在50字以下并且包含相关联issue的编号如果有的话。 例如: "
"``Ensure proper PLUGIN_PATH behavior. Refs #428.`` 如果此项提交 *完全修复* "
"了某项已报告的bug请使用例如 ``Fixes #585`` 或 ``Fix #585`` "
"的语法这样的话相关的issue会在PR合并后自动关闭。"
#: ../../../CONTRIBUTING.rst:110 0c1ff9d0738440e1bce853fc830278af
#: ../../../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信息后添加一行空白行再进行更多相关的细节描述。"
msgstr "在第一行commit信息后添加一行空白行再进行更多相关的细节描述。"
#: ../../../CONTRIBUTING.rst:112 d817ad5d9e35488eb45d88828ee9f053
#: ../../../CONTRIBUTING.rst:112 51e3a16f76364d91a9abf219c731ff80
msgid ""
"`Squash your commits`_ to eliminate merge commits and ensure a clean and "
"readable commit history."
msgstr ""
"`压缩commit`_ 来消除合并commits确保你的commit历史记录是干净可读的。"
msgstr "`压缩commit`_ 来消除合并commits确保你的commit历史记录是干净可读的。"
#: ../../../CONTRIBUTING.rst:114 b7064f44923a499da3c3ce078470e269
#: ../../../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系统中的检查"
msgstr "在你发出PR后持续集成CI系统会在所有支持的Python版本上运行测试套件并且检查代码风格的合规性。如果出现了错误你应该将其修复。如果没有通过CI系统上的测试但是本地测试通过了请再检查一下确保在本地进行了所有CI系统中的检查"
#: ../../../CONTRIBUTING.rst:121 342f2e6c14b9441caaf3f9b6d2eb764b
#: ../../../CONTRIBUTING.rst:121 bc27587df397410a9bb272f0851756a3
msgid "Contribution quality standards"
msgstr "贡献的质量标准"
#: ../../../CONTRIBUTING.rst:123 842514f115634a5d821d48490d4aed7b
#: ../../../CONTRIBUTING.rst:123 2cf100b3e98b43e5b841493887a1d8be
msgid ""
"Adhere to the project's code style standards. See: `Development "
"Environment`_"
msgstr ""
"遵循项目的代码风格标准。详见 `开发环境`_"
msgstr "遵循项目的代码风格标准。详见 `开发环境`_"
#: ../../../CONTRIBUTING.rst:124 4719590d89be4a5e94817902cc424be5
#: ../../../CONTRIBUTING.rst:124 fffad000d6ca490291bd09cb18fcc75a
msgid ""
"Ensure your code is compatible with the `officially-supported Python "
"releases`_."
msgstr ""
"确保你的代码可以兼容 `python的官方发布版本`_"
msgstr "确保你的代码可以兼容 `python的官方发布版本`_"
#: ../../../CONTRIBUTING.rst:125 fa0ad5dd93e149fa8a12dd339bef9056
#: ../../../CONTRIBUTING.rst:125 907e4426cbc643fb9075e32be169ba42
msgid ""
"Add docs and tests for your changes. Undocumented and untested features "
"will not be accepted."
msgstr ""
"请为你修改的内容添加文档与测试。未注有文档或没有对应测试的特性会被拒绝。"
msgstr "请为你修改的内容添加文档与测试。未注有文档或没有对应测试的特性会被拒绝。"
#: ../../../CONTRIBUTING.rst:127 dc4db53c2ce34e5490a0c57ea800a4da
#: ../../../CONTRIBUTING.rst:127 d2bcbeeb9c0541c2a5ac5ec589a16ca4
msgid ""
":pelican-doc:`Run all the tests <contribute>` **on all versions of Python"
" supported by Pelican** to ensure nothing was accidentally broken."
msgstr ""
"**在Pelican支持的所有Python版本上** :pelican-doc:`执行所有测试 <contribute>` "
"以确保没有意料之外的问题。"
"**在Pelican支持的所有Python版本上** :pelican-doc:`执行所有测试 <contribute>` "
"以确保没有意料之外的问题。"
#: ../../../CONTRIBUTING.rst:130 3a88c2e8326a4acd896d0ac75d4c9ccb
#: ../../../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提示`_ 页面和 `请求帮助`_ 部分。"
msgstr "若需要帮助或对以上指南有任何疑惑,还可以查看我们的 `Git提示`_ 页面和 `请求帮助`_ 部分。"
#: ../../contribute.rst:15 daead9e8fb804eb6acd152b85d837182
#: ../../contribute.rst:15 b4a94275e9c14d8795fa54473ee2f05b
msgid "Setting up the development environment"
msgstr "配置开发环境"
#: ../../contribute.rst:17 1ab6df98bcb141f49e278d153cc96e22
#: ../../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"
@ -351,71 +325,67 @@ msgid ""
"isolated from one another, so you can use different packages (and package"
" versions) for each."
msgstr ""
"在配置开发环境时往往有很多种方式,但下面的指南会使用 Pip_ 和 PDM_ 完成配置。这两个工具"
"都可以用于管理虚拟环境使得不同的Python项目相互隔离这样就可以很方便的在不同的项目中"
"使用不同的库(以及不同的库版本)。"
"在配置开发环境时往往有很多种方式,但下面的指南会使用 Pip_ 和 PDM_ "
"完成配置。这两个工具都可以用于管理虚拟环境使得不同的Python项目相互隔离这样就可以很方便的在不同的项目中使用不同的库以及不同的库版本。"
#: ../../contribute.rst:22 6a9c8f6ddb1d495f8a9bd1b8a131cabd
#: ../../contribute.rst:22 4c5c4d91e6964d709d01102e32310642
msgid "Please note that Python |min_python| is required for Pelican development."
msgstr "请注意要进行Pelican的开发至少需要Python |min_python|"
#: ../../contribute.rst:24 3d994e2a522141d7ada0a8fe13eb4c64
#: ../../contribute.rst:24 5419157e28984a618fc1f0df81deb620
msgid ""
"*(Optional)* If you prefer to `install PDM "
"<https://pdm.fming.dev/latest/#installation>`_ once for use with multiple"
" projects, you can install it via::"
msgstr ""
"*(可选)* 若您想要 `安装PDM <https://pdm.fming.dev/latest/#installation>`_ "
"可以使用下面这条命令:"
"*(可选)* 若您想要 `安装PDM <https://pdm.fming.dev/latest/#installation>`_ "
"可以使用下面这条命令:"
#: ../../contribute.rst:29 dbaa532c292048cb87926dd8b6e3141a
#: ../../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"
"在Web浏览器中进入 `Pelican的代码仓库`_ ,点击右上角的 **Fork** "
"按钮。然后克隆你自己的这份fork最后添加项目的原仓库为远程仓库upstream"
#: ../../contribute.rst:38 adbe5d876f114645a3e1b489b2a34bd9
#: ../../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 ""
"通过下面的命令可以手动创建并激活一个虚拟环境:"
msgstr "通过下面的命令可以手动创建并激活一个虚拟环境:"
#: ../../contribute.rst:45 ../../contribute.rst:181
#: 6ede38ac05174bc19df4198e735342e0 f6d42cdd70384eaebbe115aefd0d01ec
#: ../../contribute.rst:45 ../../contribute.rst:186
#: 2afe046c20814fe5b3de9a65606505f1 6ec60e6a37b642edb68af7ed1bc82c0b
msgid "Install the needed dependencies and set up the project::"
msgstr "安装必需的依赖并配置项目:"
#: ../../contribute.rst:50 d863bf4dc76e4b18b933f2635a6a3af3
#: ../../contribute.rst:50 59d5dabaab1d409c8873187e5664fe67
msgid "Your local environment should now be ready to go!"
msgstr "现在,你的本地开发环境就配置完成了!"
#: ../../contribute.rst:57 dc19edf71c914f48a953b379efa076c0
#: ../../contribute.rst:57 6fdce76f8ec64275b24366ff03cc6340
msgid "Development"
msgstr "开发"
#: ../../contribute.rst:59 6082eb5afbf14f86a031ed4f53d2943c
#: ../../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修复或特性增加创建一个分支"
msgstr "在配置好Pelican的本地开发环境后请先为你的bug修复或特性增加创建一个分支"
#: ../../contribute.rst:64 1cafbaea6ec04597b62e871c0f0793b2
#: ../../contribute.rst:64 773cdd3a48894e11a62cb24b25ef4829
msgid ""
"Now you can make changes to Pelican, its documentation, and/or other "
"aspects of the project."
msgstr ""
"在切换到新建的分支后就可以开始对Pelican的文档或其他内容做更改了。"
msgstr "在切换到新建的分支后就可以开始对Pelican的文档或其他内容做更改了。"
#: ../../contribute.rst:68 e0f5da1e216f499d86427e21c23557d4
#: ../../contribute.rst:68 bb120553218b4d0699998fbaf00d32c0
msgid "Setting up ``git blame`` (optional)"
msgstr "配置 ``git blame`` (可选)"
#: ../../contribute.rst:70 2906e116c2dc4a2c8db78fa64820af56
#: ../../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)"
@ -424,61 +394,59 @@ msgid ""
"repository, adding ``--global`` if you want this setting to apply to all "
"repositories::"
msgstr ""
"``git blame`` 会在文件中的行上标注有关最后一次修改该行的PR信息。对浅层变化如格式化"
"进行批量更改可能会使这些信息变得不那么有用,因此我们维护一个包含此类更改的列表,"
"以便忽略它们。运行以下命令在您的存储库中设置此配置,如果希望此设置适用于所有存储库,"
"请添加 ``--global`` "
"``git blame`` "
"会在文件中的行上标注有关最后一次修改该行的PR信息。对浅层变化如格式化进行批量更改可能会使这些信息变得不那么有用因此我们维护一个包含此类更改的列表以便忽略它们。运行以下命令在您的存储库中设置此配置如果希望此设置适用于所有存储库请添加"
" ``--global`` "
#: ../../contribute.rst:78 36f257406a294713835841cf549e0f67
#: ../../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 ""
"就像在 `这篇文章`_ 中提到的,还可以进行一些可能有用的额外设置:"
msgstr "就像在 `这篇文章`_ 中提到的,还可以进行一些可能有用的额外设置:"
#: ../../contribute.rst:89 37a3a813eeb84f408546bf6a83fdafd6
#: ../../contribute.rst:89 c33fd6178fb044dda7073f1fc2cce979
msgid "Running the test suite"
msgstr "运行测试套件"
#: ../../contribute.rst:91 44276ab045104e5c9ab3d2425172d7ac
#: ../../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`` 中,"
"接着执行以下命令:"
"每次对Pelican做出修改后在测试方面需要做两个工作检查是否能通过已有的测试、为新增特性或bug修复创建测试。请将自动化测试文件放在 "
"``pelican/tests`` 中,接着执行以下命令:"
#: ../../contribute.rst:98 9557eb87ac4945ccbaf8775aa7768f6e
#: ../../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 "
msgstr "(执行 ``invoke -l`` 会列出可以调用的测试任务,关于此的更多文档请参阅 https://pyinvoke.org "
#: ../../contribute.rst:101 d1cebbdf4fcf4be5b918613c5050d638
#: ../../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 ""
"除了运行测试套件外,还要确保修改了的部分遵循代码风格指南。可以通过下面的命令"
"检查代码风格:"
msgstr "除了运行测试套件外,还要确保修改了的部分遵循代码风格指南。可以通过下面的命令检查代码风格:"
#: ../../contribute.rst:106 7a0b9ebf408f472aa786f6c3ac639240
#: ../../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 above 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 ""
"如果在修改过的代码中有地方违反了代码风格规范,请纠正并再次运行上述命令,直到全部纠正。"
"但是若是发现违反代码风格的地方并不是你修改的,请忽略之,不要进行纠正。"
"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:110 74ec20f2daf74ad18cc083ad48b89dfe
#: ../../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 "
@ -489,94 +457,83 @@ msgid ""
" 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`` ,然后执行下述命令:"
"在修改完代码运行测试的过程中你可能会看到测试失败中有提到“some generated files differ from the "
"expected functional tests output” "
"。这可能是由于你对代码的修改影响到了Pelican的HTML输出若输出的结果确实是你想要的请更新功能测试所用的输出用例。请确保你安装了 "
"``en_EN.utf8`` 和 ``fr_FR.utf8`` ,然后执行下述命令:"
#: ../../contribute.rst:120 4299259dadd748238f9465eefb84727c
#: ../../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而被跳过。这并不意味着通过"
"了这些测试,请至少确保对代码的修改不会影响到这些被跳过的测试。"
msgstr "你还可能会发现有一些测试由于缺少依赖(例如 Pandoc而被跳过。这并不意味着通过了这些测试请至少确保对代码的修改不会影响到这些被跳过的测试。"
#: ../../contribute.rst:125 a8835ccddf624fc1994c618ded8cc5ba
#: ../../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`` 环境中自动运行"
"测试的工具。"
"你应该在Pelican支持的所有Python版本下运行测试套件。一般会通过为每一个Python版本创建一个虚拟环境来实现这一点。Tox_ "
"是一个用于在 ``virtualenv`` 环境中自动运行测试的工具。"
#: ../../contribute.rst:133 b8b8c16b0d0743b98de5d759f79d07ba
#: ../../contribute.rst:138 58fd644b4b7248ebb9c8ff899a2f90b1
msgid "Running a code coverage report"
msgstr "运行代码测试覆盖报告"
#: ../../contribute.rst:135 674a92a42d924931801c9f9c02463cd5
#: ../../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_ 是一个用于衡量代码测试覆盖率的库"
"执行下面的命令以调取之:"
msgstr "经过测试的代码往往具有更好的健壮性。 Coverage_ 是一个用于衡量代码测试覆盖率的库执行下面的命令以调取之:"
#: ../../contribute.rst:140 ecb5e7f9e83c4243ba04b58764e573b6
#: ../../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格式的报告供您查看"
msgstr "该命令会展示总体覆盖率以及在每个文件上的覆盖率甚至还会展示每一行的覆盖情况。同样也会有一份HTML格式的报告供您查看"
#: ../../contribute.rst:148 bad31d4cb0b644ac8ecb7885b22072a7
#: ../../contribute.rst:153 45e095f0c0fd4a5b9f75027d12dd891f
msgid "Building the docs"
msgstr "构建文档"
#: ../../contribute.rst:150 47e1f1caa594462d9b3b4403645abf3b
#: ../../contribute.rst:155 e1e8bb56a9c8449a8da8e10fcf45da2a
msgid ""
"If you make changes to the documentation, you should build and inspect "
"your changes before committing them::"
msgstr ""
"若你对文档进行过修改请在commit前完成构建和检查"
msgstr "若你对文档进行过修改请在commit前完成构建和检查"
#: ../../contribute.rst:155 a4961ae22c2c4de9bbc8bb98d3a3ec81
#: ../../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 来查看文档。"
"在上述命令执行时,对文档做的任何修改应该会自动反映在浏览器中。"
"执行上述命令后请在Web浏览器中打开 http://localhost:8000 "
"来查看文档。在上述命令执行时,对文档做的任何修改应该会自动反映在浏览器中。"
#: ../../contribute.rst:161 7740ec477ad747ebaa2dde2b2aef45d5
#: ../../contribute.rst:166 82343c9684bb440eb260110d98bb0e59
msgid "Plugin development"
msgstr "插件开发"
#: ../../contribute.rst:163 9505da5fcac24d718f59c797061d2b0f
#: ../../contribute.rst:168 8697f547344e4973ad34f9c619ddf22e
msgid ""
"To create a *new* Pelican plugin, please refer to the `plugin template`_ "
"repository for detailed instructions."
msgstr ""
"要创建一个 *新的* Pelican插件请参阅 `插件模板`_ 仓库以获得更为详细的指导。"
msgstr "要创建一个 *新的* Pelican插件请参阅 `插件模板`_ 仓库以获得更为详细的指导。"
#: ../../contribute.rst:166 5fdae4611a6949b9a4c3bc82c52d3bc6
#: ../../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的本地开发环境"
"然后创建一个文件夹来存放克隆下来的插件仓库:"
msgstr "若你想在 *已有* Pelican插件中做贡献请先按前文所述步骤配置Pelican的本地开发环境然后创建一个文件夹来存放克隆下来的插件仓库"
#: ../../contribute.rst:172 0f50b12aaf3b4049999130a92fa6b670
#: ../../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 "
@ -586,129 +543,111 @@ msgstr ""
"假设想要为Simple Footnotes插件做贡献你应该先查看并fork `Simple Footnotes`_ "
"的Github仓库然后克隆你自己fork的那一份再添加原仓库作为Git远程仓库upstream"
#: ../../contribute.rst:185 2efe992372f149c3b63ca22016f8501b
#: ../../contribute.rst:190 e5178eb4654a44919c743d37f00ff4c3
msgid "Create a topic branch for your plugin bug fix or feature::"
msgstr "同样地为你想要进行的bug修复或特性添加创建一个分支"
#: ../../contribute.rst:189 40f3c07d12cc4630bc75355c3449196d
#: ../../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 ""
"完成修改并添加测试后,运行测试套件,并检查代码风格:"
msgstr "完成修改并添加测试后,运行测试套件,并检查代码风格:"
#: ../../contribute.rst:195 ba97ce962daa437cbcf2d09897394aed
msgid ""
"If style violations are found, many of them can be addressed "
"automatically via::"
msgstr ""
"若存在不合规范风格的代码,大多数情况下可以通过下述命令自动纠正:"
#: ../../contribute.rst:199 a0ee1e11aaea4f5c8ba4c4704678bbaf
#: ../../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`` 时不再报告问题。"
msgstr "如果在自动格式化后仍存在代码风格上的问题,请手动修正这些问题,直到执行 ``invoke lint`` 时不再报告问题。"
#: ../../contribute.rst:207 e9d1e344bb0d4b2fb9d08c2d71d9a342
#: ../../contribute.rst:213 9a0831b06abd494fad469b7df71c489f
msgid "Submitting your changes"
msgstr "提交更改"
#: ../../contribute.rst:209 716c9f94166d42299d9ee58eed4f9b53
#: ../../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以及代码变更的摘要这份摘要会被用作"
"更新日志的条目。下面是一个例子:"
"通过了风格检查和所有测试后,请在项目的根目录下添加一个 ``RELEASE.md`` "
"文件其中应包含发布的类型major、minor、patch以及代码变更的摘要这份摘要会被用作更新日志的条目。下面是一个例子"
#: ../../contribute.rst:218 656309283e5642b99981c84da9b04c86
#: ../../contribute.rst:224 6794c41ebe2c4937ba4f3f8e16e7a9d9
msgid "Commit your changes and push your topic branch::"
msgstr "commit你的更改并push对应分支"
#: ../../contribute.rst:224 16617b687db94783b5488884e4c9be1b
#: ../../contribute.rst:230 daa69b097fc14739be924714f8070cf6
msgid ""
"Finally, browse to your repository fork on GitHub and submit a pull "
"request."
msgstr ""
"最后前往Github从你fork的仓库向原仓库提出PR。"
msgstr "最后前往Github从你fork的仓库向原仓库提出PR。"
#: ../../contribute.rst:228 629ae326bd4e4718a8865d3925c02c3e
#: ../../contribute.rst:234 b71524be74c84517a12fcdecb51bc55e
msgid "Logging tips"
msgstr "日志技巧"
#: ../../contribute.rst:230 486bb6ae6c484431923a96b7a7aff0c5
#: ../../contribute.rst:236 a0b70f864ce144eabe0f89d78844c395
msgid "Try to use logging with appropriate levels."
msgstr "请仔细斟酌合适的日志等级。"
#: ../../contribute.rst:232 fbe2aed8f0f5412081461fce5d36e51e
#: ../../contribute.rst:238 3b44fa3ec9b3493e97c310207e5dce91
msgid "For logging messages that are not repeated, use the usual Python way::"
msgstr "对于不重复的日志消息,使用一般的方式即可:"
#: ../../contribute.rst:241 bab220240a0744f5b1170783098b5eac
#: ../../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。"
"请不要自己格式化日志消息,而是使用在日志消息中使用 ``%s`` "
"并向logger传入参数。请务必遵循这一规则因为Pelican的logger会自动预处理一些特殊的参数例如exception。"
#: ../../contribute.rst:246 a760419565b8440ebc8b4dc8898520db
#: ../../contribute.rst:252 4ac501dff8bc4554998d3f03486cce0e
msgid "Limiting extraneous log messages"
msgstr "限制低关联日志消息"
#: ../../contribute.rst:248 dcf900d9f7d0424fabff4a9c5a7e5dc8
#: ../../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`` "
"命名参数来实现这一点:"
msgstr "如果同一日志消息会重复多次,你会希望限制这些多余的内容。使用 ``extra`` 命名参数来实现这一点:"
#: ../../contribute.rst:255 1ca7d769fc9348f8a5f9eef7b614522b
#: ../../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'`` 参数并将其对应值"
"设为一个元组。"
msgstr "可选的,如果通用日志消息需要格式化,可以添加 ``'limit_args'`` 参数并将其对应值设为一个元组。"
#: ../../contribute.rst:258 85328a267c464f9aaacb1b0ef289d624
#: ../../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'`` 同理)。"
"第六条及之后的日志消息会被直接忽略。"
"限制数默认设为了 ``5`` ,即前四个有相同 ``'limit_msg'`` 参数的日志消息会正常输出,但第五条这样的日志消息会呈现为 "
"``'limit_msg'`` 参数值本身( ``'limit_args'`` 同理)。第六条及之后的日志消息会被直接忽略。"
#: ../../contribute.rst:263 7a51dbb9559d4a579654b2ab0938d09b
#: ../../contribute.rst:269 50bdb3405a964740aeb91a7d559ba9b5
msgid ""
"For example, if you want to log missing resources, use the following "
"code::"
msgstr ""
"例如,如果你想要用日志记录资源缺失的信息,可以使用下面的代码:"
msgstr "例如,如果你想要用日志记录资源缺失的信息,可以使用下面的代码:"
#: ../../contribute.rst:271 8db05f7332f3475b940fb79d24e74ce7
#: ../../contribute.rst:277 0303387eccd842f9aa57eb3192252dba
msgid "The log messages will be displayed as follows::"
msgstr "最终的日志消息看起来会像这样:"
#: ../../contribute.rst:281 93d618c58e6e4688bebb999ddf591eaa
#: ../../contribute.rst:287 281637c4520d4755993e8bfa46b0326b
msgid "Outputting traceback in the logs"
msgstr "在日志中输出traceback信息"
#: ../../contribute.rst:283 3d56bb4bc804499a8d3c8f14dc614916
#: ../../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`` "
@ -716,9 +655,8 @@ msgid ""
" 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信息会非常长不便于理解。可以像下述代码一样将这些信息限制在 "
"当在 ``except`` 块中进行日志记录时你可能会希望同时输出traceback信息。可以简单地将 ``exc_info`` 参数设为 "
"``True`` 来实现这一功能。但是通过此方法输出的traceback信息会非常长不便于理解。可以像下述代码一样将这些信息限制在 "
"``--debug`` 模式中:"
#~ msgid "latest Pelican release (or an up-to-date Git clone of Pelican master)"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PELICAN 4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-24 19:06+0800\n"
"POT-Creation-Date: 2025-07-13 11:46+0800\n"
"PO-Revision-Date: 2024-06-25 19:00+0800\n"
"Last-Translator: GeorgeHu <dhxxhch@163.com>\n"
"Language: zh_CN\n"
@ -16,38 +16,35 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.15.0\n"
"Generated-By: Babel 2.17.0\n"
#: ../../install.rst:2 32d9c99d9171418c89daafbe7260daa9
#: ../../install.rst:2 e735e1393d63466092c9fc0a5ee4117d
msgid "Installing Pelican"
msgstr "安装Pelican"
#: ../../install.rst:4 73ec02b650044be6bb17951f4a915075
#: ../../install.rst:4 e34bdf7c1bbb4c75a47f8bd16e626c67
msgid ""
"Pelican currently runs best on |min_python|; earlier versions of Python "
"are not supported."
msgstr ""
"Pelican需要 |min_python| 以上版本的Python不支持更低版本。"
msgstr "Pelican需要 |min_python| 以上版本的Python不支持更低版本。"
#: ../../install.rst:6 9134a5a1bd9a4f54a36a3da163d859d8
#: ../../install.rst:6 ff98ade47da6403e84dd1b2209896d9c
msgid ""
"You can install Pelican via several different methods. The simplest is "
"via Pip_::"
msgstr ""
"有多种方法可以安装Pelican最简单的就是通过 Pip_"
msgstr "有多种方法可以安装Pelican最简单的就是通过 Pip_"
#: ../../install.rst:10 22d5948b07d14a13bc45aa14ef11e856
#: ../../install.rst:10 ae2fcb82534e4a3f81980f69ed94c9ad
msgid "Or, if you plan on using Markdown::"
msgstr "如果您需要使用Markdown请使用下面的命令安装"
#: ../../install.rst:14 b910f7faa2c84e5eb62fbd0fae2544d3
#: ../../install.rst:14 ed597b1eb47949efba0f1781ef7bbd1f
msgid ""
"(Keep in mind that some operating systems will require you to prefix the "
"above command with ``sudo`` in order to install Pelican system-wide.)"
msgstr ""
"(在某些操作系统中,需要在命令前加 ``sudo`` 才能在整个系统上安装Pelican"
msgstr "(在某些操作系统中,需要在命令前加 ``sudo`` 才能在整个系统上安装Pelican"
#: ../../install.rst:17 afb018b5d42e433e8107ca38dfcb545f
#: ../../install.rst:17 04d6784f06dd40e7bff76bf6476aaba1
msgid ""
"While the above is the simplest method, the recommended approach is to "
"create a virtual environment for Pelican via virtualenv_ before "
@ -55,43 +52,40 @@ msgid ""
" open a new terminal session and create a new virtual environment for "
"Pelican::"
msgstr ""
"尽管上面是最简单的安装方法,但我们推荐使用虚拟环境 virtualenv_ 完成"
"Pelican的安装。当您安装好 virtualenv_ 后,打开一个新的命令行并"
"为Pelican创建一个虚拟环境"
"尽管上面是最简单的安装方法,但我们推荐使用虚拟环境 virtualenv_ 完成Pelican的安装。当您安装好 virtualenv_ "
"后打开一个新的命令行并为Pelican创建一个虚拟环境"
#: ../../install.rst:26 7d981233f13e42b6b07fbd5fa58f69fc
#: ../../install.rst:26 08aae819315e48a194a065a3fc3dddad
msgid ""
"Once the virtual environment has been created and activated, Pelican can "
"be installed via ``python -m pip install pelican`` as noted above. "
"Alternatively, if you have the project source, you can install Pelican "
"using the distutils method::"
"using the setuptools method::"
msgstr ""
"当创建并激活虚拟环境后,使用之前提到过的命令 ``python -m pip install pelican`` "
"就可以安装Pelican了。或者如果您想要从源码安装可以使用distutils方式"
"就可以安装Pelican了。或者如果您想要从源码安装可以使用setuptools"
#: ../../install.rst:33 c8109ae3e44541e18e713e39690009ae
#: ../../install.rst:33 368febf14ca740e19fa470b0f832dea1
msgid ""
"If you have Git installed and prefer to install the latest bleeding-edge "
"version of Pelican rather than a stable release, use the following "
"command::"
msgstr ""
"如果安装过Git并且您希望安装Pelican的最最新版本而不是稳定版"
"请使用下面的命令:"
msgstr "如果安装过Git并且您希望安装Pelican的最最新版本而不是稳定版请使用下面的命令"
#: ../../install.rst:38 2ba389e93d084dea8b702336479a0470
#: ../../install.rst:38 2498d09099194317a62e67b907bdd5d3
msgid ""
"Once Pelican is installed, you can run ``pelican --help`` to see basic "
"usage options. For more detail, refer to the :doc:`Publish<publish>` "
"section."
msgstr ""
"当您安装好Pelican可以执行 ``pelican --help`` 命令来查看一些基本用法。"
"在 :doc:`发布站点<publish>` 章节中可以了解更多信息。"
"当您安装好Pelican可以执行 ``pelican --help`` 命令来查看一些基本用法。在 :doc:`发布站点<publish>` "
"章节中可以了解更多信息。"
#: ../../install.rst:42 d1850a31cca24c5281cc7c9fd748b56b
#: ../../install.rst:42 4ef93669753e4bb89252a8c9852e7a71
msgid "Optional packages"
msgstr "可选包"
#: ../../install.rst:44 8428281e15354c71a5aec92e9e0041b9
#: ../../install.rst:44 190eabcd8f3a437cbf895ecee25aff4d
msgid ""
"If you plan on using `Markdown <https://pypi.org/project/Markdown/>`_ as "
"a markup format, you can install Pelican with Markdown support::"
@ -99,7 +93,7 @@ msgstr ""
"如您希望使用 `Markdown <https://pypi.org/project/Markdown/>`_ "
"来写作执行下面的命令来安装Markdown支持"
#: ../../install.rst:49 6dcdacecb0874afd8c88cbf814c522ba
#: ../../install.rst:49 fa8fc8ff397a412f839bc2805696aa45
msgid ""
"Typographical enhancements can be enabled in your settings file, but "
"first the requisite `Typogrify <https://pypi.org/project/typogrify/>`_ "
@ -108,108 +102,94 @@ msgstr ""
"Pelican还支持排版增强若您需要使用请先安装 `Typogrify "
"<https://pypi.org/project/typogrify/>`_ 库,稍后您可以在设置文件中启用它。"
#: ../../install.rst:56 d3ff6383ae9745bc9bfed85654086311
#: ../../install.rst:56 74911273a6934154bad4fadbc0d1f28b
msgid "Dependencies"
msgstr "依赖"
#: ../../install.rst:58 2dc22a3fa6c242bdb5b61005e1910d79
#: ../../install.rst:58 77d44b11ae7e4945b119fd473bb53e67
msgid ""
"When Pelican is installed, the following dependent Python packages should"
" be automatically installed without any action on your part:"
msgstr ""
"当Pelican安装完成后下面的所有Python依赖应该都会自动安装"
"无需另外做任何操作:"
msgstr "当Pelican安装完成后下面的所有Python依赖应该都会自动安装无需另外做任何操作"
#: ../../install.rst:61 4c7a644a29b540869d69acd10e032039
#: ../../install.rst:61 22bdf13ed0a3482fb66f10486518261c
msgid ""
"`feedgenerator <https://pypi.org/project/feedgenerator/>`_, to generate "
"the Atom feeds"
msgstr ""
"`feedgenerator <https://pypi.org/project/feedgenerator/>`_"
"用于生成Atom feeds"
msgstr "`feedgenerator <https://pypi.org/project/feedgenerator/>`_用于生成Atom feeds"
#: ../../install.rst:63 365c8fb0938e4d9fbf78d110b05cb99f
#: ../../install.rst:63 21ddc5ce3bed4f9cab2a454e8319a8c4
msgid "`jinja2 <https://pypi.org/project/Jinja2/>`_, for templating support"
msgstr "`jinja2 <https://pypi.org/project/Jinja2/>`_用于模板系统"
#: ../../install.rst:64 5db63207e60c4997924c3baf8aec8524
#: ../../install.rst:64 9302b2919a4f4de0927060911f69f5ed
msgid "`pygments <https://pypi.org/project/Pygments/>`_, for syntax highlighting"
msgstr "`pygments <https://pypi.org/project/Pygments/>`_用于语法高亮"
#: ../../install.rst:65 72bfb5fc2b514031a42952502746c100
#: ../../install.rst:65 c6e45ac0f3ea4f91953fb2dfc66d29d9
msgid ""
"`docutils <https://pypi.org/project/docutils/>`_, for supporting "
"reStructuredText as an input format"
msgstr ""
"`docutils <https://pypi.org/project/docutils/>`_"
"用于reStructuredText格式"
msgstr "`docutils <https://pypi.org/project/docutils/>`_用于reStructuredText格式"
#: ../../install.rst:67 d00ac0c26d884a2d9d7f02fa89491892
#: ../../install.rst:67 aea17a424f3c4e8eab50172b6653fe16
msgid ""
"`blinker <https://pypi.org/project/blinker/>`_, an object-to-object and "
"broadcast signaling system"
msgstr ""
"`blinker <https://pypi.org/project/blinker/>`_"
"对象-对象的信号广播系统"
msgstr "`blinker <https://pypi.org/project/blinker/>`_对象-对象的信号广播系统"
#: ../../install.rst:69 0d317b007acf49fc879203fa8ffb4048
#: ../../install.rst:69 5da4c8d1fdf349c2afe23ffc9d832816
msgid ""
"`unidecode <https://pypi.org/project/Unidecode/>`_, for ASCII "
"transliterations of Unicode text utilities"
msgstr ""
"`unidecode <https://pypi.org/project/Unidecode/>`_"
"用于将Unicode文本转为ASCII字符的音译"
"`unidecode "
"<https://pypi.org/project/Unidecode/>`_用于将Unicode文本转为ASCII字符的音译"
#: ../../install.rst:72 ded0aae575854f149bcf2ea9efa4ba21
#: ../../install.rst:72 ff81051def5544e1b5d66532453aed25
msgid ""
"`MarkupSafe <https://pypi.org/project/MarkupSafe/>`_, for a markup-safe "
"string implementation"
msgstr ""
"`MarkupSafe <https://pypi.org/project/MarkupSafe/>`_"
"用于转义字符的安全处理"
msgstr "`MarkupSafe <https://pypi.org/project/MarkupSafe/>`_用于转义字符的安全处理"
#: ../../install.rst:74 eae7d8f6f84040339ccfef98e20502d8
#: ../../install.rst:74 0222b4cdfdcb48839f5f6b092071db99
msgid ""
"`python-dateutil <https://pypi.org/project/python-dateutil/>`_, to read "
"the date metadata"
msgstr ""
"`python-dateutil <https://pypi.org/project/python-dateutil/>`_"
"用于读取日期相关的元数据"
"`python-dateutil <https://pypi.org/project/python-"
"dateutil/>`_用于读取日期相关的元数据"
#: ../../install.rst:78 cd33ec4583574c5bb879f08813b9932c
#: ../../install.rst:78 49117127302b49b39bd5b86abae18709
msgid "Upgrading"
msgstr "更新升级"
#: ../../install.rst:80 1513dd1e43564cb29da0a14988e0791d
#: ../../install.rst:80 93962c7d303f4c9fa5ad9d43f86ea50a
msgid ""
"If you installed a stable Pelican release via Pip_ and wish to upgrade to"
" the latest stable release, you can do so by adding ``--upgrade``::"
msgstr ""
"若是通过 Pip_ 安装了稳定版本的Pelican可以通过在安装命令中"
"添加 ``--upgrade`` 来升级到最新版:"
msgstr "若是通过 Pip_ 安装了稳定版本的Pelican可以通过在安装命令中添加 ``--upgrade`` 来升级到最新版:"
#: ../../install.rst:85 fae6900b3acc41d4b7bb34c192fe4c08
#: ../../install.rst:85 1ac1fa009f9e4245ae7f975bda7d5a22
msgid ""
"If you installed Pelican via distutils or the bleeding-edge method, "
"simply perform the same step to install the most recent version."
msgstr ""
"若是通过distutils安装或是通过Git安装了测试版的Pelican"
"重新进行一遍和安装时同样的步骤即可。"
msgstr "若是通过distutils安装或是通过Git安装了测试版的Pelican重新进行一遍和安装时同样的步骤即可。"
#: ../../install.rst:89 89392d36f81f4c7eb75e9a74d1795faa
#: ../../install.rst:89 7845fa285f0b4dcd8e881c9edd61f80c
msgid "Kickstart your site"
msgstr "启动网站"
#: ../../install.rst:91 a8517a0fbbb1420297df214f50d8792d
#: ../../install.rst:91 488ad84175cb45f6a6bb26cec24c1f10
msgid ""
"Once Pelican has been installed, you can create a skeleton project via "
"the ``pelican-quickstart`` command, which begins by asking some questions"
" about your site::"
msgstr ""
"Pelican安装完成后通过 ``pelican-quickstart`` 命令创建项目的整体框架,"
"在运行这个命令时,您需要输入一些与站点相关的信息:"
"Pelican安装完成后通过 ``pelican-quickstart`` "
"命令创建项目的整体框架,在运行这个命令时,您需要输入一些与站点相关的信息:"
#: ../../install.rst:97 50231ba4b02d4e868995bdacbd02b27d
#: ../../install.rst:97 63a773d35b91455b944206337e527a3a
msgid ""
"If run inside an activated virtual environment, ``pelican-quickstart`` "
"will look for an associated project path inside "
@ -219,26 +199,22 @@ msgid ""
"project path on initial invocation, use: ``pelican-quickstart --path "
"/your/desired/directory``"
msgstr ""
"如果是在虚拟环境中执行 ``pelican-quickstart`` ,系统会自动在 "
"``$VIRTUAL_ENV/.project`` 目录中查找这个命令。若这个这个命令存在"
"并且路径是正确的一个新的Pelican项目就会在目标位置创建。否则"
"会默认在当前的工作目录下创建这个项目。若要在初始化时指定项目路径,请使用 "
"``pelican-quickstart --path /your/desired/directory``。"
"如果是在虚拟环境中执行 ``pelican-quickstart`` ,系统会自动在 ``$VIRTUAL_ENV/.project`` "
"目录中查找这个命令。若这个这个命令存在并且路径是正确的一个新的Pelican项目就会在目标位置创建。否则会默认在当前的工作目录下创建这个项目。若要在初始化时指定项目路径请使用"
" ``pelican-quickstart --path /your/desired/directory``。"
#: ../../install.rst:104 ea893addf15c47f182384509b1a3a2f7
#: ../../install.rst:104 b7cdf15328074880bb4fc69dcb7bd26f
msgid ""
"Once you finish answering all the questions, your project will consist of"
" the following hierarchy (except for *pages* — shown in parentheses below"
" — which you can optionally add yourself if you plan to create non-"
"chronological content)::"
msgstr ""
"当您回答完所有问题后,项目就会成功创建。项目中会包含下述的一些层级结构"
"(除了用括号括起来的 *pages*)。如果有一些内容不需要按时间排序,"
"您可以将它们放在pages所在的位置"
"当您回答完所有问题后,项目就会成功创建。项目中会包含下述的一些层级结构(除了用括号括起来的 "
"*pages*。如果有一些内容不需要按时间排序您可以将它们放在pages所在的位置"
#: ../../install.rst:118 7d13a0cc5ebd44159fddc8de68993fc7
#: ../../install.rst:118 05e4fe3b0d0a4c998fba451692a68725
msgid ""
"The next step is to begin to adding content to the *content* folder that "
"has been created for you."
msgstr ""
"接下来就可以开始往 *content* 目录中添加自己创作的内容了。"
msgstr "接下来就可以开始往 *content* 目录中添加自己创作的内容了。"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PELICAN 4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-24 19:06+0800\n"
"POT-Creation-Date: 2025-07-13 11:46+0800\n"
"PO-Revision-Date: 2024-06-26 19:00+0800\n"
"Last-Translator: GeorgeHu <dhxxhch@163.com>\n"
"Language: zh_CN\n"
@ -16,26 +16,24 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.15.0\n"
"Generated-By: Babel 2.17.0\n"
#: ../../plugins.rst:4 b1b40bca7d3748008eefe26806d5d5ef
#: ../../plugins.rst:4 3df58bcad1a64350a8e763d87d7470e3
msgid "Plugins"
msgstr "插件"
#: ../../plugins.rst:6 42ca486828e4442a9d74216d0d8bb37d
#: ../../plugins.rst:6 5e0f2aa517254778a71d1e742b051645
msgid ""
"Beginning with version 3.0, Pelican supports plugins. Plugins are a way "
"to add features to Pelican without having to directly modify the Pelican "
"core."
msgstr ""
"Pelican从3.0版本开始支持插件。通过插件不必直接修改Pelican的核心代码就可以给"
"Pelican添加新功能。"
msgstr "Pelican从3.0版本开始支持插件。通过插件不必直接修改Pelican的核心代码就可以给Pelican添加新功能。"
#: ../../plugins.rst:10 6bb8ab4cb7eb44ddb1ed4734f47f6781
#: ../../plugins.rst:10 40ad4aad1dc54b929f6059031edae0d9
msgid "How to use plugins"
msgstr "如何使用插件"
#: ../../plugins.rst:12 822e0bd7ce2f4433a7c39b3accde01a1
#: ../../plugins.rst:12 8fc9f8cba76b4bb9930d80b5b985885a
msgid ""
"Starting with version 4.5, Pelican moved to a new plugin structure "
"utilizing namespace packages that can be easily installed via Pip_. "
@ -44,12 +42,11 @@ msgid ""
"Pelican. To see a list of Pip-installed namespace plugins that are active"
" in your environment, run::"
msgstr ""
"Pelican从4.5版本开始使用了一种全新的插件结构,利用了命名空间包,"
"并且可以轻松地通过 Pip_ 进行安装。支持此结构地插件都会被安装在命名空间包 "
"``pelican.plugins`` 下因此Pelican可以自动发现他们。下面的命令可以用于"
"查看环境中用Pip安装的所有插件"
"Pelican从4.5版本开始使用了一种全新的插件结构,利用了命名空间包,并且可以轻松地通过 Pip_ "
"进行安装。支持此结构地插件都会被安装在命名空间包 ``pelican.plugins`` "
"下因此Pelican可以自动发现他们。下面的命令可以用于查看环境中用Pip安装的所有插件"
#: ../../plugins.rst:20 2b59c5d107dc4b118dc76116910e9495
#: ../../plugins.rst:20 de052285e7f645a9ab551433f3c07d46
msgid ""
"If you leave the ``PLUGINS`` setting as default (``None``), Pelican will "
"automatically discover namespace plugins and register them. If, on the "
@ -58,132 +55,122 @@ msgid ""
"specify will be registered, and you must explicitly list any namespace "
"plugins as well."
msgstr ""
"若将 ``PLUGINS`` 配置项设为默认的 ``None`` Pelican会自动发现命名空间中的"
"插件并且将他们全部加载;若你在 ``PLUGINS`` 设置项中指定了一系列的插件,"
"Pelican就不会去自动发现插件也就是说你需要显式地指定所有要使用的插件。"
"若将 ``PLUGINS`` 配置项设为默认的 ``None`` Pelican会自动发现命名空间中的插件并且将他们全部加载若你在 "
"``PLUGINS`` 设置项中指定了一系列的插件Pelican就不会去自动发现插件也就是说你需要显式地指定所有要使用的插件。"
#: ../../plugins.rst:26 52d1968196294569a478931f7022e686
#: ../../plugins.rst:26 a9675be841b84df584e67087cd23ab34
msgid ""
"If you are using the ``PLUGINS`` setting, you can specify plugins in two "
"ways. The first method specifies plugins as a list of strings. Namespace "
"plugins can be specified either by their full names "
"(``pelican.plugins.myplugin``) or by their short names (``myplugin``)::"
msgstr ""
"在配置 ``PLUGINS`` 时,有两种方式。一是用字符串列表指定插件的名称,可以是包含"
"命名空间的完整名称(例如 ``pelican.plugins.myplugin`` ),也可以是简短名称"
" ``myplugin``"
"在配置 ``PLUGINS`` 时,有两种方式。一是用字符串列表指定插件的名称,可以是包含命名空间的完整名称(例如 "
"``pelican.plugins.myplugin`` ),也可以是简短名称( ``myplugin``"
#: ../../plugins.rst:35 b2c75e52e66e4000968e744ffa4b89a9
#: ../../plugins.rst:35 188bf617180b4a7b9bc09f3fb1c201ae
msgid ""
"Alternatively, you can import them in your settings file and pass the "
"modules::"
msgstr ""
"二是在设置文件中先import进来再将import进的模块放在 ``PLUGINS`` 设置项中:"
msgstr "二是在设置文件中先import进来再将import进的模块放在 ``PLUGINS`` 设置项中:"
#: ../../plugins.rst:43 88af9139373f4cd89fa5b958196c9448
#: ../../plugins.rst:43 2d5db874810245a98b59ab080a0df1a5
msgid ""
"When experimenting with different plugins (especially the ones that deal "
"with metadata and content) caching may interfere and the changes may not "
"be visible. In such cases disable caching with ``LOAD_CONTENT_CACHE = "
"False`` or use the ``--ignore-cache`` command-line switch."
msgstr ""
"在尝试不同的插件时(尤其是那些处理元数据和内容的插件),缓存可能会相互干扰,"
"一些更改不会生效。发生这种情况时,就需要通过设置 ``LOAD_CONTENT_CACHE = False`` "
"或使用 ``--ignore-cache`` 命令行选项禁用缓存。"
"在尝试不同的插件时(尤其是那些处理元数据和内容的插件),缓存可能会相互干扰,一些更改不会生效。发生这种情况时,就需要通过设置 "
"``LOAD_CONTENT_CACHE = False`` 或使用 ``--ignore-cache`` 命令行选项禁用缓存。"
#: ../../plugins.rst:48 d0e3cd59052c4a7d995fb5e1e15d9799
#: ../../plugins.rst:48 7421f93c1d714c9c853fc9311681515a
msgid ""
"If your plugins are not in an importable path, you can specify a list of "
"paths via the ``PLUGIN_PATHS`` setting. As shown in the following "
"example, paths in the ``PLUGIN_PATHS`` list can be absolute or relative "
"to the settings file::"
msgstr ""
"如果插件处于无法直接进行import的路径可以在 ``PLUGIN_PATHS`` 配置项中指定这些路径。"
"如下例所示, ``PLUGIN_PATHS`` 中的路径可以是绝对的,也可以是相对于设置文件的:"
"如果插件处于无法直接进行import的路径可以在 ``PLUGIN_PATHS`` 配置项中指定这些路径。如下例所示, "
"``PLUGIN_PATHS`` 中的路径可以是绝对的,也可以是相对于设置文件的:"
#: ../../plugins.rst:56 4c3de952a8514e5caea402392b911f0b
#: ../../plugins.rst:56 b8406038d0284d3fbef9d3de1fa7fd9f
msgid "Where to find plugins"
msgstr "在哪儿下载插件"
#: ../../plugins.rst:57 16173c9dceb0409f89964412dd7e71e9
#: ../../plugins.rst:57 b07653ce77194a998630a55ae9511de5
msgid ""
"Namespace plugins can be found in the `pelican-plugins organization`_ as "
"individual repositories. Legacy plugins are located in the `pelican-"
"plugins repository`_ and will be gradually phased out in favor of the "
"namespace versions."
msgstr ""
"新的命名空间插件可以在GitHub的 `pelican-plugins 组织`_ 中找到,每个插件都是"
"一个独立的仓库。而老的插件则可以在GitHub的 `pelican-plugins 仓库`_ 中找到。"
"这些老的插件会逐步淘汰并转移到新的命名空间版本。"
"新的命名空间插件可以在GitHub的 `pelican-plugins 组织`_ "
"中找到,每个插件都是一个独立的仓库。而老的插件则可以在GitHub的 `pelican-plugins 仓库`_ "
"中找到。这些老的插件会逐步淘汰并转移到新的命名空间版本。"
#: ../../plugins.rst:65 a30a9862112b47128f6e7b28c6836f27
#: ../../plugins.rst:65 5c55fa6f3d664be2a49b8256dc2f6a2e
msgid ""
"Please note that while we do our best to review and maintain these "
"plugins, they are submitted by the Pelican community and thus may have "
"varying levels of support and interoperability."
msgstr ""
"请注意尽管我们尽全力审查和维护这些插件但这些插件是Pelican社区提交的"
"因此支持性和互操作性程度各不相同。"
msgstr "请注意尽管我们尽全力审查和维护这些插件但这些插件是Pelican社区提交的因此支持性和互操作性程度各不相同。"
#: ../../plugins.rst:70 f4e140c61c0f45ed8ac53dca3b05b1f1
#: ../../plugins.rst:70 25339a713a97492c88b0e60024ac34b8
msgid "How to create plugins"
msgstr "如何创建插件"
#: ../../plugins.rst:72 43013c6cf4f34ca09205e8dab0b9fa6d
#: ../../plugins.rst:72 62b6b4a1a5f0486e8b3a39d6a7050f0a
msgid ""
"Plugins are based on the concept of signals. Pelican sends signals, and "
"plugins subscribe to those signals. The list of available signals is "
"documented in a subsequent section."
msgstr ""
"插件是基于信号这一概念的。Pelican会发送信号插件则订阅这些信号。可用的信号"
"在下一节会贴出来。"
msgstr "插件是基于信号这一概念的。Pelican会发送信号插件则订阅这些信号。可用的信号在下一节会贴出来。"
#: ../../plugins.rst:76 5377a966ab114a29acb61f79eadc632b
#: ../../plugins.rst:76 f8f74b0257be46a1878e72e126166bd0
msgid ""
"The only rule to follow for plugins is to define a ``register`` callable,"
" in which you map the signals to your plugin logic. Let's take a simple "
"example::"
msgstr ""
"对于插件来说,唯一需要遵循的规则就是一定要定义一个可调用的 ``register`` "
"在 ``register`` 中需要将信号映射到插件逻辑上。下面是一个简单的例子:"
"对于插件来说,唯一需要遵循的规则就是一定要定义一个可调用的 ``register`` 在 ``register`` "
"中需要将信号映射到插件逻辑上。下面是一个简单的例子:"
#: ../../plugins.rst:93 2217318326524c62804ec94e55a4ca20
#: ../../plugins.rst:93 163eebc74421416da2ad497830c42771
msgid ""
"Signal receivers are weakly-referenced and thus must not be defined "
"within your ``register`` callable or they will be garbage-collected "
"before the signal is emitted."
msgstr ""
"信号接收器在Pelican中是弱引用的因此不能将它定义在可调用的 ``register`` 中,"
"否则接收器在信号发送之前就会被回收。"
msgstr "信号接收器在Pelican中是弱引用的因此不能将它定义在可调用的 ``register`` 中,否则接收器在信号发送之前就会被回收。"
#: ../../plugins.rst:97 6731cc78478a46c5a0cb51a8cd477318
#: ../../plugins.rst:97 bb63bd2d24e341a1a4f7dfa118648d9a
msgid ""
"If multiple plugins connect to the same signal, plugins will be executed "
"in the order they are connected. With ``PLUGINS`` setting, order will be "
"as defined in the setting. If you rely on auto-discovered namespace "
"plugins, no ``PLUGINS`` setting, they will be connected in the same order"
" they are discovered (same order as ``pelican-plugins`` output). If you "
"want to specify the order explicitly, disable auto-discovery by defining "
"If multiple plugins connect to the same signal, plugins will be invoked "
"in the order they are registered. When the ``PLUGINS`` setting is "
"defined, plugin invocation order will be the order in which the plugins "
"are listed in the ``PLUGINS`` setting. If you rely on auto-discovered "
"namespace plugins and have no ``PLUGINS`` setting defined, plugins will "
"be invoked in the same order that they are discovered (the same order as "
"listed in the output of the ``pelican-plugins`` command). If you want to "
"specify the order explicitly, disable auto-discovery by defining "
"``PLUGINS`` in the desired order."
msgstr ""
"如果多个插件关联到同一个信号,插件将按照它们关联的前后顺序执行。但若设置了 "
"``PLUGINS`` 配置项会以此配置项中的顺序为准。如果您使用了无需PLUGINS设置的新版"
"命名空间插件,它们将按照被探测到的顺序进行连接(与 pelican-plugins 输出的顺序相同)。"
"对于关联到同一个信号的多个插件,将按照它们注册的前后顺序执行。但若设置了 ``PLUGINS`` "
"配置项,则会以此配置项中的顺序为准。如果您使用了无需PLUGINS设置的新版命名空间插件,它们将按照被探测到的顺序进行连接(与 pelican-"
"plugins 输出的顺序相同)。若您此时仍想要显式指定顺序,设置 ``PLUGINS`` 配置项即可。"
#: ../../plugins.rst:105 6dad534cc0014b78a3638a91cc4a1120
#: ../../plugins.rst:107 062aa3a3402141cfbd376d4fee1b5b34
msgid "Namespace plugin structure"
msgstr "命名空间插件的结构"
#: ../../plugins.rst:107 aa6f290c3f4d42558b684d0e3487af95
#: ../../plugins.rst:109 e6968290620d4de3b71ff62d5abba91f
msgid ""
"Namespace plugins must adhere to a certain structure in order to function"
" properly. They need to be installable (i.e. contain ``setup.py`` or "
"equivalent) and have a folder structure as follows::"
msgstr ""
"命名空间插件必须遵循特定的结构才能正常工作。这些插件需要是可安装的"
"(即包含 ``setup.py`` 或其他等效文件),并且遵循下述文件夹结构:"
msgstr "命名空间插件必须遵循特定的结构才能正常工作。这些插件需要是可安装的(即包含 ``setup.py`` 或其他等效文件),并且遵循下述文件夹结构:"
#: ../../plugins.rst:120 b8d73cfdb5f042cca1705f97d693263d
#: ../../plugins.rst:122 b9782f71fae14bce9854b8b5056407d8
msgid ""
"It is crucial that ``pelican`` or ``pelican/plugins`` folder **not** "
"contain an ``__init__.py`` file. In fact, it is best to have those "
@ -192,373 +179,357 @@ msgid ""
"``pelican/plugins/myplugin`` folder to avoid any issues."
msgstr ""
"非常关键的一点就是, ``pelican`` 和 ``pelican/plugins`` 文件夹下都 **不能** 包含 "
"``__init__.py`` 文件。事实上,这两个文件夹下最好是只有上面列出的文件夹,"
"并且保证与插件相关的文件都仅包含在 ``pelican/plugins/myplugin`` 文件夹中,"
"以避免奇奇怪怪的问题。"
"``__init__.py`` 文件。事实上,这两个文件夹下最好是只有上面列出的文件夹,并且保证与插件相关的文件都仅包含在 "
"``pelican/plugins/myplugin`` 文件夹中,以避免奇奇怪怪的问题。"
#: ../../plugins.rst:126 c3f08ae8c0d7415098157bbd1c99ce08
#: ../../plugins.rst:128 8440bc91329c498c90fadab556391a84
msgid ""
"To easily set up the proper structure, a `cookiecutter template for "
"plugins`_ is provided. Refer to that project's README for instructions on"
" how to use it."
msgstr ""
"为了让大家更容易就能建立正确的结构,我们为插件提供了一个 `cookiecutter模板`_ "
"使用方法参考此项目README文件中的指示即可。"
msgstr "为了让大家更容易就能建立正确的结构,我们为插件提供了一个 `cookiecutter模板`_ 使用方法参考此项目README文件中的指示即可。"
#: ../../plugins.rst:132 c2321eec3dc84224918172c5040a259f
#: ../../plugins.rst:134 bb029c6c9ea14a2dac684d516fb9a1eb
msgid "List of signals"
msgstr "信号列表"
#: ../../plugins.rst:134 78c4cfefae7e412f8f6287da2e3c8d34
#: ../../plugins.rst:136 968d92d9b3bb4491ad9c0e4a015e73f9
msgid "Here is the list of currently implemented signals:"
msgstr "下面是目前已经实现了的信号:"
#: ../../plugins.rst:137 7a3c3b8b0f114d54b497ab77b09dc558
#: ../../plugins.rst:139 f2db011f146d40bf9f07ec6b09c7c6d0
msgid "Signal"
msgstr "信号"
#: ../../plugins.rst:137 781b5c11f87f43b9ba4b3e75bee696d0
#: ../../plugins.rst:139 32f683cb25c74315ac803c62868bd7b2
msgid "Arguments"
msgstr "参数"
#: ../../plugins.rst:137 df7d14950fed44f4a4b93908aed36060
#: ../../plugins.rst:139 d02ae4c30dec40ae8bd894fda051562d
msgid "Description"
msgstr "描述"
#: ../../plugins.rst:139 598901e7cb5b49ac9acb5f148bf7c0e7
#: ../../plugins.rst:141 d526b9cb6c3c409f9b2d243082dfbdc3
msgid "initialized"
msgstr "initialized"
#: ../../plugins.rst:139 ../../plugins.rst:140 ../../plugins.rst:158
#: ../../plugins.rst:161 4cedbf9ee7fb4c7abe20e15e4ee1c7fb
#: 704ff7e1ddfc4eb3bd7798d25df1e668 bc98001ef73d419b8f811bbb3d3a571a
#: c9104ccaf84c48d98fafca001ec187e2
#: ../../plugins.rst:141 ../../plugins.rst:142 ../../plugins.rst:160
#: ../../plugins.rst:163 0ab3e30cf009477980c4c619e0a7dc5e
#: 8cf4a2d70a234250a4d9f63e4e8cb49f a600f769faef42d99333442745c7b498
#: a69e7ba2df7a47658b2f0e4ade60d455
msgid "pelican object"
msgstr "pelican object"
#: ../../plugins.rst:140 6f1a09178e2c44c9bda76ed0c0025bef
#: ../../plugins.rst:142 3aff44965eec41269a45fd0b84b8b5d7
msgid "finalized"
msgstr "finalized"
#: ../../plugins.rst:140 175a1d1ab8374325812a00cfd581e54e
#: ../../plugins.rst:142 6a3bd6c773b245af9151ff5669ef7f84
msgid ""
"invoked after all the generators are executed and just before pelican "
"exits useful for custom post processing actions, such as: - minifying "
"js/css assets. - notify/ping search engines with an updated sitemap."
msgstr ""
"所有generator执行完成后调用即pelican退出之前。这对于自定义后处理操作是"
"非常有用的例如可以简化js/css资源、向搜索引擎告知更新后的sitemap。"
msgstr "所有generator执行完成后调用即pelican退出之前。这对于自定义后处理操作是非常有用的例如可以简化js/css资源、向搜索引擎告知更新后的sitemap。"
#: ../../plugins.rst:144 8d390b6db281423d92a4d7bd4921b4b4
#: ../../plugins.rst:146 eecb5a5dc1b84f94a830db617122f365
msgid "generator_init"
msgstr "generator_init"
#: ../../plugins.rst:144 fef4d6e70a4c4365be408a5f1579135c
#: ../../plugins.rst:146 b01311f8da704b55b38e23149c60bc22
msgid "generator"
msgstr "generator"
#: ../../plugins.rst:144 dbe5ff1590dc4df38cb8fd234708c7bd
#: ../../plugins.rst:146 a3c477e7a8d04e94af4ee7a82c873ef2
msgid "invoked in the Generator.__init__"
msgstr "在Generator.__init__中调用"
#: ../../plugins.rst:145 0324812d14d9452fbf28c286c2a10834
#: ../../plugins.rst:147 246a49eb99d34589ac409e5613f27069
msgid "all_generators_finalized"
msgstr "all_generators_finalized"
#: ../../plugins.rst:145 f6170ebf34b247868d149f0efca462b3
#: ../../plugins.rst:147 0dafe1a8f7224b1bbe1af3ebeeac0b31
msgid "generators"
msgstr "generators"
#: ../../plugins.rst:145 d67dff93c28146498074abbf3aeb5103
#: ../../plugins.rst:147 9d5130f91ac748e58d96cfba7711e8f6
msgid "invoked after all the generators are executed and before writing output"
msgstr "在所有generator执行完后写入输出内容前调用"
#: ../../plugins.rst:146 0e9feed7804b4bbdb23711f9d6ad4f40
#: ../../plugins.rst:148 3a7f543549164bb684f47daa5b1b9bd1
msgid "readers_init"
msgstr "readers_init"
#: ../../plugins.rst:146 f0de00423c104ecd8e60fb3450b534b4
#: ../../plugins.rst:148 0946829014734c53a0b1e389df853daf
msgid "readers"
msgstr "readers"
#: ../../plugins.rst:146 b554b35806e34e51bc5ab974fb517541
#: ../../plugins.rst:148 380ba486fff24555b3c312bee4645d23
msgid "invoked in the Readers.__init__"
msgstr "在Readers.__init__中调用"
#: ../../plugins.rst:147 ../../plugins.rst:201 003cdeb23b67433e8cf70c600a42e8e4
#: 7f4a2f6665064a16bcd1b7ea347f5b49
#: ../../plugins.rst:149 ../../plugins.rst:203 04aa2b44a0b84da9b62b952b627a2b5c
#: e725d629327b48e3a7dffad1d07d81d2
msgid "article_generator_context"
msgstr "article_generator_context"
#: ../../plugins.rst:147 8997b3fd1a8d4efb86245916e50c31b9
#: ../../plugins.rst:149 f0c440ead7fc46e2a90685c3fdffb5d4
msgid "article_generator, metadata"
msgstr "article_generator, metadata"
#: ../../plugins.rst:148 ../../plugins.rst:203 4496df152e48410995ae35f73e3ce0e9
#: f46672e3f919441ba2486f9641752913
#: ../../plugins.rst:150 ../../plugins.rst:205 2ed41de1aaed481195aeacbc841459be
#: e9e159b6d49d4cd29ebbe6eb6e0bb3b1
msgid "article_generator_preread"
msgstr "article_generator_preread"
#: ../../plugins.rst:148 ../../plugins.rst:150 ../../plugins.rst:151
#: ../../plugins.rst:154 3408ba823f14463196f2296480e25c7d
#: 43b073d3f3ad4a2ba3d0c18447cb7cf6 c776a7323f0a41babb44daf3abfd6b85
#: f47ca0a3f9654ed4b7653fd946b2d9b6
#: ../../plugins.rst:150 ../../plugins.rst:152 ../../plugins.rst:153
#: ../../plugins.rst:156 37277bd83e254f47b6df91ba6790f79e
#: 9d3b745b96114ff7931cbcc372901c3e b89f87d254984ec59e25045227c708bf
#: d38f0e2931b84b82adcc5aca5a4c2233
msgid "article_generator"
msgstr "article_generator"
#: ../../plugins.rst:148 94e2a57c5b074d068f051d5de850060c
#: ../../plugins.rst:150 7a45243569e84c1e9d5d49b5c1a7b86a
msgid ""
"invoked before a article is read in ArticlesGenerator.generate_context; "
"use if code needs to do something before every article is parsed"
msgstr ""
"在ArticlesGenerator.generate_context读取文章之前调用若代码需要在解析每篇文章前"
"执行某些操作,就可以使用此信号。"
msgstr "在ArticlesGenerator.generate_context读取文章之前调用若代码需要在解析每篇文章前执行某些操作就可以使用此信号。"
#: ../../plugins.rst:150 c58f32123f234e6cafa42aa4ede5bf73
#: ../../plugins.rst:152 87c8e4ad4a104cb889172025f1b0229b
msgid "article_generator_init"
msgstr "article_generator_init"
#: ../../plugins.rst:150 10d3585dc8f94d978643a9c2dc9219a9
#: ../../plugins.rst:152 46c1e5fbb90a4668afda3d66e4520689
msgid "invoked in the ArticlesGenerator.__init__"
msgstr "在ArticlesGenerator.__init__中调用"
#: ../../plugins.rst:151 93ec423e266b4ba9b941a5826e290fec
#: ../../plugins.rst:153 de4b631d41e946c485ebb813e3dd6b62
msgid "article_generator_pretaxonomy"
msgstr "article_generator_pretaxonomy"
#: ../../plugins.rst:151 27290d55819e4bfabe1624059956258f
#: ../../plugins.rst:153 697a45a251fe4188b1f32cec631427b9
msgid ""
"invoked before categories and tags lists are created useful when e.g. "
"modifying the list of articles to be generated so that removed articles "
"are not leaked in categories or tags"
msgstr ""
"在创建类别和标签列表之前调用。例如,当需要变更要生成的文章列表时可以使用,"
"如此可以避免一些已移除文章在分类或标签列表中泄露。"
msgstr "在创建类别和标签列表之前调用。例如,当需要变更要生成的文章列表时可以使用,如此可以避免一些已移除文章在分类或标签列表中泄露。"
#: ../../plugins.rst:154 ../../plugins.rst:202 12c99acda2ac45debe4fc574a246fc63
#: f3bfb220e59d473bb27601c16f5a1625
#: ../../plugins.rst:156 ../../plugins.rst:204 051dcac75cbf4f5ea3a665e6da642324
#: 2360e283fdd142ab8d65792581522e72
msgid "article_generator_finalized"
msgstr "article_generator_finalized"
#: ../../plugins.rst:154 4cb8ed5b4701426b8e1707c6c6b0d48f
#: ../../plugins.rst:156 0c3c808d5b7044018f8566ccc6dd3010
msgid "invoked at the end of ArticlesGenerator.generate_context"
msgstr "在ArticlesGenerator.generate_context的最后调用"
#: ../../plugins.rst:155 c19a632018d44ad2b72d5cf6b7cc9c14
#: ../../plugins.rst:157 60d78048da4843a7a0307218c078d151
msgid "article_generator_write_article"
msgstr "article_generator_write_article"
#: ../../plugins.rst:155 9da20e77d40b45e292ae994fb0fbe97c
#: ../../plugins.rst:157 2ac0d0e7306a4d5086bb2e8b7b17ffb1
msgid "article_generator, content"
msgstr "article_generator, content"
#: ../../plugins.rst:155 a2d5bc3f72b64e47bcaccff3bf27dec2
#: ../../plugins.rst:157 565551e010964925b10a3b5734913119
msgid "invoked before writing each article, the article is passed as content"
msgstr "在写入每篇文章前调用,文章以内容的形式作为参数传入。"
#: ../../plugins.rst:156 0db965f5b99f49e48fc1db531c139f13
#: ../../plugins.rst:158 fd7918c3200f4714b028c8d0a200df98
msgid "article_writer_finalized"
msgstr "article_writer_finalized"
#: ../../plugins.rst:156 c6af98478be14eb283bb95e7b6a3118c
#: ../../plugins.rst:158 e54633543dbf4e5fb2dd4c1bfc09b1c1
msgid "article_generator, writer"
msgstr "article_generator, writer"
#: ../../plugins.rst:156 c48e1152864c4249886f3c7ed4ece85b
#: ../../plugins.rst:158 965e61a0fd6347faa2d7224a50a98b76
msgid ""
"invoked after all articles and related pages have been written, but "
"before the article generator is closed."
msgstr ""
"在所有文章及相关联页面写入完成后在文章generator关闭前调用。"
msgstr "在所有文章及相关联页面写入完成后在文章generator关闭前调用。"
#: ../../plugins.rst:158 f6af27fc844d43779d581cb4383b97ed
#: ../../plugins.rst:160 30df01c5c11a4ed58b006d78b007c68d
msgid "get_generators"
msgstr "get_generators"
#: ../../plugins.rst:158 b41e27f19c47478a8ece4f43a685f6be
#: ../../plugins.rst:160 758447f5e55a4738a14486b0e962034d
msgid ""
"invoked in Pelican.get_generator_classes, can return a Generator, or "
"several generators in a tuple or in a list."
msgstr ""
"在Pelican.get_generator_classes中调用可以返回一个Generator也可以以一个"
"元组或列表的形式返回多个generator。"
msgstr "在Pelican.get_generator_classes中调用可以返回一个Generator也可以以一个元组或列表的形式返回多个generator。"
#: ../../plugins.rst:161 f23075094c4f46958de609a44850eb6d
#: ../../plugins.rst:163 730e948388a24435be216830e0af5be6
msgid "get_writer"
msgstr "get_writer"
#: ../../plugins.rst:161 365671a73e17434f90973ee8e632fa32
#: ../../plugins.rst:163 df9f9fef24984c4bad07b8834e79352f
msgid "invoked in Pelican.get_writer, can return a custom Writer."
msgstr "在Pelican.get_writer前调用可以返回一个自定义Writer。"
#: ../../plugins.rst:163 ../../plugins.rst:204 299eef53e530489a9e7366042919059f
#: 917cc78965d84285bc832cecf181ce55
#: ../../plugins.rst:165 ../../plugins.rst:206 1c172b26e92543d2be488a88cceaf576
#: 252231854c504621b28243dfba9d88ab
msgid "page_generator_context"
msgstr "page_generator_context"
#: ../../plugins.rst:163 26f64e1dbe854ca287aa0f59b269477c
#: ../../plugins.rst:165 a830e240c6564552ba4952bc657120a9
msgid "page_generator, metadata"
msgstr "page_generator, metadata"
#: ../../plugins.rst:164 ../../plugins.rst:205 c2ec4e60dda142569cdcfe5a311b21a5
#: fcd417f63054406ea7869a2a945dc819
#: ../../plugins.rst:166 ../../plugins.rst:207 09add2ea39344ad8936296a07cfd8e82
#: 0fc3cf365d9d418b8225e8f1f5da76d0
msgid "page_generator_preread"
msgstr "page_generator_preread"
#: ../../plugins.rst:164 ../../plugins.rst:166 ../../plugins.rst:167
#: 89c2d7a279604926a290c2665fe8082a 98ab9a5bc2804442a217233f4ab8a003
#: fca779509f1742e99e3d10a6602561c9
#: ../../plugins.rst:166 ../../plugins.rst:168 ../../plugins.rst:169
#: 3c31cfe2f4744cd987f1638a4b82e5de a80ec8c388cb477abbcfc4f558d34df7
#: d485c4f9c2c443748234827727cc887e
msgid "page_generator"
msgstr "page_generator"
#: ../../plugins.rst:164 295fe11e61ba4f80a145ce06a1ffc777
#: ../../plugins.rst:166 4d8b96aa6ebf47d885cd978c336679ff
msgid ""
"invoked before a page is read in PageGenerator.generate_context; use if "
"code needs to do something before every page is parsed."
msgstr ""
"在PageGenerator.generate_context读取页面前调用若代码需要在解析每个页面前"
"执行某些操作,就可以使用此信号。"
msgstr "在PageGenerator.generate_context读取页面前调用若代码需要在解析每个页面前执行某些操作就可以使用此信号。"
#: ../../plugins.rst:166 ../../plugins.rst:207 4f2b1db9b6054af2b0fd0545082bcafd
#: db8ee3e356d84758b427d9f29d034000
#: ../../plugins.rst:168 ../../plugins.rst:209 06adf06d2b204100b9f80850b84bdff0
#: c0988434a401410e8cf6b4528e6d2870
msgid "page_generator_init"
msgstr "page_generator_init"
#: ../../plugins.rst:166 1d4e2e940e0f4dd5a151519aea710454
#: ../../plugins.rst:168 d359da10912949fa999dc3ad5215be66
msgid "invoked in the PagesGenerator.__init__"
msgstr "在PagesGenerator.__init__中调用"
#: ../../plugins.rst:167 ../../plugins.rst:206 319e921c48474a43bbdac4bf43a688f2
#: 5e9b33a48c51417fb5211824b0ad008d
#: ../../plugins.rst:169 ../../plugins.rst:208 0994b38b87704caea04ef0671a7b1c67
#: a97cf5f236a64959aa09838dbe03dfdc
msgid "page_generator_finalized"
msgstr "page_generator_finalized"
#: ../../plugins.rst:167 019fa3fddf2e4725b978326f221c80bd
#: ../../plugins.rst:169 4cfdfe952daf4e3ea5ea1c8b2cf7a664
msgid "invoked at the end of PagesGenerator.generate_context"
msgstr "在PagesGenerator.generate_context的最后调用"
#: ../../plugins.rst:168 0f77c3c609594768a0aaed6529260b97
#: ../../plugins.rst:170 7e2504584a1b4fa4ae88c5002bcbb26f
msgid "page_generator_write_page"
msgstr "page_generator_write_page"
#: ../../plugins.rst:168 0ca5fb200a254cff8529cb5d95e8e26e
#: ../../plugins.rst:170 ea204a5fe703472ea5afea283135b94d
msgid "page_generator, content"
msgstr "page_generator, content"
#: ../../plugins.rst:168 164d45dac5ab4df8abd898c1466e186d
#: ../../plugins.rst:170 22dd198fe6dc498f944e2c0e2c595c6c
msgid "invoked before writing each page, the page is passed as content"
msgstr "在写入每个页面前调用,页面以内容形式作为参数传入"
#: ../../plugins.rst:169 4780473ba6ae47998f891232f122b34a
#: ../../plugins.rst:171 84d5def2c4fc4a2489d2b4fc1fa445df
msgid "page_writer_finalized"
msgstr "page_writer_finalized"
#: ../../plugins.rst:169 6c516a5ae777406ca9ed7bf27b7124c7
#: ../../plugins.rst:171 c55d65276a4e49c58c34d12cc062c90d
msgid "page_generator, writer"
msgstr "page_generator, writer"
#: ../../plugins.rst:169 e8978d0fb878427cbf686608c593aa67
#: ../../plugins.rst:171 b2a3d1c7c2864a08829833bc16b3223e
msgid ""
"invoked after all pages have been written, but before the page generator "
"is closed."
msgstr "调用于所有页面写入完成后在页面generator关闭前。"
#: ../../plugins.rst:171 ../../plugins.rst:208 47bf9969c38b4fef9e15e9d7ea67630e
#: d9a3d5d939d4499b9320ea15dbd3f26e
#: ../../plugins.rst:173 ../../plugins.rst:210 097c5b3dc1d34a5eb7c1b4ae67179b3e
#: a420152f887e4977bdd26a5fa7230915
msgid "static_generator_context"
msgstr "static_generator_context"
#: ../../plugins.rst:171 47064012c4e447f5a1f087a7af420f8f
#: ../../plugins.rst:173 1bbacfe960644e4a902b9c866e3fffce
msgid "static_generator, metadata"
msgstr "static_generator, metadata"
#: ../../plugins.rst:172 ../../plugins.rst:209 7050e1889934465a8837ba65fa249118
#: f45c31c591fd450badd89a7f87c6f991
#: ../../plugins.rst:174 ../../plugins.rst:211 c1242bcf76fc40568f67a2ce4e70c0bb
#: f407aa94870645c891bb349edc3ae9a4
msgid "static_generator_preread"
msgstr "static_generator_preread"
#: ../../plugins.rst:172 ../../plugins.rst:175 ../../plugins.rst:176
#: 1e99fc14855a4a2e8d1f4758e12792d9 45cdf5c2a8d049889b4315d1ea78f462
#: b7ae37b94f2f44feb24ac32b0cdfa447
#: ../../plugins.rst:174 ../../plugins.rst:177 ../../plugins.rst:178
#: 36f5be5c982b42d097c0465f542e490f cf0ebefd743246dd9db1b37a8c6a43a8
#: d5cd54887d904bcca02b0df4f22580e9
msgid "static_generator"
msgstr "static_generator"
#: ../../plugins.rst:172 431017db31bf439f8d3fb5e16b020376
#: ../../plugins.rst:174 1b2fbadf156644429e66ad2e64d26658
msgid ""
"invoked before a static file is read in StaticGenerator.generate_context;"
" use if code needs to do something before every static file is added to "
"the staticfiles list."
msgstr ""
"在StaticGenerator.generate_context读取静态文件前调用若代码需要在每个静态文件"
"加入静态文件列表前进行一些修改,就可以使用此信号。"
msgstr "在StaticGenerator.generate_context读取静态文件前调用若代码需要在每个静态文件加入静态文件列表前进行一些修改就可以使用此信号。"
#: ../../plugins.rst:175 2a380c26f2984e659ec36248a543a4c3
#: ../../plugins.rst:177 654377fe53434f77b3ba294b5689d1d4
msgid "static_generator_init"
msgstr "static_generator_init"
#: ../../plugins.rst:175 832447303775460c83743d831aa58290
#: ../../plugins.rst:177 e9b3cbbde7a6443a81d025d1a4fe6145
msgid "invoked in the StaticGenerator.__init__"
msgstr "在StaticGenerator.__init__中调用"
#: ../../plugins.rst:176 b01307445d54485a9036fb0f9619ff78
#: ../../plugins.rst:178 202be739e43444f48f122d3e5f657a45
msgid "static_generator_finalized"
msgstr "static_generator_finalized"
#: ../../plugins.rst:176 2f7e7e25668b44fc824bb39270c3de96
#: ../../plugins.rst:178 06080672fd614d39a79aa6d3a783087f
msgid "invoked at the end of StaticGenerator.generate_context"
msgstr "在StaticGenerator.generate_context的最后调用"
#: ../../plugins.rst:177 2a34785767ee416dbe41a6aa1f7e4ab1
#: ../../plugins.rst:179 ce174fb4533143518c13b16ab6dbe4c8
msgid "content_object_init"
msgstr "content_object_init"
#: ../../plugins.rst:177 c41d8a8653a94d648b573b5c13db3954
#: ../../plugins.rst:179 5089a38bad1447cab62f350df8e76f31
msgid "content_object"
msgstr "content_object"
#: ../../plugins.rst:177 379b6d76d2f14d05bf1502d2c55b125f
#: ../../plugins.rst:179 d105f652be424f5cad8bfaf7be69ec4b
msgid "invoked at the end of Content.__init__"
msgstr "在Content.__init__的最后调用"
#: ../../plugins.rst:178 10761aa6a1d54ee0a28e562bdacffebf
#: ../../plugins.rst:180 dbda8a11bca744a4ba5fc51d044f1d6e
msgid "content_written"
msgstr "content_written"
#: ../../plugins.rst:178 001ad90e09ab4b21a702b2ed9771a156
#: ../../plugins.rst:180 c8ba95ebcc2e4c79ae79717a730fe504
msgid "path, context"
msgstr "path, context"
#: ../../plugins.rst:178 69b05b02e1564fe4b48dbd2926fdaec3
#: ../../plugins.rst:180 6d9caed8fa24400a86f8ede1c3ecb260
msgid "invoked each time a content file is written."
msgstr "每一次内容文件写入后调用。"
#: ../../plugins.rst:179 30938518f54f46028c8fd03808471be7
#: ../../plugins.rst:181 73a4265b050c4b32be186bb2cec59f30
msgid "feed_generated"
msgstr "feed_generated"
#: ../../plugins.rst:179 e29bf37e7114454099baa21955b7fce0
#: ../../plugins.rst:181 78fa3603986f417286f2e7440f5aff57
msgid "context, feed"
msgstr "context, feed"
#: ../../plugins.rst:179 366ba164593242309dab922c36667dc3
#: ../../plugins.rst:181 13dcd9e5fb2f408db72b87b88877596b
msgid ""
"invoked each time a feed gets generated. Can be used to modify a feed "
"object before it gets written."
msgstr "每个feed生成前调用。可以用于在feed写入前修改之。"
#: ../../plugins.rst:181 0b6d7fc85d374b9c82c60d4a0df69fcd
#: ../../plugins.rst:183 3a959768d5704e459940cbfcf8e1459c
msgid "feed_written"
msgstr "feed_written"
#: ../../plugins.rst:181 d3fdc3a669e9418b9f6e738c549fa151
#: ../../plugins.rst:183 86844bee049a445e87db283bdf325338
msgid "path, context, feed"
msgstr "path, context, feed"
#: ../../plugins.rst:181 3da952e464034f8c8491caa94f0aec2d
#: ../../plugins.rst:183 e79185da7cb54bf5aa59a46846222391
msgid "invoked each time a feed file is written."
msgstr "每一个feed文件写入后调用。"
#: ../../plugins.rst:186 24bf768827184a8a9c2ad9d23d3549e4
#: ../../plugins.rst:188 0fe0539bad1c4fcbbebbdaa98d328ee9
msgid ""
"Avoid ``content_object_init`` signal if you intend to read ``summary`` or"
" ``content`` properties of the content object. That combination can "
@ -567,145 +538,132 @@ msgid ""
"properties instead, or, alternatively, run your plugin at a later stage "
"(e.g. ``all_generators_finalized``)."
msgstr ""
"请避免使用 ``content_object_init`` 信号读取content对象的 ``summary`` 或 "
"``content`` 属性,这可能导致在 :ref:`ref-linking-to-internal-content` 时无法"
"解析链接(请参阅 `pelican-plugins bug #314`_ )。请改用 ``_summary`` 和 "
"``_content`` 属性,或者就在后续阶段再运行插件(例如 ``all_generators_finalized`` 时)。"
"请避免使用 ``content_object_init`` 信号读取content对象的 ``summary`` 或 ``content`` "
"属性,这可能导致在 :ref:`ref-linking-to-internal-content` 时无法解析链接(请参阅 `pelican-"
"plugins bug #314`_ )。请改用 ``_summary`` 和 ``_content`` 属性,或者就在后续阶段再运行插件(例如 "
"``all_generators_finalized`` 时)。"
#: ../../plugins.rst:195 9222300d10c74a9eb27fc229488e63a4
#: ../../plugins.rst:197 77ca681d0d7a4a9ea42f7eebf683f024
msgid ""
"After Pelican 3.2, signal names were standardized. Older plugins may "
"need to be updated to use the new names:"
msgstr ""
"Pelican3.2之后,信号名都进行了标准化,较老的插件可能需要进行更新:"
msgstr "Pelican3.2之后,信号名都进行了标准化,较老的插件可能需要进行更新:"
#: ../../plugins.rst:199 2ba779a696064672965e17c70f70d927
#: ../../plugins.rst:201 c83f9215c5964ba49cb5ed849c777495
msgid "Old name"
msgstr "旧名称"
#: ../../plugins.rst:199 d21e933be9064983aa2cfaeca4f00cb9
#: ../../plugins.rst:201 167435de345b443fa51c27b355121e14
msgid "New name"
msgstr "新名称"
#: ../../plugins.rst:201 805ac7c62fc94113a3481890793f5417
#: ../../plugins.rst:203 bcdf136cbb2c4dedbd90f6e56f584c6b
msgid "article_generate_context"
msgstr "article_generate_context"
#: ../../plugins.rst:202 d6f1a03ae49349b091045c8079b80d44
#: ../../plugins.rst:204 60fe5b91f4a54f0997f93d927b0d81c4
msgid "article_generate_finalized"
msgstr "article_generate_finalized"
#: ../../plugins.rst:203 c967c8322a744c2c970beb6b98b90743
#: ../../plugins.rst:205 31252537627f4042b7f7b4e0a4a33aeb
msgid "article_generate_preread"
msgstr "article_generate_preread"
#: ../../plugins.rst:204 71adeb83fba74317ad0fac5784612a3d
#: ../../plugins.rst:206 719da4844a0a4b6fbb2cf2d9b7e51deb
msgid "pages_generate_context"
msgstr "pages_generate_context"
#: ../../plugins.rst:205 d2297a5ec351411e8a66a74d8168caa0
#: ../../plugins.rst:207 f7c865fd6824473aad024fc606235b48
msgid "pages_generate_preread"
msgstr "pages_generate_preread"
#: ../../plugins.rst:206 fb572935b7f445d298ff2c9c89c59c4e
#: ../../plugins.rst:208 74c47460bacf4fd68f2536580efb1480
msgid "pages_generator_finalized"
msgstr "pages_generator_finalized"
#: ../../plugins.rst:207 0bb615d8a6f643a3a1a9abac2ec4f712
#: ../../plugins.rst:209 b403e7f978c24d989d99587579f31d3c
msgid "pages_generator_init"
msgstr "pages_generator_init"
#: ../../plugins.rst:208 beddb5f81a62458b87c0703355a7b5a4
#: ../../plugins.rst:210 94e5184530c94cc48d00fd819fffd649
msgid "static_generate_context"
msgstr "static_generate_context"
#: ../../plugins.rst:209 8fe8895dcb464e11bb01657e975f1352
#: ../../plugins.rst:211 00ca2c730ad840f584d3f9dd30daf0cd
msgid "static_generate_preread"
msgstr "static_generate_preread"
#: ../../plugins.rst:213 44b14caddfd245c18cacd755fd0023e9
#: ../../plugins.rst:215 f8044e028ccd4d64954e24375a739cd2
msgid "Recipes"
msgstr "具体使用方法举例"
#: ../../plugins.rst:215 c24473f41cc84d028c99fa56af636037
#: ../../plugins.rst:217 0c441d12047240199025f2d3ac954167
msgid ""
"We eventually realised some of the recipes to create plugins would be "
"best shared in the documentation somewhere, so here they are!"
msgstr ""
"下面分享了一些创建插件的具体方法,请享用!"
msgstr "下面分享了一些创建插件的具体方法,请享用!"
#: ../../plugins.rst:219 96de26e8150e4339b3461d2dcc478cf3
#: ../../plugins.rst:221 bb96f2da7b3340cb9ed56ee1ad59796b
msgid "How to create a new reader"
msgstr "如何创建一个新的reader"
#: ../../plugins.rst:221 3f26c1183b814401b333bbd8528675d9
#: ../../plugins.rst:223 49dbbbd2c5ca4798a1b9d67b48630d36
msgid ""
"One thing you might want is to add support for your very own input "
"format. While it might make sense to add this feature in Pelican core, we"
" wisely chose to avoid this situation and instead have the different "
"readers defined via plugins."
msgstr ""
"你可能需要添加对输入文件格式的特殊支持。这似乎可以作为Pelican核心的一个功能"
"但我们选择避免将此功能放在核心中而是通过插件实现不同的reader。"
msgstr "你可能需要添加对输入文件格式的特殊支持。这似乎可以作为Pelican核心的一个功能但我们选择避免将此功能放在核心中而是通过插件实现不同的reader。"
#: ../../plugins.rst:226 8167dcbaa6864da3b2262a2a99e08a15
#: ../../plugins.rst:228 af8936c711204a0aa7c85835124065c5
msgid ""
"The rationale behind this choice is mainly that plugins are really easy "
"to write and don't slow down Pelican itself when they're not active."
msgstr ""
"做出这个决定主要是因为实现这样的格式支持插件非常容易,而且这样在不需要此功能时"
"也不会影响Pelican自身的速度。"
msgstr "做出这个决定主要是因为实现这样的格式支持插件非常容易而且这样在不需要此功能时也不会影响Pelican自身的速度。"
#: ../../plugins.rst:229 26c8185062964b52921860cfa2ce508c
#: ../../plugins.rst:231 11dac8bd71994c18a289086ec95a0273
msgid "No more talking — here is an example::"
msgstr "多说无益,下面是一个具体例子:"
#: ../../plugins.rst:265 ea51efb1925f45e79c87d6e5488cbbcd
#: ../../plugins.rst:267 f6bf903ae8de4ac183ecea699de568dc
msgid "Adding a new generator"
msgstr "添加新的generator"
#: ../../plugins.rst:267 9e04f17a5fa1488d82d3629edf8cdf3f
#: ../../plugins.rst:269 50d39b45550446a493a6d5d6eb971103
msgid ""
"Adding a new generator is also really easy. You might want to have a look"
" at :doc:`internals` for more information on how to create your own "
"generator."
msgstr ""
"添加一个generator也非常简单你可能会想要看一看 :doc:`internals` ,其中有关于"
"如何创建generator的内容。"
msgstr "添加一个generator也非常简单你可能会想要看一看 :doc:`internals` 其中有关于如何创建generator的内容。"
#: ../../plugins.rst:281 f4c92958e88a41a7a0deee697b48fc58
#: ../../plugins.rst:283 1b4bc8c2b02645dd81b06ffdbd759c36
msgid "Adding a new writer"
msgstr "添加新的writer"
#: ../../plugins.rst:283 188bf0e8a68446458ae525c67cfe098c
#: ../../plugins.rst:285 ac526121b895429d8412605bca594684
msgid ""
"Adding a writer will allow you to output additional file formats to disk,"
" or change how the existing formats are written to disk. Note that only "
"one writer will be active at a time, so be sure to either subclass the "
"built-in Writer, or completely re-implement it."
msgstr ""
"添加writer可以让你将其他文件格式输出到磁盘或者可以改变现有格式写入磁盘的方式。"
"请注意一次只能启用一个writer因此请确保继承了内置的Writer并且完全重新实现之。"
msgstr "添加writer可以让你将其他文件格式输出到磁盘或者可以改变现有格式写入磁盘的方式。请注意一次只能启用一个writer因此请确保继承了内置的Writer并且完全重新实现之。"
#: ../../plugins.rst:288 edb5d1fa15bc48859c2912ba7c344286
#: ../../plugins.rst:290 4335016710cd417ca9b8068cb7a45d51
msgid "Here is a basic example of how to set up your own writer::"
msgstr "下面是启用你的自定义writer的一个基本例子"
#: ../../plugins.rst:308 0df8f3318357472cbd72e17e1b5085b2
#: ../../plugins.rst:310 c65b371d4bf740c49dfe190407c9af69
msgid "Using Plugins to Inject Content"
msgstr "使用插件添加内容"
#: ../../plugins.rst:310 d0161dbe86c44111a6295259ec8cab54
#: ../../plugins.rst:312 9f180f86d09f43d7aff4607bb7deb6f1
msgid ""
"You can programmatically inject articles or pages using plugins. This can"
" be useful if you plan to fetch articles from an API, for example."
msgstr ""
"可以通过插件以可编程的方式添加文章或页面。如果你打算从某些API获取文章这就会很有用。"
msgstr "可以通过插件以可编程的方式添加文章或页面。如果你打算从某些API获取文章这就会很有用。"
#: ../../plugins.rst:313 5d5c41dbeb7243d4b497752771bc7858
#: ../../plugins.rst:315 a65dd6bb4d0e48438dcf6d545bfaa053
msgid ""
"Following is a simple example of how one can build a plugin that injects "
"a custom article, using the ``article_generator_pretaxonomy`` signal::"
msgstr ""
"下面是一个简单的示例,说明了如何使用 ``article_generator_pretaxonomy`` "
"信号构建一个添加自定义文章的插件:"
msgstr "下面是一个简单的示例,说明了如何使用 ``article_generator_pretaxonomy`` 信号构建一个添加自定义文章的插件:"

File diff suppressed because it is too large Load diff