diff --git a/docs/locales/zh_CN/LC_MESSAGES/changelog.mo b/docs/locales/zh_CN/LC_MESSAGES/changelog.mo new file mode 100644 index 00000000..058001a4 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/changelog.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/changelog.po b/docs/locales/zh_CN/LC_MESSAGES/changelog.po new file mode 100644 index 00000000..0f676d46 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/changelog.po @@ -0,0 +1,1668 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../changelog.rst:2 +msgid "Release history" +msgstr "更新日志" + +#: ../../changelog.rst:5 +msgid "4.9.1 - 2023-11-15" +msgstr "" + +#: ../../changelog.rst:7 +msgid "Ensure ``tzdata`` dependency is installed on Windows" +msgstr "" + +#: ../../changelog.rst:10 +msgid "4.9.0 - 2023-11-12" +msgstr "" + +#: ../../changelog.rst:12 +msgid "Upgrade code to new minimum supported Python version: 3.8" +msgstr "" + +#: ../../changelog.rst:13 +msgid "" +"Settings support for ``pathlib.Path`` `(#2758) " +"`_" +msgstr "" + +#: ../../changelog.rst:14 +msgid "" +"Various improvements to Simple theme (`#2976 " +"`_ & `#3234 " +"`_)" +msgstr "" + +#: ../../changelog.rst:15 +msgid "" +"Use Furo as Sphinx documentation theme `(#3023) " +"`_" +msgstr "" + +#: ../../changelog.rst:16 +msgid "" +"Default to 100 articles maximum in feeds `(#3127) " +"`_" +msgstr "" + +#: ../../changelog.rst:17 +msgid "" +"Add ``period_archives common context`` variable `(#3148) " +"`_" +msgstr "" + +#: ../../changelog.rst:18 +msgid "" +"Use ``watchfiles`` as the file-watching backend `(#3151) " +"`_" +msgstr "" + +#: ../../changelog.rst:19 +msgid "" +"Add GitHub Actions workflow for GitHub Pages `(#3189) " +"`_" +msgstr "" + +#: ../../changelog.rst:20 +msgid "" +"Allow dataclasses in settings `(#3204) " +"`_" +msgstr "" + +#: ../../changelog.rst:21 +msgid "" +"Switch build tool to PDM instead of Setuptools/Poetry `(#3220) " +"`_" +msgstr "" + +#: ../../changelog.rst:22 +msgid "" +"Provide a ``plugin_enabled`` Jinja test for themes `(#3235) " +"`_" +msgstr "" + +#: ../../changelog.rst:23 +msgid "" +"Preserve connection order in Blinker `(#3238) " +"`_" +msgstr "" + +#: ../../changelog.rst:24 +msgid "" +"Remove social icons from default ``notmyidea`` theme `(#3240) " +"`_" +msgstr "" + +#: ../../changelog.rst:25 +msgid "" +"Remove unreliable ``WRITE_SELECTED`` feature `(#3243) " +"`_" +msgstr "" + +#: ../../changelog.rst:26 +msgid "" +"Importer: Report broken embedded video links when importing from Tumblr " +"`(#3177) `_" +msgstr "" + +#: ../../changelog.rst:27 +msgid "" +"Importer: Remove newline addition when iterating Photo post types " +"`(#3178) `_" +msgstr "" + +#: ../../changelog.rst:28 +msgid "" +"Importer: Force timestamp conversion in Tumblr importer to be UTC with " +"offset `(#3221) `_" +msgstr "" + +#: ../../changelog.rst:29 +msgid "" +"Importer: Use tempfile for intermediate HTML file for Pandoc `(#3221) " +"`_" +msgstr "" + +#: ../../changelog.rst:30 +msgid "" +"Switch linters to Ruff `(#3223) " +"`_" +msgstr "" + +#: ../../changelog.rst:33 +msgid "4.8.0 - 2022-07-11" +msgstr "" + +#: ../../changelog.rst:35 +msgid "" +"Use JSON values for extra settings in Invoke tasks template `(#2994) " +"`_" +msgstr "" + +#: ../../changelog.rst:36 +msgid "" +"Add content tag for links, which can help with things like Twitter social" +" cards `(#3001) `_" +msgstr "" + +#: ../../changelog.rst:37 +msgid "" +"Improve word count behavior when generating summary `(#3002) " +"`_" +msgstr "" + +#: ../../changelog.rst:40 +msgid "4.7.2 - 2022-02-09" +msgstr "" + +#: ../../changelog.rst:42 +msgid "" +"Fix incorrect parsing of parameters specified via `-e` / `--extra-" +"settings` option flags `(#2938) " +"`_" +msgstr "" + +#: ../../changelog.rst:43 +msgid "" +"Add ``categories.html`` template to default theme `(#2973) " +"`_" +msgstr "" + +#: ../../changelog.rst:44 +msgid "" +"Document how to use plugins to inject content `(#2922) " +"`_" +msgstr "" + +#: ../../changelog.rst:47 +msgid "4.7.1 - 2021-10-12" +msgstr "" + +#: ../../changelog.rst:49 +msgid "" +"Extend rich logging to server component `(#2927) " +"`_" +msgstr "" + +#: ../../changelog.rst:50 +msgid "" +"Fix an issue where metadata flagged to be discarded was being cached " +"`(#2926) `_" +msgstr "" + +#: ../../changelog.rst:51 +msgid "" +"Adjust suffix in server to allow redirection when needed `(#2931) " +"`_" +msgstr "" + +#: ../../changelog.rst:52 +msgid "" +"Add MIME types for web fonts `(#2929) " +"`_" +msgstr "" + +#: ../../changelog.rst:53 +msgid "" +"Distribute sample data used to run tests `(#2935) " +"`_" +msgstr "" + +#: ../../changelog.rst:54 +msgid "Add Python 3.10 to test matrix" +msgstr "" + +#: ../../changelog.rst:57 +msgid "4.7.0 - 2021-10-01" +msgstr "" + +#: ../../changelog.rst:59 +msgid "" +"Improve default theme rendering on mobile and other small screen devices " +"`(#2914) `_" +msgstr "" + +#: ../../changelog.rst:60 +msgid "" +"Add support for hidden articles `(#2866) " +"`_" +msgstr "" + +#: ../../changelog.rst:61 +msgid "" +"Improve word count behavior when generating summary CJK & other locales " +"`(#2864) `_" +msgstr "" + +#: ../../changelog.rst:62 +msgid "" +"Add progress spinner during generation `(#2869) " +"`_ and richer logging " +"`(#2897) `_, both via " +"`Rich `_" +msgstr "" + +#: ../../changelog.rst:64 +msgid "" +"Invoke tasks ``serve`` and ``livereload`` now auto-open a web browser " +"pointing to the locally-served web site `(#2764) " +"`_" +msgstr "" + +#: ../../changelog.rst:65 +msgid "" +"Support some date format codes used by ISO dates `(#2902) " +"`_" +msgstr "" + +#: ../../changelog.rst:66 +msgid "" +"Document how to add a new writer `(#2901) " +"`_" +msgstr "" + +#: ../../changelog.rst:69 +msgid "4.6.0 - 2021-03-23" +msgstr "" + +#: ../../changelog.rst:71 +msgid "" +"Add new URL pattern to ``PAGINATION_PATTERNS`` for the last page in the " +"list `(#1401) `_" +msgstr "" + +#: ../../changelog.rst:72 +msgid "" +"Speed up ``livereload`` Invoke task via caching `(#2847) " +"`_" +msgstr "" + +#: ../../changelog.rst:73 +msgid "" +"Ignore ``None`` return value from ``get_generators`` signal `(#2850) " +"`_" +msgstr "" + +#: ../../changelog.rst:74 +msgid "Relax dependency minimum versions and remove upper bounds" +msgstr "" + +#: ../../changelog.rst:77 +msgid "4.5.4 - 2021-01-04" +msgstr "" + +#: ../../changelog.rst:79 +msgid "" +"Replace plugin definitions in settings with string representations after " +"registering, so they can be cached correctly `(#2828) " +"`_." +msgstr "" + +#: ../../changelog.rst:82 +msgid "4.5.3 - 2020-12-01" +msgstr "" + +#: ../../changelog.rst:84 +msgid "Fix a mistake made in PR #2821" +msgstr "" + +#: ../../changelog.rst:87 +msgid "4.5.2 - 2020-11-22" +msgstr "" + +#: ../../changelog.rst:89 +msgid "Improve logging of generators and writer loaders" +msgstr "" + +#: ../../changelog.rst:92 +msgid "4.5.1 - 2020-11-02" +msgstr "" + +#: ../../changelog.rst:94 +msgid "" +"Refactor intra-site link discovery in order to match more permissively " +"`(#2646) `_" +msgstr "" + +#: ../../changelog.rst:95 +msgid "" +"Fix plugins running twice in auto-reload mode `(#2817) " +"`_" +msgstr "" + +#: ../../changelog.rst:96 +msgid "" +"Add notice to use ``from pelican import signals`` instead of ``import " +"pelican.signals`` `(#2805) " +"`_" +msgstr "" + +#: ../../changelog.rst:99 +msgid "4.5.0 - 2020-08-20" +msgstr "" + +#: ../../changelog.rst:101 +msgid "Add namespace plugin support; list plugins via ``pelican-plugins`` command" +msgstr "" + +#: ../../changelog.rst:102 +msgid "Override settings via ``-e`` / ``--extra-settings`` CLI option flags" +msgstr "" + +#: ../../changelog.rst:103 +msgid "Add settings for custom Jinja globals and tests" +msgstr "" + +#: ../../changelog.rst:104 +msgid "Customize article summary ellipsis via ``SUMMARY_END_SUFFIX`` setting" +msgstr "" + +#: ../../changelog.rst:105 +msgid "Customize Typogrify dash handling via new ``TYPOGRIFY_DASHES`` setting" +msgstr "" + +#: ../../changelog.rst:106 +msgid "Support Unicode when generating slugs" +msgstr "" + +#: ../../changelog.rst:107 +msgid "Support Asciidoc ``.adoc`` file generation in Pelican importer" +msgstr "" + +#: ../../changelog.rst:108 +msgid "Improve user experience when ``pelican --listen`` web server is quit" +msgstr "" + +#: ../../changelog.rst:109 +msgid "Improve Invoke tasks template" +msgstr "" + +#: ../../changelog.rst:110 +msgid "Include tests in source distributions" +msgstr "" + +#: ../../changelog.rst:111 +msgid "Switch CI from Travis to GitHub Actions" +msgstr "" + +#: ../../changelog.rst:112 +msgid "Remove support for Python 2.7" +msgstr "" + +#: ../../changelog.rst:115 +msgid "4.2.0 - 2019-10-17" +msgstr "" + +#: ../../changelog.rst:117 +msgid "Support inline SVGs; don't treat titles in SVGs as HTML titles" +msgstr "" + +#: ../../changelog.rst:118 +msgid "Add category to feeds (in addition to tags)" +msgstr "" + +#: ../../changelog.rst:119 +msgid "Improve content metadata field docs" +msgstr "" + +#: ../../changelog.rst:120 +msgid "Add docs for including other Markdown/reST files in content" +msgstr "" + +#: ../../changelog.rst:123 +msgid "4.1.3 - 2019-10-09" +msgstr "" + +#: ../../changelog.rst:125 +msgid "Fix quick-start docs regarding ``pelican --listen``" +msgstr "" + +#: ../../changelog.rst:126 +msgid "Set default listen address to 127.0.0.1" +msgstr "" + +#: ../../changelog.rst:127 +msgid "Add extra/optional Markdown dependency to setup.py" +msgstr "" + +#: ../../changelog.rst:128 +msgid "Use correct SSH port syntax for rsync in tasks.py" +msgstr "" + +#: ../../changelog.rst:129 +msgid "Place all deprecated settings handling together" +msgstr "" + +#: ../../changelog.rst:130 +msgid "Add related project URLs for display on PyPI" +msgstr "" + +#: ../../changelog.rst:131 +msgid "Skip some tests on Windows that can't pass due to filesystem differences" +msgstr "" + +#: ../../changelog.rst:134 +msgid "4.1.2 - 2019-09-23" +msgstr "" + +#: ../../changelog.rst:136 +msgid "Fix pelican.settings.load_source to avoid caching issues - PR #2621" +msgstr "" + +#: ../../changelog.rst:139 +msgid "4.1.1 - 2019-08-23" +msgstr "" + +#: ../../changelog.rst:141 +msgid "Add AutoPub to auto-publish releases on PR merge" +msgstr "" + +#: ../../changelog.rst:142 +msgid "Add CSS classes for reStructuredText figures" +msgstr "" + +#: ../../changelog.rst:143 +msgid "Pass ``argv`` to Pelican ``main`` entrypoint" +msgstr "" + +#: ../../changelog.rst:144 +msgid "Set default content status to a blank string rather than ``None``" +msgstr "" + +#: ../../changelog.rst:147 +msgid "4.1.0 - 2019-07-14" +msgstr "" + +#: ../../changelog.rst:149 +msgid "Live browser reload upon changed files (provided via Invoke task)" +msgstr "" + +#: ../../changelog.rst:150 +msgid "Add ``pyproject.toml``, managed by Poetry" +msgstr "" + +#: ../../changelog.rst:151 +msgid "Support for invoking ``python -m pelican``" +msgstr "" + +#: ../../changelog.rst:152 +msgid "Add relative source path attribute to content" +msgstr "" + +#: ../../changelog.rst:153 +msgid "Allow directories in ``EXTRA_PATH_METADATA``" +msgstr "" + +#: ../../changelog.rst:154 +msgid "" +"Add ``all_articles`` variable to period pages (for recent posts " +"functionality)" +msgstr "" + +#: ../../changelog.rst:155 +msgid "Improve debug mode output" +msgstr "" + +#: ../../changelog.rst:156 +msgid "Remove blank or duplicate summaries from Atom feed" +msgstr "" + +#: ../../changelog.rst:157 +msgid "" +"Fix bugs in pagination, pelican-import, pelican-quickstart, and feed " +"importer" +msgstr "" + +#: ../../changelog.rst:160 +msgid "4.0.1 (2018-11-30)" +msgstr "" + +#: ../../changelog.rst:162 +msgid "Refactor ``pelican.server`` logging" +msgstr "" + +#: ../../changelog.rst:163 +msgid "Fix bug in which all static files were processed as \"draft\"" +msgstr "" + +#: ../../changelog.rst:164 +msgid "Bug fixes for Invoke/Makefile automation, Importer, and other miscellanea" +msgstr "" + +#: ../../changelog.rst:166 +#, python-format +msgid "" +"If upgrading from 3.7.x or earlier, please note that slug-related " +"settings in 4.0+ use ``{slug}`` and/or ``{lang}`` rather than ``%s``. If " +"``%s``-style settings are encountered, Pelican will emit a warning and " +"fall back to the default setting. Some user-submitted themes might try to" +" format setting values but fail upon site build with a ``TypeError``. In " +"such cases, the theme needs to be updated. For example, instead of " +"``TAG_FEED_ATOM|format(tag.slug)``, use " +"``TAG_FEED_ATOM.format(slug=tag.slug)``" +msgstr "" + +#: ../../changelog.rst:175 +msgid "4.0.0 (2018-11-13)" +msgstr "" + +#: ../../changelog.rst:177 +msgid "Replace ``develop_server.sh`` script with ``pelican --listen``" +msgstr "" + +#: ../../changelog.rst:178 +msgid "Improved copy/link behavior for large static files (e.g., videos)" +msgstr "" + +#: ../../changelog.rst:179 +msgid "" +"New ``{static}`` syntax to link to static content; content linked to by " +"``{static}`` and ``{attach}`` is automatically copied over even if not in" +" ``STATIC_PATHS``" +msgstr "" + +#: ../../changelog.rst:182 +msgid "Pages can now have ``draft`` status" +msgstr "" + +#: ../../changelog.rst:183 +msgid "Show current settings via new ``--print-settings`` flag" +msgstr "" + +#: ../../changelog.rst:184 +#, python-format +msgid "" +"All settings for slugs now use ``{slug}`` and/or ``{lang}`` rather than " +"``%s``. If ``%s``-style settings are encountered, Pelican will emit a " +"warning and fallback to the default setting." +msgstr "" + +#: ../../changelog.rst:187 +msgid "New signals: ``feed_generated`` and ``page_generated_write_page``" +msgstr "" + +#: ../../changelog.rst:188 +msgid "Replace Fabric with Invoke and ``fabfile.py`` template with ``tasks.py``" +msgstr "" + +#: ../../changelog.rst:189 +msgid "" +"Replace ``PAGINATED_DIRECT_TEMPLATES`` by ``PAGINATED_TEMPLATES``, " +"extending control over pagination to all templates and making page size " +"variable" +msgstr "" + +#: ../../changelog.rst:191 +msgid "" +"Replace ``SLUG_SUBSTITUTIONS`` (and friends) by " +"``SLUG_REGEX_SUBSTITUTIONS`` for more finegrained control" +msgstr "" + +#: ../../changelog.rst:193 +msgid "" +"``'{base_name}'`` value in ``PAGINATION_PATTERNS`` setting no longer " +"strips ``'bar'`` from ``'foo/bar.html'`` (unless ``'bar' == 'index'``)." +msgstr "" + +#: ../../changelog.rst:195 +msgid "" +"``ARTICLE_ORDER_BY`` and ``PAGE_ORDER_BY`` now also affect 1) category, " +"tag and author pages 2) feeds 3) draft and hidden articles and pages" +msgstr "" + +#: ../../changelog.rst:197 +msgid "" +"New ``ARTICLE_TRANSLATION_ID`` and ``PAGE_TRANSLATION_ID`` settings to " +"specify metadata attributes used to identify/disable translations" +msgstr "" + +#: ../../changelog.rst:199 +msgid "Make the HTML reader parse multiple occurrences of metadata tags as a list" +msgstr "" + +#: ../../changelog.rst:200 +msgid "New Blogger XML backup importer" +msgstr "" + +#: ../../changelog.rst:201 +msgid "" +"Wordpress importer now updates file links to point to local copies if the" +" files were downloaded with ``--wp-attach``." +msgstr "" + +#: ../../changelog.rst:203 +msgid "" +"Importer no longer inserts extra newlines, to prevent breaking of HTML " +"attributes." +msgstr "" + +#: ../../changelog.rst:205 +msgid "" +"Pelican server now prioritises ``foo.html`` and ``foo/index.html`` over " +"``foo/`` when resolving ``foo``." +msgstr "" + +#: ../../changelog.rst:209 +msgid "3.7.1 (2017-01-10)" +msgstr "" + +#: ../../changelog.rst:211 +msgid "Fix locale issues in Quickstart script" +msgstr "" + +#: ../../changelog.rst:212 +msgid "Specify encoding for README and CHANGELOG in setup.py" +msgstr "" + +#: ../../changelog.rst:215 +msgid "3.7.0 (2016-12-12)" +msgstr "" + +#: ../../changelog.rst:217 +msgid "Atom feeds output ```` in addition to ````" +msgstr "" + +#: ../../changelog.rst:218 +msgid "" +"Atom feeds use ```` for the original publication date and " +"```` for modifications" +msgstr "" + +#: ../../changelog.rst:220 +msgid "Simplify Atom feed ID generation and support URL fragments" +msgstr "" + +#: ../../changelog.rst:221 +msgid "Produce category feeds with category-specific titles" +msgstr "" + +#: ../../changelog.rst:222 +msgid "" +"RSS feeds now default to summary instead of full content; set " +"``RSS_FEED_SUMMARY_ONLY = False`` to revert to previous behavior" +msgstr "" + +#: ../../changelog.rst:224 +msgid "Replace ``MD_EXTENSIONS`` with ``MARKDOWN`` setting" +msgstr "" + +#: ../../changelog.rst:225 +msgid "" +"Replace ``JINJA_EXTENSIONS`` with more-robust ``JINJA_ENVIRONMENT`` " +"setting" +msgstr "" + +#: ../../changelog.rst:226 +msgid "" +"Improve summary truncation logic to handle special characters and tags " +"that span multiple lines, using HTML parser instead of regular " +"expressions" +msgstr "" + +#: ../../changelog.rst:228 +msgid "Include summary when looking for intra-site link substitutions" +msgstr "" + +#: ../../changelog.rst:229 +msgid "Link to authors and index via ``{author}name`` and ``{index}`` syntax" +msgstr "" + +#: ../../changelog.rst:230 +msgid "Override widget names via ``LINKS_WIDGET_NAME`` and ``SOCIAL_WIDGET_NAME``" +msgstr "" + +#: ../../changelog.rst:231 +msgid "Add ``INDEX_SAVE_AS`` option to override default ``index.html`` value" +msgstr "" + +#: ../../changelog.rst:232 +msgid "Remove ``PAGES`` context variable for themes in favor of ``pages``" +msgstr "" + +#: ../../changelog.rst:233 +msgid "" +"``SLUG_SUBSTITUTIONS`` now accepts 3-tuple elements, allowing URL slugs " +"to contain non-alphanumeric characters" +msgstr "" + +#: ../../changelog.rst:235 +msgid "" +"Tag and category slugs can be controlled with greater precision using the" +" ``TAG_SUBSTITUTIONS`` and ``CATEGORY_SUBSTITUTIONS`` settings" +msgstr "" + +#: ../../changelog.rst:237 +msgid "" +"Author slugs can be controlled with greater precision using the " +"``AUTHOR_SUBSTITUTIONS`` setting" +msgstr "" + +#: ../../changelog.rst:239 +msgid "``DEFAULT_DATE`` can be defined as a string" +msgstr "" + +#: ../../changelog.rst:240 +msgid "Use ``mtime`` instead of ``ctime`` when ``DEFAULT_DATE = 'fs'``" +msgstr "" + +#: ../../changelog.rst:241 +msgid "Add ``--fatal=errors|warnings`` option for use with continuous integration" +msgstr "" + +#: ../../changelog.rst:242 +msgid "" +"When using generator-level caching, ensure previously-cached files are " +"processed instead of just new files." +msgstr "" + +#: ../../changelog.rst:244 +msgid "Add Python and Pelican version information to debug output" +msgstr "" + +#: ../../changelog.rst:245 +msgid "Improve compatibility with Python 3.5" +msgstr "" + +#: ../../changelog.rst:246 +msgid "Comply with and enforce PEP8 guidelines" +msgstr "" + +#: ../../changelog.rst:247 +msgid "Replace tables in settings documentation with ``data::`` directives" +msgstr "" + +#: ../../changelog.rst:250 +msgid "3.6.3 (2015-08-14)" +msgstr "" + +#: ../../changelog.rst:252 +msgid "Fix permissions issue in release tarball" +msgstr "" + +#: ../../changelog.rst:255 +msgid "3.6.2 (2015-08-01)" +msgstr "" + +#: ../../changelog.rst:257 +msgid "Fix installation errors related to Unicode in tests" +msgstr "" + +#: ../../changelog.rst:258 +msgid "Don't show pagination in ``notmyidea`` theme if there's only one page" +msgstr "" + +#: ../../changelog.rst:259 +msgid "Make hidden pages available in context" +msgstr "" + +#: ../../changelog.rst:260 +msgid "Improve URLWrapper comparison" +msgstr "" + +#: ../../changelog.rst:263 +msgid "3.6.0 (2015-06-15)" +msgstr "" + +#: ../../changelog.rst:265 +msgid "Disable caching by default in order to prevent potential confusion" +msgstr "" + +#: ../../changelog.rst:266 +msgid "Improve caching behavior, replacing ``pickle`` with ``cpickle``" +msgstr "" + +#: ../../changelog.rst:267 +msgid "Allow Markdown or reST content in metadata fields other than ``summary``" +msgstr "" + +#: ../../changelog.rst:268 +msgid "Support semicolon-separated author/tag lists" +msgstr "" + +#: ../../changelog.rst:269 +msgid "Improve flexibility of article sorting" +msgstr "" + +#: ../../changelog.rst:270 +msgid "Add ``--relative-urls`` argument" +msgstr "" + +#: ../../changelog.rst:271 +msgid "Support devserver listening on addresses other than localhost" +msgstr "" + +#: ../../changelog.rst:272 +msgid "Unify HTTP server handlers to ``pelican.server`` throughout" +msgstr "" + +#: ../../changelog.rst:273 +msgid "Handle intra-site links to draft posts" +msgstr "" + +#: ../../changelog.rst:274 +msgid "Move ``tag_cloud`` from core to plugin" +msgstr "" + +#: ../../changelog.rst:275 +msgid "Load default theme's external resources via HTTPS" +msgstr "" + +#: ../../changelog.rst:276 +msgid "Import drafts from WordPress XML" +msgstr "" + +#: ../../changelog.rst:277 +msgid "Improve support for Windows users" +msgstr "" + +#: ../../changelog.rst:278 +msgid "Enhance logging and test suite" +msgstr "" + +#: ../../changelog.rst:279 +msgid "Clean up and refactor codebase" +msgstr "" + +#: ../../changelog.rst:280 +msgid "New signals: ``all_generators_finalized`` and ``page_writer_finalized``" +msgstr "" + +#: ../../changelog.rst:283 +msgid "3.5.0 (2014-11-04)" +msgstr "" + +#: ../../changelog.rst:285 +msgid "" +"Introduce ``ARTICLE_ORDER_BY`` and ``PAGE_ORDER_BY`` settings to control " +"the order of articles and pages." +msgstr "" + +#: ../../changelog.rst:287 +msgid "Include time zone information in dates rendered in templates." +msgstr "" + +#: ../../changelog.rst:288 +msgid "Expose the reader name in the metadata for articles and pages." +msgstr "" + +#: ../../changelog.rst:289 +msgid "" +"Add the ability to store static files along with content in the same " +"directory as articles and pages using ``{attach}`` in the path." +msgstr "" + +#: ../../changelog.rst:291 +msgid "" +"Prevent Pelican from raising an exception when there are duplicate pieces" +" of metadata in a Markdown file." +msgstr "" + +#: ../../changelog.rst:293 +msgid "" +"Introduce the ``TYPOGRIFY_IGNORE_TAGS`` setting to add HTML tags to be " +"ignored by Typogrify." +msgstr "" + +#: ../../changelog.rst:295 +#, python-format +msgid "" +"Add the ability to use ``-`` in date formats to strip leading zeros. For " +"example, ``%-d/%-m/%y`` will now result in the date ``9/8/12``." +msgstr "" + +#: ../../changelog.rst:297 +msgid "" +"Ensure feed generation is correctly disabled during quickstart " +"configuration." +msgstr "" + +#: ../../changelog.rst:298 +msgid "" +"Fix ``PAGE_EXCLUDES`` and ``ARTICLE_EXCLUDES`` from incorrectly matching " +"sub-directories." +msgstr "" + +#: ../../changelog.rst:300 +msgid "Introduce ``STATIC_EXCLUDE`` setting to add static file excludes." +msgstr "" + +#: ../../changelog.rst:301 +msgid "" +"Fix an issue when using ``PAGINATION_PATTERNS`` while ``RELATIVE_URLS`` " +"is enabled." +msgstr "" + +#: ../../changelog.rst:303 +msgid "" +"Fix feed generation causing links to use the wrong language for month " +"names when using other locales." +msgstr "" + +#: ../../changelog.rst:305 +msgid "" +"Fix an issue where the authors list in the simple template wasn't " +"correctly formatted." +msgstr "" + +#: ../../changelog.rst:307 +msgid "Fix an issue when parsing non-string URLs from settings." +msgstr "" + +#: ../../changelog.rst:308 +msgid "Improve consistency of debug and warning messages." +msgstr "" + +#: ../../changelog.rst:311 +msgid "3.4.0 (2014-07-01)" +msgstr "" + +#: ../../changelog.rst:313 +msgid "Speed up content generation via new caching mechanism" +msgstr "" + +#: ../../changelog.rst:314 +msgid "Add selective post generation (instead of always building entire site)" +msgstr "" + +#: ../../changelog.rst:315 +msgid "Many documentation improvements, including switching to prettier RtD theme" +msgstr "" + +#: ../../changelog.rst:316 +msgid "Add support for multiple content and plugin paths" +msgstr "" + +#: ../../changelog.rst:317 +msgid "" +"Add ``:modified:`` metadata field to complement ``:date:``. Used to " +"specify the last date and time an article was updated independently from " +"the date and time it was published." +msgstr "" + +#: ../../changelog.rst:320 +msgid "Add support for multiple authors via new ``:authors:`` metadata field" +msgstr "" + +#: ../../changelog.rst:321 +msgid "Watch for changes in static directories when in auto-regeneration mode" +msgstr "" + +#: ../../changelog.rst:322 +msgid "Add filters to limit log output when desired" +msgstr "" + +#: ../../changelog.rst:323 +msgid "Add language support to drafts" +msgstr "" + +#: ../../changelog.rst:324 +msgid "Add ``SLUGIFY_SOURCE`` setting to control how post slugs are generated" +msgstr "" + +#: ../../changelog.rst:325 +msgid "Fix many issues relating to locale and encoding" +msgstr "" + +#: ../../changelog.rst:326 +msgid "Apply Typogrify filter to post summary" +msgstr "" + +#: ../../changelog.rst:327 +msgid "" +"Preserve file metadata (e.g. time stamps) when copying static files to " +"output" +msgstr "" + +#: ../../changelog.rst:328 +msgid "Move AsciiDoc support from Pelican core into separate plugin" +msgstr "" + +#: ../../changelog.rst:329 +msgid "" +"Produce inline links instead of reference-style links when importing " +"content" +msgstr "" + +#: ../../changelog.rst:330 +msgid "Improve handling of ``IGNORE_FILES`` setting behavior" +msgstr "" + +#: ../../changelog.rst:331 +msgid "Properly escape symbol characters in tag names (e.g., ``C++``)" +msgstr "" + +#: ../../changelog.rst:332 +msgid "Minor tweaks for Python 3.4 compatibility" +msgstr "" + +#: ../../changelog.rst:333 +msgid "Add several new signals" +msgstr "" + +#: ../../changelog.rst:336 +msgid "3.3.0 (2013-09-24)" +msgstr "" + +#: ../../changelog.rst:338 +msgid "Drop Python 3.2 support in favor of Python 3.3" +msgstr "" + +#: ../../changelog.rst:339 +msgid "" +"Add ``Fabfile`` so Fabric can be used for workflow automation instead of " +"Make" +msgstr "" + +#: ../../changelog.rst:340 +msgid "" +"``OUTPUT_RETENTION`` setting can be used to preserve metadata (e.g., VCS " +"data such as ``.hg`` and ``.git``) from being removed from output " +"directory" +msgstr "" + +#: ../../changelog.rst:342 +msgid "Tumblr import" +msgstr "" + +#: ../../changelog.rst:343 +msgid "Improve logic and consistency when cleaning output folder" +msgstr "" + +#: ../../changelog.rst:344 +msgid "Improve documentation versioning and release automation" +msgstr "" + +#: ../../changelog.rst:345 +msgid "Improve pagination flexibility" +msgstr "" + +#: ../../changelog.rst:346 +msgid "" +"Rename signals for better consistency (some plugins may need to be " +"updated)" +msgstr "" + +#: ../../changelog.rst:347 +msgid "" +"Move metadata extraction from generators to readers; metadata extraction " +"no longer article-specific" +msgstr "" + +#: ../../changelog.rst:349 +msgid "" +"Deprecate ``FILES_TO_COPY`` in favor of ``STATIC_PATHS`` and " +"``EXTRA_PATH_METADATA``" +msgstr "" + +#: ../../changelog.rst:351 +msgid "Summaries in Markdown posts no longer include footnotes" +msgstr "" + +#: ../../changelog.rst:352 +msgid "" +"Remove unnecessary whitespace in output via ``lstrip_blocks`` Jinja " +"parameter" +msgstr "" + +#: ../../changelog.rst:353 +msgid "Move PDF generation from core to plugin" +msgstr "" + +#: ../../changelog.rst:354 +msgid "Replace ``MARKUP`` setting with ``READERS``" +msgstr "" + +#: ../../changelog.rst:355 +msgid "Add warning if img tag is missing ``alt`` attribute" +msgstr "" + +#: ../../changelog.rst:356 +msgid "Add support for ``{}`` in relative links syntax, besides ``||``" +msgstr "" + +#: ../../changelog.rst:357 +msgid "Add support for ``{tag}`` and ``{category}`` relative links" +msgstr "" + +#: ../../changelog.rst:358 +msgid "Add a ``content_written`` signal" +msgstr "" + +#: ../../changelog.rst:361 +msgid "3.2.1 and 3.2.2" +msgstr "" + +#: ../../changelog.rst:363 +msgid "Facilitate inclusion in FreeBSD Ports Collection" +msgstr "" + +#: ../../changelog.rst:366 +msgid "3.2 (2013-04-24)" +msgstr "" + +#: ../../changelog.rst:368 +msgid "Support for Python 3!" +msgstr "" + +#: ../../changelog.rst:369 +msgid "" +"Override page save-to location from meta-data (enables using a static " +"page as the site's home page, for example)" +msgstr "" + +#: ../../changelog.rst:371 +msgid "Time period archives (per-year, per-month, and per-day archives of posts)" +msgstr "" + +#: ../../changelog.rst:372 +msgid "Posterous blog import" +msgstr "" + +#: ../../changelog.rst:373 +msgid "Improve WordPress blog import" +msgstr "" + +#: ../../changelog.rst:374 +msgid "Migrate plugins to separate repository" +msgstr "" + +#: ../../changelog.rst:375 +msgid "Improve HTML parser" +msgstr "" + +#: ../../changelog.rst:376 +msgid "" +"Provide ability to show or hide categories from menu using " +"``DISPLAY_CATEGORIES_ON_MENU`` option" +msgstr "" + +#: ../../changelog.rst:378 +msgid "Auto-regeneration can be told to ignore files via ``IGNORE_FILES`` setting" +msgstr "" + +#: ../../changelog.rst:379 +msgid "Improve post-generation feedback to user" +msgstr "" + +#: ../../changelog.rst:380 +msgid "" +"For multilingual posts, use meta-data to designate which is the original " +"and which is the translation" +msgstr "" + +#: ../../changelog.rst:382 +msgid "Add ``.mdown`` to list of supported Markdown file extensions" +msgstr "" + +#: ../../changelog.rst:383 +msgid "Document-relative URL generation (``RELATIVE_URLS``) is now off by default" +msgstr "" + +#: ../../changelog.rst:386 +msgid "3.1 (2012-12-04)" +msgstr "" + +#: ../../changelog.rst:388 +msgid "" +"Importer now stores slugs within files by default. This can be disabled " +"with the ``--disable-slugs`` option." +msgstr "" + +#: ../../changelog.rst:390 +msgid "Improve handling of links to intra-site resources" +msgstr "" + +#: ../../changelog.rst:391 +msgid "" +"Ensure WordPress import adds paragraphs for all types of line endings in " +"post content" +msgstr "" + +#: ../../changelog.rst:393 +msgid "Decode HTML entities within WordPress post titles on import" +msgstr "" + +#: ../../changelog.rst:394 +msgid "Improve appearance of LinkedIn icon in default theme" +msgstr "" + +#: ../../changelog.rst:395 +msgid "Add GitHub and Google+ social icons support in default theme" +msgstr "" + +#: ../../changelog.rst:396 +msgid "Optimize social icons" +msgstr "" + +#: ../../changelog.rst:397 +msgid "" +"Add ``FEED_ALL_ATOM`` and ``FEED_ALL_RSS`` to generate feeds containing " +"all posts regardless of their language" +msgstr "" + +#: ../../changelog.rst:399 +msgid "" +"Split ``TRANSLATION_FEED`` into ``TRANSLATION_FEED_ATOM`` and " +"``TRANSLATION_FEED_RSS``" +msgstr "" + +#: ../../changelog.rst:401 +msgid "Different feeds can now be enabled/disabled individually" +msgstr "" + +#: ../../changelog.rst:402 +msgid "" +"Allow for blank author: if ``AUTHOR`` setting is not set, author won't " +"default to ``${USER}`` anymore, and a post won't contain any author " +"information if the post author is empty" +msgstr "" + +#: ../../changelog.rst:405 +msgid "Move LESS and Webassets support from Pelican core to plugin" +msgstr "" + +#: ../../changelog.rst:406 +msgid "" +"The ``DEFAULT_DATE`` setting now defaults to ``None``, which means that " +"articles won't be generated unless date metadata is specified" +msgstr "" + +#: ../../changelog.rst:408 +msgid "" +"Add ``FILENAME_METADATA`` setting to support metadata extraction from " +"filename" +msgstr "" + +#: ../../changelog.rst:410 +msgid "" +"Add ``gzip_cache`` plugin to compress common text files into a ``.gz`` " +"file within the same directory as the original file, preventing the " +"server (e.g. Nginx) from having to compress files during an HTTP call" +msgstr "" + +#: ../../changelog.rst:413 +msgid "Add support for AsciiDoc-formatted content" +msgstr "" + +#: ../../changelog.rst:414 +msgid "" +"Add ``USE_FOLDER_AS_CATEGORY`` setting so that feature can be toggled " +"on/off" +msgstr "" + +#: ../../changelog.rst:415 +msgid "Support arbitrary Jinja template files" +msgstr "" + +#: ../../changelog.rst:416 +msgid "Restore basic functional tests" +msgstr "" + +#: ../../changelog.rst:417 +msgid "" +"New signals: ``generator_init``, ``get_generators``, and " +"``article_generate_preread``" +msgstr "" + +#: ../../changelog.rst:421 +msgid "3.0 (2012-08-08)" +msgstr "" + +#: ../../changelog.rst:423 +msgid "Refactored the way URLs are handled" +msgstr "" + +#: ../../changelog.rst:424 +msgid "Improved the English documentation" +msgstr "" + +#: ../../changelog.rst:425 +msgid "Fixed packaging using ``setuptools`` entrypoints" +msgstr "" + +#: ../../changelog.rst:426 +msgid "Added ``typogrify`` support" +msgstr "" + +#: ../../changelog.rst:427 +msgid "Added a way to disable feed generation" +msgstr "" + +#: ../../changelog.rst:428 +msgid "Added support for ``DIRECT_TEMPLATES``" +msgstr "" + +#: ../../changelog.rst:429 +msgid "Allow multiple extensions for content files" +msgstr "" + +#: ../../changelog.rst:430 +msgid "Added LESS support" +msgstr "" + +#: ../../changelog.rst:431 +msgid "Improved the import script" +msgstr "" + +#: ../../changelog.rst:432 +msgid "Added functional tests" +msgstr "" + +#: ../../changelog.rst:433 +msgid "Rsync support in the generated Makefile" +msgstr "" + +#: ../../changelog.rst:434 +msgid "Improved feed support (easily pluggable with Feedburner for instance)" +msgstr "" + +#: ../../changelog.rst:435 +msgid "Added support for ``abbr`` in reST" +msgstr "" + +#: ../../changelog.rst:436 +msgid "Fixed a bunch of bugs :-)" +msgstr "" + +#: ../../changelog.rst:439 +msgid "2.8 (2012-02-28)" +msgstr "" + +#: ../../changelog.rst:441 +msgid "Dotclear importer" +msgstr "" + +#: ../../changelog.rst:442 +msgid "Allow the usage of Markdown extensions" +msgstr "" + +#: ../../changelog.rst:443 +msgid "Themes are now easily extensible" +msgstr "" + +#: ../../changelog.rst:444 +msgid "Don't output pagination information if there is only one page" +msgstr "" + +#: ../../changelog.rst:445 +msgid "Add a page per author, with all their articles" +msgstr "" + +#: ../../changelog.rst:446 +msgid "Improved the test suite" +msgstr "" + +#: ../../changelog.rst:447 +msgid "Made the themes easier to extend" +msgstr "" + +#: ../../changelog.rst:448 +msgid "Removed Skribit support" +msgstr "" + +#: ../../changelog.rst:449 +msgid "Added a ``pelican-quickstart`` script" +msgstr "" + +#: ../../changelog.rst:450 +msgid "Fixed timezone-related issues" +msgstr "" + +#: ../../changelog.rst:451 +msgid "Added some scripts for Windows support" +msgstr "" + +#: ../../changelog.rst:452 +msgid "Date can be specified in seconds" +msgstr "" + +#: ../../changelog.rst:453 +msgid "Never fail when generating posts (skip and continue)" +msgstr "" + +#: ../../changelog.rst:454 +msgid "Allow the use of future dates" +msgstr "" + +#: ../../changelog.rst:455 +msgid "Support having different timezones per language" +msgstr "" + +#: ../../changelog.rst:456 +msgid "Enhanced the documentation" +msgstr "" + +#: ../../changelog.rst:459 +msgid "2.7 (2011-06-11)" +msgstr "" + +#: ../../changelog.rst:461 +msgid "Use ``logging`` rather than echoing to stdout" +msgstr "" + +#: ../../changelog.rst:462 +msgid "Support custom Jinja filters" +msgstr "" + +#: ../../changelog.rst:463 +msgid "Compatibility with Python 2.5" +msgstr "" + +#: ../../changelog.rst:464 +msgid "Added a theme manager" +msgstr "" + +#: ../../changelog.rst:465 +msgid "Packaged for Debian" +msgstr "" + +#: ../../changelog.rst:466 +msgid "Added draft support" +msgstr "" + +#: ../../changelog.rst:469 +msgid "2.6 (2011-03-08)" +msgstr "" + +#: ../../changelog.rst:471 +msgid "Changes in the output directory structure" +msgstr "" + +#: ../../changelog.rst:472 +msgid "Makes templates easier to work with / create" +msgstr "" + +#: ../../changelog.rst:473 +msgid "Added RSS support (was Atom-only)" +msgstr "" + +#: ../../changelog.rst:474 +msgid "Added tag support for the feeds" +msgstr "" + +#: ../../changelog.rst:475 +msgid "Enhance the documentation" +msgstr "" + +#: ../../changelog.rst:476 +msgid "Added another theme (brownstone)" +msgstr "" + +#: ../../changelog.rst:477 +msgid "Added translations" +msgstr "" + +#: ../../changelog.rst:478 +msgid "Added a way to use cleaner URLs with a rewrite url module (or equivalent)" +msgstr "" + +#: ../../changelog.rst:479 +msgid "Added a tag cloud" +msgstr "" + +#: ../../changelog.rst:480 +msgid "" +"Added an autoreloading feature: the blog is automatically regenerated " +"each time a modification is detected" +msgstr "" + +#: ../../changelog.rst:482 +msgid "Translate the documentation into French" +msgstr "" + +#: ../../changelog.rst:483 +msgid "Import a blog from an RSS feed" +msgstr "" + +#: ../../changelog.rst:484 +msgid "Pagination support" +msgstr "" + +#: ../../changelog.rst:485 +msgid "Added Skribit support" +msgstr "" + +#: ../../changelog.rst:488 +msgid "2.5 (2010-11-20)" +msgstr "" + +#: ../../changelog.rst:490 +msgid "Import from WordPress" +msgstr "" + +#: ../../changelog.rst:491 +msgid "Added some new themes (martyalchin / wide-notmyidea)" +msgstr "" + +#: ../../changelog.rst:492 +msgid "First bug report!" +msgstr "" + +#: ../../changelog.rst:493 +msgid "Linkedin support" +msgstr "" + +#: ../../changelog.rst:494 +msgid "Added a FAQ" +msgstr "" + +#: ../../changelog.rst:495 +msgid "Google Analytics support" +msgstr "" + +#: ../../changelog.rst:496 +msgid "Twitter support" +msgstr "" + +#: ../../changelog.rst:497 +msgid "Use relative URLs, not static ones" +msgstr "" + +#: ../../changelog.rst:500 +msgid "2.4 (2010-11-06)" +msgstr "" + +#: ../../changelog.rst:502 +msgid "Minor themes changes" +msgstr "" + +#: ../../changelog.rst:503 +msgid "Add Disqus support (so we have comments)" +msgstr "" + +#: ../../changelog.rst:504 +msgid "Another code refactoring" +msgstr "" + +#: ../../changelog.rst:505 +msgid "Added config settings about pages" +msgstr "" + +#: ../../changelog.rst:506 +msgid "Blog entries can also be generated in PDF" +msgstr "" + +#: ../../changelog.rst:509 +msgid "2.3 (2010-10-31)" +msgstr "" + +#: ../../changelog.rst:511 +msgid "Markdown support" +msgstr "" + +#: ../../changelog.rst:514 +msgid "2.2 (2010-10-30)" +msgstr "" + +#: ../../changelog.rst:516 +msgid "Prettify output" +msgstr "" + +#: ../../changelog.rst:517 +msgid "Manages static pages as well" +msgstr "" + +#: ../../changelog.rst:520 +msgid "2.1 (2010-10-30)" +msgstr "" + +#: ../../changelog.rst:522 +msgid "Make notmyidea the default theme" +msgstr "" + +#: ../../changelog.rst:525 +msgid "2.0 (2010-10-30)" +msgstr "" + +#: ../../changelog.rst:527 +msgid "Refactoring to be more extensible" +msgstr "" + +#: ../../changelog.rst:528 +msgid "Change into the setting variables" +msgstr "" + +#: ../../changelog.rst:531 +msgid "1.2 (2010-09-28)" +msgstr "" + +#: ../../changelog.rst:533 +msgid "Added a debug option" +msgstr "" + +#: ../../changelog.rst:534 +msgid "Added per-category feeds" +msgstr "" + +#: ../../changelog.rst:535 +msgid "Use filesystem to get dates if no metadata is provided" +msgstr "" + +#: ../../changelog.rst:536 +msgid "Add Pygments support" +msgstr "" + +#: ../../changelog.rst:539 +msgid "1.1 (2010-08-19)" +msgstr "" + +#: ../../changelog.rst:541 +msgid "First working version" +msgstr "" diff --git a/docs/locales/zh_CN/LC_MESSAGES/content.mo b/docs/locales/zh_CN/LC_MESSAGES/content.mo new file mode 100644 index 00000000..4ccee472 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/content.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/content.po b/docs/locales/zh_CN/LC_MESSAGES/content.po new file mode 100644 index 00000000..194de722 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/content.po @@ -0,0 +1,1041 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-03-13 10:21+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../content.rst:2 +msgid "Writing content" +msgstr "创作内容" + +#: ../../content.rst:5 +msgid "Articles and pages" +msgstr "文章和页面" + +#: ../../content.rst:7 +msgid "" +"Pelican considers \"articles\" to be chronological content, such as posts" +" on a blog, and thus associated with a date." +msgstr "Pelican将“文章”视为有时间顺序的内容,例如博客上的博文就是文章。" + +#: ../../content.rst:10 +msgid "" +"The idea behind \"pages\" is that they are usually not temporal in nature" +" and are used for content that does not change very often (e.g., " +"\"About\" or \"Contact\" pages)." +msgstr "“页面”指的是本质上通常不是临时的内容这些内容不会经常改变(例如“关于”“联系我们”这样的,就可以看成“页面”)" + +#: ../../content.rst:14 +msgid "You can find sample content in the repository at ``samples/content/``." +msgstr "在代码仓库的 ``samples/content/`` 文件夹下有一些内容示例供您查看。" + +#: ../../content.rst:19 +msgid "File metadata" +msgstr "文件元数据" + +#: ../../content.rst:21 +msgid "" +"Pelican tries to be smart enough to get the information it needs from the" +" file system (for instance, about the category of your articles), but " +"some information you need to provide in the form of metadata inside your " +"files." +msgstr "Pelican可以从文件系统中自动地获取一些信息(例如文章的分类),但是有些信息需要您以元数据的形式在文件中提供。" + +#: ../../content.rst:25 +msgid "" +"If you are writing your content in reStructuredText format, you can " +"provide this metadata in text files via the following syntax (give your " +"file the ``.rst`` extension)::" +msgstr "如果您用reStructuredText的格式进行内容创作,您可以按照下面的语法在文本文件中提供元数据(请给文本文件加上 ``.rst`` 的后缀)" + +#: ../../content.rst:40 +msgid "" +"Author and tag lists may be semicolon-separated instead, which allows you" +" to write authors and tags containing commas::" +msgstr "如果有多个作者或多个文章标签,需要将他们以分号分隔,这样就可以在作者或标签中包含逗号了:" + +#: ../../content.rst:46 +msgid "" +"Pelican implements an extension to reStructuredText to enable support for" +" the ``abbr`` HTML tag. To use it, write something like this in your " +"post::" +msgstr "Pelican在reStructuredText上实现了 ``abbr`` HTML标签的使用支持。在正文部分按照下面的形式书写即可。" + +#: ../../content.rst:51 +msgid "" +"You can also use Markdown syntax (with a file ending in ``.md``, " +"``.markdown``, ``.mkd``, or ``.mdown``). Markdown generation requires " +"that you first explicitly install the Python-Markdown_ package, which can" +" be done via ``pip install Markdown``." +msgstr "" +"Markdown的语法也是支持的(文件的扩展名需要为 ``.md`` " +"、``.markdown``、``.mkd``或``.mdown``)要让Pelican进行Markdown的生成,需要先通过 ``pip " +"install Markdown`` 安装 Python的Markdown包_ 。" + +#: ../../content.rst:56 +msgid "" +"Pelican also supports `Markdown Extensions`_, which might have to be " +"installed separately if they are not included in the default ``Markdown``" +" package and can be configured and loaded via the ``MARKDOWN`` setting." +msgstr "" +"Pelican也支持 `Markdown扩展`_ ,可以是 ``Markdown`` 包自带的扩展,也可以是另外安装的,可以通过 " +"``MARKDOWN`` 设置这些扩展。" + +#: ../../content.rst:60 +msgid "Metadata syntax for Markdown posts should follow this pattern::" +msgstr "Markdown中的元数据语法需要按照下面的格式书写" + +#: ../../content.rst:73 +msgid "" +"You can also have your own metadata keys (so long as they don't conflict " +"with reserved metadata keywords) for use in your templates. The following" +" table contains a list of reserved metadata keywords:" +msgstr "您也可以定义自己的元数据类型(只要和保留的元数据关键字不冲突),这些自定义的元数据关键字可以用在自定义的模板中。下面的列出了所有保留的元数据关键字。" + +#: ../../content.rst:78 +msgid "Metadata" +msgstr "元数据类型" + +#: ../../content.rst:78 ../../content.rst:545 +msgid "Description" +msgstr "描述" + +#: ../../content.rst:80 +msgid "``title``" +msgstr "``title``" + +#: ../../content.rst:80 +msgid "Title of the article or page" +msgstr "文章或页面的标题" + +#: ../../content.rst:81 +msgid "``date``" +msgstr "``date``" + +#: ../../content.rst:81 +msgid "Publication date (e.g., ``YYYY-MM-DD HH:SS``)" +msgstr "发布日期(需要以 ``YYYY-MM-DD HH:SS`` 的格式)" + +#: ../../content.rst:82 +msgid "``modified``" +msgstr "``modified``" + +#: ../../content.rst:82 +msgid "Modification date (e.g., ``YYYY-MM-DD HH:SS``)" +msgstr "最后修改日期(需要以 ``YYYY-MM-DD HH:SS`` 的格式)" + +#: ../../content.rst:83 +msgid "``tags``" +msgstr "``tags``" + +#: ../../content.rst:83 +msgid "Content tags, separated by commas" +msgstr "内容的标签,多个标签以逗号分隔" + +#: ../../content.rst:84 +msgid "``keywords``" +msgstr "``keywords``" + +#: ../../content.rst:84 +msgid "Content keywords, separated by commas (HTML content only)" +msgstr "内容的关键字,以逗号分隔(只能在HTML内容中使用)" + +#: ../../content.rst:85 +msgid "``category``" +msgstr "``category``" + +#: ../../content.rst:85 +msgid "Content category (one only — not multiple)" +msgstr "内容的分类(只能归属到一个分类中,不支持多个)" + +#: ../../content.rst:86 +msgid "``slug``" +msgstr "``slug``" + +#: ../../content.rst:86 +msgid "Identifier used in URLs and translations" +msgstr "作为URL和翻译的唯一标识符" + +#: ../../content.rst:87 +msgid "``author``" +msgstr "``author``" + +#: ../../content.rst:87 +msgid "Content author, when there is only one" +msgstr "当只有一个作者时可以使用这个元数据" + +#: ../../content.rst:88 +msgid "``authors``" +msgstr "``authors``" + +#: ../../content.rst:88 +msgid "Content authors, when there are multiple" +msgstr "当有多个作者时需要使用这个元数据" + +#: ../../content.rst:89 +msgid "``summary``" +msgstr "``summary``" + +#: ../../content.rst:89 +msgid "Brief description of content for index pages" +msgstr "内容的简短概要,会显示在首页上" + +#: ../../content.rst:90 +msgid "``lang``" +msgstr "``lang``" + +#: ../../content.rst:90 +msgid "Content language ID (``en``, ``fr``, etc.)" +msgstr "内容的语言ID(例如 ``en`` 、 ``fr`` 、 ``zh-cn`` 等)" + +#: ../../content.rst:91 +msgid "``translation``" +msgstr "``translation``" + +#: ../../content.rst:91 +msgid "If content is a translation of another (``true`` or ``false``)" +msgstr "手动指定当前内容是否是某一个的翻译版本(该元数据的值只能是 ``true`` 或 ``false``)" + +#: ../../content.rst:92 +msgid "``status``" +msgstr "``status``" + +#: ../../content.rst:92 +msgid "Content status: ``draft``, ``hidden``, or ``published``" +msgstr "内容的状态: ``draft``、 ``hidden`` 或 ``published`` " + +#: ../../content.rst:93 +msgid "``template``" +msgstr "``template``" + +#: ../../content.rst:93 +msgid "Name of template to use to generate content (without extension)" +msgstr "用于指定要使用的生成模板,只需要写模板的名字,不需要模板文件的后缀名" + +#: ../../content.rst:94 +msgid "``save_as``" +msgstr "``save_as``" + +#: ../../content.rst:94 +msgid "Save content to this relative file path" +msgstr "将内容保存到指定的相对文件路径" + +#: ../../content.rst:95 +msgid "``url``" +msgstr "``url``" + +#: ../../content.rst:95 +msgid "URL to use for this article/page" +msgstr "指定本篇文章或页面使用的URL" + +#: ../../content.rst:98 +msgid "" +"Readers for additional formats (such as AsciiDoc_) are available via " +"plugins, which you can find via the `Pelican Plugins`_ collection as well" +" as the legacy `pelican-plugins`_ repository." +msgstr "" +"对其他格式的支持(例如 AsciiDoc_ )可以通过插件实现,在 `Pelican Plugins`_ 集合中可以查看所有插件。当然,在老的 " +"`pelican-plugins`_ 仓库中也可以查看。" + +#: ../../content.rst:102 +msgid "" +"Pelican can also process HTML files ending in ``.html`` and ``.htm``. " +"Pelican interprets the HTML in a very straightforward manner, reading " +"metadata from ``meta`` tags, the title from the ``title`` tag, and the " +"body out from the ``body`` tag::" +msgstr "" +"Pelican还能处理后缀名为 ``.html`` 和 ``.htm`` " +"的HTML文件Pelican在解释转换HTML文件时用的方法非常直接,会从 ``meta`` HTML标签中获取元数据信息,从 ``title``" +" HTML标签中获取标题,从 ``body`` 标签中获取文章的正文内容:" + +#: ../../content.rst:122 +msgid "" +"With HTML, there is one simple exception to the standard metadata: tags " +"can be specified either via the ``tags`` metadata, as is standard in " +"Pelican, or via the ``keywords`` metadata, as is standard in HTML. The " +"two can be used interchangeably." +msgstr "" +"当使用HTML文件时,上述的众多元数据中有一个比较特殊的存在:tags。这个元数据在HTML文档中有两种方式可以指定,一种是Pelican中定义的" +" ``tags`` (上面的例子中用的就是这种);另一种是使用HTML中定义的 ``keywords`` " +"元数据名(将name属性的“tags”换成“keywords”。" + +#: ../../content.rst:127 +msgid "" +"Note that, aside from the title, none of this content metadata is " +"mandatory: if the date is not specified and ``DEFAULT_DATE`` is set to " +"``'fs'``, Pelican will rely on the file's \"mtime\" timestamp, and the " +"category can be determined by the directory in which the file resides. " +"For example, a file located at ``python/foobar/myfoobar.rst`` will have a" +" category of ``foobar``. If you would like to organize your files in " +"other ways where the name of the subfolder would not be a good category " +"name, you can set the setting ``USE_FOLDER_AS_CATEGORY`` to ``False``. " +"When parsing dates given in the page metadata, Pelican supports the W3C's" +" `suggested subset ISO 8601`__." +msgstr "" +"需要注意的是,除了title外,其他所有元数据都是可以缺省的。若未指定日期元数据并且将 ``DEFAULT_DATE`` 设置为了 " +"``'fs'``,Pelican就会从文件的 \"mtime\" 时间戳中获取日期信息;category会从文件所在的子目录的名称中提取。例如 " +"``python/foobar/myfoobar.rst`` 的category元数据值就会被设为 " +"``foobar``。如果您不希望子目录的名称成为category的值,则需要在设置中将 ``USE_FOLDER_AS_CATEGORY`` " +"设为 ``False`` 。进行日期元数据的解析时,Pelican支持W3C的 `suggested subset ISO 8601`__ 标准。" + +#: ../../content.rst:137 +msgid "" +"So the title is the only required metadata. If that bothers you, worry " +"not. Instead of manually specifying a title in your metadata each time, " +"you can use the source content file name as the title. For example, a " +"Markdown source file named ``Publishing via Pelican.md`` would " +"automatically be assigned a title of *Publishing via Pelican*. If you " +"would prefer this behavior, add the following line to your settings " +"file::" +msgstr "" +"所以说标题是唯一必须指定的元数据。如果您甚至懒得写标题,也不用担心。Pelican会自动将文件名作为内容的标题。例如,Markdown源文件 " +"``Publishing via Pelican.md`` 的标题会自动设为 *Publishing via " +"Pelican*。如果您希望启用这个特性,请在设置文件中添加下面这么一行:" + +#: ../../content.rst:148 +msgid "" +"When experimenting with different settings (especially the metadata ones)" +" 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`` 参数。" + +#: ../../content.rst:155 +msgid "" +"``modified`` should be last time you updated the article, and defaults to" +" ``date`` if not specified. Besides you can show ``modified`` in the " +"templates, feed entries in feed readers will be updated automatically " +"when you set ``modified`` to the current date after you modified your " +"article." +msgstr "" +"``modified`` 元数据中应该为文章最后一次的修改时间,若没有指定,会自动与 ``date`` 设为一样的。在您修改文章并将 " +"``modified`` 设为当前日期后,除了在模板中显示 ``modified`` 之外,feed阅读器中的feed条目也会自动更新。" + +#: ../../content.rst:160 +msgid "" +"``authors`` is a comma-separated list of article authors. If there's only" +" one author you can use ``author`` field." +msgstr "``authors`` 元数据中是文章作者的列表,各个作者之间用逗号分隔。若只有一个作者,可以使用 ``author`` " + +#: ../../content.rst:163 +msgid "" +"If you do not explicitly specify summary metadata for a given post, the " +"``SUMMARY_MAX_LENGTH`` setting can be used to specify how many words from" +" the beginning of an article are used as the summary." +msgstr "" +"若您没有指定summary元数据,Pelican会自动从推文开头截取由 ``SUMMARY_MAX_LENGTH`` " +"指定长度的内容作为summary。" + +#: ../../content.rst:167 +msgid "" +"You can also extract any metadata from the filename through a regular " +"expression to be set in the ``FILENAME_METADATA`` setting. All named " +"groups that are matched will be set in the metadata object. The default " +"value for the ``FILENAME_METADATA`` setting will only extract the date " +"from the filename. For example, if you would like to extract both the " +"date and the slug, you could set something like: " +"``'(?P\\d{4}-\\d{2}-\\d{2})_(?P.*)'``" +msgstr "" +"您可以通过 ``FILENAME_METADATA`` 设置来使用正则表达式从文件名中提取元数据。正则匹配到的每个命名分组都被看成一个元数据。 " +"``FILENAME_METADATA`` 的默认值只会从文件名中提取date和slug。例如,可以使用 " +"``'(?P\\d{4}-\\d{2}-\\d{2})_(?P.*)'`` 提取date和slug。" + +#: ../../content.rst:174 +msgid "" +"Please note that the metadata available inside your files takes " +"precedence over the metadata extracted from the filename." +msgstr "请注意,您在文件中指定的元数据优先级大于从文件名中提取的。" + +#: ../../content.rst:178 +msgid "Pages" +msgstr "页面" + +#: ../../content.rst:180 +msgid "" +"If you create a folder named ``pages`` inside the content folder, all the" +" files in it will be used to generate static pages, such as **About** or " +"**Contact** pages. (See example filesystem layout below.)" +msgstr "" +"如果您在content文件夹下创建了一个 ``pages`` 文件夹,那么Pelican会为其中的每个文件都生成一个静态页面例如 **关于** 、" +" **联系我们** 这样的页面。(具体可以看下面项目文件组织的例子)" + +#: ../../content.rst:184 +msgid "" +"You can use the ``DISPLAY_PAGES_ON_MENU`` setting to control whether all " +"those pages are displayed in the primary navigation menu. (Default is " +"``True``.)" +msgstr "您可以通过 ``DISPLAY_PAGES_ON_MENU`` 设置来决定页面是否被列在主导航菜单中(默认值为 ``True`` )。" + +#: ../../content.rst:187 +msgid "" +"If you want to exclude any pages from being linked to or listed in the " +"menu, then add a ``status: hidden`` attribute to its metadata. This is " +"useful for things like making error pages that fit the generated theme of" +" your site." +msgstr "" +"如果您希望让某些页面不会被链接并且也不列在任何菜单中,可以为它加上元数据属性 ``status: hidden`` " +"。这对于制作符合网站生成主题的错误页面很有用。" + +#: ../../content.rst:192 +msgid "Static content" +msgstr "静态内容" + +#: ../../content.rst:194 +msgid "" +"Static files are files other than articles and pages that are copied to " +"the output folder as-is, without processing. You can control which static" +" files are copied over with the ``STATIC_PATHS`` setting of the project's" +" ``pelicanconf.py`` file. Pelican's default configuration includes the " +"``images`` directory for this, but others must be added manually. In " +"addition, static files that are explicitly linked to are included (see " +"below)." +msgstr "" +"静态文件与文章、页面不同,会原模原样地复制到输出文件夹中。当然,您也通过设置 ``STATIC_PATHS`` " +"更改复制的目标文件夹。Pelican的默认配置只包含了一个 ``images`` 文件夹,其他的需要手动添加。另外静态文件也包含那些被显式链接的。" + +#: ../../content.rst:203 +msgid "" +"In the default configuration, all files with a valid content file suffix " +"(``.html``, ``.rst``, ``.md``, ...) get processed by the article and page" +" generators *before* the static generator. This is avoided by altering " +"the ``*_EXCLUDE`` settings appropriately." +msgstr "" +"在默认配置下,所有后缀名有效的文件( ``.html`` 、 ``.rst`` 、 ``.md`` , " +"...)都会由文章页面生成器处理,这个处理是在静态文件生成器之前完成的。当您需要将一些会被认为是文章或页面的文件作为静态文件时,可以合理使用 " +"``*_EXCLUDE`` 设置(例如 ``ARTICLE_EXCLUDES`` 、 ``PAGE_EXCLUDES``)将他们排除。" + +#: ../../content.rst:209 +msgid "Mixed content in the same directory" +msgstr "在同一个目录下存放不同类型的内容" + +#: ../../content.rst:211 +msgid "" +"Starting with Pelican 3.5, static files can safely share a source " +"directory with page source files, without exposing the page sources in " +"the generated site. Any such directory must be added to both " +"``STATIC_PATHS`` and ``PAGE_PATHS`` (or ``STATIC_PATHS`` and " +"``ARTICLE_PATHS``). Pelican will identify and process the page source " +"files normally, and copy the remaining files as if they lived in a " +"separate directory reserved for static files." +msgstr "" +"从Pelican 3.5开始,静态文件就可以和页面源文件安全地放在同一个目录下了。这些包含了不同类型的内容文件的目录需要添加到 " +"``STATIC_PATHS`` 和 ``PAGE_PATHS`` 中(或者 ``STATIC_PATHS`` 和 " +"``ARTICLE_PATHS`` " +"中)Pelican会正常地识别和处理文章和页面源文件,然后再把静态文件复制,和处理处于单独一个文件夹的静态文件行为一致。" + +#: ../../content.rst:218 +msgid "" +"Note: Placing static and content source files together in the same source" +" directory does not guarantee that they will end up in the same place in " +"the generated site. The easiest way to do this is by using the " +"``{attach}`` link syntax (described below). Alternatively, the " +"``STATIC_SAVE_AS``, ``PAGE_SAVE_AS``, and ``ARTICLE_SAVE_AS`` settings " +"(and the corresponding ``*_URL`` settings) can be configured to place " +"files of different types together, just as they could in earlier versions" +" of Pelican." +msgstr "" +"请注意:Pelican不保证放在同一个源目录下的静态文件和内容文件在站点生成完后最终出现在同一个地方。要让他们出现在一个地方,可以使用 " +"``{attach}`` 链接语法(下面会提到)。要么还可以通过设置 ``STATIC_SAVE_AS`` 、 ``PAGE_SAVE_AS`` " +"和 ``ARTICLE_SAVE_AS`` (还有相应的 ``*_URL`` 设置)让不同类型的文件最终放在一起。" + +#: ../../content.rst:229 +msgid "Linking to internal content" +msgstr "文章或页面的内部链接" + +#: ../../content.rst:231 +msgid "" +"From Pelican 3.1 onwards, it is now possible to specify intra-site links " +"to files in the *source content* hierarchy instead of files in the " +"*generated* hierarchy. This makes it easier to link from the current post" +" to other content that may be sitting alongside that post (instead of " +"having to determine where the other content will be placed after site " +"generation)." +msgstr "" +"从Pelican 3.1开始,站内链接可以在 *源内容* 层次下指定,而不是只能在 *生成站点* " +"的层次下指定。当需要在当前推文链接到邻近位置的内容时,可以直接从源内容文件的位置开始链接(而不需要考虑在站点生成后文件会被放在哪儿)。" + +#: ../../content.rst:237 +msgid "" +"To link to internal content (files in the ``content`` directory), use the" +" following syntax for the link target: ``{filename}path/to/file``. Note: " +"forward slashes, ``/``, are the required path separator in the " +"``{filename}`` directive on all operating systems, including Windows." +msgstr "" +"要链接到站内(即在 ``content`` 目录下的文件),使用下述的目标链接语法: ``{filename}path/to/file`` " +"。注意,在所有操作系统(当然也包括Windows)上,路径的分隔符都要使用正斜杠 ``/`` 。" + +#: ../../content.rst:243 +msgid "For example, a Pelican project might be structured like this::" +msgstr "例如,某Pelican项目的文件结构组织如下:" + +#: ../../content.rst:254 +msgid "In this example, ``article1.rst`` could look like this::" +msgstr "在这个例子中, ``article1.rst`` 的内容如下:" + +#: ../../content.rst:266 +msgid "and ``article2.md``::" +msgstr "下面则是 ``article2.md`` 的:" + +#: ../../content.rst:277 +msgid "Linking to static files" +msgstr "链接到静态文件" + +#: ../../content.rst:279 +msgid "" +"You can link to static content using ``{static}path/to/file``. Files " +"linked to with this syntax will automatically be copied to the output " +"directory, even if the source directories containing them are not " +"included in the ``STATIC_PATHS`` setting of the project's " +"``pelicanconf.py`` file." +msgstr "" +"您可以通过 ``{static}path/to/file`` 链接到静态内容。使用这个指令链接的文件都会被自动复制到输出目录中,即使是没有包含在 " +"``STATIC_PATHS`` 设置指定目录中的静态内容也会被复制。" + +#: ../../content.rst:284 ../../content.rst:319 +msgid "For example, a project's content directory might be structured like this::" +msgstr "例如,某Pelican项目的文件结构组织如下:" + +#: ../../content.rst:294 +msgid "``test.md`` would include::" +msgstr " ``test.md`` 文件内容如下:" + +#: ../../content.rst:299 +msgid "" +"Site generation would then copy ``han.jpg`` to ``output/images/han.jpg``," +" ``menu.pdf`` to ``output/pdfs/menu.pdf``, and write the appropriate " +"links in ``test.md``." +msgstr "" +"站点生成时会将 ``han.jpg`` 拷贝到 ``output/images/han.jpg`` 、将 ``menu.pdf`` 拷贝到 " +"``output/pdfs/menu.pdf`` ,同时也会自动把 ``test.md`` 中的相关链接都替换为正确的。" + +#: ../../content.rst:303 +msgid "" +"If you use ``{static}`` to link to an article or a page, this will be " +"turned into a link to its source code." +msgstr "如果您使用 ``{static}`` 链接到文章或页面,会链接到源文件而不是文章或页面本身。" + +#: ../../content.rst:307 +msgid "Attaching static files" +msgstr "将静态文件作为附件" + +#: ../../content.rst:309 +msgid "" +"Starting with Pelican 3.5, static files can be \"attached\" to a page or " +"article using this syntax for the link target: ``{attach}path/to/file``. " +"This works like the ``{static}`` syntax, but also relocates the static " +"file into the linking document's output directory. If the static file " +"originates from a subdirectory beneath the linking document's source, " +"that relationship will be preserved on output. Otherwise, it will become " +"a sibling of the linking document." +msgstr "" +"从Pelican 3.5开始,静态文件可以使用下述语法 “附” 在页面或文章上: ``{attach}path/to/file`` 。这和 " +"``{static}`` " +"语法很像,也会将静态文件重定位到文章或页面的对应输出目录中。当文档所链接的静态文件处于其源文件位置的子目录下时,这种父子关系在输出目录中会得以保留。否则,默认情况下,静态文件会和对应的文档处于同一输出目录下。" + +#: ../../content.rst:317 +msgid "This only works for linking to static files." +msgstr "这只在链接到静态文件时起作用。" + +#: ../../content.rst:330 +msgid "``pelicanconf.py`` would include::" +msgstr "例如对于某设置文件 ``pelicanconf.py`` " + +#: ../../content.rst:337 +msgid "``testpost.md`` would include::" +msgstr "``testpost.md`` 的内容如下:" + +#: ../../content.rst:347 +msgid "" +"Site generation would then produce an output directory structured like " +"this::" +msgstr "对应的生成站点输出目录结构如下:" + +#: ../../content.rst:357 +msgid "" +"Notice that all the files linked using ``{attach}`` ended up in or " +"beneath the article's output directory." +msgstr "可以注意到,使用 ``{attach}`` 链接的文件要么和文章输出处于同级目录,要么就是在文章所在位置的子目录下。" + +#: ../../content.rst:360 +msgid "" +"If a static file is linked multiple times, the relocating feature of " +"``{attach}`` will only work in the first of those links to be processed. " +"After the first link, Pelican will treat ``{attach}`` like ``{static}``. " +"This avoids breaking the already-processed links." +msgstr "" +"若一个静态文件被多次链接, ``{attach}`` 只会在该静态文件第一次被链接时进行重定位处理(即按照上面的规则复制到对应目录)。之后使用 " +"``{attach}`` 进行的链接的效果就和 ``{static}`` 一模一样了。这样子就可以避免破坏已经生成好的链接。" + +#: ../../content.rst:365 +msgid "" +"**Be careful when linking to a file from multiple documents:** Since the " +"first link to a file finalizes its location and Pelican does not define " +"the order in which documents are processed, using ``{attach}`` on a file " +"linked by multiple documents can cause its location to change from one " +"site build to the next. (Whether this happens in practice will depend on " +"the operating system, file system, version of Pelican, and documents " +"being added, modified, or removed from the project.) Any external sites " +"linking to the file's old location might then find their links broken. " +"**It is therefore advisable to use {attach} only if you use it in all " +"links to a file, and only if the linking documents share a single " +"directory.** Under these conditions, the file's output location will not " +"change in future builds. In cases where these precautions are not " +"possible, consider using ``{static}`` links instead of ``{attach}``, and " +"letting the file's location be determined by the project's " +"``STATIC_SAVE_AS`` and ``STATIC_URL`` settings. (Per-file ``save_as`` and" +" ``url`` overrides can still be set in ``EXTRA_PATH_METADATA``.)" +msgstr "" +"**当有多个文档链接到同一文件时需要尤其小心:** " +"第一次链接到文件时Pelican就会确定其最终位置,而Pelican处理文档的顺序是不能确定的,因此多个文档使用 ``{attach}`` " +"链接到同一文件时,每一次站点生成后该文件的最终位置是无法确定的。(这种情况是否会发生取决于操作系统、文件系统、Pelican的版本、文档从项目中的添加修改移除)外站中到文件旧位置的链接就会损坏。**因此,建议只有当文件只有一个链接,并且链接到某文件的文档都在同一目录下时才使用" +" {attach}**。在这种情况下,文件的输出位置在未来的站点构建中不会变化。如果无法保证上述条件来预防链接损坏,可以考虑使用 " +"``{static}`` 来替换 ``{attach}`` 。如此,文件的最终位置就由 ``STATIC_SAVE_AS`` 和 " +"``STATIC_URL`` 来决定。(每个文件的 ``save_as`` 和 ``url`` 仍然可以通过更改 " +"``EXTRA_PATH_METADATA`` 设置来覆盖)" + +#: ../../content.rst:382 +msgid "" +"When using ``{attach}``, any parent directory in ``*_URL`` / " +"``*_SAVE_AS`` settings should match each other. See also: :ref:`url-" +"settings`" +msgstr "" +"当使用{attach}时, ``*_URL`` / ``*_SAVE_AS`` 设置中的任何父目录都应该相互匹配。具体请参见 :ref:`url-" +"settings`" + +#: ../../content.rst:386 +msgid "Linking to authors, categories, index and tags" +msgstr "链接到作者、分类、索引、标签" + +#: ../../content.rst:388 +msgid "" +"You can link to authors, categories, index and tags using the " +"``{author}name``, ``{category}foobar``, ``{index}`` and ``{tag}tagname`` " +"syntax." +msgstr "" +"您可以通过 ``{author}name`` 、 ``{category}foobar`` 、 ``{index}`` 和 " +"``{tag}tagname`` 这样的语法链接到作者、分类、索引和标签" + +#: ../../content.rst:392 +msgid "Deprecated internal link syntax" +msgstr "已弃用的内部链接语法" + +#: ../../content.rst:394 +msgid "" +"To remain compatible with earlier versions, Pelican still supports " +"vertical bars (``||``) in addition to curly braces (``{}``) for internal " +"links. For example: ``|filename|an_article.rst``, ``|tag|tagname``, " +"``|category|foobar``. The syntax was changed from ``||`` to ``{}`` to " +"avoid collision with Markdown extensions or reST directives. Similarly, " +"Pelican also still supports linking to static content with " +"``{filename}``. The syntax was changed to ``{static}`` to allow linking " +"to both generated articles and pages and their static sources." +msgstr "" +"为了保持和早期版本的兼容,在内部链接中除了使用花括号( ``{}`` )外,还支持在内部链接中使用竖线( ``||`` )。例如, " +"``|filename|an_article.rst`` 、 ``|tag|tagname`` 、 ``|category|foobar`` " +"。将语法中的 ``||`` 改到 ``{}`` 是为了避免和Markdown或reST的语法和指令相冲突。类似地, ``{filename}`` " +"虽然仍能使用,但是其语法已经改为了 ``{static}`` 。 ``{static}`` 既可以链接到文章或页面,也可以链接到静态资源" + +#: ../../content.rst:402 +msgid "Support for the old syntax may eventually be removed." +msgstr "对旧语法地支持最终会被移除。" + +#: ../../content.rst:405 +msgid "Including other files" +msgstr "引入其他文件" + +#: ../../content.rst:406 +msgid "Both Markdown and reStructuredText syntaxes provide mechanisms for this." +msgstr "Markdown和reStructuredText的语法中都提供了这种机制" + +#: ../../content.rst:408 +msgid "" +"Following below are some examples for **reStructuredText** using `the " +"include directive`_:" +msgstr "下面是 **reStructuredText** 使用 `include指令`_ 的一些例子:" + +#: ../../content.rst:414 +msgid "" +"Include a fragment of a file delimited by two identifiers, highlighted as" +" C++ (slicing based on line numbers is also possible):" +msgstr "下面的例子,引入了一段用一对标识符分隔的文件片段,并指定以C++语法进行高亮显示。(基于行号的片段指定也是可以的)" + +#: ../../content.rst:423 +msgid "" +"Include a raw HTML file (or an inline SVG) and put it directly into the " +"output without any processing:" +msgstr "将一HTML文件(或者一个行内SVG)直接引入,并且不进行任何处理直接将其作为输出:" + +#: ../../content.rst:430 +msgid "" +"For **Markdown**, one must rely on an extension. For example, using the " +"`mdx_include plugin`_:" +msgstr "对于 **Markdown** ,若要进行文件引入,就必须使用扩展插件。例如可以使用 `mdx_include plugin`_ :" + +#: ../../content.rst:440 +msgid "Importing an existing site" +msgstr "导入已有站点" + +#: ../../content.rst:442 +msgid "" +"It is possible to import your site from several other blogging sites " +"(like WordPress, Tumblr, ..) using a simple script. See :ref:`import`." +msgstr "您可以使用一个简单的脚本导入已有的站点(例如WordPress、Tumblr)。详见 :ref:`import` 。" + +#: ../../content.rst:446 +msgid "Translations" +msgstr "翻译" + +#: ../../content.rst:448 +msgid "" +"It is possible to translate articles. To do so, you need to add a " +"``lang`` meta attribute to your articles/pages and set a ``DEFAULT_LANG``" +" setting (which is English [en] by default). With those settings in " +"place, only articles with the default language will be listed, and each " +"article will be accompanied by a list of available translations for that " +"article." +msgstr "" +"一篇文章可以有多个翻译版本。对于这类文章,您需要加上元数据属性 ``lang`` ,并且在设置中指定 ``DEFAULT_LANG`` " +"(默认为[en])。完成上述设置后,列表中只会列出默认语言版本的文章,并且这些文章中会列出所有可用的翻译版本供读者选择。" + +#: ../../content.rst:456 +msgid "" +"This core Pelican functionality does not create sub-sites (e.g. " +"``example.com/de``) with translated templates for each language. For such" +" advanced functionality the `i18n_subsites plugin`_ can be used." +msgstr "" +"Pelican的这个核心功能并不会给同一文章的不同语言版本创建子站点(例如 ``example.com/de`` " +")。但是如果需要创建子站点的话,可以使用扩展插件 `i18n_subsites plugin`_ " + +#: ../../content.rst:461 +msgid "" +"By default, Pelican uses the article's URL \"slug\" to determine if two " +"or more articles are translations of one another. (This can be changed " +"with the ``ARTICLE_TRANSLATION_ID`` setting.) The slug can be set " +"manually in the file's metadata; if not set explicitly, Pelican will " +"auto-generate the slug from the title of the article." +msgstr "" +"默认情况下,Pelican会使用文章的URL \"slug\" 来判断当前文档是否是同一篇文章的不同翻译版本。(这一点可以通过 " +"``ARTICLE_TRANSLATION_ID`` " +"设置来改变)slug可以通过元数据手动指定,若没有,Pelican会根据文章的标题title来自动生成slug。" + +#: ../../content.rst:467 +msgid "" +"Here is an example of two articles, one in English and the other in " +"French." +msgstr "以下的例子是一篇文章有英语和法语两个翻译版本的情况。" + +#: ../../content.rst:469 +msgid "The English article::" +msgstr "英语文章如下:" + +#: ../../content.rst:479 +msgid "And the French version::" +msgstr "法语版本为:" + +#: ../../content.rst:489 +msgid "" +"Post content quality notwithstanding, you can see that only item in " +"common between the two articles is the slug, which is functioning here as" +" an identifier. If you'd rather not explicitly define the slug this way, " +"you must then instead ensure that the translated article titles are " +"identical, since the slug will be auto-generated from the article title." +msgstr "不谈推文的内容质量,你可以发现上面两篇文章的共同点在于它们的slug是相同的,slug在这里作为标识符存在。若您没有手动指定slug,那么请保证同一篇文章的不同翻译版本的标题是相同的,如此slug会根据文章标题自动生成。" + +#: ../../content.rst:495 +msgid "" +"If you do not want the original version of one specific article to be " +"detected by the ``DEFAULT_LANG`` setting, use the ``translation`` " +"metadata to specify which posts are translations::" +msgstr "" +"如果您不希望某篇文章的原始版本被视为是 ``DEFAULT_LANG`` 设置指定的翻译版本,可以使用 ``translation`` " +"元数据来指出本推文是一个非源语言的翻译版本。(译者注:例如,设置的默认语言为[zh-" +"cn],如果某篇推文的原始版本是英文而不是中文,那么对于中文翻译版本的就可以指定其translations元数据为true)" + +#: ../../content.rst:512 +msgid "Syntax highlighting" +msgstr "语法高亮" + +#: ../../content.rst:514 +msgid "" +"Pelican can provide colorized syntax highlighting for your code blocks. " +"To do so, you must use the following conventions inside your content " +"files." +msgstr "您可以按照下面的约定在文件内容中添加代码块,Pelican可以完成五彩缤纷的语法高亮。" + +#: ../../content.rst:517 +msgid "" +"For reStructuredText, use the ``code-block`` directive to specify the " +"type of code to be highlighted (in these examples, we'll use " +"``python``)::" +msgstr "对于reStructuredText,使用 ``code-block`` 指令指定代码所使用的语言(此处以``python``为例):" + +#: ../../content.rst:524 +msgid "" +"For Markdown, which utilizes the `CodeHilite extension`_ to provide " +"syntax highlighting, include the language identifier just above the code " +"block, indenting both the identifier and the code::" +msgstr "Markdown则使用 `CodeHilite extension`_ 扩展插件来完成语法高亮。在代码上方标记所用语言,同时将其与代码都进行缩进:" + +#: ../../content.rst:538 +msgid "" +"The specified identifier (e.g. ``python``, ``ruby``) should be one that " +"appears on the `list of available lexers " +"`_." +msgstr "" +"指定语言的标识符(例如 ``python``、``ruby``)必须是在 `可用列表 " +"`_ 中列出的。" + +#: ../../content.rst:541 +msgid "" +"When using reStructuredText the following options are available in the " +"`code-block` directive:" +msgstr "对于reStructuredText,下面列出的选项可以在 `code-block` 命令中使用:" + +#: ../../content.rst:545 +msgid "Option" +msgstr "选项" + +#: ../../content.rst:545 +msgid "Valid values" +msgstr "有效值" + +#: ../../content.rst:547 +msgid "anchorlinenos" +msgstr "anchorlinenos" + +#: ../../content.rst:547 ../../content.rst:571 ../../content.rst:573 +msgid "N/A" +msgstr "N/A" + +#: ../../content.rst:547 +msgid "If present, wrap line numbers in ```` tags." +msgstr "指定行号是否显示在 标签中" + +#: ../../content.rst:548 +msgid "classprefix" +msgstr "classprefix" + +#: ../../content.rst:548 ../../content.rst:556 ../../content.rst:558 +#: ../../content.rst:567 ../../content.rst:569 ../../content.rst:574 +#: ../../content.rst:575 +msgid "string" +msgstr "string" + +#: ../../content.rst:548 +msgid "String to prepend to token class names" +msgstr "要添加到用于语法高亮的css类名前面的字符串" + +#: ../../content.rst:549 +msgid "hl_lines" +msgstr "hl_lines" + +#: ../../content.rst:549 +msgid "numbers" +msgstr "numbers" + +#: ../../content.rst:549 +msgid "" +"List of lines to be highlighted, where line numbers to highlight are " +"separated by a space. This is similar to ``emphasize-lines`` in Sphinx, " +"but it does not support a range of line numbers separated by a hyphen, or" +" comma-separated line numbers." +msgstr "需要高亮的行号列表,行号之间以空格隔开。这与Sphinx中的 ``emphasize-lines`` 类似,但是不支持使用连字符和逗号指定行号范围。" + +#: ../../content.rst:556 +msgid "lineanchors" +msgstr "lineanchors" + +#: ../../content.rst:556 +msgid "Wrap each line in an anchor using this string and -linenumber." +msgstr "用此处指定的字符串和 “-行号”给每一行都加上锚点。" + +#: ../../content.rst:558 +msgid "linenos" +msgstr "linenos" + +#: ../../content.rst:558 +msgid "" +"If present or set to \"table\", output line numbers in a table; if set to" +" \"inline\", output them inline. \"none\" means do not output the line " +"numbers for this table." +msgstr "开启此选项或将此选项设为“table”时,输出表格时会带上行号;如果设为“inline”,则内联输出行号;如果设为“none”,则不输出行号。" + +#: ../../content.rst:563 +msgid "linenospecial" +msgstr "linenospecial" + +#: ../../content.rst:563 ../../content.rst:565 ../../content.rst:566 +msgid "number" +msgstr "number" + +#: ../../content.rst:563 +msgid "If set, every nth line will be given the 'special' CSS class." +msgstr "是否每隔几行就设置一行特殊的css样式类。" + +#: ../../content.rst:565 +msgid "linenostart" +msgstr "linenostart" + +#: ../../content.rst:565 +msgid "Line number for the first line." +msgstr "起始行的行号。" + +#: ../../content.rst:566 +msgid "linenostep" +msgstr "linenostep" + +#: ../../content.rst:566 +msgid "Print every nth line number." +msgstr "每隔几行输出一次" + +#: ../../content.rst:567 +msgid "lineseparator" +msgstr "lineseparator" + +#: ../../content.rst:567 +msgid "String to print between lines of code, '\\n' by default." +msgstr "每行输出代码之间的输出字符串,默认为 '\\n'。" + +#: ../../content.rst:569 +msgid "linespans" +msgstr "linespans" + +#: ../../content.rst:569 +msgid "Wrap each line in a span using this and -linenumber." +msgstr "使用指定的字符串和“-行号”将每一行包装在一个span中。" + +#: ../../content.rst:571 +msgid "nobackground" +msgstr "nobackground" + +#: ../../content.rst:571 +msgid "If set, do not output background color for the wrapping element" +msgstr "若设置,则不为元素输出背景颜色" + +#: ../../content.rst:573 +msgid "nowrap" +msgstr "nowrap" + +#: ../../content.rst:573 +msgid "If set, do not wrap the tokens at all." +msgstr "若设置,则不包裹代码符号。" + +#: ../../content.rst:574 +msgid "tagsfile" +msgstr "tagsfile" + +#: ../../content.rst:574 +msgid "ctags file to use for name definitions." +msgstr "用于命名定义的ctags文件" + +#: ../../content.rst:575 +msgid "tagurlformat" +msgstr "tagurlformat" + +#: ../../content.rst:575 +msgid "format for the ctag links." +msgstr "用于ctag链接的格式" + +#: ../../content.rst:578 +msgid "" +"Note that, depending on the version, your Pygments module might not have " +"all of these options available. Refer to the *HtmlFormatter* section of " +"the `Pygments documentation `_ for" +" more details on each of the options." +msgstr "" +"请注意,由于版本的不同,Pygments模块可能不完全支持上述选项。请参考 `Pygments 文档 " +"`_ 中的 *HtmlFormatter* " +"一节获取每个选项的详细信息。" + +#: ../../content.rst:583 +msgid "" +"For example, the following code block enables line numbers, starting at " +"153, and prefixes the Pygments CSS classes with *pgcss* to make the names" +" more unique and avoid possible CSS conflicts::" +msgstr "" +"举个例子,下面的代码块开启了行号显示,从153行开始输出,并且指定Pygments的CSS类以 *pgcss* " +"为前缀,使得类名更为独特并避免可能的CSS冲突:" + +#: ../../content.rst:594 +msgid "" +"It is also possible to specify the ``PYGMENTS_RST_OPTIONS`` variable in " +"your Pelican settings file to include options that will be automatically " +"applied to every code block." +msgstr "" +"您也可以在Pelican的设置文件中指定 ``PYGMENTS_RST_OPTIONS`` " +",如此就可以让Pelican自动在每个代码块上使用指定的选项" + +#: ../../content.rst:598 +msgid "" +"For example, if you want to have line numbers displayed for every code " +"block and a CSS prefix, you would set this variable to::" +msgstr "" +"举个例子,若您希望每个代码块都显示行号,并且在CSS类名前都加上前缀pgcss,就可以像这样设置 ``PYGMENTS_RST_OPTIONS``" +" :" + +#: ../../content.rst:603 +msgid "" +"If specified, settings for individual code blocks will override the " +"defaults in your settings file." +msgstr "" +"若同时在 ``PYGMENTS_RST_OPTIONS`` 和某些代码块中单独指定了一些选项,单独指定的会将 " +"``PYGMENTS_RST_OPTIONS`` 覆盖。" + +#: ../../content.rst:607 +msgid "Publishing drafts" +msgstr "发布草稿" + +#: ../../content.rst:609 +msgid "" +"If you want to publish an article or a page as a draft (for friends to " +"review before publishing, for example), you can add a ``Status: draft`` " +"attribute to its metadata. That article will then be output to the " +"``drafts`` folder and not listed on the index page nor on any category or" +" tag page." +msgstr "" +"如果您想要以草稿的形式发布文章或页面(例如在正式发布前给朋友预览),可以添加元数据属性 ``Status: draft`` 。如此,文章就会输出到" +" ``drafts`` 文件夹中,并且不会被列在首页、分类或是标签页面中。" + +#: ../../content.rst:614 +msgid "" +"If your articles should be automatically published as a draft (to not " +"accidentally publish an article before it is finished), include the " +"status in the ``DEFAULT_METADATA``::" +msgstr "若您希望文章默认以草稿形式发布(可以防止在完成文章前不小心将其正式发布),可以将status属性加在 ``DEFAULT_METADATA`` 中:" + +#: ../../content.rst:622 +msgid "" +"To publish a post when the default status is ``draft``, update the post's" +" metadata to include ``Status: published``." +msgstr "要发布当前处于 ``draft`` 状态的推文,更新推文的元数据,使其中包括 ``Status: published``。" + +#: ../../content.rst:626 +msgid "Hidden Posts" +msgstr "隐藏推文" + +#: ../../content.rst:628 +msgid "" +"Like pages, posts can also be marked as ``hidden`` with the ``Status: " +"hidden`` attribute. Hidden posts will be output to ``ARTICLE_SAVE_AS`` as" +" expected, but are not included by default in tag, category, and author " +"indexes, nor in the main article feed. This has the effect of creating an" +" \"unlisted\" post." +msgstr "" +"和页面一样,推文也能通过 ``Status: hidden`` 标记为隐藏状态。隐藏的推文会输出到 ``ARTICLE_SAVE_AS`` " +"指定的目录中,这些推文“不会被列出”,即不会在标签、分类、作者主页、feed中出现。" diff --git a/docs/locales/zh_CN/LC_MESSAGES/contribute.mo b/docs/locales/zh_CN/LC_MESSAGES/contribute.mo new file mode 100644 index 00000000..605a07ab Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/contribute.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/contribute.po b/docs/locales/zh_CN/LC_MESSAGES/contribute.po new file mode 100644 index 00000000..4df236a6 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/contribute.po @@ -0,0 +1,713 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../contribute.rst:2 +msgid "Contributing and feedback guidelines" +msgstr "项目贡献与意见反馈" + +#: ../../contribute.rst:4 +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 +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 +msgid "Filing issues" +msgstr "提出issue" + +#: ../../../CONTRIBUTING.rst:4 +msgid "Before you submit a new issue, try `asking for help`_ first." +msgstr "在你提交一个新的issue之前,可以先尝试 `请求他人帮助`_ 。" + +#: ../../../CONTRIBUTING.rst:5 +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 +msgid "How to get help" +msgstr "如何获取帮助" + +#: ../../../CONTRIBUTING.rst:16 +msgid "Before you ask for help, please make sure you do the following:" +msgstr "在寻求帮助之前,请先尝试如下步骤:" + +#: ../../../CONTRIBUTING.rst:18 +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 +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:`插件` 或配置一系列的设置选项。" + +#: ../../../CONTRIBUTING.rst:25 +msgid "Try reproducing the issue in a clean environment, ensuring you are using:" +msgstr "尝试在一个干净的环境中重现问题,确保以下内容:" + +#: ../../../CONTRIBUTING.rst:27 +msgid "latest Pelican release (or an up-to-date Git clone of Pelican master)" +msgstr "使用最新版本的Pelican(或是用Git克隆Pelican的master分支)" + +#: ../../../CONTRIBUTING.rst:28 +msgid "latest releases of libraries used by Pelican" +msgstr "将Pelican使用的库升级到最新版本" + +#: ../../../CONTRIBUTING.rst:29 +msgid "no plugins or only those related to the issue" +msgstr "此环境中没有使用插件或是只使用和问题相关的插件" + +#: ../../../CONTRIBUTING.rst:31 +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 +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 +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 +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 +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 +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 +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 +msgid "" +"Upload detailed and **complete** output logs and backtraces (remember to " +"add the ``--debug`` flag: ``pelican --debug content [...]``)" +msgstr "上传详细 **完备** 的输出日志以及回溯信息(记得在执行pelican命令时加上 ``--debug`` 标记: " +"``pelican --debug content [...]`` )" + +#: ../../../CONTRIBUTING.rst:71 +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 +msgid "Contributing code" +msgstr "贡献代码" + +#: ../../../CONTRIBUTING.rst:77 +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 +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 +msgid "Using Git and GitHub" +msgstr "使用Git与GitHub" + +#: ../../../CONTRIBUTING.rst:89 +msgid "" +"`Create a new branch`_ specific to your change (as opposed to making your" +" commits in the master branch)." +msgstr "`创建一个新的分支`_ 来标志你做的修改(而不是直接在主分支中提交)。" + +#: ../../../CONTRIBUTING.rst:91 +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 +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 +msgid "" +"Check for unnecessary whitespace via ``git diff --check`` before " +"committing." +msgstr "在提交前使用 ``git diff --check`` 来检查是否有无意义的空白字符。" + +#: ../../../CONTRIBUTING.rst:105 +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 +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 +msgid "" +"`Squash your commits`_ to eliminate merge commits and ensure a clean and " +"readable commit history." +msgstr "`压缩commit`_ 来消除合并commits,确保你的commit历史记录是干净可读的。" + +#: ../../../CONTRIBUTING.rst:114 +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 "在你发出拉取请求后,持续集成(CI)系统会在所有支持的Python版本上运行测试套件,并且" +"检查代码风格的合规性。如果出现了错误,你应该将其修复。(如果没有通过CI系统上的测试但是本地测试" +"通过了,请再检查一下,确保在本地进行了所有CI系统中的检查)" + + +#: ../../../CONTRIBUTING.rst:121 +msgid "Contribution quality standards" +msgstr "贡献质量标准" + +#: ../../../CONTRIBUTING.rst:123 +msgid "" +"Adhere to the project's code style standards. See: `Development " +"Environment`_" +msgstr "坚持项目的代码风格标准。详见 `开发环境`_" + +#: ../../../CONTRIBUTING.rst:124 +msgid "" +"Ensure your code is compatible with the `officially-supported Python " +"releases`_." +msgstr "确保你的代码可以兼容 `python的官方发布版本`_" + +#: ../../../CONTRIBUTING.rst:125 +msgid "" +"Add docs and tests for your changes. Undocumented and untested features " +"will not be accepted." +msgstr "请为你修改的内容添加文档与测试。未注有文档或没有对应测试的特性会被拒绝。" + +#: ../../../CONTRIBUTING.rst:127 +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 +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 +msgid "Setting up the development environment" +msgstr "配置开发环境" + +#: ../../contribute.rst:17 +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 +msgid "Please note that Python |min_python| is required for Pelican development." +msgstr "请注意,要进行Pelican的开发,至少需要Python |min_python|" + +#: ../../contribute.rst:24 +msgid "" +"*(Optional)* If you prefer to `install PDM " +"`_ once for use with multiple" +" projects, you can install it via::" +msgstr "*(可选)* 若您想要 `安装PDM `_ ,可以使用下面这条命令:" + +#: ../../contribute.rst:29 +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 +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:145 +msgid "Install the needed dependencies and set up the project::" +msgstr "安装必需的依赖并配置项目:" + +#: ../../contribute.rst:50 +msgid "Your local environment should now be ready to go!" +msgstr "现在,你的本地开发环境就配置完成了!" + +#: ../../contribute.rst:57 +msgid "Development" +msgstr "开发" + +#: ../../contribute.rst:59 +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 +msgid "" +"Now you can make changes to Pelican, its documentation, and/or other " +"aspects of the project." +msgstr "在切换到新建的分支后,就可以开始对Pelican的文档或其他内容做更改了。" + +#: ../../contribute.rst:68 +msgid "Running the test suite" +msgstr "运行测试套件" + +#: ../../contribute.rst:70 +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:77 +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:80 +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:85 +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 "如果在你修改过的代码中有地方违反了代码风格规范,请纠正并再次运行上述命令,直到全部纠正。" +"但是若是发现违反代码风格的地方并不是你修改的,请忽略之,不要进行纠正。" + +#: ../../contribute.rst:89 +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:99 +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:104 +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 "你应该在支持的所有Python版本下运行测试套件。一般会通过为每一个Python版本创建一个虚拟环境来实现这一点。" +"Tox_ 是一个用于在 ``virtualenv`` 环境中自动运行测试的工具。" + +#: ../../contribute.rst:112 +msgid "Building the docs" +msgstr "构建文档" + +#: ../../contribute.rst:114 +msgid "" +"If you make changes to the documentation, you should build and inspect " +"your changes before committing them::" +msgstr "若你对文档进行过修改,请在commit前完成构建和检查:" + +#: ../../contribute.rst:119 +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:125 +msgid "Plugin development" +msgstr "插件开发" + +#: ../../contribute.rst:127 +msgid "" +"To create a *new* Pelican plugin, please refer to the `plugin template`_ " +"repository for detailed instructions." +msgstr "要创建一个 *新的* Pelican插件,请参阅 `插件模板`_ 仓库以获得更为详细的指导。" + +#: ../../contribute.rst:130 +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:136 +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:149 +msgid "Create a topic branch for your plugin bug fix or feature::" +msgstr "同样地,为你想要进行的bug修复或特性添加创建一个分支:" + +#: ../../contribute.rst:153 +msgid "" +"After writing new tests for your plugin changes, run the plugin test " +"suite and check for code style compliance via::" +msgstr "完成修改并添加测试后,运行测试套件,并检查代码风格:" + +#: ../../contribute.rst:159 +msgid "" +"If style violations are found, many of them can be addressed " +"automatically via::" +msgstr "若存在不合规范风格的代码,大多数情况下可以通过下述命令自动纠正:" + +#: ../../contribute.rst:163 +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:171 +msgid "Submitting your changes" +msgstr "提交更改" + +#: ../../contribute.rst:173 +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:182 +msgid "Commit your changes and push your topic branch::" +msgstr "commit你的更改,并push对应分支:" + +#: ../../contribute.rst:188 +msgid "" +"Finally, browse to your repository fork on GitHub and submit a pull " +"request." +msgstr "最后,前往Github,从你fork的仓库向原仓库提出PR。" + +#: ../../contribute.rst:192 +msgid "Logging tips" +msgstr "日志指南" + +#: ../../contribute.rst:194 +msgid "Try to use logging with appropriate levels." +msgstr "请仔细斟酌合适的日志等级。" + +#: ../../contribute.rst:196 +msgid "For logging messages that are not repeated, use the usual Python way::" +msgstr "对于不重复的日志消息,使用一般的方式即可:" + +#: ../../contribute.rst:205 +#, 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:210 +msgid "Limiting extraneous log messages" +msgstr "限制低关联日志消息" + +#: ../../contribute.rst:212 +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:219 +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:222 +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:227 +msgid "" +"For example, if you want to log missing resources, use the following " +"code::" +msgstr "例如,如果你想要用日志记录资源缺失的信息,可以使用下面的代码:" + +#: ../../contribute.rst:235 +msgid "The log messages will be displayed as follows::" +msgstr "最终的日志消息看起来会像这样:" + +#: ../../contribute.rst:245 +msgid "Outputting traceback in the logs" +msgstr "在日志中输出traceback信息" + +#: ../../contribute.rst:247 +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 "" +#~ "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 plugin_ or a " +#~ "specific combination of settings." +#~ msgstr "" + +#~ 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 " +#~ "plugin_ — you can `ask for help`_" +#~ " to make that determination." +#~ msgstr "" + +#~ msgid "" +#~ "`Run all the tests`_ **on all " +#~ "versions of Python supported by " +#~ "Pelican** to ensure nothing was " +#~ "accidentally broken." +#~ msgstr "" + +#~ 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." +#~ msgstr "" + +#~ msgid "" +#~ "If you have previously filed a " +#~ "GitHub issue and want to contribute " +#~ "code that addresses that issue, **please" +#~ " use** ``hub pull-request`` instead " +#~ "of using GitHub's web UI to submit" +#~ " the pull request. This isn't an " +#~ "absolute requirement, but makes the " +#~ "maintainers' lives much easier! Specifically:" +#~ " `install hub " +#~ "`_ and then" +#~ " run `hub pull-request -i [ISSUE] " +#~ "`_ " +#~ "to turn your GitHub issue into a" +#~ " pull request containing your code." +#~ msgstr "" + +#~ msgid "" +#~ "After you have issued a pull " +#~ "request, the continuous integration (CI) " +#~ "system will run the test suite for" +#~ " all supported Python versions and " +#~ "check for PEP8 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 "" + +#~ msgid "" +#~ "Adhere to `PEP8 coding standards`_. This" +#~ " can be eased via the `pycodestyle" +#~ " `_ or `flake8" +#~ " `_ tools, the " +#~ "latter of which in particular will " +#~ "give you some useful hints about " +#~ "ways in which the code/formatting can" +#~ " be improved. We try to keep " +#~ "line length within the 79-character " +#~ "maximum specified by PEP8. Because that" +#~ " can sometimes compromise readability, the" +#~ " hard/enforced maximum is 88 characters." +#~ msgstr "" + +#~ msgid "" +#~ "While there are many ways to set" +#~ " up one's development environment, the " +#~ "following instructions will utilize Pip_ " +#~ "and Poetry_. 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 "" + +#~ msgid "Please note that Python 3.7+ is required for Pelican development." +#~ msgstr "" + +#~ msgid "" +#~ "*(Optional)* If you prefer to `install" +#~ " Poetry `_ once for use" +#~ " with multiple projects, you can " +#~ "install it via::" +#~ msgstr "" + +#~ msgid "" +#~ "While Poetry can dynamically create and" +#~ " manage virtual environments, we're going" +#~ " to manually create and activate a" +#~ " virtual environment::" +#~ msgstr "" diff --git a/docs/locales/zh_CN/LC_MESSAGES/faq.mo b/docs/locales/zh_CN/LC_MESSAGES/faq.mo new file mode 100644 index 00000000..9b6cec64 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/faq.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/faq.po b/docs/locales/zh_CN/LC_MESSAGES/faq.po new file mode 100644 index 00000000..610a89b9 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/faq.po @@ -0,0 +1,481 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../faq.rst:2 +msgid "Frequently Asked Questions (FAQ)" +msgstr "常见问题" + +#: ../../faq.rst:4 +msgid "Here are some frequently asked questions about Pelican." +msgstr "以下回答了一些关于Pelican的常见问题。" + +#: ../../faq.rst:7 +msgid "What's the best way to communicate a problem, question, or suggestion?" +msgstr "交流问题、疑问或提建议的最佳方式是什么?" + +#: ../../faq.rst:9 +msgid "Please read our :doc:`feedback guidelines `." +msgstr "请参阅文档 :doc:`feedback guidelines ` 。" + +#: ../../faq.rst:12 +msgid "How can I help?" +msgstr "我如何能帮上忙?" + +#: ../../faq.rst:14 +msgid "" +"There are several ways to help out. First, you can communicate any " +"Pelican suggestions or problems you might have via `Pelican Discussions " +"`_. Please first check" +" the existing list of discussions and issues (both open and closed) in " +"order to avoid submitting topics that have already been covered before." +msgstr "有好多种方法可以提供帮助。首先,可以在 `Pelican讨论板块 `_ " +"中提出任何关于Pelican的建议或是问题。在提问或建议之前,请先查看已关闭或开放的issues中是否已有相关" +"内容,以避免内容上的重复。" + +#: ../../faq.rst:20 +msgid "" +"If you want to contribute, please fork `the Git repository " +"`_, create a new feature branch, " +"make your changes, and issue a pull request. Someone will review your " +"changes as soon as possible. Please refer to the :doc:`How to Contribute " +"` section for more details." +msgstr "如果你想要对项目进行贡献,请fork `Git仓库 `_ ," +"创建一个新的功能分支,并在其中进行修改,在修改完成后提出一个PR。项目组会尽快审核你的PR。关于此的更多" +"内容,请参见 :doc:`How to Contribute ` 一节。" + +#: ../../faq.rst:26 +msgid "" +"You can also contribute by creating themes and improving the " +"documentation." +msgstr "你可以发起的贡献当然也包括创建主题和改进文档。" + +#: ../../faq.rst:29 +msgid "Is the Pelican settings file mandatory?" +msgstr "一定需要Pelican配置文件吗?" + +#: ../../faq.rst:31 +msgid "" +"Configuration files are optional and are just an easy way to configure " +"Pelican. For basic operations, it's possible to specify options while " +"invoking Pelican via the command line. See ``pelican --help`` for more " +"information." +msgstr "配置文件是可选的,其本质是使您可以更方便地配置Pelican。对于一些基本的配置操作,完全可以" +"在命令行中指定,调用 ``pelican --help`` 可以查看pelican命令的更多信息。" + +#: ../../faq.rst:36 +msgid "Changes to the settings file take no effect" +msgstr "对配置文件的修改没有生效" + +#: ../../faq.rst:38 +msgid "" +"When experimenting with different settings (especially the metadata ones)" +" caching may interfere and the changes may not be visible. In such cases," +" ensure that caching is disabled via ``LOAD_CONTENT_CACHE = False`` or " +"use the ``--ignore-cache`` command-line switch." +msgstr "在尝试不同的配置时(尤其是尝试不同元数据时),缓存很可能会产生干扰,使得修改不可见。" +"此时,确保配置了 ``LOAD_CONTENT_CACHE = False`` 或在命令行中加上 ``--ignore-cache`` 以禁用缓存。" + +#: ../../faq.rst:44 +msgid "I'm creating my own theme. How do I use Pygments for syntax highlighting?" +msgstr "在自己创建主题时,如何使用Pygments来调整语法高亮?" + +#: ../../faq.rst:46 +msgid "" +"Pygments adds some classes to the generated content. These classes are " +"used by themes to style code syntax highlighting via CSS. Specifically, " +"you can customize the appearance of your syntax highlighting via the " +"``.highlight pre`` class in your theme's CSS file. To see how various " +"styles can be used to render Django code, for example, use the style " +"selector drop-down at top-right on the `Pygments project demo site " +"`_." +msgstr "Pygments会为生成的内容添加一些类。这些类会为主题所用,主题会通过CSS来为代码添加语法高亮。" +"具体来说,你可以通过主题CSS文件中的 ``.highlight pre`` 类来自定义语法高亮的外观。在" +"`Pygments 项目的demo网站 `_ 上可以预览能够渲染的代码类型。" + +#: ../../faq.rst:53 +msgid "" +"You can use the following example commands to generate a starting CSS " +"file from a Pygments built-in style (in this case, \"monokai\") and then " +"copy the generated CSS file to your new theme::" +msgstr "你可以使用下面的命令来让Pygments使用内置风格(此处为 \"monokai\" )生成一个初始CSS文件," +"然后将此文件拷贝到新主题中:" + +#: ../../faq.rst:60 +msgid "Don't forget to import your ``pygment.css`` file from your main CSS file." +msgstr "不要忘了在你的CSS主文件中引入 ``pygment.css`` 文件。" + +#: ../../faq.rst:63 +msgid "How do I create my own theme?" +msgstr "如何创建我自己的主题?" + +#: ../../faq.rst:65 +msgid "Please refer to :ref:`theming-pelican`." +msgstr "请参阅 :ref:`theming-pelican` 。" + +#: ../../faq.rst:68 +msgid "I want to use Markdown, but I got an error." +msgstr "我想要使用Markdown,但是出错了。" + +#: ../../faq.rst:70 +msgid "" +"If you try to generate Markdown content without first installing the " +"Markdown library, you may see a message that says ``No valid files found " +"in content``. Markdown is not a hard dependency for Pelican, so if you " +"have content in Markdown format, you will need to explicitly install the " +"Markdown library. You can do so by typing the following command, " +"prepending ``sudo`` if permissions require it::" +msgstr "如果没有事先安装Markdown库,在生成Markdown内容时会看到一条提示 ``No valid files found " +"in content`` 。虽然Markdown并不是必需依赖,但如果你写的内容中含有Markdown格式,就需要安装Markdown" +"库了。输入下面的命令以安装Markdown库,如果有要求权限,请在前面添加 ``sudo`` :" + +#: ../../faq.rst:80 +msgid "Can I use arbitrary metadata in my templates?" +msgstr "在模板中可以使用任意元数据吗?" + +#: ../../faq.rst:82 +msgid "" +"Yes. For example, to include a modified date in a Markdown post, one " +"could include the following at the top of the article::" +msgstr "当然可以。例如,可以在Markdown帖子中包含一个“修改日期”,加在文章开头即可:" + +#: ../../faq.rst:87 +msgid "" +"For reStructuredText, this metadata should of course be prefixed with a " +"colon::" +msgstr "对于reStructuredText,此元数据也应当以冒号为前缀:" + +#: ../../faq.rst:91 +msgid "" +"This metadata can then be accessed in templates such as ``article.html`` " +"via::" +msgstr "此元数据可以在模板中获取到,例如在 ``article.html`` 中,可以像这样获取:" + +#: ../../faq.rst:97 +msgid "" +"If you want to include metadata in templates outside the article context " +"(e.g., ``base.html``), the ``if`` statement should instead be::" +msgstr "如果您想在article模板之外的模板中包含此元数据(例如 ``base.html`` ),则 ``if`` 语句应改为:" + +#: ../../faq.rst:103 +msgid "How do I assign custom templates on a per-page basis?" +msgstr "如何为某个页面指定某个模板?" + +#: ../../faq.rst:105 +msgid "" +"It's as simple as adding an extra line of metadata to any page or article" +" that you want to have its own template. For example, this is how it " +"would be handled for content in reST format::" +msgstr "这非常简单,在任何页面或者文章中,都可以通过多添加一行元数据来指定特定模板。例如,在reST中,使用:" + +#: ../../faq.rst:111 +msgid "For content in Markdown format::" +msgstr "对于Markdown,则使用:" + +#: ../../faq.rst:115 +msgid "" +"Then just make sure your theme contains the relevant template file (e.g. " +"``template_name.html``)." +msgstr "确保对应的模板文件在主题中存在即可(例如 ``template_name.html`` )。" + +#: ../../faq.rst:119 +msgid "How can I override the generated URL of a specific page or article?" +msgstr "如何重写某一个页面或文章生成的URL?" + +#: ../../faq.rst:121 +msgid "" +"Include ``url`` and ``save_as`` metadata in any pages or articles that " +"you want to override the generated URL. Here is an example page in reST " +"format::" +msgstr "在任意页面或文章中都可以添加 ``url`` 和 ``save_as`` 元数据,这样就可以重写URL了。" +"下面以reST格式为例:" + +#: ../../faq.rst:130 +msgid "" +"With this metadata, the page will be written to " +"``override/url/index.html`` and Pelican will use the URL " +"``override/url/`` to link to this page." +msgstr "有了这样的元数据,此页面会写入 ``override/url/index.html`` ,Pelican会将" +"``override/url/`` 作为链接到此页面的URL。" + +#: ../../faq.rst:134 +msgid "How can I use a static page as my home page?" +msgstr "如何使用一个静态页面作为主页?" + +#: ../../faq.rst:136 +msgid "" +"The override feature mentioned above can be used to specify a static page" +" as your home page. The following Markdown example could be stored in " +"``content/pages/home.md``::" +msgstr "上一个问题中提到的特性可以用于实现此需求。下面例子中的Markdown文件保存为" +"``content/pages/home.md`` :" + +#: ../../faq.rst:146 +msgid "" +"If the original blog index is still wanted, it can then be saved in a " +"different location by setting ``INDEX_SAVE_AS = 'blog_index.html'`` for " +"the ``'index'`` direct template." +msgstr "如果仍需要原来的博客主页(即 ``'index'`` 直接模板),可以通过设置 " +"``INDEX_SAVE_AS = 'blog_index.html'`` 将其存储在其他位置。" + +#: ../../faq.rst:151 +msgid "What if I want to disable feed generation?" +msgstr "可以禁用订阅源生成吗?" + +#: ../../faq.rst:153 +msgid "" +"To disable feed generation, all feed settings should be set to ``None``. " +"All but three feed settings already default to ``None``, so if you want " +"to disable all feed generation, you only need to specify the following " +"settings::" +msgstr "要禁用订阅源,所有订阅源相关的设置都应被设为 ``None`` 。其中有三项设置默认为 ``None`` ," +"因此如果要彻底不生成订阅源,你只需要指定下面这些设置:" + +#: ../../faq.rst:163 +msgid "" +"The word ``None`` should not be surrounded by quotes. Please note that " +"``None`` and ``''`` are not the same thing." +msgstr "``None`` 两侧不需要加引号。请注意 ``None`` 和 ``''`` 不是同一个东西。" + +#: ../../faq.rst:167 +msgid "" +"I'm getting a warning about feeds generated without SITEURL being set " +"properly" +msgstr "Pelican警告说由于SITEURL设置不正确,无法正常生成订阅源" + +#: ../../faq.rst:169 +msgid "" +"`RSS and Atom feeds require all URL links to be absolute " +"`_. In order to " +"properly generate links in Pelican you will need to set ``SITEURL`` to " +"the full path of your site." +msgstr "`RSS和Atom订阅源要求所有URL都要链接到绝对地址 `_ 。" +"为了让Pelican正确生成链接,你需要将站点的 ``SITEURL`` 设置为完整路径。" + +#: ../../faq.rst:174 +msgid "" +"Feeds are still generated when this warning is displayed, but links " +"within may be malformed and thus the feed may not validate." +msgstr "虽然Pelican提出了警告,但是仍会生成订阅源,但其中的链接可能是坏掉的,这会导致订阅源不可用。" + +#: ../../faq.rst:178 +msgid "Can I force Atom feeds to show only summaries instead of article content?" +msgstr "可以让Atom订阅源只显示摘要,不显示文章内容吗?" + +#: ../../faq.rst:180 +msgid "" +"Instead of having to open a separate browser window to read articles, the" +" overwhelming majority of folks who use feed readers prefer to read " +"content within the feed reader itself. Mainly for that reason, Pelican " +"does not support restricting Atom feeds to only contain summaries. Unlike" +" Atom feeds, the RSS feed specification does not include a separate " +"``content`` field, so by default Pelican publishes RSS feeds that only " +"contain summaries (but can optionally be set to instead publish full " +"content RSS feeds). So the default feed generation behavior provides " +"users with a choice: subscribe to Atom feeds for full content or to RSS " +"feeds for just the summaries." +msgstr "绝大多数使用订阅源阅读器的人都更喜欢直接在阅读器中阅读文章内容,而不是另外再打开窗口来阅读。" +"因此,Pelican不支持使Atom只包含摘要。但是由于RSS不包含单独的 ``content`` 字段,因此Pelican在发布RSS" +"时默认只包含摘要(当然也可以设置为包含文章内容)。Pelican在订阅源生成上的如此行为就可以让用户自行选择订阅类型:" +"包含了完整内容的Atom或是只包含摘要的RSS。" + +#: ../../faq.rst:191 +msgid "Is Pelican only suitable for blogs?" +msgstr "Pelican只适合用于博客吗?" + +#: ../../faq.rst:193 +msgid "" +"No. Pelican can be easily configured to create and maintain any type of " +"static site. This may require a little customization of your theme and " +"Pelican configuration. For example, if you are building a launch site for" +" your product and do not need tags on your site, you could remove the " +"relevant HTML code from your theme. You can also disable generation of " +"tag-related pages via::" +msgstr "不是的。Pelican可以很方便就用于创建维护任何静态站点,为此你需要对主题和配置做一些定制。" +"例如,如果要为你的产品构建一个宣传网站,即不需要使用标签,从主题中移除与标签相关的HTML代码即可。" +"另外,还可以通过下面的设置来禁用标签相关页面的生成:" + +#: ../../faq.rst:203 +msgid "" +"Why does Pelican always write all HTML files even with content caching " +"enabled?" +msgstr "启用内容缓存后,Pelican为什么仍会写入所有HTML文件?" + +#: ../../faq.rst:205 +msgid "" +"In order to reliably determine whether the HTML output is different " +"before writing it, a large part of the generation environment including " +"the template contexts, imported plugins, etc. would have to be saved and " +"compared, at least in the form of a hash (which would require special " +"handling of unhashable types), because of all the possible combinations " +"of plugins, pagination, etc. which may change in many different ways. " +"This would require a lot more processing time and memory and storage " +"space. Simply writing the files each time is a lot faster and a lot more " +"reliable." +msgstr "为了确定HTML输出确实和之前的不同,模板上下文、插件等很多生成环境都需要保存并比较某种哈希值" +"(对于不可哈希的内容类型还需要进行一些额外处理)。另外,由于插件、分页等内容的存在,输出的HTML很可能" +"会与之前不同。因此,考虑到处理时间和存储空间,每次都重新写入HTML会更快更可靠。" + +#: ../../faq.rst:214 +msgid "" +"However, this means that the modification time of the files changes every" +" time, so a ``rsync`` based upload will transfer them even if their " +"content hasn't changed. A simple solution is to make ``rsync`` use the " +"``--checksum`` option, which will make it compare the file checksums in a" +" much faster way than Pelican would." +msgstr "然而,这样的机制会使得在每次生成站点后,文件的修改时间都会变化,因此基于 ``rsync`` 上传时会把" +"没有变化的内容也进行上传。一个简便的解决方法就是给 ``rsync`` 加上 ``--checksum`` 选项,这会比Pelican在" +"生成时进行校验更快。" + +#: ../../faq.rst:221 +msgid "How to process only a subset of all articles?" +msgstr "如何只处理一部分文章?" + +#: ../../faq.rst:223 +msgid "" +"It is often useful to process only e.g. 10 articles for debugging " +"purposes. This can be achieved by explicitly specifying only the " +"filenames of those articles in ``ARTICLE_PATHS``. A list of such " +"filenames could be found using a command similar to ``cd content; find " +"-name '*.md' | head -n 10``." +msgstr "简便起见,在调试时可能只需要处理几篇文章。可以通过在设置项 ``ARTICLE_PATHS`` 中添加需要处理的文章" +"的文件名。可以通过类似于 ``cd content; find -name '*.md' | head -n 10`` 的命令获取文章文件名的一个列表。" + +#: ../../faq.rst:229 +msgid "My tag cloud is missing/broken since I upgraded Pelican" +msgstr "在升级Pelican后,标签云消失或不可用了" + +#: ../../faq.rst:231 +msgid "" +"In an ongoing effort to streamline Pelican, tag cloud generation has been" +" moved out of Pelican core and into a separate `plugin " +"`_. See the :ref:`plugins` " +"documentation for further information about the Pelican plugin system." +msgstr "我们一直致力于精简Pelican,标签云生成的功能已经从Pelican核心中移除,转而放到了一个单独的 " +"`插件 `_ 中。查看 :ref:`plugins` 文档获取更多关于" +"Pelican插件系统的信息。" + +#: ../../faq.rst:237 +msgid "Since I upgraded Pelican my pages are no longer rendered" +msgstr "升级Pelican后,一些页面没有被渲染" + +#: ../../faq.rst:239 +msgid "" +"Pages were available to themes as lowercase ``pages`` and uppercase " +"``PAGES``. To bring this inline with the :ref:`templates-variables` " +"section, ``PAGES`` has been removed. This is quickly resolved by updating" +" your theme to iterate over ``pages`` instead of ``PAGES``. Just " +"replace::" +msgstr "在以前的版本中,主题通过小写的 ``pages`` 和大写的 ``PAGES`` 都能获取到页面。" +"为了使之与 :ref:`templates-variables` 一节中的内容保持一致,大写的 ``PAGES`` 被删除了。" +"只要将主题中的 ``PAGES`` 替换为 ``pages`` ,问题即可解决。例如将原先的:" + +#: ../../faq.rst:246 +msgid "with something like::" +msgstr "替换为:" + +#: ../../faq.rst:251 +msgid "How can I stop Pelican from trying to parse my static files as content?" +msgstr "如何避免让Pelican将我的静态文件解析为内容文件?(译者注:例如要将一个HTML文件作为静态文件)" + +#: ../../faq.rst:253 +msgid "" +"Pelican's article and page generators run before it's static generator. " +"That means if you use a setup similar to the default configuration, where" +" a static source directory is defined inside a ``*_PATHS`` setting, all " +"files that have a valid content file ending (``.html``, ``.rst``, " +"``.md``, ...) will be treated as articles or pages before they get " +"treated as static files." +msgstr "Pelican的文章与页面生成器会先于静态文件生成器运行。这意味着若使用与默认配置类似的设置,即" +"静态资源文件夹定义在某个 ``*_PATHS`` 配置项中,所有以有效内容文件后缀结尾的文件( ``.html`` 、 ``.rst`` 、 " +"``.md`` 等)都会被视为文章或者页面,而不是静态文件。" + +#: ../../faq.rst:259 +msgid "" +"To circumvent this issue either use the appropriate ``*_EXCLUDES`` " +"setting or disable the offending reader via ``READERS`` if you don't need" +" it." +msgstr "为了避免这个问题,使用合适的 ``*_EXCLUDES`` 配置,在必要时还可以通过 ``READERS`` 配置项" +"来直接禁用产生问题的reader" + +#: ../../faq.rst:263 +msgid "Why is [arbitrary Markdown syntax] not supported?" +msgstr "为什么不是所有的Markdown语法都支持?" + +#: ../../faq.rst:265 +msgid "" +"Pelican does not directly handle Markdown processing and instead " +"delegates that task to the Python-Markdown_ project, the core of which " +"purposefully follows the original Markdown syntax rules and not the " +"myriad Markdown \"flavors\" that have subsequently propagated. That said," +" Python-Markdown_ is quite modular, and the syntax you are looking for " +"may be provided by one of the many available `Markdown Extensions`_. " +"Alternatively, some folks have created Pelican plugins that support " +"Markdown variants, so that may be your best choice if there is a " +"particular variant you want to use when writing your content." +msgstr "Pelican并不直接对Markdown进行处理,而是将此任务交给 Python-Markdown_ 项目,此项目的核心有意只" +"遵循原始的Markdown语法规则,而不服从之后传播开的大量Markdown风格。另外, Python-Markdown_ 时相当模块化的," +"你想要使用的语法可能已经有现成的 `Markdown扩展`_ 进行了实现。或者,也有人创建了支持Markdown变体的Pelican" +"插件,如果你想要用某种Markdown变体,可以在这些地方寻找支持。" + +#~ msgid "" +#~ "If you want to contribute, please " +#~ "fork `the git repository " +#~ "`_, create a " +#~ "new feature branch, make your changes," +#~ " and issue a pull request. Someone" +#~ " will review your changes as soon " +#~ "as possible. Please refer to the " +#~ ":doc:`How to Contribute ` section" +#~ " for more details." +#~ msgstr "" + +#~ msgid "" +#~ "If you try to generate Markdown " +#~ "content without first installing the " +#~ "Markdown library, may see a message " +#~ "that says ``No valid files found " +#~ "in content``. Markdown is not a " +#~ "hard dependency for Pelican, so if " +#~ "you have content in Markdown format, " +#~ "you will need to explicitly install " +#~ "the Markdown library. You can do " +#~ "so by typing the following command, " +#~ "prepending ``sudo`` if permissions require " +#~ "it::" +#~ msgstr "" + +#~ msgid "" +#~ "With this metadata, the page will " +#~ "be written to ``override/url/index.html`` and" +#~ " Pelican will use url ``override/url/`` " +#~ "to link to this page." +#~ msgstr "" + +#~ msgid "My tag-cloud is missing/broken since I upgraded Pelican" +#~ msgstr "" + +#~ msgid "" +#~ "When only several specific output files" +#~ " are of interest (e.g. when working" +#~ " on some specific page or the " +#~ "theme templates), the ``WRITE_SELECTED`` " +#~ "option may help, see " +#~ ":ref:`writing_only_selected_content`." +#~ msgstr "" diff --git a/docs/locales/zh_CN/LC_MESSAGES/importer.mo b/docs/locales/zh_CN/LC_MESSAGES/importer.mo new file mode 100644 index 00000000..dd1ed9df Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/importer.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/importer.po b/docs/locales/zh_CN/LC_MESSAGES/importer.po new file mode 100644 index 00000000..960ec90e --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/importer.po @@ -0,0 +1,328 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-03-13 10:21+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../importer.rst:4 +msgid "Importing an existing site" +msgstr "导入已有站点" + +#: ../../importer.rst:7 +msgid "Description" +msgstr "简介" + +#: ../../importer.rst:9 +msgid "" +"``pelican-import`` is a command-line tool for converting articles from " +"other software to reStructuredText or Markdown. The supported import " +"formats are:" +msgstr "" +"命令行工具 ``pelican-import`` " +"用于将其他软件生成的文章转换成reStructuredText或Markdown格式。支持导入下面这些格式" + +#: ../../importer.rst:12 +msgid "Blogger XML export" +msgstr "Blogger XML export" + +#: ../../importer.rst:13 +msgid "Dotclear export" +msgstr "Dotclear export" + +#: ../../importer.rst:14 +msgid "Medium export" +msgstr "" + +#: ../../importer.rst:15 +msgid "Tumblr API" +msgstr "Tumblr API" + +#: ../../importer.rst:16 +msgid "WordPress XML export" +msgstr "WordPress XML export" + +#: ../../importer.rst:17 +msgid "RSS/Atom feed" +msgstr "RSS/Atom feed" + +#: ../../importer.rst:19 +msgid "" +"The conversion from HTML to reStructuredText or Markdown relies on " +"`Pandoc`_. For Dotclear, if the source posts are written with Markdown " +"syntax, they will not be converted (as Pelican also supports Markdown)." +msgstr "" +"从HTML转换到reStructuredText或Markdown是依赖 `Pandoc`_ " +"完成的。对于Dotclear,若原帖子是由Markdown语法写的,则无需转换(因为Pelican本就支持Markdown)。" + +#: ../../importer.rst:25 +msgid "" +"Unlike Pelican, Wordpress supports multiple categories per article. These" +" are imported as a comma-separated string. You have to resolve these " +"manually, or use a plugin such as `More Categories`_ that enables " +"multiple categories per article." +msgstr "" +"和Pelican不同,在Wordpress中可以将一篇文章同时放在多个分类中。在导入时,各个分类会以逗号分隔,你必须自己手动进行处理。或者也可以使用例如" +" `More Categories`_ 这样的插件,从而可以将文章放在多个分类中。" + +#: ../../importer.rst:32 +msgid "" +"Imported pages may contain links to images that still point to the " +"original site. So you might want to download those images into your local" +" content and manually re-link them from the relevant pages of your site." +msgstr "" + +#: ../../importer.rst:37 +msgid "Dependencies" +msgstr "依赖" + +#: ../../importer.rst:39 +msgid "" +"``pelican-import`` has some dependencies not required by the rest of " +"Pelican:" +msgstr "``pelican-import`` 需要用到一些其他依赖,这些依赖只会被 ``pelican-import`` 用到:" + +#: ../../importer.rst:41 +msgid "" +"*BeautifulSoup4* and *lxml*, for WordPress and Dotclear import. Can be " +"installed like any other Python package (``pip install BeautifulSoup4 " +"lxml``)." +msgstr "" +"为了能够导入WordPress和Dotclear的内容,需要*BeautifulSoup4* 与 *lxml* " +"。安装方法与其他Python包相同( ``pip install BeautifulSoup4 lxml`` )" + +#: ../../importer.rst:44 +msgid "*Feedparser*, for feed import (``pip install feedparser``)." +msgstr "为了能够导入订阅源,需要 *Feedparser* ( ``pip install feedparser`` )" + +#: ../../importer.rst:45 +msgid "" +"*Pandoc*, see the `Pandoc site`_ for installation instructions on your " +"operating system." +msgstr "还需要 *Pandoc* ,参照 `Pandoc官方网站`_ 进行安装。" + +#: ../../importer.rst:53 +msgid "Usage" +msgstr "用法" + +#: ../../importer.rst:63 +msgid "Positional arguments" +msgstr "位置参数" + +#: ../../importer.rst:65 +msgid "``input``" +msgstr "``input``" + +#: ../../importer.rst:65 +msgid "The input file to read" +msgstr "需要读取的输入文件" + +#: ../../importer.rst:66 +msgid "``api_key``" +msgstr "``api_key``" + +#: ../../importer.rst:66 +msgid "" +"(Tumblr only) api_key can be obtained from " +"https://www.tumblr.com/oauth/apps" +msgstr "(只会在Tumblr中用到)从 https://www.tumblr.com/oauth/apps 中获取到的api_key" + +#: ../../importer.rst:70 +msgid "Optional arguments" +msgstr "可选参数" + +#: ../../importer.rst:72 +msgid "Show this help message and exit" +msgstr "显示此帮助信息并退出 ``pelican-import`` " + +#: ../../importer.rst:73 +msgid "Blogger XML export (default: False)" +msgstr "输入是否为Blogger XML格式(默认:False)" + +#: ../../importer.rst:74 +msgid "Dotclear export (default: False)" +msgstr "输入是否为Dotclear格式(默认:False)" + +#: ../../importer.rst:75 +msgid "Medium export (default: False)" +msgstr "输入是否为Medium格式(默认:False)" + +#: ../../importer.rst:76 +msgid "Tumblr API (default: False)" +msgstr "输入是否为Tumblr API格式(默认:False)" + +#: ../../importer.rst:77 +msgid "WordPress XML export (default: False)" +msgstr "输入是否为WordPress XML格式(默认:False)" + +#: ../../importer.rst:78 +msgid "Feed to parse (default: False)" +msgstr "输入是否为订阅源格式(默认:False)" + +#: ../../importer.rst:80 +msgid "Output path (default: content)" +msgstr "输出路径(默认:content)" + +#: ../../importer.rst:82 +msgid "" +"Output markup format: ``rst``, ``markdown``, or ``asciidoc`` (default: " +"``rst``)" +msgstr "输出格式,可选值为: ``rst`` 、 ``markdown`` 、 ``asciidoc`` (默认: ``rst`` )" + +#: ../../importer.rst:84 +msgid "Put files in directories with categories name (default: False)" +msgstr "将输出文件按分类名放到各文件夹中(默认:False)" + +#: ../../importer.rst:86 +msgid "" +"Put files recognised as pages in \"pages/\" sub- directory (blogger and " +"wordpress import only) (default: False)" +msgstr "将识别为页面的文件放入 \"pages/\" 子文件夹中(仅在blogger和wordpress中有用)(默认:False)" + +#: ../../importer.rst:89 +msgid "Import only post from the specified author" +msgstr "只导入某个作者的帖子" + +#: ../../importer.rst:90 +msgid "" +"Strip raw HTML code that can't be converted to markup such as flash " +"embeds or iframes (default: False)" +msgstr "删除无法转换的HTML代码,例如嵌入的flash或iframe(默认:False)" + +#: ../../importer.rst:92 +msgid "" +"Put wordpress custom post types in directories. If used with --dir-cat " +"option directories will be created as \"/post_type/category/\" (wordpress" +" import only)" +msgstr "" +"将wordpress中的自定义类型博文放到对应文件夹中。如果同时还使用了 --dir-cat 选项,输出转换后文件时会创建诸如 " +"\"/post_type/category/\" 的文件夹。(只在wordpress中有效)" + +#: ../../importer.rst:95 +msgid "" +"Download files uploaded to wordpress as attachments. Files will be added " +"to posts as a list in the post header and links to the files within the " +"post will be updated. All files will be downloaded, even if they aren't " +"associated with a post. Files will be downloaded with their original path" +" inside the output directory, e.g. \"output/wp-" +"uploads/date/postname/file.jpg\". (wordpress import only) (requires an " +"internet connection)" +msgstr "" +"下载作为附件上传到WordPress的文件。文件会以列表形式添加到帖子的开头,并且到这些文件的链接都会进行更新。另外,即使某些文件没有在任何帖子中用到,也同样会被下载。文件会被下载到输出文件夹下,并保持原始路径,例如" +" \"output/wp-uploads/date/postname/file.jpg\" " +"。(只有在wordpress中有用,且需要互联网连接)" + +#: ../../importer.rst:104 +msgid "" +"Disable storing slugs from imported posts within output. With this " +"disabled, your Pelican URLs may not be consistent with your original " +"posts. (default: False)" +msgstr "不保存导入帖子的slug,会导致Pelican的URL和原始帖子不一致。(默认:False)" + +#: ../../importer.rst:109 +msgid "Blog name used in Tumblr API" +msgstr "Tumblr API中使用的博客名" + +#: ../../importer.rst:113 +msgid "Examples" +msgstr "例子" + +#: ../../importer.rst:115 +msgid "For Blogger::" +msgstr "导入Blogger:" + +#: ../../importer.rst:119 +msgid "For Dotclear::" +msgstr "导入Dotclear" + +#: ../../importer.rst:123 +msgid "For Medium::" +msgstr "导入Medium" + +#: ../../importer.rst:127 +msgid "" +"The Medium export is a zip file. Unzip it, and point this tool to the " +"\"posts\" subdirectory. For more information on how to export, see " +"https://help.medium.com/hc/en-us/articles/115004745787-Export-your-" +"account-data." +msgstr "Medium中导出的是一个zip文件。请先解压之,然后再将其中的“posts”子目录传给此工具。" +"https://help.medium.com/hc/en-us/articles/115004745787-Export-your-account-data 中有更详细的导出指导。" + +#: ../../importer.rst:131 +msgid "For Tumblr::" +msgstr "导入Tumblr" + +#: ../../importer.rst:135 +msgid "For WordPress::" +msgstr "导入WordPress" + +#: ../../importer.rst:139 +msgid "For Medium (an example of using an RSS feed):" +msgstr "导入Medium(一个使用RSS订阅源的例子):" + +#: ../../importer.rst:141 +msgid "" +"$ python -m pip install feedparser $ pelican-import --feed " +"https://medium.com/feed/@username" +msgstr "$ python -m pip install feedparser $ pelican-import --feed " +"https://medium.com/feed/@username" + +#: ../../importer.rst:146 +msgid "The RSS feed may only return the most recent posts — not all of them." +msgstr "RSS订阅源可能只会返回最新的帖子,而不是所有帖子。" + +#: ../../importer.rst:149 +msgid "Tests" +msgstr "测试" + +#: ../../importer.rst:151 +msgid "To test the module, one can use sample files:" +msgstr "可以使用下面的文件作为样例,来测试模块" + +#: ../../importer.rst:153 +msgid "" +"for WordPress: https://www.wpbeginner.com/wp-themes/how-to-add-dummy-" +"content-for-theme-development-in-wordpress/" +msgstr "" +"WordPress: https://www.wpbeginner.com/wp-themes/how-to-add-dummy-content-" +"for-theme-development-in-wordpress/" + +#: ../../importer.rst:154 +msgid "for Dotclear: http://media.dotaddict.org/tda/downloads/lorem-backup.txt" +msgstr "Dotclear: http://media.dotaddict.org/tda/downloads/lorem-backup.txt" + +#~ msgid "Posterous API" +#~ msgstr "" + +#~ msgid "``api_token``" +#~ msgstr "" + +#~ msgid "" +#~ "(Posterous only) api_token can be " +#~ "obtained from http://posterous.com/api/" +#~ msgstr "" + +#~ msgid "Posterous API (default: False)" +#~ msgstr "" + +#~ msgid "Email used to authenticate Posterous API" +#~ msgstr "" + +#~ msgid "Password used to authenticate Posterous API" +#~ msgstr "" + +#~ msgid "for Posterous::" +#~ msgstr "" diff --git a/docs/locales/zh_CN/LC_MESSAGES/index.mo b/docs/locales/zh_CN/LC_MESSAGES/index.mo new file mode 100644 index 00000000..2f005214 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/index.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/index.po b/docs/locales/zh_CN/LC_MESSAGES/index.po new file mode 100644 index 00000000..bbfccea4 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/index.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-04-29 21:43+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.12.1\n" + +#: ../../index.rst:2 +msgid "Pelican |release|" +msgstr "Pelican |release|" + +#: ../../index.rst:13 +msgid "" +"Pelican is a static site generator, written in Python_. Highlights " +"include:" +msgstr "Pelican是一个用 Python_ 写的静态站点生成器," +"它有诸多亮点:" + +#: ../../index.rst:15 +msgid "" +"Write your content directly with your editor of choice in " +"reStructuredText_ or Markdown_ formats" +msgstr "你可以直接在自己的编辑器中用 reStructuredText_ 或 Markdown_ 完成内容创作" + +#: ../../index.rst:17 +msgid "Includes a simple CLI tool to (re)generate your site" +msgstr "自带了一个简单的命令行工具,你可以用它来生成你的站点" + +#: ../../index.rst:18 +msgid "Easy to interface with distributed version control systems and web hooks" +msgstr "易于和分布式版本控制系统和webhook连接" + +#: ../../index.rst:19 +msgid "Completely static output is easy to host anywhere" +msgstr "生成的站点是完全静态的,可以在任何主机上轻松地部署" + +#: ../../index.rst:21 +msgid "Ready to get started? Check out the :doc:`Quickstart` guide." +msgstr "准备好开始体验了吗?请查看 :doc:`快速入门` 指南。" + +#: ../../index.rst:24 +msgid "Features" +msgstr "特性" + +#: ../../index.rst:26 +msgid "Pelican’s feature highlights include:" +msgstr "Pelican在特性上也有很多亮点:" + +#: ../../index.rst:28 +msgid "" +"Articles (e.g., blog posts) and pages (e.g., \"About\", \"Projects\", " +"\"Contact\")" +msgstr "可以生成文章(例如博客推文)和页面(例如“关于”、“联系我们”、“项目”)" + +#: ../../index.rst:29 +msgid "Integration with external services" +msgstr "可以和外部服务集成" + +#: ../../index.rst:30 +msgid "Site themes (created using Jinja2_ templates)" +msgstr "可以使用主题(主题使用 Jinja2_ 模板引擎创建的)" + +#: ../../index.rst:31 +msgid "Publication of articles in multiple languages" +msgstr "可以发布多语言文章(可切换语言)" + +#: ../../index.rst:32 +msgid "Generation of Atom and RSS feeds" +msgstr "可以生成Atom和Rss feeds" + +#: ../../index.rst:33 +msgid "Code syntax highlighting" +msgstr "可以显示代码高亮" + +#: ../../index.rst:34 +msgid "Import existing content from WordPress, Dotclear, or RSS feeds" +msgstr "可以从WordPress、Dotclear或Rss feeds导入已有的内容" + +#: ../../index.rst:35 +msgid "Fast rebuild times thanks to content caching and selective output writing" +msgstr "得益于内容缓存和选择性生成,可以快速的重新生成站点" + +#: ../../index.rst:36 +msgid "Extensible via a rich plugin ecosystem: `Pelican Plugins`_" +msgstr "可扩展性强,有丰富的插件生态: `Pelican Plugins`_" + +#: ../../index.rst:39 +msgid "Why the name \"Pelican\"?" +msgstr "为什么叫做“Pelican”?" + +#: ../../index.rst:41 +msgid "" +"\"Pelican\" is an anagram for *calepin*, which means \"notebook\" in " +"French. ;)" +msgstr "“Pelican”是法语词笔记本 *calepin* 读音的回文。;)" + +#: ../../index.rst:44 +msgid "Source code" +msgstr "源码" + +#: ../../index.rst:46 +msgid "You can access the source code at: https://github.com/getpelican/pelican" +msgstr "在这里可以获取Pelican的源码: https://github.com/getpelican/pelican" + +#: ../../index.rst:49 +msgid "How to get help, contribute, or provide feedback" +msgstr "如何获取帮助、贡献内容或是提供反馈" + +#: ../../index.rst:51 +msgid "" +"See our :doc:`feedback and contribution submission guidelines " +"`." +msgstr "请查看文档 :doc:`反馈意见和贡献的提交指南 " +"`。" + +#: ../../index.rst:54 +msgid "Documentation" +msgstr "文档" diff --git a/docs/locales/zh_CN/LC_MESSAGES/install.mo b/docs/locales/zh_CN/LC_MESSAGES/install.mo new file mode 100644 index 00000000..1be4cc6c Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/install.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/install.po b/docs/locales/zh_CN/LC_MESSAGES/install.po new file mode 100644 index 00000000..865cc56a --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/install.po @@ -0,0 +1,221 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../install.rst:2 +msgid "Installing Pelican" +msgstr "安装Pelican" + +#: ../../install.rst:4 +msgid "" +"Pelican currently runs best on |min_python|; earlier versions of Python " +"are not supported." +msgstr "Pelican需要运行在 |min_python| 版本以上的Python,低版本的Python是不支持的。" + +#: ../../install.rst:6 +msgid "" +"You can install Pelican via several different methods. The simplest is " +"via Pip_::" +msgstr "有几种不同的方法可以安装Pelican,最简单的就是通过 Pip_:" + +#: ../../install.rst:10 +msgid "Or, if you plan on using Markdown::" +msgstr "如果您需要使用Markdown,请使用下面的命令安装:" + +#: ../../install.rst:14 +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)" + +#: ../../install.rst:17 +msgid "" +"While the above is the simplest method, the recommended approach is to " +"create a virtual environment for Pelican via virtualenv_ before " +"installing Pelican. Assuming you have virtualenv_ installed, you can then" +" open a new terminal session and create a new virtual environment for " +"Pelican::" +msgstr "" +"尽管上面是最简单的安装方法,但我们推荐使用虚拟环境 virtualenv_ 完成Pelican的安装。当您安装好了 virtualenv_ " +"后,打开一个新的命令行来为Pelican创建一个虚拟环境:" + +#: ../../install.rst:26 +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::" +msgstr "" +"当创建并激活虚拟环境后,使用之前提到过的命令 ``python -m pip install pelican`` " +"就可以安装Pelican了。或者,如果您想要从源码安装,可以通过distutils的安装脚本完成:" + +#: ../../install.rst:33 +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的最最新版本(而不是稳定版),请使用下面的命令:" + +#: ../../install.rst:38 +msgid "" +"Once Pelican is installed, you can run ``pelican --help`` to see basic " +"usage options. For more detail, refer to the :doc:`Publish` " +"section." +msgstr "" +"当您安装了Pelican,可以执行 ``pelican --help`` 命令来查看一些基本的用法。从文档的 " +":doc:`Publish` 章节可以了解更多信息。" + +#: ../../install.rst:42 +msgid "Optional packages" +msgstr "可选包" + +#: ../../install.rst:44 +msgid "" +"If you plan on using `Markdown `_ as " +"a markup format, you can install Pelican with Markdown support::" +msgstr "" +"如您希望使用 `Markdown `_ " +"来写作执行下面的命令来安装Markdown支持:" + +#: ../../install.rst:49 +msgid "" +"Typographical enhancements can be enabled in your settings file, but " +"first the requisite `Typogrify `_ " +"library must be installed::" +msgstr "" +"Pelican还支持排版增强,若您需要使用,请先安装 `Typogrify " +"`_ 库,稍后您可以在设置文件中启用它。" + +#: ../../install.rst:56 +msgid "Dependencies" +msgstr "依赖" + +#: ../../install.rst:58 +msgid "" +"When Pelican is installed, the following dependent Python packages should" +" be automatically installed without any action on your part:" +msgstr "当Pelican安装完成后,下面的所有Python依赖应该都会自动安装,无需另外做任何操作:" + +#: ../../install.rst:61 +msgid "" +"`feedgenerator `_, to generate " +"the Atom feeds" +msgstr "`feedgenerator `_,用于生成Atom feeds" + +#: ../../install.rst:63 +msgid "`jinja2 `_, for templating support" +msgstr "`jinja2 `_,用于模板" + +#: ../../install.rst:64 +msgid "`pygments `_, for syntax highlighting" +msgstr "`pygments `_,用于语法高亮" + +#: ../../install.rst:65 +msgid "" +"`docutils `_, for supporting " +"reStructuredText as an input format" +msgstr "`docutils `_,用于reStructuredText格式" + +#: ../../install.rst:67 +msgid "" +"`blinker `_, an object-to-object and " +"broadcast signaling system" +msgstr "`blinker `_,对象-对象的信号广播系统" + +#: ../../install.rst:69 +msgid "" +"`unidecode `_, for ASCII " +"transliterations of Unicode text utilities" +msgstr "" +"`unidecode " +"`_,用于将Unicode文本转为ASCII字符的音译" + +#: ../../install.rst:72 +msgid "" +"`MarkupSafe `_, for a markup-safe " +"string implementation" +msgstr "`MarkupSafe `_,用于转义字符的安全处理" + +#: ../../install.rst:74 +msgid "" +"`python-dateutil `_, to read " +"the date metadata" +msgstr "" +"`python-dateutil `_,用于读取日期相关的元数据" + +#: ../../install.rst:78 +msgid "Upgrading" +msgstr "更新升级" + +#: ../../install.rst:80 +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`` 来升级到最新版:" + +#: ../../install.rst:85 +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再做一遍和安装时同样的步骤即可。" + +#: ../../install.rst:89 +msgid "Kickstart your site" +msgstr "启动网站" + +#: ../../install.rst:91 +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`` 命令创建项目的整体框架执行这个命令后,您需要输入一些站点相关的信息:" + +#: ../../install.rst:97 +msgid "" +"If run inside an activated virtual environment, ``pelican-quickstart`` " +"will look for an associated project path inside " +"``$VIRTUAL_ENV/.project``. If that file exists and contains a valid " +"directory path, the new Pelican project will be saved at that location. " +"Otherwise, the default is the current working directory. To set the new " +"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``" + +#: ../../install.rst:104 +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)所在的位置:" + +#: ../../install.rst:118 +msgid "" +"The next step is to begin to adding content to the *content* folder that " +"has been created for you." +msgstr "下一步就可以开始往 *content* 目录中添加自己创建的内容了。" + +#~ msgid "`pytz `_, for timezone definitions" +#~ msgstr "`pytz `_,用于定义时区" diff --git a/docs/locales/zh_CN/LC_MESSAGES/internals.mo b/docs/locales/zh_CN/LC_MESSAGES/internals.mo new file mode 100644 index 00000000..444fef5d Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/internals.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/internals.po b/docs/locales/zh_CN/LC_MESSAGES/internals.po new file mode 100644 index 00000000..6f4be22d --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/internals.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-04-29 21:43+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.12.1\n" + +#: ../../internals.rst:2 +msgid "Pelican internals" +msgstr "Pelican内部机制" + +#: ../../internals.rst:4 +msgid "" +"This section describe how Pelican works internally. As you'll see, it's " +"quite simple, but a bit of documentation doesn't hurt. :)" +msgstr "这一节描述了Pelican的内部运行机制。你会发现,Pelican的内部并不复杂。 :)" + +#: ../../internals.rst:7 +msgid "" +"You can also find in the :doc:`report` section an excerpt of a report the" +" original author wrote with some software design information." +msgstr "你可以在 :doc:`report` 一节中找到原作者用软件设计相关内容报告的节选。" + +#: ../../internals.rst:13 +msgid "Overall structure" +msgstr "总体结构" + +#: ../../internals.rst:15 +msgid "" +"What Pelican does is take a list of files and process them into some sort" +" of output. Usually, the input files are reStructuredText and Markdown " +"files, and the output is a blog, but both input and output can be " +"anything you want." +msgstr "Pelican做的事情其实很简单:获取一个文件列表,并将它们处理为某种输出。通常,输入文件是" +"reStructuredText和Markdown文件,输出是一个博客,但事实上输入和输出都可以是你想要的任何内容。" + +#: ../../internals.rst:19 +msgid "The logic is separated into different classes and concepts:" +msgstr "系统的整体逻辑可以分为几个不同的类和概念:" + +#: ../../internals.rst:21 +msgid "" +"**Writers** are responsible for writing files: .html files, RSS feeds, " +"and so on. Since those operations are commonly used, the object is " +"created once and then passed to the generators." +msgstr "**Writers** 负责完成 html文件、RSS订阅源等等内容。因为这些操作都是比较常用的,这个类只会被创建" +"一次,然后再传给Generators。" + +#: ../../internals.rst:25 +msgid "" +"**Readers** are used to read from various formats (HTML, Markdown and " +"reStructuredText for now, but the system is extensible). Given a file, " +"they return metadata (author, tags, category, etc.) and content (HTML-" +"formatted)." +msgstr "**Readers** 用于读取不同格式的文件(目前支持HTML、Markdown、reStructuredText,但可以继续扩展)。" +"向**Readers**输入一个文件,它会返回文档的元数据(作者、标签、分类等等)与HTML格式的文档正文内容。" + +#: ../../internals.rst:29 +msgid "" +"**Generators** generate the different outputs. For instance, Pelican " +"comes with ``ArticlesGenerator`` and ``PageGenerator``. Given a " +"configuration, they can do whatever they want. Most of the time, it's " +"generating files from inputs." +msgstr "**Generators** 用以生成不同的输出,Pelican自带了 ``ArticlesGenerator`` 和 ``PageGenerator`` 。" +"给定一套配置信息, **Generators** 可以做几乎任何事。但大多数情况下,它的工作就是从输入生成文件。" + +#: ../../internals.rst:34 +msgid "" +"Pelican also uses templates, so it's easy to write your own theme. The " +"syntax is `Jinja2 `_ and is very " +"easy to learn, so don't hesitate to jump in and build your own theme." +msgstr "Pelican同样也使用模板,因此可以较为简单地编写自定义主题。模板语法使用的是易于学习的 " +"`Jinja2 `_ ,因此快去构建你自己的主题吧。" + +#: ../../internals.rst:39 +msgid "How to implement a new reader?" +msgstr "如何实现一个新的reader?" + +#: ../../internals.rst:41 +msgid "" +"Is there an awesome markup language you want to add to Pelican? Well, the" +" only thing you have to do is to create a class with a ``read`` method " +"that returns HTML content and some metadata." +msgstr "若是希望为Pelican添加一个标记语言,只需要创建一个类,实现 ``read`` 方法,并在其中返回元数据" +"和以HTML表示的正文内容。" + +#: ../../internals.rst:45 +msgid "Take a look at the Markdown reader::" +msgstr "可以看一看Markdown的reader:" + +#: ../../internals.rst:71 +msgid "Simple, isn't it?" +msgstr "是不是很简单呢?" + +#: ../../internals.rst:73 +msgid "" +"If your new reader requires additional Python dependencies, then you " +"should wrap their ``import`` statements in a ``try...except`` block. " +"Then inside the reader's class, set the ``enabled`` class attribute to " +"mark import success or failure. This makes it possible for users to " +"continue using their favourite markup method without needing to install " +"modules for formats they don't use." +msgstr "如果新创建的reader需要额外的Python依赖,应该把 ``import`` 放在 ``try...except`` 块中。" +"在reader类中,设置类属性 ``enabled`` 来标记import是否成功。这使得用户能继续使用他们喜欢的标记语言" +"而无需安装用不到的模块。" + +#: ../../internals.rst:80 +msgid "How to implement a new generator?" +msgstr "如何实现一个新的generator?" + +#: ../../internals.rst:82 +msgid "" +"Generators have two important methods. You're not forced to create both; " +"only the existing ones will be called." +msgstr "generator有两个重要方法。不一定两个都要创建,若只创建了一个,就会自动调用存在的方法。" + +#: ../../internals.rst:85 +msgid "" +"``generate_context``, that is called first, for all the generators. Do " +"whatever you have to do, and update the global context if needed. This " +"context is shared between all generators, and will be passed to the " +"templates. For instance, the ``PageGenerator`` ``generate_context`` " +"method finds all the pages, transforms them into objects, and populates " +"the context with them. Be careful *not* to output anything using this " +"context at this stage, as it is likely to change by the effect of other " +"generators." +msgstr "``generate_context`` 会优先被调用,其中可以完成任何你想要做的事,如果需要的话,还要" +"更新全局上下文。全局上下文会在所有generator间共享,并在之后传给模板。例如 ``PageGenerator`` 的 " +"``generate_context`` 方法会找寻所有页面,并将他们转换为对象,再将上下文传入其中。注意,请 *不要* 在" +"此阶段使用该上下文输出任何内容,因为其他generator还会继续影响上下文。" + +#: ../../internals.rst:93 +msgid "" +"``generate_output`` is then called. And guess what is it made for? Oh, " +"generating the output. :) It's here that you may want to look at the " +"context and call the methods of the ``writer`` object that is passed as " +"the first argument of this function. In the ``PageGenerator`` example, " +"this method will look at all the pages recorded in the global context and" +" output a file on the disk (using the writer method ``write_file``) for " +"each page encountered." +msgstr "``generate_output`` 会在 ``generate_context`` 之后被调用,用于生成要输出的内容。此时就需要使用" +"上下文并调用 ``writer`` 对象的方法,此 ``writer`` 就是传入 ``generate_output`` 方法的第一个参数。" +"``PageGenerator`` 的 ``generate_output`` 方法中,会使用writer的 ``write_file`` 方法为全局上下文中的" +"每一个页面输出一个文件。" diff --git a/docs/locales/zh_CN/LC_MESSAGES/pelican-themes.mo b/docs/locales/zh_CN/LC_MESSAGES/pelican-themes.mo new file mode 100644 index 00000000..d08978ed Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/pelican-themes.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/pelican-themes.po b/docs/locales/zh_CN/LC_MESSAGES/pelican-themes.po new file mode 100644 index 00000000..37c07b04 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/pelican-themes.po @@ -0,0 +1,227 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-11 10:44+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../pelican-themes.rst:2 +msgid "pelican-themes" +msgstr "pelican-themes命令" + +#: ../../pelican-themes.rst:7 +msgid "Description" +msgstr "简介" + +#: ../../pelican-themes.rst:9 +msgid "" +"``pelican-themes`` is a command line tool for managing themes for " +"Pelican. See :ref:`settings/themes` for settings related to themes." +msgstr "``pelican-themes`` 是一个命令行工具,用于Pelican的主题管理。" +"有关主题的设置,请参考 :ref:`settings/themes` 。" + +#: ../../pelican-themes.rst:14 +msgid "Usage" +msgstr "用法" + +#: ../../pelican-themes.rst:16 +msgid "pelican-themes [-h] [-l] [-i theme path [theme path ...]]" +msgstr "pelican-themes [-h] [-l] [-i theme path [theme path ...]]" + +#: ../../pelican-themes.rst:17 +msgid "[-r theme name [theme name ...]]" +msgstr "[-r theme name [theme name ...]]" + +#: ../../pelican-themes.rst:18 +msgid "[-s theme path [theme path ...]] [-v] [--version]" +msgstr "[-s theme path [theme path ...]] [-v] [--version]" + +#: ../../pelican-themes.rst:21 +msgid "Optional arguments:" +msgstr "可选参数" + +#: ../../pelican-themes.rst:24 +msgid "Show the help and exit" +msgstr "显示帮助信息并退出" + +#: ../../pelican-themes.rst:26 +msgid "Show the themes already installed" +msgstr "显示已安装的主题" + +#: ../../pelican-themes.rst:28 +msgid "One or more themes to install" +msgstr "安装一个或多个主题" + +#: ../../pelican-themes.rst:30 +msgid "One or more themes to remove" +msgstr "移除一个或多个主题" + +#: ../../pelican-themes.rst:32 +msgid "" +"Same as ``--install``, but create a symbolic link instead of copying the " +"theme. Useful for theme development" +msgstr "和 ``--install`` 相同,区别在于此选项仅会创建一个符号链接到给定的目录," +"而不会将主题完整拷贝。一般用于主题的开发。" + +#: ../../pelican-themes.rst:35 +msgid "Verbose output" +msgstr "开启详细输出" + +#: ../../pelican-themes.rst:37 +msgid "Print the version of this script" +msgstr "显示此工具的版本信息" + +#: ../../pelican-themes.rst:42 +msgid "Examples" +msgstr "例子" + +#: ../../pelican-themes.rst:46 +msgid "Listing the installed themes" +msgstr "列出已安装主题" + +#: ../../pelican-themes.rst:48 +msgid "" +"With ``pelican-themes``, you can see the available themes by using the " +"``-l`` or ``--list`` option:" +msgstr "在 ``pelican-themes`` 中使用 ``-l`` 或 ``--list`` 选项,查看可用主题:" + +#: ../../pelican-themes.rst:62 +msgid "" +"In this example, we can see there are three themes available: " +"``notmyidea``, ``simple``, and ``two-column``." +msgstr "在上面的例子中,可以看到有三个主题可供使用: ``notmyidea`` 、 ``simple`` 、和 ``two-column`` 。" + +#: ../../pelican-themes.rst:65 +msgid "" +"``two-column`` is followed by an ``@`` because this theme is not copied " +"to the Pelican theme path, but is instead just linked to it (see " +"`Creating symbolic links`_ for details about creating symbolic links)." +msgstr "主题 ``two-column`` 后有一个 ``@`` ,这是因为该主题没有被拷贝到Pelican的主题" +"路径下,而只是为其创建了一个符号链接 (详见 `创建符号链接`_ )。" + +#: ../../pelican-themes.rst:69 +msgid "" +"Note that you can combine the ``--list`` option with the ``-v`` or " +"``--verbose`` option to get more verbose output, like this:" +msgstr "当然,你可以将 ``--list`` 选项和 ``-v`` 或 ``--verbose`` 结合起来,从而" +"得到更详细的输出:" + +#: ../../pelican-themes.rst:81 +msgid "Installing themes" +msgstr "安装主题" + +#: ../../pelican-themes.rst:83 +msgid "" +"You can install one or more themes using the ``-i`` or ``--install`` " +"option. This option takes as argument the path(s) of the theme(s) you " +"want to install, and can be combined with the ``--verbose`` option:" +msgstr "使用 ``-i`` 或 ``--install`` 选项可以安装一个或多个主题。此选项将一个" +"或多个到达主题的路径作为参数,同样可以结合 ``--verbose`` 选项:" + +#: ../../pelican-themes.rst:103 +msgid "Removing themes" +msgstr "移除主题" + +#: ../../pelican-themes.rst:105 +msgid "" +"The ``pelican-themes`` command can also remove themes from the Pelican " +"themes path. The ``-r`` or ``--remove`` option takes as argument the " +"name(s) of the theme(s) you want to remove, and can be combined with the " +"``--verbose`` option." +msgstr "``pelican-themes`` 命令同样可用于移除Pelican主题文件夹下的主题。 ``-r`` 或 " +"``--remove`` 选项以一个或多个主题的名称为参数,同样也可以结合 ``--verbose`` 选项使用。" + +#: ../../pelican-themes.rst:122 +msgid "Creating symbolic links" +msgstr "创建符号链接" + +#: ../../pelican-themes.rst:124 +msgid "" +"``pelican-themes`` can also install themes by creating symbolic links " +"instead of copying entire themes into the Pelican themes path." +msgstr "``pelican-themes`` 也可以通过创建符号链接来安装主题,这样就不需要拷贝整个主题文件了。" + +#: ../../pelican-themes.rst:127 +msgid "" +"To symbolically link a theme, you can use the ``-s`` or ``--symlink``, " +"which works exactly as the ``--install`` option:" +msgstr "使用 ``-s`` 或 ``--symlink`` 选项来为主题创建符号链接,用法和 ``--install`` 选项相同:" + +#: ../../pelican-themes.rst:134 +msgid "" +"In this example, the ``two-column`` theme is now symbolically linked to " +"the Pelican themes path, so we can use it, but we can also modify it " +"without having to reinstall it after each modification." +msgstr "在上面的例子中, ``two-column`` 主题就已经在Pelican主题目录下创建了符号链接," +"也可以正常使用。如此,当我们修改主题后就无需重新进行安装。" + +#: ../../pelican-themes.rst:138 +msgid "This is useful for theme development:" +msgstr "这对主题的开发是很有用的:" + +#: ../../pelican-themes.rst:155 +msgid "Doing several things at once" +msgstr "同时执行多个动作" + +#: ../../pelican-themes.rst:157 +msgid "" +"The ``--install``, ``--remove`` and ``--symlink`` options are not " +"mutually exclusive, so you can combine them in the same command line to " +"do more than one operation at time, like this:" +msgstr "``--install`` 、 ``--remove`` 和 ``--symlink`` 可以同时使用,不会冲突," +"因此可以在同一行中同时做多个操作:" + +#: ../../pelican-themes.rst:169 +msgid "" +"In this example, the theme ``notmyidea-cms`` is replaced by the theme " +"``notmyidea-cms-fr``" +msgstr "在上面的例子中,用 ``notmyidea-cms-fr`` 替换了 ``notmyidea-cms`` 主题。" + +#~ msgid "Show the help an exit" +#~ msgstr "" + +#~ msgid "" +#~ "Same as \"--install\", but create " +#~ "a symbolic link instead of copying " +#~ "the theme. Useful for theme development" +#~ msgstr "" + +#~ msgid "" +#~ "``two-column`` is prefixed with an " +#~ "``@`` because this theme is not " +#~ "copied to the Pelican theme path, " +#~ "but is instead just linked to it" +#~ " (see `Creating symbolic links`_ for " +#~ "details about creating symbolic links)." +#~ msgstr "" + +#~ msgid "" +#~ "You can install one or more themes" +#~ " using the ``-i`` or ``--install`` " +#~ "option. This option takes as argument" +#~ " the path(s) of the theme(s) you " +#~ "want to install, and can be " +#~ "combined with the verbose option:" +#~ msgstr "" + +#~ msgid "" +#~ "The ``--install``, ``--remove`` and " +#~ "``--symlink`` option are not mutually " +#~ "exclusive, so you can combine them " +#~ "in the same command line to do " +#~ "more than one operation at time, " +#~ "like this:" +#~ msgstr "" diff --git a/docs/locales/zh_CN/LC_MESSAGES/plugins.mo b/docs/locales/zh_CN/LC_MESSAGES/plugins.mo new file mode 100644 index 00000000..8753a3cd Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/plugins.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/plugins.po b/docs/locales/zh_CN/LC_MESSAGES/plugins.po new file mode 100644 index 00000000..c4551775 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/plugins.po @@ -0,0 +1,663 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../plugins.rst:4 +msgid "Plugins" +msgstr "插件" + +#: ../../plugins.rst:6 +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的核心代码。" + +#: ../../plugins.rst:10 +msgid "How to use plugins" +msgstr "如何使用插件" + +#: ../../plugins.rst:12 +msgid "" +"Starting with version 4.5, Pelican moved to a new plugin structure " +"utilizing namespace packages that can be easily installed via Pip_. " +"Plugins supporting this structure will install under the namespace " +"package ``pelican.plugins`` and can be automatically discovered by " +"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安装的所有插件:" + +#: ../../plugins.rst:20 +msgid "" +"If you leave the ``PLUGINS`` setting as default (``None``), Pelican will " +"automatically discover namespace plugins and register them. If, on the " +"other hand, you specify a ``PLUGINS`` setting as a list of plugins, this " +"auto-discovery will be disabled. At that point, only the plugins you " +"specify will be registered, and you must explicitly list any namespace " +"plugins as well." +msgstr "" +"若将 ``PLUGINS`` 设置项留为默认的 ``None`` ,Pelican会自动发现命名空间中的插件并且将他们全部登记上;若你在 " +"``PLUGINS`` " +"设置项中指定了一系列的插件,Pelican就不会去自动发现插件,也就是说,你需要显示地指定所有要使用的插件,包括在plugins命名空间中的。" + +#: ../../plugins.rst:26 +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.rst:35 +msgid "" +"Alternatively, you can import them in your settings file and pass the " +"modules::" +msgstr "二是在设置文件中先import进来,再将import进的模块放在 ``PLUGINS`` 设置项中:" + +#: ../../plugins.rst:43 +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`` 命令行选项禁用缓存。" + +#: ../../plugins.rst:48 +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`` 中的路径可以是绝对的,也可以是相对于设置文件的:" + +#: ../../plugins.rst:56 +msgid "Where to find plugins" +msgstr "在哪儿可以找到插件呢" + +#: ../../plugins.rst:57 +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 仓库`_ " +"中找到。这些老的插件会逐步淘汰并转移到新的命名空间版本。" + +#: ../../plugins.rst:65 +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社区提交的,因此支持性和互操作性水平各不相同。" + +#: ../../plugins.rst:70 +msgid "How to create plugins" +msgstr "如何创建插件" + +#: ../../plugins.rst:72 +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会发送信号,插件则订阅这些信号。可用的信号在下一节会贴出来。" + +#: ../../plugins.rst:76 +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`` " +"中需要将信号映射到插件逻辑上。下面是一个简单的例子:" + +#: ../../plugins.rst:93 +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`` 中,否则接收器在信号发送之前就会被回收。" + +#: ../../plugins.rst:97 +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 " +"``PLUGINS`` in the desired order." +msgstr "如果多个插件关联到同一个信号,插件将按照它们关联的前后顺序执行。但若设置了 ``PLUGINS`` 配置项" +"会以此配置项中的顺序为准。如果您使用了无需PLUGINS设置的新版命名空间插件,它们将按照被探测到的顺序进行连接" +"(与 pelican-plugins 输出的顺序相同)。" + +#: ../../plugins.rst:105 +msgid "Namespace plugin structure" +msgstr "命名空间插件的结构" + +#: ../../plugins.rst:107 +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`` 或其他等效文件),并且遵循下述文件夹结构:" + +#: ../../plugins.rst:120 +msgid "" +"It is crucial that ``pelican`` or ``pelican/plugins`` folder **not** " +"contain an ``__init__.py`` file. In fact, it is best to have those " +"folders empty besides the listed folders in the above structure and keep " +"your plugin related files contained solely in the " +"``pelican/plugins/myplugin`` folder to avoid any issues." +msgstr "" +"非常关键的一点就是, ``pelican`` 和 ``pelican/plugins`` 文件夹下都 **不能** 包含 " +"``__init__.py`` 文件。事实上,这两个文件夹下最好是只有上面列出的文件夹,并且保证与插件相关的文件都仅包含在 " +"``pelican/plugins/myplugin`` 文件夹中,以避免奇奇怪怪的问题。" + +#: ../../plugins.rst:126 +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文件中的指示即可。" + +#: ../../plugins.rst:132 +msgid "List of signals" +msgstr "信号列表" + +#: ../../plugins.rst:134 +msgid "Here is the list of currently implemented signals:" +msgstr "下面是目前已经实现了的信号:" + +#: ../../plugins.rst:137 +msgid "Signal" +msgstr "信号" + +#: ../../plugins.rst:137 +msgid "Arguments" +msgstr "参数" + +#: ../../plugins.rst:137 +msgid "Description" +msgstr "描述" + +#: ../../plugins.rst:139 +msgid "initialized" +msgstr "initialized" + +#: ../../plugins.rst:139 ../../plugins.rst:140 ../../plugins.rst:158 +#: ../../plugins.rst:161 +msgid "pelican object" +msgstr "pelican对象" + +#: ../../plugins.rst:140 +msgid "finalized" +msgstr "finalized" + +#: ../../plugins.rst:140 +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。" + +#: ../../plugins.rst:144 +msgid "generator_init" +msgstr "generator_init" + +#: ../../plugins.rst:144 +msgid "generator" +msgstr "generator" + +#: ../../plugins.rst:144 +msgid "invoked in the Generator.__init__" +msgstr "在Generator.__init__中调用" + +#: ../../plugins.rst:145 +msgid "all_generators_finalized" +msgstr "all_generators_finalized" + +#: ../../plugins.rst:145 +msgid "generators" +msgstr "generators" + +#: ../../plugins.rst:145 +msgid "invoked after all the generators are executed and before writing output" +msgstr "在所有generator执行完后,写入输出内容前调用," + +#: ../../plugins.rst:146 +msgid "readers_init" +msgstr "readers_init" + +#: ../../plugins.rst:146 +msgid "readers" +msgstr "readers" + +#: ../../plugins.rst:146 +msgid "invoked in the Readers.__init__" +msgstr "在Readers.__init__中调用" + +#: ../../plugins.rst:147 ../../plugins.rst:201 +msgid "article_generator_context" +msgstr "article_generator_context" + +#: ../../plugins.rst:147 +msgid "article_generator, metadata" +msgstr "article_generator, metadata" + +#: ../../plugins.rst:148 ../../plugins.rst:203 +msgid "article_generator_preread" +msgstr "article_generator_preread" + +#: ../../plugins.rst:148 ../../plugins.rst:150 ../../plugins.rst:151 +#: ../../plugins.rst:154 +msgid "article_generator" +msgstr "article_generator" + +#: ../../plugins.rst:148 +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读取文章之前调用;若代码需要在解析每篇文章前执行某些操作,就可以使用此信号。" + +#: ../../plugins.rst:150 +msgid "article_generator_init" +msgstr "article_generator_init" + +#: ../../plugins.rst:150 +msgid "invoked in the ArticlesGenerator.__init__" +msgstr "在ArticlesGenerator.__init__中调用" + +#: ../../plugins.rst:151 +msgid "article_generator_pretaxonomy" +msgstr "article_generator_pretaxonomy" + +#: ../../plugins.rst:151 +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 "在创建类别和标签列表之前调用。例如,当需要变更要生成的文章列表时可以使用,如此可以避免一些已移除文章在分类或标签列表中泄露。" + +#: ../../plugins.rst:154 ../../plugins.rst:202 +msgid "article_generator_finalized" +msgstr "article_generator_finalized" + +#: ../../plugins.rst:154 +msgid "invoked at the end of ArticlesGenerator.generate_context" +msgstr "在ArticlesGenerator.generate_context的最后调用" + +#: ../../plugins.rst:155 +msgid "article_generator_write_article" +msgstr "article_generator_write_article" + +#: ../../plugins.rst:155 +msgid "article_generator, content" +msgstr "article_generator, content" + +#: ../../plugins.rst:155 +msgid "invoked before writing each article, the article is passed as content" +msgstr "在写入每篇文章前调用,文章以内容的形式作为参数传入。" + +#: ../../plugins.rst:156 +msgid "article_writer_finalized" +msgstr "article_writer_finalized" + +#: ../../plugins.rst:156 +msgid "article_generator, writer" +msgstr "article_generator, writer" + +#: ../../plugins.rst:156 +msgid "" +"invoked after all articles and related pages have been written, but " +"before the article generator is closed." +msgstr "在所有文章及相关联页面写入完成后,在文章generator关闭前调用。" + +#: ../../plugins.rst:158 +msgid "get_generators" +msgstr "get_generators" + +#: ../../plugins.rst:158 +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" + +#: ../../plugins.rst:161 +msgid "get_writer" +msgstr "get_writer" + +#: ../../plugins.rst:161 +msgid "invoked in Pelican.get_writer, can return a custom Writer." +msgstr "在Pelican.get_writer前调用,可以返回一个自定义Writer。" + +#: ../../plugins.rst:163 ../../plugins.rst:204 +msgid "page_generator_context" +msgstr "page_generator_context" + +#: ../../plugins.rst:163 +msgid "page_generator, metadata" +msgstr "page_generator, metadata" + +#: ../../plugins.rst:164 ../../plugins.rst:205 +msgid "page_generator_preread" +msgstr "page_generator_preread" + +#: ../../plugins.rst:164 ../../plugins.rst:166 ../../plugins.rst:167 +msgid "page_generator" +msgstr "page_generator" + +#: ../../plugins.rst:164 +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读取页面前调用,若代码需要在解析每个页面前执行某些操作,就可以使用此信号。" + +#: ../../plugins.rst:166 ../../plugins.rst:207 +msgid "page_generator_init" +msgstr "page_generator_init" + +#: ../../plugins.rst:166 +msgid "invoked in the PagesGenerator.__init__" +msgstr "在PagesGenerator.__init__中调用" + +#: ../../plugins.rst:167 ../../plugins.rst:206 +msgid "page_generator_finalized" +msgstr "page_generator_finalized" + +#: ../../plugins.rst:167 +msgid "invoked at the end of PagesGenerator.generate_context" +msgstr "PagesGenerator.generate_context的最后调用" + +#: ../../plugins.rst:168 +msgid "page_generator_write_page" +msgstr "page_generator_write_page" + +#: ../../plugins.rst:168 +msgid "page_generator, content" +msgstr "page_generator, content" + +#: ../../plugins.rst:168 +msgid "invoked before writing each page, the page is passed as content" +msgstr "在写入每个页面前调用,页面以内容形式作为参数传入" + +#: ../../plugins.rst:169 +msgid "page_writer_finalized" +msgstr "page_writer_finalized" + +#: ../../plugins.rst:169 +msgid "page_generator, writer" +msgstr "page_generator, writer" + +#: ../../plugins.rst:169 +msgid "" +"invoked after all pages have been written, but before the page generator " +"is closed." +msgstr "在所有页面写入完成后,在页面generator关闭前调用。" + +#: ../../plugins.rst:171 ../../plugins.rst:208 +msgid "static_generator_context" +msgstr "static_generator_context" + +#: ../../plugins.rst:171 +msgid "static_generator, metadata" +msgstr "static_generator, metadata" + +#: ../../plugins.rst:172 ../../plugins.rst:209 +msgid "static_generator_preread" +msgstr "static_generator_preread" + +#: ../../plugins.rst:172 ../../plugins.rst:175 ../../plugins.rst:176 +msgid "static_generator" +msgstr "static_generator" + +#: ../../plugins.rst:172 +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读取静态文件前调用,若代码需要在每个静态文件加入静态文件列表前进行一些修改,就可以使用此信号。" + +#: ../../plugins.rst:175 +msgid "static_generator_init" +msgstr "static_generator_init" + +#: ../../plugins.rst:175 +msgid "invoked in the StaticGenerator.__init__" +msgstr "在StaticGenerator.__init__中调用" + +#: ../../plugins.rst:176 +msgid "static_generator_finalized" +msgstr "static_generator_finalized" + +#: ../../plugins.rst:176 +msgid "invoked at the end of StaticGenerator.generate_context" +msgstr "在StaticGenerator.generate_context的最后调用" + +#: ../../plugins.rst:177 +msgid "content_object_init" +msgstr "content_object_init" + +#: ../../plugins.rst:177 +msgid "content_object" +msgstr "content_object" + +#: ../../plugins.rst:177 +msgid "invoked at the end of Content.__init__" +msgstr "在Content.__init__的最后调用" + +#: ../../plugins.rst:178 +msgid "content_written" +msgstr "content_written" + +#: ../../plugins.rst:178 +msgid "path, context" +msgstr "path, context" + +#: ../../plugins.rst:178 +msgid "invoked each time a content file is written." +msgstr "每一次内容文件写入后调用。" + +#: ../../plugins.rst:179 +msgid "feed_generated" +msgstr "feed_generated" + +#: ../../plugins.rst:179 +msgid "context, feed" +msgstr "context, feed" + +#: ../../plugins.rst:179 +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 +msgid "feed_written" +msgstr "feed_written" + +#: ../../plugins.rst:181 +msgid "path, context, feed" +msgstr "path, context, feed" + +#: ../../plugins.rst:181 +msgid "invoked each time a feed file is written." +msgstr "每一个feed文件写入后调用。" + +#: ../../plugins.rst:186 +msgid "" +"Avoid ``content_object_init`` signal if you intend to read ``summary`` or" +" ``content`` properties of the content object. That combination can " +"result in unresolved links when :ref:`ref-linking-to-internal-content` " +"(see `pelican-plugins bug #314`_). Use ``_summary`` and ``_content`` " +"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`` 时)。" + +#: ../../plugins.rst:195 +msgid "" +"After Pelican 3.2, signal names were standardized. Older plugins may " +"need to be updated to use the new names:" +msgstr "Pelican3.2之后,信号名都进行了标准化,较老的插件可能需要进行更新:" + +#: ../../plugins.rst:199 +msgid "Old name" +msgstr "旧名称" + +#: ../../plugins.rst:199 +msgid "New name" +msgstr "新名称" + +#: ../../plugins.rst:201 +msgid "article_generate_context" +msgstr "article_generate_context" + +#: ../../plugins.rst:202 +msgid "article_generate_finalized" +msgstr "article_generate_finalized" + +#: ../../plugins.rst:203 +msgid "article_generate_preread" +msgstr "article_generate_preread" + +#: ../../plugins.rst:204 +msgid "pages_generate_context" +msgstr "pages_generate_context" + +#: ../../plugins.rst:205 +msgid "pages_generate_preread" +msgstr "pages_generate_preread" + +#: ../../plugins.rst:206 +msgid "pages_generator_finalized" +msgstr "pages_generator_finalized" + +#: ../../plugins.rst:207 +msgid "pages_generator_init" +msgstr "pages_generator_init" + +#: ../../plugins.rst:208 +msgid "static_generate_context" +msgstr "static_generate_context" + +#: ../../plugins.rst:209 +msgid "static_generate_preread" +msgstr "static_generate_preread" + +#: ../../plugins.rst:213 +msgid "Recipes" +msgstr "具体使用方法举例" + +#: ../../plugins.rst:215 +msgid "" +"We eventually realised some of the recipes to create plugins would be " +"best shared in the documentation somewhere, so here they are!" +msgstr "下面分享了一些创建插件的具体方法,请享用!" + +#: ../../plugins.rst:219 +msgid "How to create a new reader" +msgstr "如何创建一个新的reader" + +#: ../../plugins.rst:221 +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。" + +#: ../../plugins.rst:226 +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自身的速度。" + +#: ../../plugins.rst:229 +msgid "No more talking — here is an example::" +msgstr "多说无益,下面就是例子:" + +#: ../../plugins.rst:265 +msgid "Adding a new generator" +msgstr "添加新的generator" + +#: ../../plugins.rst:267 +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的内容。" + +#: ../../plugins.rst:281 +msgid "Adding a new writer" +msgstr "添加新的writer" + +#: ../../plugins.rst:283 +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,并且完全重新实现之。" + +#: ../../plugins.rst:288 +msgid "Here is a basic example of how to set up your own writer::" +msgstr "下面是启用你的自定义writer的一个基本例子:" + +#: ../../plugins.rst:308 +msgid "Using Plugins to Inject Content" +msgstr "使用插件添加内容" + +#: ../../plugins.rst:310 +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获取文章,这就会很有用。" + +#: ../../plugins.rst:313 +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`` 信号构建一个添加自定义文章的插件:" + +#~ msgid "" +#~ "If multiple plugins connect to the " +#~ "same signal, there is no way to" +#~ " guarantee or control in which order" +#~ " the plugins will be executed. This" +#~ " is a limitation inherited from " +#~ "Blinker_, the dependency Pelican uses to" +#~ " implement signals." +#~ msgstr "" +#~ "若一个信号连接有多个插件,则不能保证也不能控制这些插件的执行顺序。Pelican使用 Blinker_ " +#~ "来实现信号,这个缺陷就是从此处继承而来的。" diff --git a/docs/locales/zh_CN/LC_MESSAGES/publish.mo b/docs/locales/zh_CN/LC_MESSAGES/publish.mo new file mode 100644 index 00000000..9679eb13 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/publish.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/publish.po b/docs/locales/zh_CN/LC_MESSAGES/publish.po new file mode 100644 index 00000000..ef51fddc --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/publish.po @@ -0,0 +1,326 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../publish.rst:2 +msgid "Publish your site" +msgstr "发布站点" + +#: ../../publish.rst:7 +msgid "Site generation" +msgstr "站点生成" + +#: ../../publish.rst:9 +msgid "" +"Once Pelican is installed and you have some content (e.g., in Markdown or" +" reST format), you can convert your content into HTML via the ``pelican``" +" command, specifying the path to your content and (optionally) the path " +"to your :doc:`settings` file::" +msgstr "" +"您应该已经安装好Pelican并且已经创作了一些内容了吧(以Markdown或是reST格式),现在就可以将这些内容通过 ``pelican`` " +"命令转换为HTML了,在转换时需要指定创作内容存放的路径,(可选) :doc:`设置` 文件的路径也可单独指定:" + +#: ../../publish.rst:16 +msgid "" +"The above command will generate your site and save it in the ``output/`` " +"folder, using the default theme to produce a simple site. The default " +"theme consists of very simple HTML without styling and is provided so " +"folks may use it as a basis for creating their own themes." +msgstr "" +"上面的指令会在 ``output/`` " +"目录下生成站点,使用的是默认的主题。默认主题只使用一些简单的HTML并且不包含样式,大家往往以这个简单主题为基础来创作自己的主题。" + +#: ../../publish.rst:21 +msgid "" +"You can also tell Pelican to watch for your modifications, instead of " +"manually re-running it every time you want to see your changes. To enable" +" this, run the ``pelican`` command with the ``-r`` or ``--autoreload`` " +"option. On non-Windows environments, this option can also be combined " +"with the ``-l`` or ``--listen`` option to simultaneously both auto-" +"regenerate *and* serve the output at http://localhost:8000::" +msgstr "" +"你也可以让Pelican来监听对源内容文件的修改,而不是在每次修改内容后重新手动执行命令生成站点。在执行 ``pelican`` 命令时,加上 " +"``-r`` 或者 ``--autoreload`` 选项就可以做到这一点。在非Windows环境下,这个选项还可以和 ``-l`` 或 " +"``--listen`` 搭配使用,这样就可以在自动重生成站点的基础上,同时提供在 http://localhost:8000 上的访问:" + +#: ../../publish.rst:30 +msgid "" +"Pelican has other command-line switches available. Have a look at the " +"help to see all the options you can use::" +msgstr "Pelican还有一些其他的命令行选项。可以在帮助中看到所有可用选项:" + +#: ../../publish.rst:36 +msgid "Viewing the generated files" +msgstr "浏览生成的文件" + +#: ../../publish.rst:38 +msgid "" +"The files generated by Pelican are static files, so you don't actually " +"need anything special to view them. You can use your browser to open the " +"generated HTML files directly::" +msgstr "Pelican生成的文件都是静态的,也就是说不需要使用什么特殊的手段就可以浏览。您可以直接使用浏览器打开生成的HTML文件" + +#: ../../publish.rst:44 +msgid "" +"Because the above method may have trouble locating your CSS and other " +"linked assets, running Pelican's simple built-in web server will often " +"provide a more reliable previewing experience::" +msgstr "事实上,上面的这种浏览方法可能会在CSS或其他链接上出点问题,可以运行Pelican自带的简易web服务器,如此可以获得可靠的预览体验:" + +#: ../../publish.rst:50 +msgid "" +"Once the web server has been started, you can preview your site at: " +"http://localhost:8000/" +msgstr "当web服务器启动后,可以访问 http://localhost:8000/ 来预览您的站点。" + +#: ../../publish.rst:54 +msgid "Deployment" +msgstr "部署" + +#: ../../publish.rst:56 +msgid "" +"After you have generated your site, previewed it in your local " +"development environment, and are ready to deploy it to production, you " +"might first re-generate your site with any production-specific settings " +"(e.g., analytics, feeds, etc.) that you may have defined::" +msgstr "当您生成好站点后,可以在本地先进行预览,确认无误后,在部署前可能还需使用针对生产环境特定的配置文件重新生成站点:" + +#: ../../publish.rst:63 +msgid "" +"To base your publish configuration on top of your ``pelicanconf.py``, you" +" can import your ``pelicanconf`` settings by including the following line" +" in your ``publishconf.py``::" +msgstr "" +"您可以基于 ``pelicanconf.py`` 进行设置文件的配置, 在``publishconf.py`` 中import " +"``pelicanconf`` 就可实现(译者注:配置文件其实本质上就是一些Python变量,因此import后就可以全部引入):" + +#: ../../publish.rst:69 +msgid "" +"If you have generated a ``publishconf.py`` using ``pelican-quickstart``, " +"this line is included by default." +msgstr "如果是使用 ``pelican-quickstart`` 生成的 ``publishconf.py`` ,上面这行默认就有。" + +#: ../../publish.rst:72 +msgid "" +"The steps for deploying your site will depend on where it will be hosted." +" If you have SSH access to a server running Nginx or Apache, you might " +"use the ``rsync`` tool to transmit your site files::" +msgstr "" +"部署站点的方法步骤取决于网站托管的位置。对于使用SSH访问的运行着Nginx或Apache的服务器,您可能需要使用 ``rsync`` " +"工具来传输站点文件:" + +#: ../../publish.rst:78 +msgid "" +"There are many other deployment options, some of which can be configured " +"when first setting up your site via the ``pelican-quickstart`` command. " +"See the :doc:`Tips` page for detail on publishing via GitHub Pages." +msgstr "" +"还有很多其他的部署选项,有一些在第一次通过 ``pelican-quickstart`` 命令建立站点时就已经配置。在 " +":doc:`小技巧` 中可以查看如何通过Github Pages部署站点。" + +#: ../../publish.rst:83 +msgid "Automation" +msgstr "自动化" + +#: ../../publish.rst:85 +msgid "" +"While the ``pelican`` command is the canonical way to generate your site," +" automation tools can be used to streamline the generation and " +"publication flow. One of the questions asked during the ``pelican-" +"quickstart`` process pertains to whether you want to automate site " +"generation and publication. If you answered \"yes\" to that question, a " +"``tasks.py`` and ``Makefile`` will be generated in the root of your " +"project. These files, pre-populated with certain information gleaned from" +" other answers provided during the ``pelican-quickstart`` process, are " +"meant as a starting point and should be customized to fit your particular" +" needs and usage patterns. If you find one or both of these automation " +"tools to be of limited utility, these files can be deleted at any time " +"and will not affect usage of the canonical ``pelican`` command." +msgstr "" +"``pelican`` 命令是生成站点的标准方法,但同时也有自动化工具可以用来简化生成与发布流程。在 ``pelican-" +"quickstart`` 的过程中,其中一个问题就是是否要自动站点生成与发布。若您选择了 " +"\"yes\",在项目的根目录中会生成``tasks.py`` and ``Makefile`` 。这些文件中预填充了一些从 ``pelican-" +"quickstart`` " +"过程中收集的信息,您应该从这个生成好的文件出发来进一步根据实际需要修改。另外,如果您认为这些自动化脚本文件没什么用,完全可以将他们删除,这不会对标准命令" +"``pelican`` 产生任何影响。" + +#: ../../publish.rst:98 +msgid "" +"Following are automation tools that \"wrap\" the ``pelican`` command and " +"can simplify the process of generating, previewing, and uploading your " +"site." +msgstr "下面是一些用于包装 ``pelican`` 命令的自动化工具,可以简化生成、预览和上传站点的过程。" + +#: ../../publish.rst:102 +msgid "Invoke" +msgstr "Invoke" + +#: ../../publish.rst:104 +msgid "" +"The advantage of Invoke_ is that it is written in Python and thus can be " +"used in a wide range of environments. The downside is that it must be " +"installed separately. Use the following command to install Invoke, " +"prefixing with ``sudo`` if your environment requires it::" +msgstr "" +"Invoke_ 工具使用Python作为书写语言,并且能够用在很多不同的环境中。它需要使用下面的命令单独安装,在某些操作系统中可能需要在前面加上 " +"``sudo`` :" + +#: ../../publish.rst:111 +msgid "" +"Take a moment to open the ``tasks.py`` file that was generated in your " +"project root. You will see a number of commands, any one of which can be " +"renamed, removed, and/or customized to your liking. Using the out-of-the-" +"box configuration, you can generate your site via::" +msgstr "" +"可以打开 ``tasks.py`` " +"文件看看其中的代码,里面的命令可以重命名、删除,可以按照您的喜好自行修改。生成好的文件是开箱即用的,您可以通过下面的命令生成站点:" + +#: ../../publish.rst:118 ../../publish.rst:166 +msgid "" +"If you'd prefer to have Pelican automatically regenerate your site every " +"time a change is detected (which is handy when testing locally), use the " +"following command instead::" +msgstr "若您希望Pelican在检测到变化时自动重新生成站点(在本地测试的时候很实用),可以使用下面的命令:" + +#: ../../publish.rst:124 ../../publish.rst:172 +msgid "" +"To serve the generated site so it can be previewed in your browser at " +"http://localhost:8000/::" +msgstr "下面的命令则可以让您在生成后通过浏览器访问 http://localhost:8000/ 来预览站点" + +#: ../../publish.rst:129 +msgid "" +"To serve the generated site with automatic browser reloading every time a" +" change is detected, first ``python -m pip install livereload``, then use" +" the following command::" +msgstr "" +"在每次检测到修改重生成站点后,可以让浏览器自动进行重载。先运行 ``python -m pip install livereload`` " +"安装,再运行下面的这条命令就可以实现:" + +#: ../../publish.rst:135 +msgid "" +"If during the ``pelican-quickstart`` process you answered \"yes\" when " +"asked whether you want to upload your site via SSH, you can use the " +"following command to publish your site via rsync over SSH::" +msgstr "" +"如果在 ``pelican-quickstart`` 过程中,对是否要通过SSH上传站点问题回答了 \"yes\" " +",您就可以使用下面的命令借助rsync在SSH上发布站点:" + +#: ../../publish.rst:141 +msgid "" +"These are just a few of the commands available by default, so feel free " +"to explore ``tasks.py`` and see what other commands are available. More " +"importantly, don't hesitate to customize ``tasks.py`` to suit your " +"specific needs and preferences." +msgstr "" +"默认就可以使用的命令远不止这些,在 ``tasks.py`` 中可以找到更多可用的命令。更重要的是,当您有特定需求和偏好时,直接修改 " +"``tasks.py`` 即可。" + +#: ../../publish.rst:147 +msgid "Make" +msgstr "Make" + +#: ../../publish.rst:149 +msgid "" +"A ``Makefile`` is also automatically created for you when you say \"yes\"" +" to the relevant question during the ``pelican-quickstart`` process. The " +"advantage of this method is that the ``make`` command is built into most " +"POSIX systems and thus doesn't require installing anything else in order " +"to use it. The downside is that non-POSIX systems (e.g., Windows) do not " +"include ``make``, and installing it on those systems can be a non-trivial" +" task." +msgstr "" +"``Makefile`` 也是自动生成的。在大多数POSIX系统中都内置了 ``make`` " +"命令,无需安装即可使用。但在非POSIX系统(例如Windows)中并没有 ``make`` ,在这些系统中安装 ``make`` 时非常困难的。" + +#: ../../publish.rst:156 +msgid "" +"If you want to use ``make`` to generate your site using the settings in " +"``pelicanconf.py``, run::" +msgstr "使用 ``make`` 命令是以 ``pelicanconf.py`` 作为配置文件来生成站点的:" + +#: ../../publish.rst:161 +msgid "" +"To generate the site for production, using the settings in " +"``publishconf.py``, run::" +msgstr "使用 ``publishconf.py`` 作为配置文件来为生产环境生成站点:" + +#: ../../publish.rst:177 +msgid "" +"Normally you would need to run ``make regenerate`` and ``make serve`` in " +"two separate terminal sessions, but you can run both at once via::" +msgstr "" +"一般来说, ``make regenerate`` 和 ``make serve`` " +"需要在单独的终端会话中运行,下面的命令相当于同时运行上述两个命令:" + +#: ../../publish.rst:182 +msgid "" +"The above command will simultaneously run Pelican in regeneration mode as" +" well as serve the output at http://localhost:8000." +msgstr "上面的命令会让Pelican在重生成模式下持续运行,同样地,您可以通过 http://localhost:8000 访问生成的站点。" + +#: ../../publish.rst:185 +msgid "" +"When you're ready to publish your site, you can upload it via the " +"method(s) you chose during the ``pelican-quickstart`` questionnaire. For " +"this example, we'll use rsync over ssh::" +msgstr "" +"当准备好发布站点时,可以使用在 ``pelican-quickstart`` " +"过程中选择的方法进行上传。下面的例子使用rsync在ssh上完成这一工作:" + +#: ../../publish.rst:191 +msgid "That's it! Your site should now be live." +msgstr "OK!您的站点现在已经可以访问了。" + +#: ../../publish.rst:193 +msgid "" +"(The default ``Makefile`` and ``devserver.sh`` scripts use the ``python``" +" and ``pelican`` executables to complete its tasks. If you want to use " +"different executables, such as ``python3``, you can set the ``PY`` and " +"``PELICAN`` environment variables, respectively, to override the default " +"executable names.)" +msgstr "" +"(默认的 ``Makefile`` 和 ``devserver.sh`` 脚本执行 ``python`` 和 ``pelican`` " +"来完成任务。若您希望使用其他的可执行文件,例如 ``python3`` ,设置环境变量 ``PY`` 和 ``PELICAN`` " +"来覆盖默认的可执行文件名。)" + +#~ msgid "" +#~ "When working on a single article " +#~ "or page, it is possible to " +#~ "generate only the file that corresponds" +#~ " to that content. To do this, " +#~ "use the ``--write-selected`` argument, " +#~ "like so::" +#~ msgstr "当您在处理某篇文章或页面时,可以选择只生成和该内容相关的文件,使用下面的参数就可以实现这个目的:" + +#~ msgid "" +#~ "Note that you must specify the " +#~ "path to the generated *output* file " +#~ "— not the source content. To " +#~ "determine the output file name and " +#~ "location, use the ``--debug`` flag. If" +#~ " desired, ``--write-selected`` can take " +#~ "a comma-separated list of paths or" +#~ " can be configured as a setting. " +#~ "(See: :ref:`writing_only_selected_content`)" +#~ msgstr "" +#~ "可以注意到的是,指定的是已生成的 *输出* 文件,而不是源内容文件。在命令中加上 ``--debug``" +#~ " 选项就可以让Pelican显示源文件和输出文件的位置对应关系。另外, ``--write-" +#~ "selected`` 的参数可以是用逗号分隔的多个路径(具体请参阅设置: " +#~ ":ref:`writing_only_selected_content` )" diff --git a/docs/locales/zh_CN/LC_MESSAGES/quickstart.mo b/docs/locales/zh_CN/LC_MESSAGES/quickstart.mo new file mode 100644 index 00000000..960c0238 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/quickstart.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/quickstart.po b/docs/locales/zh_CN/LC_MESSAGES/quickstart.po new file mode 100644 index 00000000..c7242a8a --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/quickstart.po @@ -0,0 +1,136 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../quickstart.rst:2 +msgid "Quickstart" +msgstr "快速入门" + +#: ../../quickstart.rst:4 +msgid "" +"Reading through all the documentation is highly recommended, but for the " +"truly impatient, following are some quick steps to get started." +msgstr "强烈建议将所有文档完整地看一遍,但如果您真的非常没有耐心看完,下面的步骤可以帮助您快速地开始使用Pelican。" + +#: ../../quickstart.rst:8 +msgid "Installation" +msgstr "安装" + +#: ../../quickstart.rst:10 +msgid "" +"Install Pelican (and optionally Markdown if you intend to use it) on " +"Python |min_python| by running the following command in your preferred " +"terminal, prefixing with ``sudo`` if permissions warrant::" +msgstr "" +"在命令行中执行下面的命令就可以安装Pelican了(如果您需要Markdown支持的话,也可以同时安装)。Pelican需要使用 |min_python| 以上版本的Python,当然如果需要授权,请在命令前加上" +" ``sudo``" + +#: ../../quickstart.rst:17 +msgid "Create a project" +msgstr "创建项目" + +#: ../../quickstart.rst:19 +msgid "" +"First, choose a name for your project, create an appropriately-named " +"directory for your site, and switch to that directory::" +msgstr "首先,给您的项目想个名字,并以合适的名字创建一个文件夹来存放您的站点接着进入这个新创建的文件夹" + +#: ../../quickstart.rst:25 +msgid "" +"Create a skeleton project via the ``pelican-quickstart`` command, which " +"begins by asking some questions about your site::" +msgstr "通过 ``pelican-quickstart`` 命令创建一个项目的框架,执行这个命令后,您需要输入一些站点相关的信息" + +#: ../../quickstart.rst:30 +msgid "" +"For questions that have default values denoted in brackets, feel free to " +"use the Return key to accept those default values [#tzlocal_fn]_. When " +"asked for your URL prefix, enter your domain name as indicated (e.g., " +"``https://example.com``)." +msgstr "" +"对于那些在括号中写了默认值的问题,完全可以直接回车使用预先设定好的默认值 " +"[#tzlocal_fn]_。在输入站点URL的前缀(prefix)时,请根据提示的格式输入站点的域名(例如 " +"``https://example.com`` )。" + +#: ../../quickstart.rst:36 +msgid "Create an article" +msgstr "创建文章" + +#: ../../quickstart.rst:38 +msgid "" +"You cannot run Pelican until you have created some content. Use your " +"preferred text editor to create your first article with the following " +"content::" +msgstr "在运行Pelican前,您需要先写一些内容。您可以使用喜欢的文本编辑器来创建第一篇文章。下面是一个样例,可以将它作为您的第一篇文章:" + +#: ../../quickstart.rst:47 +msgid "" +"Given that this example article is in Markdown format, save it as " +"``~/projects/yoursite/content/keyboard-review.md``." +msgstr "" +"上面这篇文章是以Markdown的格式完成的,请将它保存为(注意要保存在content文件夹下)``~/projects/yoursite/content" +"/keyboard-review.md``。" + +#: ../../quickstart.rst:51 +msgid "Generate your site" +msgstr "生成站点" + +#: ../../quickstart.rst:53 +msgid "" +"From your project root directory, run the ``pelican`` command to generate" +" your site::" +msgstr "在项目的根目录下,直接运行命令 ``pelican`` 就可以生成您自己的站点了:" + +#: ../../quickstart.rst:57 +msgid "" +"Your site has now been generated inside the ``output/`` directory. (You " +"may see a warning related to feeds, but that is normal when developing " +"locally and can be ignored for now.)" +msgstr "站点会生成在 ``output/`` 目录下。(可能会显示和feeds有关的警告,这和现在的本地开发环境有关,目前完全可以忽略它。)" + +#: ../../quickstart.rst:62 +msgid "Preview your site" +msgstr "预览站点" + +#: ../../quickstart.rst:64 +msgid "" +"Open a new terminal session, navigate to your project root directory, and" +" run the following command to launch Pelican's web server::" +msgstr "打开一个新的命令行,进入刚才项目的根目录,执行下面的命令让Pelican自己运行一个web服务器:" + +#: ../../quickstart.rst:69 +msgid "Preview your site by navigating to http://localhost:8000/ in your browser." +msgstr "打开浏览器,进入http://localhost:8000/就可以看到刚刚生成的站点了。" + +#: ../../quickstart.rst:71 +msgid "" +"Continue reading the other documentation sections for more detail, and " +"check out the Pelican wiki's Tutorials_ page for links to community-" +"published tutorials." +msgstr "请继续阅读文档中的其他部分来了解更多Pelican的用法,也可以前往Pelican的wiki 教程_ 页面获取社区发布的教程。" + +#: ../../quickstart.rst:78 +msgid "Footnotes" +msgstr "脚注" + +#: ../../quickstart.rst:80 +msgid "" +"You can help localize default fields by installing the optional `tzlocal " +"`_ module." +msgstr "您可以安装可选模块 `tzlocal `_ 来本地化默认字段。" diff --git a/docs/locales/zh_CN/LC_MESSAGES/report.mo b/docs/locales/zh_CN/LC_MESSAGES/report.mo new file mode 100644 index 00000000..7ae9b13a Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/report.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/report.po b/docs/locales/zh_CN/LC_MESSAGES/report.po new file mode 100644 index 00000000..00168928 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/report.po @@ -0,0 +1,224 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-04-29 21:43+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.12.1\n" + +#: ../../report.rst:2 +msgid "Some history about Pelican" +msgstr "Pelican的一些历史" + +#: ../../report.rst:6 +msgid "" +"This page comes from a report the original author (Alexis Métaireau) " +"wrote right after writing Pelican, in December 2010. The information may " +"not be up-to-date." +msgstr "此页面来自原作者 Alexis Métaireau 在2010年12月完成Pelican后作的一篇报告,因此" +"其中的内容可能不是最新的。" + +#: ../../report.rst:10 +msgid "" +"Pelican is a simple static blog generator. It parses markup files " +"(Markdown or reStructuredText for now) and generates an HTML folder with " +"all the files in it. I've chosen to use Python to implement Pelican " +"because it seemed to be simple and to fit to my needs. I did not wanted " +"to define a class for each thing, but still wanted to keep my things " +"loosely coupled. It turns out that it was exactly what I wanted. From " +"time to time, thanks to the feedback of some users, it took me a very few" +" time to provide fixes on it. So far, I've re-factored the Pelican code " +"by two times; each time took less than 30 minutes." +msgstr "Pelican是一个简单的静态博客生成器。它解析标记文件(目前主要是Markdown和reStructuredText)," +"并生成一个文件夹,其中包含了对应于标记文件的HTML。由于Python很简单并且符合需求,我选择使用Python" +"来实现Pelican。我不想为每个东西定义一个类,但同时又想要各部件之间低耦合。事实证明,这正是我想要的。" +"在发展过程中,多亏了用户给的反馈,我花了些时间修复了一些问题。到目前为止,我已经将Pelican的代码重构" +"了两次,每次重构都不会超过30分钟。" + +#: ../../report.rst:21 +msgid "Use case" +msgstr "使用场景" + +#: ../../report.rst:23 +msgid "" +"I was previously using WordPress, a solution you can host on a web server" +" to manage your blog. Most of the time, I prefer using markup languages " +"such as Markdown or reStructuredText to type my articles. To do so, I use" +" vim. I think it is important to let the people choose the tool they want" +" to write the articles. In my opinion, a blog manager should just allow " +"you to take any kind of input and transform it to a weblog. That's what " +"Pelican does. You can write your articles using the tool you want, and " +"the markup language you want, and then generate a static HTML weblog." +msgstr "我之前使用的是WordPress,你可以将它部署在Web服务器上来管理博客。大多数时候,我更喜欢使用" +"Markdown或reStructuredText等标记语言来撰写文章。为此,我一般用vim来写这些文章。我认为让大家自行选择" +"用于写文章的工具是很重要的。在我看来,博客管理器应该能够接受任何类型的输入并将其转换为博客站。Pelican就" +"采取这一思想。您可以选择自己喜欢的工具以及标记语言来撰写文章,然后生成静态的HTML博客站。" + +#: ../../report.rst:34 +msgid "" +"To be flexible enough, Pelican has template support, so you can easily " +"write your own themes if you want to." +msgstr "为了足够的灵活性,Pelican中支持使用模板,这样你就可以编写自己的主题了。" + +#: ../../report.rst:38 +msgid "Design process" +msgstr "设计过程" + +#: ../../report.rst:40 +msgid "" +"Pelican came from a need I have. I started by creating a single file " +"application, and I have make it grow to support what it does by now. To " +"start, I wrote a piece of documentation about what I wanted to do. Then, " +"I created the content I wanted to parse (the reStructuredText files) and " +"started experimenting with the code. Pelican was 200 lines long and " +"contained almost ten functions and one class when it was first usable." +msgstr "Pelican来源于我的需求。从单文件应用程序出发,不断成长为现在功能丰富的应用。首先,我" +"写了一份需求文档;然后创建了我想要解析的内容(reStructuredText文件),并开始实验性的编写代码。" +"Pelican的第一个能够使用的版本包含了200行代码、10个函数以及1个类。" + +#: ../../report.rst:47 +msgid "" +"I have been facing different problems all over the time and wanted to add" +" features to Pelican while using it. The first change I have done was to " +"add the support of a settings file. It is possible to pass the options to" +" the command line, but can be tedious if there is a lot of them. In the " +"same way, I have added the support of different things over time: Atom " +"feeds, multiple themes, multiple markup support, etc. At some point, it " +"appears that the \"only one file\" mantra was not good enough for " +"Pelican, so I decided to rework a bit all that, and split this in " +"multiple different files." +msgstr "我不断遇到各种问题,在使用过程中还想要往Pelican中添加功能。在对代码的第一次修改中,添加了" +"对配置文件的支持。虽然可以在命令行中往里传入选项,但当配置项多起来后,就会变得异常冗长。同样地," +"Pelican支持了越来越多的功能:Atom订阅源、多主体支持、多标记语言支持等等。在某一时刻,单文件应用" +"已经不适合Pelican了,因此我决定多做些工作,将应用分离到多个文件中。" + +#: ../../report.rst:56 +msgid "I’ve separated the logic in different classes and concepts:" +msgstr "我将系统整体逻辑分为如下几个类和概念" + +#: ../../report.rst:58 +msgid "" +"*writers* are responsible of all the writing process of the files. They " +"are responsible of writing .html files, RSS feeds and so on. Since those " +"operations are commonly used, the object is created once, and then passed" +" to the generators." +msgstr "**Writers** 负责文件的写入工作,即负责完成 html文件、RSS订阅源等内容因为这些操作都是" +"比较常用的,这个类只会被创建一次,然后再传给Generators。" + +#: ../../report.rst:63 +msgid "" +"*readers* are used to read from various formats (Markdown and " +"reStructuredText for now, but the system is extensible). Given a file, " +"they return metadata (author, tags, category, etc) and content (HTML " +"formatted)." +msgstr "**Readers** 用于读取不同格式的文件(目前支持Markdown、reStructuredText,但可以继续扩展)。" +"向**Readers**输入一个文件,它会返回文档的元数据(作者、标签、分类等等)与HTML格式的文档正文内容。" + +#: ../../report.rst:67 +msgid "" +"*generators* generate the different outputs. For instance, Pelican comes " +"with an ArticlesGenerator and PagesGenerator, into others. Given a " +"configuration, they can do whatever you want them to do. Most of the time" +" it's generating files from inputs (user inputs and files)." +msgstr "**Generators** 用以生成不同的输出,Pelican自带了 ``ArticlesGenerator`` 和 ``PageGenerator`` 。" +"给定一套配置信息, **Generators** 可以做几乎任何事。但大多数情况下,它的工作就是从输入生成文件。" + +#: ../../report.rst:72 +msgid "" +"I also deal with contents objects. They can be ``Articles``, ``Pages``, " +"``Quotes``, or whatever you want. They are defined in the ``contents.py``" +" module and represent some content to be used by the program." +msgstr "同样,还要处理正文对象。正文对象可以是 ``Articles`` 、 ``Pages`` 、 ``Quotes`` 或者其他" +"你想要的类型。这些对象在 ``contents.py`` 模块中完成定义,同时代表了应用中使用到的内容。" + +#: ../../report.rst:77 +msgid "In more detail" +msgstr "更细节的内容" + +#: ../../report.rst:79 +msgid "Here is an overview of the classes involved in Pelican." +msgstr "以下是Pelican中涉及的类的概述。" + +#: ../../report.rst:83 +msgid "" +"The interface does not really exist, and I have added it only to clarify " +"the whole picture. I do use duck typing and not interfaces." +msgstr "上图中的接口事实上并不存在,我是为了整张图的完整性才加上去的。在实际实现中,使用了" +"鸭子类型而不是接口。" + +#: ../../report.rst:86 +msgid "Internally, the following process is followed:" +msgstr "应用内部按以下流程进行处理:" + +#: ../../report.rst:88 +msgid "" +"First of all, the command line is parsed, and some content from the user " +"is used to initialize the different generator objects." +msgstr "首先,解析命令行,并根据用户给入的一些内容来初始化不同的generator对象。" + +#: ../../report.rst:91 +msgid "" +"A ``context`` is created. It contains the settings from the command line " +"and a settings file if provided." +msgstr "创建一个 ``context`` ,其中包含了来自命令行和文件的配置信息。" + +#: ../../report.rst:93 +msgid "" +"The ``generate_context`` method of each generator is called, updating the" +" context." +msgstr "调用各generator对象的 ``generate_context`` 方法来更新 ``context`` 。" + +#: ../../report.rst:95 +msgid "" +"The writer is created and given to the ``generate_output`` method of each" +" generator." +msgstr "创建 **Writers** 并将其给入generator的 ``generate_output`` 方法。" + +#: ../../report.rst:98 +msgid "" +"I make two calls because it is important that when the output is " +"generated by the generators, the context will not change. In other words," +" the first method ``generate_context`` should modify the context, whereas" +" the second ``generate_output`` method should not." +msgstr "由于当generator生成输出时并不会改变上下文,我进行了两次调用。换句话说,第一个方法 " +"``generate_context`` 会修改上下文,而第二个方法 ``generate_output`` 不会。" + +#: ../../report.rst:103 +msgid "" +"Then, it is up to the generators to do what the want, in the " +"``generate_context`` and ``generate_content`` method. Taking the " +"``ArticlesGenerator`` class will help to understand some others concepts." +" Here is what happens when calling the ``generate_context`` method:" +msgstr "然后,事情就取决于各generator在 ``generate_context`` 和 ``generate_content`` 中做的" +"操作了。拿 ``ArticlesGenerator`` 举例可以帮助理解其他的一些概念。下面是调用 ``generate_context`` " +"方法后会发生的事情:" + +#: ../../report.rst:108 +msgid "" +"Read the folder “path”, looking for restructured text files, load each of" +" them, and construct a content object (``Article``) with it. To do so, " +"use ``Reader`` objects." +msgstr "读取文件夹路径,查找并加载每个restructured文件,并为每个文件构建一个正文内容对象( ``Article`` )。" +"此工作是由 ``Reader`` 对象完成的。" + +#: ../../report.rst:111 +msgid "Update the ``context`` with all those articles." +msgstr "根据所有的文章更新 ``context`` 。" + +#: ../../report.rst:113 +msgid "" +"Then, the ``generate_content`` method uses the ``context`` and the " +"``writer`` to generate the wanted output." +msgstr "然后, ``generate_content`` 方法使用 ``context`` 和 ``writer`` 来生成想要的输出。" diff --git a/docs/locales/zh_CN/LC_MESSAGES/settings.mo b/docs/locales/zh_CN/LC_MESSAGES/settings.mo new file mode 100644 index 00000000..b425e762 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/settings.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/settings.po b/docs/locales/zh_CN/LC_MESSAGES/settings.po new file mode 100644 index 00000000..af9027be --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/settings.po @@ -0,0 +1,1885 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-08 10:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../settings.rst:2 +msgid "Settings" +msgstr "设置" + +#: ../../settings.rst:4 +msgid "" +"Pelican is configurable thanks to a settings file you can pass to the " +"command line::" +msgstr "可以通过命令行给Pelican传入配置文件:" + +#: ../../settings.rst:9 +msgid "" +"If you used the ``pelican-quickstart`` command, your primary settings " +"file will be named ``pelicanconf.py`` by default." +msgstr "如果使用的是 ``pelican-quickstart`` 命令,默认的主配置文件时 ``pelicanconf.py`` 。" + +#: ../../settings.rst:12 +msgid "" +"You can also specify settings via ``-e`` / ``--extra-settings`` option " +"flags. It will override default settings as well as any defined within " +"the setting file. Note that values must follow JSON notation::" +msgstr "" +"通过 ``-e`` / ``--extra-settings`` " +"选项,可以直接指定一些配置来覆盖配置文件中的设置。需要注意的是,选项值必须时JSON格式的:" + +#: ../../settings.rst:18 +msgid "" +"Environment variables can also be used here but must be escaped " +"appropriately::" +msgstr "可以在命令中使用环境变量,但是需要正确地进行转义:" + +#: ../../settings.rst:24 +msgid "" +"When experimenting with different settings (especially the metadata ones)" +" 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`` 命令行选项即可。" + +#: ../../settings.rst:29 +msgid "" +"Settings are configured in the form of a Python module (a file). There is" +" an `example settings file " +"`_" +" available for reference." +msgstr "" +"设置以Python模块(一个文件)的形式。 `示例配置文件 " +"`_" +" 可供您参考。" + +#: ../../settings.rst:34 +msgid "" +"To see a list of current settings in your environment, including both " +"default and any customized values, run the following command (append one " +"or more specific setting names as arguments to see values for those " +"settings only)::" +msgstr "要查看当前环境下的配置,同时查看默认的或是自定义的配置值,执行下面的命令(在后面以参数的形式添加一个或多个指定的配置名称,可以单独查看指定的配置项)" + +#: ../../settings.rst:40 +msgid "" +"All the setting identifiers must be set in all-caps, otherwise they will " +"not be processed. Setting values that are numbers (5, 20, etc.), booleans" +" (True, False, None, etc.), dictionaries, or tuples should *not* be " +"enclosed in quotation marks. All other values (i.e., strings) *must* be " +"enclosed in quotation marks." +msgstr "" +"所有设置的键(设置中的变量名)都必须是大写的,否则会被无视。配置值可能是数值(5、20等)、布尔值(True、False、None等)、字典或者元组。这些值应该以Python值的形式存在," +" *不* 需要用引号引起来。除此之外的其他配置值(例如字符串) *必须* 用引号引起来。" + +#: ../../settings.rst:46 +msgid "" +"Unless otherwise specified, settings that refer to paths can be either " +"absolute or relative to the configuration file. The settings you define " +"in the configuration file will be passed to the templates, which allows " +"you to use your settings to add site-wide content." +msgstr "除非另有指定,设置中指定的路径可以是绝对路径,也可以是相对于配置文件的相对路径。设置中配置的东西会传递到网站模板上,这使得设置中可以添加在整个站点中都能使用的内容。" + +#: ../../settings.rst:51 +msgid "Here is a list of settings for Pelican:" +msgstr "下面是Pelican设置项的列表:" + +#: ../../settings.rst:55 +msgid "Basic settings" +msgstr "基础设置" + +#: ../../settings.rst:59 +msgid "" +"When you don't specify a category in your post metadata, set this setting" +" to ``True``, and organize your articles in subfolders, the subfolder " +"will become the category of your post. If set to ``False``, " +"``DEFAULT_CATEGORY`` will be used as a fallback." +msgstr "" +"当您没有在发布内容中指定元数据categroy时,若本项设置设为了 ``True`` " +",并且文章也是通过子文件夹进行分类管理的,那么这些子文件夹的名称就会作为发布内容的分类。若本项设为了 ``False`` ,会使用 " +"``DEFAULT_CATEGORY`` 配置项的设置值作为默认分类。" + +#: ../../settings.rst:66 +msgid "The default category to fall back on." +msgstr "默认的分类" + +#: ../../settings.rst:70 +msgid "" +"Whether to display pages on the menu of the template. Templates may or " +"may not honor this setting." +msgstr "指定是否将“页面”显示在模板的菜单中。模板可能不会遵循此项。" + +#: ../../settings.rst:75 +msgid "" +"Whether to display categories on the menu of the template. Templates may " +"or not honor this setting." +msgstr "指定是否将“分类”显示在模板的菜单中。模板可能不会遵循此项。" + +#: ../../settings.rst:80 +msgid "" +"Extra configuration settings for the docutils publisher (applicable only " +"to reStructuredText). See `Docutils Configuration`_ settings for more " +"details." +msgstr "docutils的额外配置项(只针对reStructuredText有效)。在 `Docutils 配置`_ 设置中查看更多信息。" + +#: ../../settings.rst:85 +msgid "" +"Delete the output directory, and **all** of its contents, before " +"generating new files. This can be useful in preventing older, unnecessary" +" files from persisting in your output. However, **this is a destructive " +"setting and should be handled with extreme care.**" +msgstr "" +"在生成新文件前删除输出目录和其中 **所有** 的内容。这可以避免一些老的无用的文件一直存在于输出目录中。但是, " +"**此项配置是具有破坏性的,请谨慎使用** 。" + +#: ../../settings.rst:92 +msgid "" +"A list of filenames that should be retained and not deleted from the " +"output directory. One use case would be the preservation of version " +"control data." +msgstr "是一个文件名的列表,包含了应该保留,不从输出目录中删除的文件。可以用在版本控制数据的保留上。" + +#: ../../settings.rst:95 ../../settings.rst:110 ../../settings.rst:136 +msgid "Example::" +msgstr "例子:" + +#: ../../settings.rst:101 +msgid "" +"A dictionary of custom Jinja2 environment variables you want to use. This" +" also includes a list of extensions you may want to include. See `Jinja " +"Environment documentation`_." +msgstr "是一个字典,用于您想要用的自定义的Jinja2环境变量。这其中也包含了要使用的扩展列表。详见 `Jinja环境文档`_ " + +#: ../../settings.rst:107 +msgid "" +"A dictionary of custom Jinja2 filters you want to use. The dictionary " +"should map the filtername to the filter function." +msgstr "是一个字典,存放自定义的Jinja2过滤器。此字典中应该是过滤器名称到过滤器函数的映射。" + +#: ../../settings.rst:118 +msgid "See: `Jinja custom filters documentation`_." +msgstr "详见: `Jinja自定义过滤器文档`_ 。" + +#: ../../settings.rst:122 +msgid "" +"A dictionary of custom objects to map into the Jinja2 global environment " +"namespace. The dictionary should map the global name to the global " +"variable/function. See: `Jinja global namespace documentation`_." +msgstr "" +"是一个字典,可以将自定义对象映射到Jinja2的全局环境命名空间中。字典中应该是全局名称到全局变量/函数的映射。详见: " +"`Jinja全局命名空间文档`_ 。" + +#: ../../settings.rst:128 +msgid "" +"A dictionary of custom Jinja2 tests you want to use. The dictionary " +"should map test names to test functions. See: `Jinja custom tests " +"documentation`_." +msgstr "是一个字典,自定义了要使用的Jinja测试。字典中应该是测试名到测试函数的映射。详见: `Jinja自定义测试文档`_ 。" + +#: ../../settings.rst:133 +msgid "" +"A list of tuples containing the logging level (up to ``warning``) and the" +" message to be ignored." +msgstr "一个内容是元组的列表,元组中包含日志等级(最高到 ``warning``)和要忽略的消息。" + +#: ../../settings.rst:142 +msgid "" +"A dictionary of file extensions / Reader classes for Pelican to process " +"or ignore." +msgstr "一个字典,记录了文件扩展名/Reader类。可以据此让Pelican按照指定规则处理或忽略某些文件。" + +#: ../../settings.rst:145 +msgid "For example, to avoid processing .html files, set::" +msgstr "例如,下面的配置可以让Pelican忽略 .html的文件不处理:" + +#: ../../settings.rst:149 +msgid "To add a custom reader for the ``foo`` extension, set::" +msgstr "为扩展名为 ``foo`` 的文件添加自定义的reader:" + +#: ../../settings.rst:155 +msgid "" +"A list of glob patterns. Files and directories matching any of these " +"patterns will be ignored by the processor. For example, the default " +"``['.#*']`` will ignore emacs lock files, and ``['__pycache__']`` would " +"ignore Python 3's bytecode caches." +msgstr "" +"通配符模式的列表。任何匹配上的文件和目录都会被忽略。例如,默认的 ``['.#*']`` 可以忽略emacs的锁定文件, " +"``['__pycache__']`` 则可以忽略Python3的字节码缓存文件。" + +#: ../../settings.rst:162 +msgid "" +"Extra configuration settings for the Markdown processor. Refer to the " +"Python Markdown documentation's `Options section `_ for a complete list of " +"supported options. The ``extensions`` option will be automatically " +"computed from the ``extension_configs`` option." +msgstr "" +"对Markdown处理器的额外配置。可以参考Python Markdown文档的 `选项章节 ` ,查看可用选项的完整列表。其中的 " +"``extensions_configs`` 选项会用于自动计算 ``extensions`` 选项。" + +#: ../../settings.rst:168 +msgid "Defaults to::" +msgstr "默认值为:" + +#: ../../settings.rst:180 +msgid "" +"The dictionary defined in your settings file will replace this default " +"one." +msgstr "设置文件中的字典会覆盖默认设置。" + +#: ../../settings.rst:185 +msgid "" +"Where to output the generated files. This should correspond to your web " +"server's virtual host root directory." +msgstr "输出生成文件的位置。此项配置应该和web服务器虚拟主机的根目录有关。" + +#: ../../settings.rst:190 +msgid "" +"Path to content directory to be processed by Pelican. If undefined, and " +"content path is not specified via an argument to the ``pelican`` command," +" Pelican will use the current working directory." +msgstr "待Pelican处理的文件目录的路径。如果没有定义,也没有再 ``pelican`` 命令中通过参数指定,Pelican会默认使用当前工作目录。" + +#: ../../settings.rst:196 +msgid "" +"A list of directories and files to look at for pages, relative to " +"``PATH``." +msgstr "此列表中的目录和文件会被视为页面,路径是相对于 ``PATH`` 的。" + +#: ../../settings.rst:200 +msgid "" +"A list of directories to exclude when looking for pages in addition to " +"``ARTICLE_PATHS``." +msgstr "除了 ``ARTICLE_PATHS`` 中的文件不会被视为页面外,此选项中也可指定不被视为页面的文件目录。" + +#: ../../settings.rst:205 +msgid "" +"A list of directories and files to look at for articles, relative to " +"``PATH``." +msgstr "此列表中的目录和文件会被视为文章,路径是相对于 ``PATH`` 的。" + +#: ../../settings.rst:210 +msgid "" +"A list of directories to exclude when looking for articles in addition to" +" ``PAGE_PATHS``." +msgstr "除了 ``PAGE_PATHS`` 中的文件不会被视为文章外,此选项中也可指定不被视为文章的文件目录。" + +#: ../../settings.rst:215 +msgid "" +"Set to True if you want to copy the articles and pages in their original " +"format (e.g. Markdown or reStructuredText) to the specified " +"``OUTPUT_PATH``." +msgstr "" +"如果你想要将文章和页面以源格式(例如Markdown或reStructuredText)复制一份到 ``OUTPUT_PATH`` " +"目录中,就将此项设为True。" + +#: ../../settings.rst:220 +msgid "" +"Controls the extension that will be used by the SourcesGenerator. " +"Defaults to ``.text``. If not a valid string the default value will be " +"used." +msgstr "控制会被SourcesGenerator使用的扩展名。默认为 ``.text`` 。如果设置的值是无效的,会使用默认值。" + +#: ../../settings.rst:225 +msgid "The list of plugins to load. See :ref:`plugins`." +msgstr "要加载的插件列表。详见 :ref:`plugins` 。" + +#: ../../settings.rst:229 +msgid "A list of directories where to look for plugins. See :ref:`plugins`." +msgstr "查找插件的目录列表。详见 :ref:`plugins` 。" + +#: ../../settings.rst:233 +msgid "Your site name" +msgstr "你的站点名称。" + +#: ../../settings.rst:237 +msgid "" +"Base URL of your web site. Not defined by default, so it is best to " +"specify your SITEURL; if you do not, feeds will not be generated with " +"properly-formed URLs. If your site is available via HTTPS, this setting " +"should begin with ``https://`` — otherwise use ``http://``. Then append " +"your domain, with no trailing slash at the end. Example: ``SITEURL = " +"'https://example.com'``" +msgstr "" +"网站的基础URL。此选项没有默认值,因此最好是指定一下SITEURL;如果不指定,feeds就无法正确生成URL。如果站点使用了HTTPS,那么此项设定最好以" +" ``https://`` 开头-否则使用 ``http://`` 即可。在协议后面接着就是域名,不要以斜杠结尾。一个例子: ``SITEURL " +"= 'https://example.com'`` " + +#: ../../settings.rst:246 +msgid "" +"A list of directories (relative to ``PATH``) in which to look for static " +"files. Such files will be copied to the output directory without " +"modification. Articles, pages, and other content source files will " +"normally be skipped, so it is safe for a directory to appear both here " +"and in ``PAGE_PATHS`` or ``ARTICLE_PATHS``. Pelican's default settings " +"include the \"images\" directory here." +msgstr "" +"用于查找静态文件的目录列表。静态文件会原封不动地拷贝到输出目录中。文章、页面以及其他的内容源文件都会被跳过,因此一个目录可以安全地同时出现在此选项以及" +" ``PAGE_PATHS`` 或 ``ARTICLE_PATHS`` 中。Pelican默认会将 \"images\" 目录包含在此选项中。" + +#: ../../settings.rst:255 +msgid "A list of directories to exclude when looking for static files." +msgstr "此选项列表中的目录都会在搜索静态文件时排除在外。" + +#: ../../settings.rst:259 +msgid "" +"If set to False, content source files will not be skipped when copying " +"files found in ``STATIC_PATHS``. This setting is for backward " +"compatibility with Pelican releases before version 3.5. It has no effect" +" unless ``STATIC_PATHS`` contains a directory that is also in " +"``ARTICLE_PATHS`` or ``PAGE_PATHS``. If you are trying to publish your " +"site's source files, consider using the ``OUTPUT_SOURCES`` setting " +"instead." +msgstr "" +"如果此选项设为False, ``STATIC_PATHS`` " +"中的内容源文件将不会被忽略,也会像静态文件一样被原封不动地拷贝。此项设置是为了给3.5版本前的Pelican进行向后兼容的。此项设置只有在 " +"``STATIC_PATH`` 中包含了在 ``ARTICLE_PATHS`` 或 ``PAGE_PATHS`` " +"中也有的目录时才会生效。如果你是想将站点的源文件发布出去的话,请考虑使用 ``OUTPUT_SOURCES`` 设置。" + +#: ../../settings.rst:268 +msgid "" +"Create links instead of copying files. If the content and output " +"directories are on the same device, then create hard links. Falls back " +"to symbolic links if the output directory is on a different filesystem. " +"If symlinks are created, don't forget to add the ``-L`` or ``--copy-" +"links`` option to rsync when uploading your site." +msgstr "" +"为静态文件创建链接而不是复制文件本身。如果内容和输出目录位于同一设备上,则创建硬链接;如果输出目录位于不同的文件系统上,则回退至符号链接。若创建了符号链接,使用rsync上传网站时需要添加-L或" +"--copy-links选项。" + +#: ../../settings.rst:276 +msgid "" +"If set to ``True``, and ``STATIC_CREATE_LINKS`` is ``False``, compare " +"mtimes of content and output files, and only copy content files that are " +"newer than existing output files." +msgstr "" +"若设置为True,并且 ``STATIC_CREATE_LINKS`` 设为了 ``False`` " +",则会和输出文件的修改时间mtime进行比较,只有当前文件更新时才会执行拷贝。" + +#: ../../settings.rst:282 +msgid "" +"If set to True, several typographical improvements will be incorporated " +"into the generated HTML via the `Typogrify " +"`_ library, which can be installed " +"via: ``python -m pip install typogrify``" +msgstr "" +"若此项设置为True,一些显示上的改进将通过 `Typogrify `_" +" 库合并到生成的HTML中。可以通过 ``python -m pip install typogrify`` 进行安装。" + +#: ../../settings.rst:289 +msgid "" +"A list of tags for Typogrify to ignore. By default Typogrify will ignore " +"``pre`` and ``code`` tags. This requires that Typogrify version 2.0.4 or " +"later is installed" +msgstr "" +"指定Typogrify要忽略的标签列表。默认情况下,Typogrify将忽略 ``pre`` 和 ``code`` " +"标签此项特性需要安装高于2.0.4版本的Typogrify。" + +#: ../../settings.rst:295 +msgid "" +"This setting controls how Typogrify sets up the Smartypants filter to " +"interpret multiple dash/hyphen/minus characters. A single ASCII dash " +"character (``-``) is always rendered as a hyphen. The ``default`` setting" +" does not handle en-dashes and converts double-hyphens into em-dashes. " +"The ``oldschool`` setting renders both en-dashes and em-dashes when it " +"sees two (``--``) and three (``---``) hyphen characters, respectively. " +"The ``oldschool_inverted`` setting turns two hyphens into an em-dash and " +"three hyphens into an en-dash." +msgstr "" +"此设置用于设置Typogrify的Smartypants过滤器,控制过滤器如何解释多个破折号/连字符/减号。单个ASCII破折号字符 " +"(``-``) 始终被视为连字符。``default`` 不处理短破折号,并会将双连字符转换为长破折号。 ``oldschool`` 会将两个 " +"(``--``) 和三个 (``--``) 连字符分别呈现为短破折号和长破折号。 ``oldschool_inverted`` " +"则会将两个连字符转换为长破折号,而将三个连字符转换为短破折号。" + +#: ../../settings.rst:306 +msgid "" +"When creating a short summary of an article, this will be the default " +"length (measured in words) of the text created. This only applies if " +"your content does not otherwise specify a summary. Setting to ``None`` " +"will cause the summary to be a copy of the original content." +msgstr "" +"当未给文章或页面书写摘要时,会自动创建摘要,此设置指定了默认创建摘要的长度(以字/词为单位)。若将此项设为 ``None`` " +",摘要将会是原始内容的副本。" + +#: ../../settings.rst:313 +msgid "" +"When creating a short summary of an article and the result was truncated " +"to match the required word length, this will be used as the truncation " +"suffix." +msgstr "在创建摘要时,若内容因长度被截断,此项设置值将用作截断的结尾。" + +#: ../../settings.rst:318 +msgid "" +"If disabled, content with dates in the future will get a default status " +"of ``draft``. See :ref:`reading_only_modified_content` for caveats." +msgstr "" +"若此项设为False,带了未来日期的文章或页面的状态都会设为 ``draft`` 。相关注意事项详见 " +":ref:`reading_only_modified_content` 。" + +#: ../../settings.rst:323 +msgid "" +"Regular expression that is used to parse internal links. Default syntax " +"when linking to internal files, tags, etc., is to enclose the identifier," +" say ``filename``, in ``{}`` or ``||``. Identifier between ``{`` and " +"``}`` goes into the ``what`` capturing group. For details see :ref:`ref-" +"linking-to-internal-content`." +msgstr "" +"用于解析内部链接的正则表达式。链接到内部文件、标签等时的默认语法是将标识符(例如 ``filename`` )括在 ``{}`` 或 ``||``" +" 中。 ``{`` 和 ``}`` 之间的则进入 ``what`` 捕获组。更多详情请参见 :ref:`ref-linking-to-" +"internal-content` 。" + +#: ../../settings.rst:331 +msgid "" +"A list of default Pygments settings for your reStructuredText code " +"blocks. See :ref:`internal_pygments_options` for a list of supported " +"options." +msgstr "" +"reStructuredText代码块的默认Pygments设置列表。有关受支持选项的列表,请参阅 " +":ref:`internal_pygments_options` 。" + +#: ../../settings.rst:336 +msgid "" +"If ``True``, saves content in caches. See " +":ref:`reading_only_modified_content` for details about caching." +msgstr "若设为 ``True`` ,会将内容保存在缓存中。有关缓存请参阅 :ref:`reading_only_modified_content` 。" + +#: ../../settings.rst:341 +msgid "" +"If set to ``'reader'``, save only the raw content and metadata returned " +"by readers. If set to ``'generator'``, save processed content objects." +msgstr "若设为 ``reader`` ,则只保存reader返回的原始内容和元数据。若设为 ``generator`` ,则保存处理过的内容对象。" + +#: ../../settings.rst:346 +msgid "Directory in which to store cache files." +msgstr "指定存储缓存文件的目录。" + +#: ../../settings.rst:350 +msgid "If ``True``, use gzip to (de)compress the cache files." +msgstr "若设为 ``True`` ,则使用gzip对缓存文件进行解压缩。" + +#: ../../settings.rst:354 +msgid "Controls how files are checked for modifications." +msgstr "控制检查文件修改的方式" + +#: ../../settings.rst:356 ../../settings.rst:1356 +msgid "If set to ``'mtime'``, the modification time of the file is checked." +msgstr "若设为 ``mtime`` ,则检查文件的修改时间。" + +#: ../../settings.rst:358 ../../settings.rst:1358 +msgid "" +"If set to a name of a function provided by the ``hashlib`` module, e.g. " +"``'md5'``, the file hash is checked." +msgstr "若设为 ``hashlib`` 库中提供的方法名,例如 ``md5`` ,则会检查文件的哈希值。" + +#: ../../settings.rst:363 +msgid "If ``True``, load unmodified content from caches." +msgstr "若设为 ``True`` ,则会从缓存中加载未修改的内容。" + +#: ../../settings.rst:367 +msgid "" +"A list of metadata fields containing reST/Markdown content to be parsed " +"and translated to HTML." +msgstr "元数据的列表,此列表中的元数据会被解析为HTML。" + +#: ../../settings.rst:372 +msgid "" +"The TCP port to serve content from the output folder via HTTP when " +"pelican is run with --listen" +msgstr "使用--listen运行pelican时,会在此选项指定的TCP端口上以HTTP提供内容。" + +#: ../../settings.rst:377 +msgid "The IP to which to bind the HTTP server." +msgstr "需要和HTTP服务器绑定的IP地址。" + +#: ../../settings.rst:382 +msgid "URL settings" +msgstr "URL设置" + +#: ../../settings.rst:384 +msgid "" +"The first thing to understand is that there are currently two supported " +"methods for URL formation: *relative* and *absolute*. Relative URLs are " +"useful when testing locally, and absolute URLs are reliable and most " +"useful when publishing. One method of supporting both is to have one " +"Pelican configuration file for local development and another for " +"publishing. To see an example of this type of setup, use the ``pelican-" +"quickstart`` script as described in the :doc:`Installation ` " +"section, which will produce two separate configuration files for local " +"development and publishing, respectively." +msgstr "" +"首先要知道的是,URL格式有两种形式: *相对URL* 、 *绝对URL* " +"。相对URL在本地测试时往往比较有用,而绝对URL在发布时往往是比较有效可靠的。要同时支持两种URL形式,可以在本地开发和发布环境中使用两份不同的配置文件。执行脚本" +" ``pelican-quickstart`` 就是一个例子,会为本地开发和发布环境分别生成一份配置文件,此脚本在 " +":doc:`Installation ` 一节中有详细描述。" + +#: ../../settings.rst:393 +msgid "" +"You can customize the URLs and locations where files will be saved. The " +"``*_URL`` and ``*_SAVE_AS`` variables use Python's format strings. These " +"variables allow you to place your articles in a location such as " +"``{slug}/index.html`` and link to them as ``{slug}`` for clean URLs (see " +"example below). These settings give you the flexibility to place your " +"articles and pages anywhere you want." +msgstr "" +"URL和文件存储位置都是可以自定义的, ``*_URL`` 和 ``*_SAVE_AS`` " +"变量使用Python风格的格式化字符串。你可以利用一些变量将文章放在诸如 ``{slug}/index.html`` 的位置,并且可以以 " +"``{slug}`` 的形式进行链接,如此可以让URL更加简洁(详见下面的例子)。这些设置可以让你灵活地将文章和页面放在任何你想要的地方。" + +#: ../../settings.rst:401 +msgid "" +"If a ``*_SAVE_AS`` setting contains a parent directory that doesn't match" +" the parent directory inside the corresponding ``*_URL`` setting, this " +"may cause Pelican to generate unexpected URLs in a few cases, such as " +"when using the ``{attach}`` syntax." +msgstr "" +"如果 ``*_SAVE_AS`` 中包含了不在 ``*_URL`` 中的父目录,会导致Pelican在少数情况下(例如使用 " +"``{attach}`` 语法时)产生不可知的URL。" + +#: ../../settings.rst:406 +msgid "" +"If you don't want that flexibility and instead prefer that your generated" +" output paths mirror your source content's filesystem path hierarchy, try" +" the following settings::" +msgstr "若不希望有这种灵活性,而是希望生成的输出路径保留源内容路径的层次结构,可以尝试下面的设置::" + +#: ../../settings.rst:413 +msgid "" +"Otherwise, you can use a variety of file metadata attributes within URL-" +"related settings:" +msgstr "否则,可以在URL相关设置中可以使用下面的这些元数据属性:" + +#: ../../settings.rst:416 +msgid "slug" +msgstr "slug" + +#: ../../settings.rst:417 +msgid "date" +msgstr "date" + +#: ../../settings.rst:418 +msgid "lang" +msgstr "lang" + +#: ../../settings.rst:419 +msgid "author" +msgstr "author" + +#: ../../settings.rst:420 +msgid "category" +msgstr "category" + +#: ../../settings.rst:422 ../../settings.rst:557 +msgid "Example usage::" +msgstr "用例:" + +#: ../../settings.rst:429 +msgid "" +"This would save your articles into something like ``/posts/2011/Aug/07" +"/sample-post/index.html``, save your pages into " +"``/pages/about/index.html``, and render them available at URLs of " +"``/posts/2011/Aug/07/sample-post/`` and ``/pages/about/``, respectively." +msgstr "" +"上面的设置会将你的文章以类似于 ``/posts/2011/Aug/07/sample-post/index.html`` 的形式存储,页面则以 " +"``/pages/about/index.html`` 的形式存储,对应的URL分别为 ``/posts/2011/Aug/07/sample-" +"post/`` 与 ``/pages/about/`` 。" + +#: ../../settings.rst:435 +msgid "" +"If you specify a ``datetime`` directive, it will be substituted using the" +" input files' date metadata attribute. If the date is not specified for a" +" particular file, Pelican will rely on the file's ``mtime`` timestamp. " +"Check the `Python datetime documentation`_ for more information." +msgstr "" +"如果指定了 ``datetime`` 的指令,会使用输入文件的日期元数据进行替换。若没有指定日期Pelican会根据文件的 ``mtime`` " +"时间戳替换。更多信息可以参考 `Python datetime文档`_ 。" + +#: ../../settings.rst:445 +msgid "" +"Defines whether Pelican should use document-relative URLs or not. Only " +"set this to ``True`` when developing/testing and only if you fully " +"understand the effect it can have on links/feeds." +msgstr "" +"定义Pelican是否使用文档间相对URL。请只在开发或测试时将此项设为 ``True`` " +",并且确保你已经明白此项设置对链接与feed的影响。(译者注:当此项为True时,网页之间的链接会使用相对路径表达,例如 ``../my-" +"article.html`` )" + +#: ../../settings.rst:451 +msgid "The URL to refer to an article." +msgstr "文章的URL格式。" + +#: ../../settings.rst:455 +msgid "The place where we will save an article." +msgstr "文章的存储位置。" + +#: ../../settings.rst:459 +msgid "The URL to refer to an article which doesn't use the default language." +msgstr "非默认语言文章的URL格式。" + +#: ../../settings.rst:463 +msgid "" +"The place where we will save an article which doesn't use the default " +"language." +msgstr "非默认语言文章的存储位置。" + +#: ../../settings.rst:468 +msgid "The URL to refer to an article draft." +msgstr "draft状态文章的URL格式。" + +#: ../../settings.rst:472 +msgid "The place where we will save an article draft." +msgstr "draft状态文章的存储位置。" + +#: ../../settings.rst:476 +msgid "" +"The URL to refer to an article draft which doesn't use the default " +"language." +msgstr "draft状态非默认语言文章的URL格式。" + +#: ../../settings.rst:480 +msgid "" +"The place where we will save an article draft which doesn't use the " +"default language." +msgstr "draft状态非默认语言文章的存储位置。" + +#: ../../settings.rst:485 +msgid "The URL we will use to link to a page." +msgstr "页面的URL格式。" + +#: ../../settings.rst:489 +msgid "" +"The location we will save the page. This value has to be the same as " +"PAGE_URL or you need to use a rewrite in your server config." +msgstr "页面的保存位置。除非在服务器上设置了重写规则,否则此项设置必须和PAGE_URL一致。" + +#: ../../settings.rst:494 +msgid "" +"The URL we will use to link to a page which doesn't use the default " +"language." +msgstr "非默认语言页面的URL格式。" + +#: ../../settings.rst:499 +msgid "The location we will save the page which doesn't use the default language." +msgstr "非默认语言页面的存储位置。" + +#: ../../settings.rst:503 +msgid "The URL used to link to a page draft." +msgstr "draft状态页面的URL。" + +#: ../../settings.rst:507 +msgid "The actual location a page draft is saved at." +msgstr "draft状态页面的实际存储位置。" + +#: ../../settings.rst:511 +msgid "" +"The URL used to link to a page draft which doesn't use the default " +"language." +msgstr "draft状态非默认语言页面的URL格式。" + +#: ../../settings.rst:516 +msgid "" +"The actual location a page draft which doesn't use the default language " +"is saved at." +msgstr "draft状态非默认语言页面的实际存储位置。" + +#: ../../settings.rst:521 +msgid "The URL to use for an author." +msgstr "某一个作者的URL格式。" + +#: ../../settings.rst:525 +msgid "The location to save an author." +msgstr "某一个作者的存储位置。" + +#: ../../settings.rst:529 +msgid "The URL to use for a category." +msgstr "某一个分类的URL格式。" + +#: ../../settings.rst:533 +msgid "The location to save a category." +msgstr "某一个分类的存储位置。" + +#: ../../settings.rst:537 +msgid "The URL to use for a tag." +msgstr "某一个标签的URL格式。" + +#: ../../settings.rst:541 +msgid "The location to save the tag page." +msgstr "某一个标签的存储位置" + +#: ../../settings.rst:545 +msgid "" +"If you do not want one or more of the default pages to be created (e.g., " +"you are the only author on your site and thus do not need an Authors " +"page), set the corresponding ``*_SAVE_AS`` setting to ``''`` to prevent " +"the relevant page from being generated." +msgstr "如果您不希望创建默认页面(例如你是网站上的唯一作者,因此不需要作者页面),请将相应的 ``*_SAVE_AS`` 设置设置为 ``''`` 。" + +#: ../../settings.rst:550 +msgid "" +"Pelican can optionally create per-year, per-month, and per-day archives " +"of your posts. These secondary archives are disabled by default but are " +"automatically enabled if you supply format strings for their respective " +"``_SAVE_AS`` settings. Period archives fit intuitively with the " +"hierarchical model of web URLs and can make it easier for readers to " +"navigate through the posts you've written over time." +msgstr "" +"可选地,Pelican可以为帖子创建每年、每月或是每日的归档。除非你为各自的 ``*_SAVE_AS`` " +"设置了格式化字符串,否则这些归档在默认情况下是关闭的。按时间进行归档更直观地符合web URL地层次模型,也可以让读者更容易按时间顺序浏览帖子。" + +#: ../../settings.rst:564 +msgid "" +"With these settings, Pelican will create an archive of all your posts for" +" the year at (for instance) ``posts/2011/index.html`` and an archive of " +"all your posts for the month at ``posts/2011/Aug/index.html``. These can " +"be accessed through the URLs ``posts/2011/`` and ``posts/2011/Aug/``, " +"respectively." +msgstr "" +"例如若使用了上面的设置,Pelican会创建按年的归档(例如 ``posts/2011/index.html`` ),以及按月的归档(例如 " +"``posts/2011/Aug/index.html`` )。这两个页面分别通过 ``posts/2011/`` " +"和``posts/2011/Aug/`` 进行访问。" + +#: ../../settings.rst:570 +msgid "" +"Period archives work best when the final path segment is ``index.html``. " +"This way a reader can remove a portion of your URL and automatically " +"arrive at an appropriate archive of posts, without having to specify a " +"page name." +msgstr "" +"当路径设置为以 ``index.html`` " +"结尾时,归档的体验会非常好。读者可以删除URL中的一部分以到达合适时间段的归档,而不需要指定某一个页面的名称。" + +#: ../../settings.rst:576 +msgid "The location to save per-year archives of your posts." +msgstr "年归档的存储位置。" + +#: ../../settings.rst:580 +msgid "" +"The URL to use for per-year archives of your posts. You should set this " +"if you enable per-year archives." +msgstr "" + +#: ../../settings.rst:585 +msgid "The location to save per-month archives of your posts." +msgstr "月归档的存储位置。" + +#: ../../settings.rst:589 +msgid "" +"The URL to use for per-month archives of your posts. You should set this " +"if you enable per-month archives." +msgstr "按月归档的URL。当启用了按月归档时,就需要配置此项。" + +#: ../../settings.rst:594 +msgid "The location to save per-day archives of your posts." +msgstr "日归档的存储位置。" + +#: ../../settings.rst:598 +msgid "" +"The URL to use for per-day archives of your posts. You should set this if" +" you enable per-day archives." +msgstr "" + +#: ../../settings.rst:601 +msgid "" +"``DIRECT_TEMPLATES`` work a bit differently than noted above. Only the " +"``_SAVE_AS`` settings are available, but it is available for any direct " +"template." +msgstr "" +"``DIRECT_TEMPLATES`` 的工作方式与上面提到的有点不同,在其中可以使用一些特别的直接模板,并且仅 ``*_SAVE_AS`` " +"设置可用。" + +#: ../../settings.rst:607 +msgid "The location to save the article archives page." +msgstr "文章归档页面的存储位置。" + +#: ../../settings.rst:611 +msgid "The location to save the author list." +msgstr "作者人列表的存储位置。" + +#: ../../settings.rst:615 +msgid "The location to save the category list." +msgstr "分类列表的存储位置。" + +#: ../../settings.rst:619 +msgid "The location to save the tag list." +msgstr "标签列表的存储位置。" + +#: ../../settings.rst:623 +msgid "The location to save the list of all articles." +msgstr "所有文章列表的存储位置。" + +#: ../../settings.rst:625 +msgid "" +"URLs for direct template pages are theme-dependent. Some themes use " +"corresponding ``*_URL`` setting as string, while others hard-code them: " +"``'archives.html'``, ``'authors.html'``, ``'categories.html'``, " +"``'tags.html'``." +msgstr "" +"事实上,直接模板页面的URL是和使用的主题相关的。有些主题会使用 ``*_URL`` 作为变量字符串,而有些则是直接对这些直接模板页面进行硬编码:" +" ``'archives.html'`` 、 ``'authors.html'`` 、 ``'categories.html'`` 。" + +#: ../../settings.rst:632 +msgid "" +"Specifies from where you want the slug to be automatically generated. Can" +" be set to ``title`` to use the \"Title:\" metadata tag or ``basename`` " +"to use the article's file name when creating the slug." +msgstr "自动生成slug所依赖的内容。可以指定为元数据标签 ``title`` ,也可以使用文章源文件的文件名 ``basename`` 。" + +#: ../../settings.rst:638 +msgid "" +"Allow Unicode characters in slugs. Set ``True`` to keep Unicode " +"characters in auto-generated slugs. Otherwise, Unicode characters will be" +" replaced with ASCII equivalents." +msgstr "" +"指定是否可以在slug中使用Unicode字符。若设为 ``True`` " +",自动生成的slug中会保留Unicode字符;否则Unicode字符会使用含义相同的ASCII替换。" + +#: ../../settings.rst:644 +msgid "" +"Preserve uppercase characters in slugs. Set ``True`` to keep uppercase " +"characters from ``SLUGIFY_SOURCE`` as-is." +msgstr "指定是否保留slug中的大写字母。若设为 ``True`` ,则会原样保留 ``SLUGIFY_SOURCE`` 中的大写字母。" + +#: ../../settings.rst:654 +msgid "" +"Regex substitutions to make when generating slugs of articles and pages. " +"Specified as a list of pairs of ``(from, to)`` which are applied in " +"order, ignoring case. The default substitutions have the effect of " +"removing non-alphanumeric characters and converting internal whitespace " +"to dashes. Apart from these substitutions, slugs are always converted to " +"lowercase ascii characters and leading and trailing whitespace is " +"stripped. Useful for backward compatibility with existing URLs." +msgstr "" +"指定生成文章和页面slug时要进行的正则表达式替换。指定的是一对对 ``(from, to)`` " +"(from为要替换的内容,to为替换进去的内容),列表中的各对替换规则是按序执行且忽略大小写的。默认的替换会删除非字母非数字的字符并将内部空格替换为连字符。除此之外,slug会将所有字符转换为小写ASCII字符,并删除所有前导和末尾空格。这有利于现有URL的向后兼容。" + +#: ../../settings.rst:664 +msgid "" +"Regex substitutions for author slugs. Defaults to " +"``SLUG_REGEX_SUBSTITUTIONS``." +msgstr "针对作者slug的正则替换。默认等于 ``SLUG_REGEX_SUBSTITUTIONS`` 。" + +#: ../../settings.rst:669 +msgid "" +"Regex substitutions for category slugs. Defaults to " +"``SLUG_REGEX_SUBSTITUTIONS``." +msgstr "针对分类slug的正则替换。默认等于 ``SLUG_REGEX_SUBSTITUTIONS`` 。" + +#: ../../settings.rst:674 +msgid "" +"Regex substitutions for tag slugs. Defaults to " +"``SLUG_REGEX_SUBSTITUTIONS``." +msgstr "针对标签slug的正则替换。默认等于 ``SLUG_REGEX_SUBSTITUTIONS`` 。" + +#: ../../settings.rst:677 +msgid "Time and Date" +msgstr "日期与时间" + +#: ../../settings.rst:681 +msgid "The timezone used in the date information, to generate Atom and RSS feeds." +msgstr "日期信息中使用的时区,会用于生成Atom和RSS feeds。(无默认值,必须手动设置指定)" + +#: ../../settings.rst:683 +msgid "" +"If no timezone is defined, UTC is assumed. This means that the generated " +"Atom and RSS feeds will contain incorrect date information if your locale" +" is not UTC." +msgstr "若没有定义时区,会直接使用UTC时区。这意味着当你的时区不在UTC中时,生成的Atom和RSS feeds中会包含错误的日期信息。" + +#: ../../settings.rst:687 +msgid "" +"Pelican issues a warning in case this setting is not defined, as it was " +"not mandatory in previous versions." +msgstr "在之前的版本中,这一项设置并不是强制的,因此Pelican会在未设置时区时提出警告。" + +#: ../../settings.rst:690 +msgid "" +"Have a look at `the wikipedia page`_ to get a list of valid timezone " +"values." +msgstr "有效的时区设置值可以在 `维基百科页`_ 中查看。" + +#: ../../settings.rst:696 +msgid "" +"The default date you want to use. If ``'fs'``, Pelican will use the file" +" system timestamp information (mtime) if it can't get date information " +"from the metadata. If given any other string, it will be parsed by the " +"same method as article metadata. If set to a tuple object, the default " +"datetime object will instead be generated by passing the tuple to the " +"``datetime.datetime`` constructor." +msgstr "" +"要使用的默认日期。若设为 ``'fs'`` " +",Pelican在无法从元数据中获取日期时,会以系统的时间戳信息(mtime)为准;若设为其他字符串,Pelican将用与解析文章元数据相同的方法进行解析;若设为元组,则会将该元组传递给" +" ``datetime.datetime`` 的构造函数来生成日期。" + +#: ../../settings.rst:705 +msgid "The default date format you want to use." +msgstr "指定要使用的默认日期格式。" + +#: ../../settings.rst:709 +msgid "If you manage multiple languages, you can set the date formatting here." +msgstr "若需要管理多种语言,可以在这里针对不同语言设置不同的日期格式。" + +#: ../../settings.rst:711 +msgid "" +"If no ``DATE_FORMATS`` are set, Pelican will fall back to " +"``DEFAULT_DATE_FORMAT``. If you need to maintain multiple languages with " +"different date formats, you can set the ``DATE_FORMATS`` dictionary using" +" the language name (``lang`` metadata in your post content) as the key." +msgstr "" +"如果 ``DATE_FORMATS`` 没有设置过,Pelican会使用 ``DEFAULT_DATE_FORMAT`` " +"。如果要为不同语言设置不同如期格式,可以在此设置项字典中指定,键为语言名称(对应于帖子内容元数据中的 ``lang`` ),值为日期格式字符串。" + +#: ../../settings.rst:716 +#, python-format +msgid "" +"In addition to the standard C89 strftime format codes that are listed in " +"`Python datetime documentation`_, you can use the ``-`` character between" +" ``%`` and the format character to remove any leading zeros. For example," +" ``%d/%m/%Y`` will output ``01/01/2014`` whereas ``%-d/%-m/%Y`` will " +"result in ``1/1/2014``." +msgstr "" +"除了 `Python datetime文档`_ 中列出的标准C89 strftime格式代码之外,可以通过在 ``%`` 和格式字符之间添加 " +"``-`` 来删除日期中的前导零。例如 ``%d/%m/%Y`` 对应输出 ``01/01/2014`` ,而 ``%-d/%-m/%Y`` " +"对应输出 ``1/1/2014`` 。" + +#: ../../settings.rst:729 +msgid "" +"It is also possible to set different locale settings for each language by" +" using a ``(locale, format)`` tuple as a dictionary value which will " +"override the ``LOCALE`` setting:" +msgstr "你还能够通过将元组 ``(locale, format)`` 作为值,来为每种语言指定地区,此处设置的地区会覆盖 ``LOCALE`` 设置:" + +#: ../../settings.rst:749 +msgid "" +"Change the locale [#]_. A list of locales can be provided here or a " +"single string representing one locale. When providing a list, all the " +"locales will be tried until one works." +msgstr "设置地区 [#]_ 。可以同时指定多个地区,也可以使用字符串指定单个地区。当设置了多个地区时,会一个个尝试直到某一个可以使用。" + +#: ../../settings.rst:753 +msgid "You can set locale to further control date format:" +msgstr "通过设置地区进一步控制日期格式:" + +#: ../../settings.rst:761 +msgid "" +"For a list of available locales refer to `locales on Windows`_ or on " +"Unix/Linux, use the ``locale -a`` command; see manpage `locale(1)`_ for " +"more information." +msgstr "" +"要查看可用的地区列表,可以参看 `Windows上的地区`_ ;若使用的时Unix/Linux系统, 使用 ``locale -a`` " +"命令即可,有关该命令的更多信息可以参阅手册 `locale(1)`_ 。" + +#: ../../settings.rst:766 +msgid "Default is the system locale." +msgstr "默认值与系统的地区设置保持一致。" + +#: ../../settings.rst:780 +msgid "Template pages" +msgstr "模板页面" + +#: ../../settings.rst:784 +msgid "" +"A mapping containing template pages that will be rendered with the blog " +"entries." +msgstr "一些映射关系,指出了会和博客一起渲染的模板页面。" + +#: ../../settings.rst:787 +msgid "" +"If you want to generate custom pages besides your blog entries, you can " +"point any Jinja2 template file with a path pointing to the file and the " +"destination path for the generated file." +msgstr "如果你想要生成除了博客之外的自定义页面,你可以指出任何Jinja2的模板文件,需要同时指出源文件路径和生成文件的路径。" + +#: ../../settings.rst:791 +msgid "" +"For instance, if you have a blog with three static pages — a list of " +"books, your resume, and a contact page — you could have::" +msgstr "例如,如果你的博客有三个静态页面——书籍列表、你的简历、以及一个联系页面,你可这么配置:" + +#: ../../settings.rst:800 +msgid "The extensions to use when looking up template files from template names." +msgstr "指定要查找并视为模板文件的文件扩展名。" + +#: ../../settings.rst:804 +msgid "" +"List of templates that are used directly to render content. Typically " +"direct templates are used to generate index pages for collections of " +"content (e.g., category and tag index pages). If the author, category and" +" tag collections are not needed, set ``DIRECT_TEMPLATES = ['index', " +"'archives']``" +msgstr "" +"指定用于直接渲染内容的模板列表。一般来说直接模板会用于生成内容集合的主页(例如分类和标签的主页)。如果不需要作者、分类或者标签集合,可以设置 " +"``DIRECT_TEMPLATES = ['index', archives']`` 。" + +#: ../../settings.rst:809 +msgid "" +"``DIRECT_TEMPLATES`` are searched for over paths maintained in " +"``THEME_TEMPLATES_OVERRIDES``." +msgstr "``DIRECT_TEMPLATES`` 会在 ``THEME_TEMPLATES_OVERRIDES`` 的路径中搜索。" + +#: ../../settings.rst:814 +msgid "Metadata" +msgstr "元数据" + +#: ../../settings.rst:818 +msgid "Default author (usually your name)." +msgstr "默认作者(通常是你自己的名字)。" + +#: ../../settings.rst:822 +msgid "The default metadata you want to use for all articles and pages." +msgstr "应用于所有文章和页面的默认元数据。" + +#: ../../settings.rst:826 +msgid "" +"The regexp that will be used to extract any metadata from the filename. " +"All named groups that are matched will be set in the metadata object. " +"The default value will only extract the date from the filename." +msgstr "指定用于从文件名中提取元数据的正则表达式。所有匹配上的命名匹配组都会用于设置元数据。默认值会从文件名中提取日期。" + +#: ../../settings.rst:830 +msgid "For example, to extract both the date and the slug::" +msgstr "例如,可以同时提取日期和slug:" + +#: ../../settings.rst:834 +msgid "See also ``SLUGIFY_SOURCE``." +msgstr "另请参看 ``SLUGIFY_SOURCE`` 。" + +#: ../../settings.rst:838 +msgid "" +"Like ``FILENAME_METADATA``, but parsed from a page's full path relative " +"to the content source directory." +msgstr "和 ``FILENAME_METADATA`` 类似,但提取解析的对象是相对于内容源文件目录的路径。" + +#: ../../settings.rst:843 +msgid "" +"Extra metadata dictionaries keyed by relative path. Relative paths " +"require correct OS-specific directory separators (i.e. / in UNIX and \\\\" +" in Windows) unlike some other Pelican file settings. Paths to a " +"directory apply to all files under it. The most-specific path wins " +"conflicts." +msgstr "指定要从相对路径提取的额外元数据字典。与Pelican的其他设置文件不同,此项设置需要正确使用和操作系统对应的目录分隔符(Unix中使用/,Windows中使用\\\\)。若对一个目录设置了规则,该规则会作用于该目录下所有文件。当有多个路径相互冲突时,Pelican会选用更为具体的路径。" + +#: ../../settings.rst:848 +msgid "" +"Not all metadata needs to be :ref:`embedded in source file itself " +"`. For example, blog posts are often named following a" +" ``YYYY-MM-DD-SLUG.rst`` pattern, or nested into ``YYYY/MM/DD-SLUG`` " +"directories. To extract metadata from the filename or path, set " +"``FILENAME_METADATA`` or ``PATH_METADATA`` to regular expressions that " +"use Python's `group name notation`_ ``(?P…)``. If you want to " +"attach additional metadata but don't want to encode it in the path, you " +"can set ``EXTRA_PATH_METADATA``:" +msgstr "" +"不是所有元数据都需要直接 :ref:`embedded in source file itself ` " +"。例如,博文可能是以 ``YYYY-MM-DD-SLUG.rst`` 的形式命名的,或者是直接放在 ``YYYY/MM/DD-SLUG`` " +"文件夹中。要从文件名或路径中提取元数据,设置 ``FILENAME_METADATA`` 或 ``PATH_METADATA`` " +"即可,需使用Python风格的 `命名组表示法`_ ``(?P…)`` " +"。当你需要为帖子附加一下额外的元数据,但不想将其编码在文件路径中时,就可以在 ``EXTRA_PATH_METADATA`` 中设置:" + +#: ../../settings.rst:869 +msgid "" +"This can be a convenient way to shift the installed location of a " +"particular file:" +msgstr "通过这个设置项,很方便就可以转移特定文件的位置:" + +#: ../../settings.rst:889 +msgid "Feed settings" +msgstr "Feed设置" + +#: ../../settings.rst:891 +msgid "" +"By default, Pelican uses Atom feeds. However, it is also possible to use " +"RSS feeds if you prefer." +msgstr "默认情况下,Pelican会使用Atom Feed。但如果你愿意的话,也可以使用RSS。" + +#: ../../settings.rst:894 +msgid "" +"Pelican generates category feeds as well as feeds for all your articles. " +"It does not generate feeds for tags by default, but it is possible to do " +"so using the ``TAG_FEED_ATOM`` and ``TAG_FEED_RSS`` settings:" +msgstr "" +"Pelican会生成分类的feed,也会为所有文章生成,但默认并不会为标签生成feed,要生成标签feed,可以使用 " +"``TAG_FEED_ATOM`` 和 ``TAG_FEED_RSS`` 设置:" + +#: ../../settings.rst:900 +msgid "" +"The domain prepended to feed URLs. Since feed URLs should always be " +"absolute, it is highly recommended to define this (e.g., " +"\"https://feeds.example.com\"). If you have already explicitly defined " +"SITEURL (see above) and want to use the same domain for your feeds, you " +"can just set: ``FEED_DOMAIN = SITEURL``." +msgstr "" +"指定要添加到feed URL前面的域名。因为feed URL最好是绝对的,所以强烈推荐定义此设置项(例如 " +"“https://feeds.example.com”)。若SITEURL已经显式地定义了,并且希望使用相同地URL,就可以直接设置 " +"``FEED_DOMAIN = SITEURL`` 。" + +#: ../../settings.rst:908 +msgid "The location to save the Atom feed." +msgstr "指定保存Atom feed的位置。" + +#: ../../settings.rst:912 +msgid "" +"Relative URL of the Atom feed. If not set, ``FEED_ATOM`` is used both for" +" save location and URL." +msgstr "Atom feed的相对URL。如果未设置此项,会将 ``FEED_ATOM`` 同时用于存储位置和URL。" + +#: ../../settings.rst:917 +msgid "The location to save the RSS feed." +msgstr "指定保存RSS feed的位置。" + +#: ../../settings.rst:921 +msgid "" +"Relative URL of the RSS feed. If not set, ``FEED_RSS`` is used both for " +"save location and URL." +msgstr "RSS feed的相对URL。如果未设置此项,会将 ``FEED_RSS`` 同时用于存储位置和URL。" + +#: ../../settings.rst:926 +msgid "" +"The location to save the all-posts Atom feed: this feed will contain all " +"posts regardless of their language." +msgstr "存储“所有帖子”Atom feed的文件位置:无论什么语言的帖子都会在其中。" + +#: ../../settings.rst:931 +msgid "" +"Relative URL of the all-posts Atom feed. If not set, ``FEED_ALL_ATOM`` is" +" used both for save location and URL." +msgstr "“所有帖子”Atom feed的相对URL。如果未设置此项,会将 ``FEED_ALL_ATOM`` 同时用于存储位置和URL。" + +#: ../../settings.rst:936 +msgid "" +"The location to save the the all-posts RSS feed: this feed will contain " +"all posts regardless of their language." +msgstr "存储“所有帖子”RSS feed的文件位置:无论什么语言的帖子都会在其中。" + +#: ../../settings.rst:941 +msgid "" +"Relative URL of the all-posts RSS feed. If not set, ``FEED_ALL_RSS`` is " +"used both for save location and URL." +msgstr "“所有帖子”Atom feed的相对URL。如果未设置此项,会将 ``FEED_ALL_RSS`` 同时用于存储位置和URL。" + +#: ../../settings.rst:946 +msgid "The location to save the category Atom feeds. [2]_" +msgstr "存储分类Atom feeds的位置。 [2]_" + +#: ../../settings.rst:950 +msgid "" +"Relative URL of the category Atom feeds, including the ``{slug}`` " +"placeholder. [2]_ If not set, ``CATEGORY_FEED_ATOM`` is used both for " +"save location and URL." +msgstr "" +"分类Atom feed的含有 ``{slug}`` 的相对URL。 [2]_ 如果未设置, 会将 ``CATEGORY_FEED_ATOM`` " +"同时用于存储位置和URL。" + +#: ../../settings.rst:956 +msgid "" +"The location to save the category RSS feeds, including the ``{slug}`` " +"placeholder. [2]_" +msgstr "分类RSS feeds的含有 ``{slug}`` 的存储位置,包括 ``{slug}`` 。 [2]_" + +#: ../../settings.rst:961 +msgid "" +"Relative URL of the category RSS feeds, including the ``{slug}`` " +"placeholder. [2]_ If not set, ``CATEGORY_FEED_RSS`` is used both for save" +" location and URL." +msgstr "" +"分类Atom feed的含有 ``{slug}`` 的相对URL。 [2]_ 如果未设置, 会将 ``CATEGORY_FEED_RSS`` " +"同时用于存储位置和URL。" + +#: ../../settings.rst:967 +msgid "The location to save the author Atom feeds. [2]_" +msgstr "存储作者Atom feeds的位置。 [2]_" + +#: ../../settings.rst:971 +msgid "" +"Relative URL of the author Atom feeds, including the ``{slug}`` " +"placeholder. [2]_ If not set, ``AUTHOR_FEED_ATOM`` is used both for save " +"location and URL." +msgstr "" +"作者Atom feed的含有 ``{slug}`` 的相对URL。 [2]_ 如果未设置, 会将 ``AUTHOR_FEED_ATOM`` " +"同时用于存储位置和URL。" + +#: ../../settings.rst:977 +msgid "The location to save the author RSS feeds. [2]_" +msgstr "存储作者RSS feeds的位置。 [2]_" + +#: ../../settings.rst:981 +msgid "" +"Relative URL of the author RSS feeds, including the ``{slug}`` " +"placeholder. [2]_ If not set, ``AUTHOR_FEED_RSS`` is used both for save " +"location and URL." +msgstr "" +"作者RSS feed的含有 ``{slug}`` 的相对URL。 [2]_ 如果未设置, 会将 ``AUTHOR_FEED_RSS`` " +"同时用于存储位置和URL。" + +#: ../../settings.rst:986 +msgid "" +"The location to save the tag Atom feed, including the ``{slug}`` " +"placeholder. [2]_" +msgstr "存储标签Atom feeds的含有 ``{slug}`` 的位置。 [2]_" + +#: ../../settings.rst:991 +msgid "" +"Relative URL of the tag Atom feed, including the ``{slug}`` placeholder. " +"[2]_" +msgstr "标签Atom feed的含有 ``{slug}`` 的相对URL。 [2]_" + +#: ../../settings.rst:996 +msgid "" +"Relative URL to output the tag RSS feed, including the ``{slug}`` " +"placeholder. If not set, ``TAG_FEED_RSS`` is used both for save location " +"and URL." +msgstr "标签RSS feed的含有 ``{slug}`` 的相对URL。如果未设置, 会将 ``TAG_FEED_RSS`` 同时用于存储位置和URL。" + +#: ../../settings.rst:1002 +msgid "" +"Maximum number of items allowed in a feed. Setting to ``None`` will cause" +" the feed to contains every article. 100 if not specified." +msgstr "" + +#: ../../settings.rst:1007 +msgid "" +"Only include item summaries in the ``description`` tag of RSS feeds. If " +"set to ``False``, the full content will be included instead. This setting" +" doesn't affect Atom feeds, only RSS ones." +msgstr "" +"仅在RSS feed的 ``description`` 标签中包含项目摘要。若设为 ``False`` " +",则将包含完整内容。此项设置不会影响Atom feed,只针对RSS feed。" + +#: ../../settings.rst:1013 +msgid "" +"If set to ``True``, ``?ref=feed`` will be appended to links in generated " +"feeds for the purpose of referrer tracking." +msgstr "" + +#: ../../settings.rst:1016 +msgid "" +"If you don't want to generate some or any of these feeds, set the above " +"variables to ``None``." +msgstr "若你不想要生成某些feed,将对应变量设为 ``None`` 即可。" + +#: ../../settings.rst:1019 +msgid "``{slug}`` is replaced by name of the category / author / tag." +msgstr "``{slug}`` 会用分类名/作者名/标签名来替换。" + +#: ../../settings.rst:1023 +msgid "Pagination" +msgstr "分页" + +#: ../../settings.rst:1025 +msgid "" +"The default behaviour of Pelican is to list all the article titles along " +"with a short description on the index page. While this works well for " +"small-to-medium sites, sites with a large quantity of articles will " +"probably benefit from paginating this list." +msgstr "默认情况下,Pelican会把所有文章以简短描述的形式展示在首页上。虽然这对中小型网站效果不错,但对于拥有大量文章的网站来说可能需要将此列表进行分页。" + +#: ../../settings.rst:1030 +msgid "You can use the following settings to configure the pagination." +msgstr "你可以使用下面的设置来配置分页。" + +#: ../../settings.rst:1034 +msgid "" +"The minimum number of articles allowed on the last page. Use this when " +"you don't want the last page to only contain a handful of articles." +msgstr "最后一页允许的最小文章数。当不希望最后一页仅包含少数文章时,请使用此选项。(译者注:当最后一页达不到此最小文章数时,会被合并到前一页)" + +#: ../../settings.rst:1039 +msgid "" +"The maximum number of articles to include on a page, not including " +"orphans. False to disable pagination." +msgstr "一个页面上包含的最大文章数,不包括孤立文章(译者注:当发生上一条设置选项中说到的合并时,最后一页显然会超过此最大文章数)。设为False会禁用分页。" + +#: ../../settings.rst:1044 +msgid "" +"The templates to use pagination with, and the number of articles to " +"include on a page. If this value is ``None``, it defaults to " +"``DEFAULT_PAGINATION``." +msgstr "指定哪些模板需要启用分页,以及对应的单页面文章数量。若设为 ``None`` ,则默认值为 ``DEFAULT_PAGINATION`` 。" + +#: ../../settings.rst:1052 +msgid "A set of patterns that are used to determine advanced pagination output." +msgstr "一组模式,用于确定高级分页输出。" + +#: ../../settings.rst:1056 +msgid "Using Pagination Patterns" +msgstr "使用分页模式" + +#: ../../settings.rst:1058 +msgid "" +"By default, pages subsequent to ``.../foo.html`` are created as " +"``.../foo2.html``, etc. The ``PAGINATION_PATTERNS`` setting can be used " +"to change this. It takes a sequence of triples, where each triple " +"consists of::" +msgstr "" +"默认情况下,连续的页面会如此编码URL:第一页为 ``.../foo.html`` ,后一页为 ``.../foo2.html`` " +"。``PAGINATION_PATTERNS`` 就是用于修改这个编页规则的,其中是一些三元组:" + +#: ../../settings.rst:1064 +msgid "" +"For ``page_url`` and ``page_save_as``, you may use a number of variables." +" ``{url}`` and ``{save_as}`` correspond respectively to the ``*_URL`` and" +" ``*_SAVE_AS`` values of the corresponding page type (e.g. " +"``ARTICLE_SAVE_AS``). If ``{save_as} == foo/bar.html``, then ``{name} == " +"foo/bar`` and ``{extension} == .html``. ``{base_name}`` equals ``{name}``" +" except that it strips trailing ``/index`` if present. ``{number}`` " +"equals the page number." +msgstr "" +"在 ``page_url`` 和 ``page_save_as`` 中,你可以使用很多变量。对于不同的页面类型,``{url}`` 和 " +"``{save_as}`` 对应于其 ``*_URL`` 和 ``*_SAVE_AS`` 设置项的计算值(例如 " +"``ARTICLE_SAVE_AS`` )。假设 ``{save_as} == foo/bar.html`` ,那么此时 ``{name} == " +"foo/bar`` 、``{extension} == .html`` 。另外, ``{base_name}`` 和 ``{name}`` " +"相同,只不过会截去末尾的 ``/index`` (如果有的话)。 ``{number}`` 则等于页码。(译者注: " +"``minimum_page`` 意味到达该页面数后开始使用此条规则)" + +#: ../../settings.rst:1071 +msgid "" +"For example, if you want to leave the first page unchanged, but place " +"subsequent pages at ``.../page/2/`` etc, you could set " +"``PAGINATION_PATTERNS`` as follows::" +msgstr "" +"举个例子,如果你想要保持第一面保持不变,但后续页面都以 ``.../page/2/`` 的形式出现,你可以如此设置 " +"``PAGINATION_PATTERNS`` :" + +#: ../../settings.rst:1081 +msgid "" +"If you want a pattern to apply to the last page in the list, use ``-1`` " +"as the ``minimum_page`` value::" +msgstr "如果你想指定最后一面制定规则,将 ``minimum_page`` 的值设为 ``-1`` 即可:" + +#: ../../settings.rst:1087 +msgid "Translations" +msgstr "翻译" + +#: ../../settings.rst:1089 +msgid "" +"Pelican offers a way to translate articles. See the :doc:`Content " +"` section for more information." +msgstr "Pelican为文章翻译提供了展示方法。详见 :doc:`Content ` 。" + +#: ../../settings.rst:1094 +msgid "The default language to use." +msgstr "指定默认语言。" + +#: ../../settings.rst:1098 +msgid "" +"The metadata attribute(s) used to identify which articles are " +"translations of one another. May be a string or a collection of strings. " +"Set to ``None`` or ``False`` to disable the identification of " +"translations." +msgstr "指定用于标识不同翻译是同一篇文章的元数据。可以是一个或多个字符串。要禁用对文章翻译的识别,将此项设为 ``None`` 或 ``False`` 。" + +#: ../../settings.rst:1104 +msgid "" +"The metadata attribute(s) used to identify which pages are translations " +"of one another. May be a string or a collection of strings. Set to " +"``None`` or ``False`` to disable the identification of translations." +msgstr "指定用于标识不同翻译是同一个页面的元数据。可以是一个或多个字符串。要禁用对页面翻译的识别,将此项设为 ``None`` 或 ``False`` 。" + +#: ../../settings.rst:1110 +msgid "The location to save the Atom feed for translations. [3]_" +msgstr "指定各翻译Atom feed的存储位置。 [3]_" + +#: ../../settings.rst:1114 +msgid "" +"Relative URL of the Atom feed for translations, including the ``{lang}`` " +"placeholder. [3]_ If not set, ``TRANSLATION_FEED_ATOM`` is used both for " +"save location and URL." +msgstr "" +"指定各翻译Atom feed的含有 ``{lang}`` 的相对URL。 [3]_ " +"若未设置此项,``TRANSLATION_FEED_ATOM`` 会同时用于存储位置和URL。" + +#: ../../settings.rst:1120 +msgid "Where to put the RSS feed for translations." +msgstr "指定各翻译RSS feed的存储位置。" + +#: ../../settings.rst:1124 +msgid "" +"Relative URL of the RSS feed for translations, including the ``{lang}`` " +"placeholder. [3]_ If not set, ``TRANSLATION_FEED_RSS`` is used both for " +"save location and URL." +msgstr "" +"文章或页面不同翻译在RSS订阅源中的相对路径,其中含有 ``{lang}``。 [3]_ " +"若未设置此项,``TRANSLATION_FEED_ATOM`` 会同时用于存储位置和URL。" + +#: ../../settings.rst:1128 +msgid "{lang} is the language code" +msgstr "{lang} 是语言代码" + +#: ../../settings.rst:1132 +msgid "Ordering content" +msgstr "内容的排列顺序" + +#: ../../settings.rst:1136 +msgid "" +"Order archives by newest first by date. (False: orders by date with older" +" articles first.)" +msgstr "若设为True,日期较新的会排在前面;若设为False,则日期较旧的会排在前面。" + +#: ../../settings.rst:1141 +msgid "" +"Reverse the category order. (True: lists by reverse alphabetical order; " +"default lists alphabetically.)" +msgstr "若设为True,分类会按字典序逆序排列;若设为False,则按字典序顺序排列。" + +#: ../../settings.rst:1146 +msgid "" +"Defines how the articles (``articles_page.object_list`` in the template) " +"are sorted. Valid options are: metadata as a string (use ``reversed-`` " +"prefix to reverse the sort order), special option ``'basename'`` which " +"will use the basename of the file (without path), or a custom function to" +" extract the sorting key from articles. Using a value of ``'date'`` will " +"sort articles in chronological order, while the default value, " +"``'reversed-date'``, will sort articles by date in reverse order (i.e., " +"newest article comes first)." +msgstr "" +"定义文章(模板中的 ``articles_page.object_list`` " +")的排序方式。有效选项包括:字符串形式的元数据(使用前缀reverse-来指定逆序)、特殊选项 ``'basename'`` " +"(不带路径的文件名)、或是一个可以从文章中提取排序键的自定义函数。例如,将选项值设为 ``'date'`` " +",文章就会以时间顺序排列文章,但默认值事实上是``'reversed-date'`` ,会以日期逆序排列,即新文章在前。" + +#: ../../settings.rst:1156 +msgid "" +"Defines how the pages (``pages`` variable in the template) are sorted. " +"Options are same as ``ARTICLE_ORDER_BY``. The default value, " +"``'basename'`` will sort pages by their basename." +msgstr "" +"定义页面(模板中的 ``pages`` 变量)的排序顺序。有效选项和 ``ARTICLE_ORDER_BY`` 中的相同。默认值为 " +"``basename``。" + +#: ../../settings.rst:1164 +msgid "Themes" +msgstr "主题" + +#: ../../settings.rst:1166 +msgid "" +"Creating Pelican themes is addressed in a dedicated section (see :ref" +":`theming-pelican`). However, here are the settings that are related to " +"themes." +msgstr "创建Pelican主题在单独的一节中讲解(参见 :ref:`theming-pelican` )。此处讲解和主题有关的设置项。" + +#: ../../settings.rst:1172 +msgid "" +"Theme to use to produce the output. Can be a relative or absolute path to" +" a theme folder, or the name of a default theme or a theme installed via " +":doc:`pelican-themes` (see below)." +msgstr "" +"用于产生输出的主题。可以是到达要使用主题的文件夹的相对或绝对路径,或是主题的名称(默认主题或通过 :doc:`pelican-themes` " +"安装的主题)。" + +#: ../../settings.rst:1178 +msgid "" +"Destination directory in the output path where Pelican will place the " +"files collected from `THEME_STATIC_PATHS`. Default is `theme`." +msgstr "" +"Pelican从 `THEME_STATIC_PATHS` 中发现主题要使用的静态文件,此设置项指定这些静态文件在输出路径中的目录。默认值为 " +"`theme` 。" + +#: ../../settings.rst:1183 +msgid "" +"Static theme paths you want to copy. Default value is `static`, but if " +"your theme has other static paths, you can put them here. If files or " +"directories with the same names are included in the paths defined in this" +" settings, they will be progressively overwritten." +msgstr "" +"要复制的静态主题路径。默认值为 `static` " +",但如果你的主题有其他静态路径,也可以将其放在此处。此项设置中若包含了相同名称的文件或目录,前面的会被后面的覆盖。" + +#: ../../settings.rst:1190 +msgid "" +"A list of paths you want Jinja2 to search for templates before searching " +"the theme's ``templates/`` directory. Allows for overriding individual " +"theme template files without having to fork an existing theme. Jinja2 " +"searches in the following order: files in ``THEME_TEMPLATES_OVERRIDES`` " +"first, then the theme's ``templates/``." +msgstr "" +"在搜索主题的 ``templates/`` " +"目录前,Jinja2会先搜索此设置项中的路径。可以使用此设置项覆盖主题中的某些模板文件,以避免修改现有主题。" + +#: ../../settings.rst:1196 +#, python-format +msgid "" +"You can also extend templates from the theme using the ``{% extends %}`` " +"directive utilizing the ``!theme`` prefix as shown in the following " +"example:" +msgstr "利用 ``{% extends %}`` 指令中的 ``!theme`` 前缀也可以用于从主题扩展模板,如下例所示:" + +#: ../../settings.rst:1205 +msgid "Specify the CSS file you want to load." +msgstr "指定需要加载的CSS文件。" + +#: ../../settings.rst:1207 +msgid "" +"By default, two themes are available. You can specify them using the " +"``THEME`` setting or by passing the ``-t`` option to the ``pelican`` " +"command:" +msgstr "默认情况下,有两个主题可供选择。可以使用 ``THEME`` 选项指定,或是在 ``pelican`` 命令中使用 ``-t`` 选项的参数传入。" + +#: ../../settings.rst:1210 +msgid "notmyidea" +msgstr "notmyidea(默认值)" + +#: ../../settings.rst:1211 +msgid "simple (a synonym for \"plain text\" :)" +msgstr "simple(即“plain text”)" + +#: ../../settings.rst:1213 +msgid "" +"There are a number of other themes available at " +"https://github.com/getpelican/pelican-themes. Pelican comes with :doc" +":`pelican-themes`, a small script for managing themes." +msgstr "" +"还有很多主题可以在 https://github.com/getpelican/pelican-themes 上下载。Pelican使用一个称为 " +":doc:`pelican-themes` 的小脚本来管理主题。" + +#: ../../settings.rst:1217 +msgid "" +"You can define your own theme, either by starting from scratch or by " +"duplicating and modifying a pre-existing theme. Here is :doc:`a guide on " +"how to create your theme `." +msgstr "" +"你还可以创建自己的主题,可以从头开始,也可以在已有主题的基础上修改。请参看 :doc:`a guide on how to create your" +" theme ` 。" + +#: ../../settings.rst:1221 +msgid "Following are example ways to specify your preferred theme::" +msgstr "下面是几个指定某个主题的例子:" + +#: ../../settings.rst:1232 +msgid "" +"The built-in ``simple`` theme can be customized using the following " +"settings." +msgstr "内置的 ``simple`` 主题可以使用以下设置项进行自定义。" + +#: ../../settings.rst:1236 +msgid "The URL of the stylesheet to use." +msgstr "" + +#: ../../settings.rst:1238 +msgid "" +"The built-in ``notmyidea`` theme can make good use of the following " +"settings. Feel free to use them in your themes as well." +msgstr "下面的一下选项可以很好地作用于内置的 ``notmyidea`` 主题。当然在其他主题中你也可以尽情尝试这些选项。" + +#: ../../settings.rst:1243 +msgid "A subtitle to appear in the header." +msgstr "页面顶部要显示的副标题。" + +#: ../../settings.rst:1247 +msgid "" +"Pelican can handle Disqus comments. Specify the Disqus sitename " +"identifier here." +msgstr "Pelican中可以使用Disqus的评论系统,此设置项用于设置Disqus的站点标识符。" + +#: ../../settings.rst:1252 +msgid "" +"Your GitHub URL (if you have one). It will then use this information to " +"create a GitHub ribbon." +msgstr "指定你的GitHub URL(如果有的话),此信息将被用于创建GitHub功能区。" + +#: ../../settings.rst:1257 +msgid "" +"Put any desired analytics scripts in this setting in ``publishconf.py``. " +"Example:" +msgstr "在 ``publishconf.py`` 中设置此项,用于指定想要使用的统计分析脚本。如下例:" + +#: ../../settings.rst:1271 +msgid "" +"A list of tuples (Title, URL) for additional menu items to appear at the " +"beginning of the main menu." +msgstr "元组 (标题, URL) 的列表,用于指定额外的菜单项,会添加在菜单栏的开头。" + +#: ../../settings.rst:1276 +msgid "A list of tuples (Title, URL) for links to appear on the header." +msgstr "元组 (标题, URL) 的列表,用于指定要展示在网页开头的链接。" + +#: ../../settings.rst:1280 +msgid "A list of tuples (Title, URL) to appear in the \"social\" section." +msgstr "元组 (标题, URL) 的列表,用于指定要展示在“social”部分的内容。" + +#: ../../settings.rst:1284 +msgid "" +"Allows for adding a button to articles to encourage others to tweet about" +" them. Add your Twitter username if you want this button to appear." +msgstr "允许在文章中添加按钮,以鼓励其他人发布有关它们的推文。如果希望显示此按钮,在此项中设置你的Twitter用户名。" + +#: ../../settings.rst:1289 +msgid "" +"Allows override of the name of the links widget. If not specified, " +"defaults to \"links\"." +msgstr "指定用于覆盖“links”部分的名称。默认值为“links”" + +#: ../../settings.rst:1294 +msgid "" +"Allows override of the name of the \"social\" widget. If not specified, " +"defaults to \"social\"." +msgstr "指定用于覆盖“social”部分的名称。默认值为“social”" + +#: ../../settings.rst:1297 +msgid "" +"In addition, you can use the \"wide\" version of the ``notmyidea`` theme " +"by adding the following to your configuration::" +msgstr "另外,你可以使用 ``notmyidea`` 主题的“宽屏”版本,在配置文件中添加下面这行配置即可:" + +#: ../../settings.rst:1304 +msgid "Logging" +msgstr "日志" + +#: ../../settings.rst:1306 +msgid "" +"Sometimes, a long list of warnings may appear during site generation. " +"Finding the **meaningful** error message in the middle of tons of " +"annoying log output can be quite tricky. In order to filter out redundant" +" log messages, Pelican comes with the ``LOG_FILTER`` setting." +msgstr "" +"在站点生成过程中有时可能会出现一堆警告信息。在这一大堆日志输出中寻找 **有意义** " +"的错误消息是非常棘手的。为了过滤掉多余的日志消息,可以在Pelican中指定 ``LOG_FILTER`` 设置。" + +#: ../../settings.rst:1311 +msgid "" +"``LOG_FILTER`` should be a list of tuples ``(level, msg)``, each of them " +"being composed of the logging level (up to ``warning``) and the message " +"to be ignored. Simply populate the list with the log messages you want to" +" hide, and they will be filtered out." +msgstr "" +"``LOG_FILTER`` 是元组 ``(level, msg)`` ,level指定日志记录等级(最高为 ``warning`` " +"),msg指定要忽略的消息。将想要隐藏的日志消息添加到此列表中就可以将他们过滤掉。" + +#: ../../settings.rst:1316 ../../settings.rst:1324 +msgid "For example::" +msgstr "例如:" + +#: ../../settings.rst:1321 +msgid "" +"It is possible to filter out messages by a template. Check out source " +"code to obtain a template." +msgstr "用模板字符串指定要过滤的消息也是可以的。具体的消息种类请查看源码。" + +#: ../../settings.rst:1331 +msgid "" +"Silencing messages by templates is a dangerous feature. It is possible to" +" unintentionally filter out multiple message types with the same template" +" (including messages from future Pelican versions). Proceed with caution." +msgstr "通过模板过滤忽略消息是一个危险的功能。 使用同一模板可能会无意中过滤掉多种消息类型(包括来自新版本Pelican的消息),请谨慎行事。" + +#: ../../settings.rst:1337 +msgid "This option does nothing if ``--debug`` is passed." +msgstr "当使用了 ``--debug`` 参数,此项设置就不会起作用。" + +#: ../../settings.rst:1343 +msgid "Reading only modified content" +msgstr "只读取修改过的内容" + +#: ../../settings.rst:1345 +msgid "" +"To speed up the build process, Pelican can optionally read only articles " +"and pages with modified content." +msgstr "为了加速网站构建过程,Pelican能够只读取修改过内容的文章和页面。" + +#: ../../settings.rst:1348 +msgid "When Pelican is about to read some content source file:" +msgstr "当Pelican准备读取内容源文件时,会执行下面的规则:" + +#: ../../settings.rst:1350 +msgid "" +"The hash or modification time information for the file from a previous " +"build are loaded from a cache file if ``LOAD_CONTENT_CACHE`` is ``True``." +" These files are stored in the ``CACHE_PATH`` directory. If the file has" +" no record in the cache file, it is read as usual." +msgstr "" +"若 ``LOAD_CONTENT_CACHE`` 为 ``True`` " +",则从缓存文件中加载上一次构建时文件的哈希值或修改时间。这些缓存的文件存储在 ``CACHE_PATH`` " +"所指定的目录中。若文件是新的,在缓存文件中没有记录,则照常读取。" + +#: ../../settings.rst:1354 +msgid "The file is checked according to ``CHECK_MODIFIED_METHOD``:" +msgstr "文件会以 ``CHECK_MODIFIED_METHOD`` 设置的方式检查:" + +#: ../../settings.rst:1360 +msgid "" +"If set to anything else or the necessary information about the file " +"cannot be found in the cache file, the content is read as usual." +msgstr "如果设置为其他任何值或在缓存文件中无法找到有关该文件的必要信息,则将照常读取内容。" + +#: ../../settings.rst:1363 +msgid "" +"If the file is considered unchanged, the content data saved in a previous" +" build corresponding to the file is loaded from the cache, and the file " +"is not read." +msgstr "如果Pelican认为文件没有更改过,会直接从上一次构建的对应文件中加载内容,源文件就不会被读取。" + +#: ../../settings.rst:1366 +msgid "" +"If the file is considered changed, the file is read and the new " +"modification information and the content data are saved to the cache if " +"``CACHE_CONTENT`` is ``True``." +msgstr "" +"若Pelican认为文件更改过了,则会读取源文件;若 ``CACHE_CONTENT`` 设为了 ``True`` " +",Pelican还会将修改后的信息以及内容数据存入缓存。" + +#: ../../settings.rst:1370 +msgid "" +"If ``CONTENT_CACHING_LAYER`` is set to ``'reader'`` (the default), the " +"raw content and metadata returned by a reader are cached. If this setting" +" is instead set to ``'generator'``, the processed content object is " +"cached. Caching the processed content object may conflict with plugins " +"(as some reading related signals may be skipped) and the " +"``WITH_FUTURE_DATES`` functionality (as the ``draft`` status of the " +"cached content objects would not change automatically over time)." +msgstr "" +"若 ``CONTENT_CACHING_LAYER`` 设为了 ``'reader'`` (默认值),则缓存reader返回的原始内容和元数据;若" +" ``CONTENT_CACHING_LAYER`` 设为了 ``'generator'`` " +",则缓存处理过后的内容对象。缓存已处理的内容对象可能会和插件(因为可能会跳过一些与读取相关的信号)与 ``WITH_FUTURE_DATES`` " +"的功能(因为已处理内容对象的 ``draft`` 状态不会改变)冲突" + +#: ../../settings.rst:1378 +msgid "" +"Checking modification times is faster than comparing file hashes, but it " +"is not as reliable because ``mtime`` information can be lost, e.g., when " +"copying content source files using the ``cp`` or ``rsync`` commands " +"without the ``mtime`` preservation mode (which for ``rsync`` can be " +"invoked by passing the ``--archive`` flag)." +msgstr "" +"检查文件修改时间比计算文件哈希更快,但事实上却不太可靠,因为 ``mtime`` 信息有丢失的可能。例如,使用 ``cp`` 或 " +"``rsync`` 命令时没有开启 ``mtime`` 保留模式。(rsync可以通过指定 ``--archive`` 标志启用 " +"``mtime`` 保留模式。" + +#: ../../settings.rst:1384 +msgid "" +"The cache files are Python pickles, so they may not be readable by " +"different versions of Python as the pickle format often changes. If such " +"an error is encountered, it is caught and the cache file is rebuilt " +"automatically in the new format. The cache files will also be rebuilt " +"after the ``GZIP_CACHE`` setting has been changed." +msgstr "" +"缓存文件使用的是Python " +"pickles,因此不同版本的Python由于pickle文件格式变化可能无法读取缓存。如果遇到此类错误,会自动以新格式重新构建缓存。另外,当 " +"``GZIP_CACHE`` 设置发生变化后,缓存也会自动重建。" + +#: ../../settings.rst:1390 +msgid "" +"The ``--ignore-cache`` command-line option is useful when the whole cache" +" needs to be regenerated, such as when making modifications to the " +"settings file that will affect the cached content, or just for debugging " +"purposes. When Pelican runs in autoreload mode, modification of the " +"settings file will make it ignore the cache automatically if " +"``AUTORELOAD_IGNORE_CACHE`` is ``True``." +msgstr "" +"当需要重新生成整个缓存时,可以使用 ``--ignore-cache`` " +"命令行选项,例如当需要修改会影响缓存内容的设置项时,或是调试时,都可以使用 ``--ignore-cache`` 。若 " +"``AUTORELOAD_IGNORE_CACHE`` 设为了 ``True`` ,修改设置文件时会自动忽略缓存。" + +#: ../../settings.rst:1396 +msgid "" +"Note that even when using cached content, all output is always written, " +"so the modification times of the generated ``*.html`` files will always " +"change. Therefore, ``rsync``-based uploading may benefit from the " +"``--checksum`` option." +msgstr "" +"需要注意的是,即使使用了缓存的内容,最终的输出文件也始终会进行重新写入,因此生成的 ``*.html`` 文件的修改时间始终会变化。所以,基于 " +"``rsync`` 进行上传时,可以考虑使用 ``--checksum`` 选项。" + +#: ../../settings.rst:1403 +msgid "Example settings" +msgstr "配置示例" + +#~ msgid "" +#~ "Set to ``UA-XXXXX-Y`` Property's " +#~ "tracking ID to activate Google " +#~ "Analytics." +#~ msgstr "" + +#~ msgid "" +#~ "Set cookie domain field of Google " +#~ "Analytics tracking code. Defaults to " +#~ "``auto``." +#~ msgstr "" + +#~ msgid "Set to 'XXX-YYYYYY-X' to activate GoSquared." +#~ msgstr "" + +#~ msgid "" +#~ "If this list is not empty, " +#~ "**only** output files with their paths" +#~ " in this list are written. Paths " +#~ "should be either absolute or relative" +#~ " to the current Pelican working " +#~ "directory. For possible use cases see" +#~ " :ref:`writing_only_selected_content`." +#~ msgstr "" +#~ "若此列表不为空,则 **只会** " +#~ "输出路径在此列表中的文件。路径可以是绝对的也可以是相对于Pelican当前工作路径的。有关可能使用到的情况,请参见 " +#~ ":ref:`writing_only_selected_content` 。" + +#~ msgid "" +#~ "The URL to use for per-year " +#~ "archives of your posts. Used only " +#~ "if you have the ``{url}`` placeholder" +#~ " in ``PAGINATION_PATTERNS``." +#~ msgstr "帖子年归档的URL。只有在 ``PAGINATION_PATTERNS`` 中使用 ``{url}`` 时才生效。" + +#~ msgid "" +#~ "The URL to use for per-day " +#~ "archives of your posts. Used only " +#~ "if you have the ``{url}`` placeholder" +#~ " in ``PAGINATION_PATTERNS``." +#~ msgstr "帖子日归档的URL。只有在 ``PAGINATION_PATTERNS`` 中使用 ``{url}`` 时才生效。" + +#~ msgid "" +#~ "Maximum number of items allowed in " +#~ "a feed. Feed item quantity is " +#~ "unrestricted by default." +#~ msgstr "feed中允许的最大项目数量。默认情况下,不限数量" + +#~ msgid "" +#~ "Relative URL of the RSS feed for" +#~ " translations, including the ``{lang}`` " +#~ "placeholder. [3]_ If not set, " +#~ "``TRANSLATION_FEED_RSS`` is used both for" +#~ " \n" +#~ msgstr "" +#~ "指定各翻译RSS feed的含有 ``{lang}`` 的相对URL。 [3]_ " +#~ "若未设置此项,``TRANSLATION_FEED_RSS`` 会同时用于存储位置和URL。" + +#~ msgid "Writing only selected content" +#~ msgstr "只写入选定的内容" + +#~ msgid "" +#~ "When only working on a single " +#~ "article or page, or making tweaks " +#~ "to your theme, it is often " +#~ "desirable to generate and review your" +#~ " work as quickly as possible. In " +#~ "such cases, generating and writing the" +#~ " entire site output is often " +#~ "unnecessary. By specifying only the " +#~ "desired files as output paths in " +#~ "the ``WRITE_SELECTED`` list, **only** those" +#~ " files will be written. This list " +#~ "can be also specified on the " +#~ "command line using the ``--write-" +#~ "selected`` option, which accepts a " +#~ "comma-separated list of output file " +#~ "paths. By default this list is " +#~ "empty, so all output is written. " +#~ "See :ref:`site_generation` for more details." +#~ msgstr "" +#~ "当在处理某一篇文章或页面时,或在对主题进行调整时,会希望快速生成内容以便查看。在这种情况下,通常不需要生成和写入整个站点。此时,在 " +#~ "``WRITE_SELECTED`` 列表中指定需要重写的输出文件路径,或是使用 ``--write-" +#~ "selected`` 命令行选项指定一个或多个输出文件路径(用逗号分隔)即可。此列表默认为空,即写入所有输出。详见 " +#~ ":ref:`site_generation` 。" diff --git a/docs/locales/zh_CN/LC_MESSAGES/sphinx.mo b/docs/locales/zh_CN/LC_MESSAGES/sphinx.mo new file mode 100644 index 00000000..53295db1 Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/sphinx.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/sphinx.po b/docs/locales/zh_CN/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..0183cf24 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/sphinx.po @@ -0,0 +1,60 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-04-29 21:43+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.12.1\n" + +#: ../../_templates/page.html:68 +msgid "Back to top" +msgstr "返回顶部" + +#: ../../_templates/page.html:101 +msgid "Next" +msgstr "下一节" + +#: ../../_templates/page.html:113 +msgid "Previous" +msgstr "前一节" + +#: ../../_templates/page.html:116 +msgid "Home" +msgstr "首页" + +#: ../../_templates/page.html:129 +#, python-format +msgid "Copyright © %(copyright)s" +msgstr "Copyright © %(copyright)s" + +#: ../../_templates/page.html:133 +#, python-format +msgid "" +"Copyright © %(copyright)s, Justin Mayer, Alexis Metaireau, and " +"contributors" +msgstr "" +"Copyright © %(copyright)s, Justin Mayer, Alexis Metaireau, and " +"contributors" + +#: ../../_templates/page.html:141 +#, python-format +msgid "Last updated on %(last_updated)s" +msgstr "最后更新于 %(last_updated)s" + +#: ../../_templates/page.html:187 +msgid "On this page" +msgstr "本页目录" diff --git a/docs/locales/zh_CN/LC_MESSAGES/themes.mo b/docs/locales/zh_CN/LC_MESSAGES/themes.mo new file mode 100644 index 00000000..a0ab9f4d Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/themes.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/themes.po b/docs/locales/zh_CN/LC_MESSAGES/themes.po new file mode 100644 index 00000000..1b3954a1 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/themes.po @@ -0,0 +1,1104 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../themes.rst:4 +msgid "Themes" +msgstr "主题" + +#: ../../themes.rst:6 +msgid "" +"There is a community-managed repository of `Pelican Themes`_ for people " +"to share and use." +msgstr "有一个由社区管理的主题仓库 `Pelican Themes`_ 供大家使用。" + +#: ../../themes.rst:9 +msgid "" +"Please note that while we do our best to review and merge theme " +"contributions, they are submitted by the Pelican community and thus may " +"have varying levels of support and interoperability." +msgstr "请注意,虽然我们已经尽全力审查与合并主题,但是由于他们是由Pelican社区提交的,因此会有不同程度的支持性和互操作性。" + +#: ../../themes.rst:14 +msgid "Creating Themes" +msgstr "创建主题" + +#: ../../themes.rst:16 +msgid "" +"To generate its HTML output, Pelican uses the `Jinja " +"`_ templating engine due to its " +"flexibility and straightforward syntax. If you want to create your own " +"theme, feel free to take inspiration from the `\"simple\" theme " +"`_." +msgstr "" +"Pelican使用 `Jinja `_ " +"来生成HTML。如果你想要创建你自己的主题,请从 `\"simple\" 主题 " +"`_" +" 中找寻灵感。" + +#: ../../themes.rst:22 +msgid "" +"To generate your site using a theme you have created (or downloaded " +"manually and then modified), you can specify that theme via the ``-t`` " +"flag::" +msgstr "要使用你自己创建的主题生成站点,你可以通过 ``-t`` 标志指定主题:" + +#: ../../themes.rst:27 +msgid "" +"If you'd rather not specify the theme on every invocation, you can define" +" ``THEME`` in your settings to point to the location of your preferred " +"theme." +msgstr "如果你不希望每次都通过命令行手动指定主题,你可以在设置文件中定义 ``THEME`` 来指定你希望使用的主题的位置。" + +#: ../../themes.rst:32 +msgid "Structure" +msgstr "结构" + +#: ../../themes.rst:34 +msgid "To make your own theme, you must follow the following structure::" +msgstr "你需要遵循下面的结构来制作你自己的主题:" + +#: ../../themes.rst:52 +msgid "" +"`static` contains all the static assets, which will be copied to the " +"output `theme` folder. The above filesystem layout includes CSS and image" +" folders, but those are just examples. Put what you need here." +msgstr "" +"`static` 文件夹包含了所有静态资源,会被复制输出到 `theme` " +"文件夹中。上面的文件夹布局结构包括了CSS和image文件夹,但是这只是举个例子。你可以根据需求安排文件。" + +#: ../../themes.rst:56 +msgid "" +"`templates` contains all the templates that will be used to generate the " +"content. The template files listed above are mandatory; you can add your " +"own templates if it helps you keep things organized while creating your " +"theme." +msgstr "" +"`templates` " +"文件夹包含了需要用到的所有模板文件,这些模板文件会用于生成网站内容。上面列出的模板文件都是必须有的。当然,你可以添加一些其他的模板来帮助组织主题文件。" + +#: ../../themes.rst:64 +msgid "Templates and Variables" +msgstr "模板和变量" + +#: ../../themes.rst:66 +msgid "" +"The idea is to use a simple syntax that you can embed into your HTML " +"pages. This document describes which templates should exist in a theme, " +"and which variables will be passed to each template at generation time." +msgstr "你可以将一些简单的语法嵌入到HTML文件中。以下文档描述了哪些模板需要存在于主题中,以及有哪些变量可以在模板中使用。" + +#: ../../themes.rst:70 +msgid "" +"All templates will receive the variables defined in your settings file, " +"as long as they are in all-caps. You can access them directly." +msgstr "所有模板都能收到在设置文件中定义的变量,变量名都是全大写的,可以直接使用。" + +#: ../../themes.rst:77 +msgid "Common Variables" +msgstr "通用变量" + +#: ../../themes.rst:79 +msgid "All of these settings will be available to all templates." +msgstr "下列各项设置在所有模板中都可以使用" + +#: ../../themes.rst:82 ../../themes.rst:170 ../../themes.rst:199 +#: ../../themes.rst:233 ../../themes.rst:266 ../../themes.rst:306 +#: ../../themes.rst:322 ../../themes.rst:355 +msgid "Variable" +msgstr "变量名" + +#: ../../themes.rst:82 ../../themes.rst:170 ../../themes.rst:199 +#: ../../themes.rst:233 ../../themes.rst:266 ../../themes.rst:306 +#: ../../themes.rst:322 ../../themes.rst:355 ../../themes.rst:446 +#: ../../themes.rst:490 ../../themes.rst:509 +msgid "Description" +msgstr "描述" + +#: ../../themes.rst:84 +msgid "output_file" +msgstr "output_file" + +#: ../../themes.rst:84 +msgid "" +"The name of the file currently being generated. For instance, when " +"Pelican is rendering the home page, output_file will be \"index.html\"." +msgstr "当前正在生成的文件名。例如当Pelican在渲染主页时,此变量值就是 \"index.html\" 。" + +#: ../../themes.rst:87 ../../themes.rst:202 ../../themes.rst:236 +#: ../../themes.rst:325 ../../themes.rst:406 +msgid "articles" +msgstr "articles" + +#: ../../themes.rst:87 +msgid "" +"The list of articles, ordered descending by date. All the elements are " +"`Article` objects, so you can access their attributes (e.g. title, " +"summary, author etc.). Sometimes this is shadowed (for instance, in the " +"tags page). You will then find info about it in the `all_articles` " +"variable." +msgstr "" +"文章列表,以日期降序排列。所有元素都是 `Article` 对象,因此你可以访问 `Article` " +"对象的属性(例如title、summary、author等)。有时候此变量是隐藏的(例如,在标签页面中)。但仍可以在 `all_articles`" +" 变量中找到相关信息。" + +#: ../../themes.rst:93 ../../themes.rst:203 ../../themes.rst:237 +#: ../../themes.rst:326 ../../themes.rst:408 +msgid "dates" +msgstr "dates" + +#: ../../themes.rst:93 +msgid "The same list of articles, but ordered by date, ascending." +msgstr "和articles相同的文章列表,但是以日期升序排列" + +#: ../../themes.rst:95 +msgid "hidden_articles" +msgstr "hidden_articles" + +#: ../../themes.rst:95 +msgid "The list of hidden articles" +msgstr "隐藏文章的列表" + +#: ../../themes.rst:96 +msgid "drafts" +msgstr "drafts" + +#: ../../themes.rst:96 +msgid "The list of draft articles" +msgstr "草稿文章的列表" + +#: ../../themes.rst:97 +msgid "period_archives" +msgstr "period_archives" + +#: ../../themes.rst:97 +msgid "" +"A dictionary containing elements related to time-period archives (if " +"enabled). See the section :ref:`Listing and Linking to Period Archives " +"` for details." +msgstr "一个字典,包含与时间段存档相关的元素(若启用了时间段存档)。详见 " +":ref:`时间段存档的列表和链接 `" + +#: ../../themes.rst:101 ../../themes.rst:450 +msgid "authors" +msgstr "authors" + +#: ../../themes.rst:101 +msgid "" +"A list of (author, articles) tuples, containing all the authors and " +"corresponding articles (values)" +msgstr "元组(author, articles)的列表,包含所有作者及对应文章。" + +#: ../../themes.rst:103 +msgid "categories" +msgstr "categories" + +#: ../../themes.rst:103 +msgid "" +"A list of (category, articles) tuples, containing all the categories and " +"corresponding articles (values)" +msgstr "元组(category, articles)的列表,包含所有分类及对应文章" + +#: ../../themes.rst:105 ../../themes.rst:470 ../../themes.rst:529 +msgid "tags" +msgstr "tags" + +#: ../../themes.rst:105 +msgid "" +"A list of (tag, articles) tuples, containing all the tags and " +"corresponding articles (values)" +msgstr "元组(tag, articles)的列表,包含所有标签及对应文章" + +#: ../../themes.rst:107 +msgid "pages" +msgstr "pages" + +#: ../../themes.rst:107 +msgid "The list of pages" +msgstr "页面的列表" + +#: ../../themes.rst:108 +msgid "hidden_pages" +msgstr "hidden_pages" + +#: ../../themes.rst:108 +msgid "The list of hidden pages" +msgstr "隐藏页面的列表" + +#: ../../themes.rst:109 +msgid "draft_pages" +msgstr "draft_pages" + +#: ../../themes.rst:109 +msgid "The list of draft pages" +msgstr "草稿页面的列表" + +#: ../../themes.rst:114 +msgid "Sorting" +msgstr "排序" + +#: ../../themes.rst:116 +msgid "" +"URL wrappers (currently categories, tags, and authors), have comparison " +"methods that allow them to be easily sorted by name::" +msgstr "URL包装器(分类、标签、作者),都拥有比较方法,使其易于按名称排序:" + +#: ../../themes.rst:121 +msgid "" +"If you want to sort based on different criteria, `Jinja's sort command`__" +" has a number of options." +msgstr "如果你想要以不同条件进行排序,可以使用 `Jinja的排序命令`__ ,其中有丰富的选项。" + +#: ../../themes.rst:128 +msgid "Date Formatting" +msgstr "日期格式" + +#: ../../themes.rst:130 +msgid "" +"Pelican formats the date according to your settings and locale " +"(``DATE_FORMATS``/``DEFAULT_DATE_FORMAT``) and provides a ``locale_date``" +" attribute. On the other hand, the ``date`` attribute will be a " +"`datetime`_ object. If you need custom formatting for a date different " +"than your settings, use the Jinja filter ``strftime`` that comes with " +"Pelican. Usage is same as Python `strftime`_ format, but the filter will " +"do the right thing and format your date according to the locale given in " +"your settings::" +msgstr "" +"Pelican会根据设置和地区( ``DATE_FORMATS``/``DEFAULT_DATE_FORMAT`` " +")对日期进行格式化,同时还会提供一个 ``locale_date`` 属性。 ``date`` 属性以 `datetime`_ " +"类表示。如果你需要使用与设置中不同的自定义日期格式,使用Jinja中的 ``strftime`` 过滤器即可。用法Python中的 " +"`strftime`_ 相同,但是过滤器会根据设置中给出的地区对日期进行格式化:" + +#: ../../themes.rst:144 +msgid "Checking Loaded Plugins" +msgstr "检测已加载的插件" + +#: ../../themes.rst:146 +msgid "" +"Pelican provides a ``plugin_enabled`` Jinja test for checking if a " +"certain plugin is enabled. This test accepts a plugin name as a string " +"and will return a Boolean. Namespace plugins can be specified by full " +"name (``pelican.plugins.plugin_name``) or short name (``plugin_name``). " +"The following example uses the ``webassets`` plugin to minify CSS if the " +"plugin is enabled and otherwise falls back to regular CSS::" +msgstr "Pelican 提供了一个名为 ``plugin_enabled`` 的Jinja test,可用于检测某个插件是否启用。" +"此test以字符串形式接受一个插件名称,并且返回一个布尔值。命名空间插件可以通过全名" +"( ``pelican.plugins.plugin_name`` )或者短名称( ``plugin_name`` )指定。" +"下面的例子中通过 ``webassets`` 插件来减小CSS的体积,但若此插件未启用,则回滚回普通的CSS:" + +#: ../../themes.rst:162 +msgid "index.html" +msgstr "index.html" + +#: ../../themes.rst:164 +msgid "This is the home page or index of your blog, generated at ``index.html``." +msgstr "站点的主页,从 ``index.html`` 中生成。" + +#: ../../themes.rst:166 +msgid "" +"If pagination is active, subsequent pages will reside in " +"``index{number}.html``." +msgstr "如果开启了分页功能,后续的页面会以 ``index{number}.html`` 的形式保存。" + +#: ../../themes.rst:172 ../../themes.rst:205 ../../themes.rst:239 +#: ../../themes.rst:328 +msgid "articles_paginator" +msgstr "articles_paginator" + +#: ../../themes.rst:172 ../../themes.rst:205 ../../themes.rst:239 +#: ../../themes.rst:328 +msgid "A paginator object for the list of articles" +msgstr "一个分页器对象,其中存放着文章列表" + +#: ../../themes.rst:173 ../../themes.rst:206 ../../themes.rst:240 +#: ../../themes.rst:329 +msgid "articles_page" +msgstr "articles_page" + +#: ../../themes.rst:173 ../../themes.rst:206 ../../themes.rst:240 +#: ../../themes.rst:329 +msgid "The current page of articles" +msgstr "文章的当前页" + +#: ../../themes.rst:174 ../../themes.rst:207 ../../themes.rst:241 +#: ../../themes.rst:330 +msgid "articles_previous_page" +msgstr "articles_previous_page" + +#: ../../themes.rst:174 ../../themes.rst:207 ../../themes.rst:241 +#: ../../themes.rst:330 +msgid "The previous page of articles (``None`` if page does not exist)" +msgstr "文章的前一页(若没有前一页,此变量值为 ``None`` )" + +#: ../../themes.rst:176 ../../themes.rst:209 ../../themes.rst:243 +#: ../../themes.rst:332 +msgid "articles_next_page" +msgstr "articles_next_page" + +#: ../../themes.rst:176 ../../themes.rst:209 ../../themes.rst:243 +#: ../../themes.rst:332 +msgid "The next page of articles (``None`` if page does not exist)" +msgstr "文章的后一页(若没有后一页,此变量值为 ``None`` )" + +#: ../../themes.rst:178 ../../themes.rst:211 ../../themes.rst:245 +#: ../../themes.rst:334 +msgid "dates_paginator" +msgstr "dates_paginator" + +#: ../../themes.rst:178 ../../themes.rst:211 +msgid "A paginator object for the article list, ordered by date, ascending." +msgstr "分页器对象,存放着以日期正序排列的文章列表。" + +#: ../../themes.rst:180 ../../themes.rst:213 ../../themes.rst:247 +#: ../../themes.rst:336 +msgid "dates_page" +msgstr "dates_page" + +#: ../../themes.rst:180 ../../themes.rst:213 +msgid "The current page of articles, ordered by date, ascending." +msgstr "文章的当前页,以日期正序排列。" + +#: ../../themes.rst:182 ../../themes.rst:215 ../../themes.rst:249 +#: ../../themes.rst:338 +msgid "dates_previous_page" +msgstr "dates_previous_page" + +#: ../../themes.rst:182 ../../themes.rst:215 ../../themes.rst:249 +#: ../../themes.rst:338 +msgid "" +"The previous page of articles, ordered by date, ascending (``None`` if " +"page does not exist)" +msgstr "文章的前一页,以日期正序排列(若没有前一页,此变量值为 ``None`` )" + +#: ../../themes.rst:184 ../../themes.rst:217 ../../themes.rst:251 +#: ../../themes.rst:340 +msgid "dates_next_page" +msgstr "dates_next_page" + +#: ../../themes.rst:184 ../../themes.rst:217 ../../themes.rst:251 +#: ../../themes.rst:340 +msgid "" +"The next page of articles, ordered by date, ascending (``None`` if page " +"does not exist)" +msgstr "文章的后一页,以日期正序排列(若没有后一页,此变量值为 ``None`` )" + +#: ../../themes.rst:186 ../../themes.rst:219 ../../themes.rst:253 +#: ../../themes.rst:342 ../../themes.rst:493 +msgid "page_name" +msgstr "page_name" + +#: ../../themes.rst:186 +msgid "'index' -- useful for pagination links" +msgstr "值为'index'——在分页链接中很实用" + +#: ../../themes.rst:191 +msgid "author.html" +msgstr "author.html" + +#: ../../themes.rst:193 +msgid "" +"This template will be processed for each of the existing authors, with " +"output generated according to the ``AUTHOR_SAVE_AS`` setting (`Default:` " +"``author/{slug}.html``). If pagination is active, subsequent pages will " +"by default reside at ``author/{slug}{number}.html``." +msgstr "" +"此模板会应用于每个已存在的作者上,根据设置项 ``AUTHOR_SAVE_AS`` 确定输出路径(`默认值为:` " +"``author/{slug}.html`` )。如果启用了分页,后续页面会保存为 ``author/{slug}{number}.html`` " +"。" + +#: ../../themes.rst:201 ../../themes.rst:448 ../../themes.rst:511 +msgid "author" +msgstr "author" + +#: ../../themes.rst:201 +msgid "The name of the author being processed" +msgstr "当前正在处理的作者名" + +#: ../../themes.rst:202 +msgid "Articles by this author" +msgstr "当前作者的文章" + +#: ../../themes.rst:203 +msgid "Articles by this author, but ordered by date, ascending" +msgstr "当前作者的文章,以日期正序排列" + +#: ../../themes.rst:219 +msgid "" +"AUTHOR_URL where everything after `{slug}` is removed -- useful for " +"pagination links" +msgstr "变量值与AUTHOR_URL一致,所有在 `{slug}` 之后的字符都会被删除——这对分页链接很有用" + +#: ../../themes.rst:225 +msgid "category.html" +msgstr "category.html" + +#: ../../themes.rst:227 +msgid "" +"This template will be processed for each of the existing categories, with" +" output generated according to the ``CATEGORY_SAVE_AS`` setting " +"(`Default:` ``category/{slug}.html``). If pagination is active, " +"subsequent pages will by default reside at " +"``category/{slug}{number}.html``." +msgstr "" +"此模板会应用于每个已存在的分类上,根据设置项 ``CATEGORY_SAVE_AS`` 确定输出路径(`默认值为:` " +"``category/{slug}.html`` )。如果启用了分页,后续页面会保存为 " +"``category/{slug}{number}.html`` 。" + +#: ../../themes.rst:235 ../../themes.rst:269 ../../themes.rst:452 +msgid "category" +msgstr "category" + +#: ../../themes.rst:235 +msgid "The name of the category being processed" +msgstr "正在处理的分类名称" + +#: ../../themes.rst:236 +msgid "Articles for this category" +msgstr "此分类下的文章" + +#: ../../themes.rst:237 +msgid "Articles for this category, but ordered by date, ascending" +msgstr "此分类下的文章,以日期正序排列" + +#: ../../themes.rst:245 ../../themes.rst:334 +msgid "A paginator object for the list of articles, ordered by date, ascending" +msgstr "分页器对象,存放着以日期正序排列的文章列表" + +#: ../../themes.rst:247 ../../themes.rst:336 +msgid "The current page of articles, ordered by date, ascending" +msgstr "当前页面中的文章,以日期正序排列" + +#: ../../themes.rst:253 +msgid "" +"CATEGORY_URL where everything after `{slug}` is removed -- useful for " +"pagination links" +msgstr "变量值与CATEGORY_URL一致,所有在 `{slug}` 之后的字符都会被删除——这对分页链接很有用" + +#: ../../themes.rst:259 +msgid "article.html" +msgstr "article.html" + +#: ../../themes.rst:261 +msgid "" +"This template will be processed for each article, with output generated " +"according to the ``ARTICLE_SAVE_AS`` setting (`Default:` " +"``{slug}.html``). The following variables are available when rendering." +msgstr "" +"此模板会应用于文章上,根据设置项 ``ARTICLE_SAVE_AS`` 确定输出路径(`默认值为:` ``{slug}.html`` " +")。在渲染文章过程中可以使用下列变量。" + +#: ../../themes.rst:268 +msgid "article" +msgstr "article" + +#: ../../themes.rst:268 +msgid "The article object to be displayed" +msgstr "准备显示的文章对象" + +#: ../../themes.rst:269 +msgid "The name of the category for the current article" +msgstr "当前文章所属分类的名称" + +#: ../../themes.rst:272 +msgid "" +"Any metadata that you put in the header of the article source file will " +"be available as fields on the ``article`` object. The field name will be " +"the same as the name of the metadata field, except in all-lowercase " +"characters." +msgstr "文章源文件开头部分的元数据都会作为 ``article`` 对象的属性存在,属性名和元数据中指定的相同(但是是全小写的)。" + +#: ../../themes.rst:276 +msgid "" +"For example, you could add a field called `FacebookImage` to your article" +" metadata, as shown below:" +msgstr "例如,你在文章源文件中添加了一个元数据 `FacebookImage` 如下:" + +#: ../../themes.rst:289 +msgid "" +"This new metadata will be made available as `article.facebookimage` in " +"your `article.html` template. This would allow you, for example, to " +"specify an image for the Facebook open graph tags that will change for " +"each article:" +msgstr "此元数据在 `article.html` 模板中可以通过 `article.facebookimage` 获取。" + +#: ../../themes.rst:299 +msgid "page.html" +msgstr "page.html" + +#: ../../themes.rst:301 +msgid "" +"This template will be processed for each page, with output generated " +"according to the ``PAGE_SAVE_AS`` setting (`Default:` " +"``pages/{slug}.html``). The following variables are available when " +"rendering." +msgstr "" +"此模板会应用于页面上,根据设置项 ``PAGE_SAVE_AS`` 确定输出路径(`默认值为:` ``pages/{slug}.html`` " +")。在渲染过程中可以使用下列变量。" + +#: ../../themes.rst:308 +msgid "page" +msgstr "page" + +#: ../../themes.rst:308 +msgid "" +"The page object to be displayed. You can access its title, slug, and " +"content." +msgstr "准备显示的页面对象,可以从中获取标题、slug和具体内容。" + +#: ../../themes.rst:314 +msgid "tag.html" +msgstr "tag.html" + +#: ../../themes.rst:316 +msgid "" +"This template will be processed for each tag, with output generated " +"according to the ``TAG_SAVE_AS`` setting (`Default:` " +"``tag/{slug}.html``). If pagination is active, subsequent pages will by " +"default reside at ``tag/{slug}{number}.html``." +msgstr "" +"此模板会应用于标签页上,根据设置项 ``TAG_SAVE_AS`` 确定输出路径(`默认值为:` ``tag/{slug}.html`` " +")。若启用了分页,后续页面默认存储为。``tag/{slug}{number}.html`` 。" + +#: ../../themes.rst:324 +msgid "tag" +msgstr "tag" + +#: ../../themes.rst:324 +msgid "The name of the tag being processed" +msgstr "当前正在处理标签的名称" + +#: ../../themes.rst:325 +msgid "Articles related to this tag" +msgstr "和此标签关联的文章" + +#: ../../themes.rst:326 +msgid "Articles related to this tag, but ordered by date, ascending" +msgstr "和此标签关联的文章,以日期正序排列" + +#: ../../themes.rst:342 +msgid "" +"TAG_URL where everything after `{slug}` is removed -- useful for " +"pagination links" +msgstr "变量值与TAG_URL一致,所有在 `{slug}` 之后的字符都会被删除——这对分页链接很有用" + +#: ../../themes.rst:348 +msgid "period_archives.html" +msgstr "period_archives.html" + +#: ../../themes.rst:350 +msgid "" +"This template will be processed for each year of your posts if a path for" +" ``YEAR_ARCHIVE_SAVE_AS`` is defined, each month if " +"``MONTH_ARCHIVE_SAVE_AS`` is defined, and each day if " +"``DAY_ARCHIVE_SAVE_AS`` is defined." +msgstr "" +"此模板用于生成归档页面, ``YEAR_ARCHIVE_SAVE_AS`` 、 ``MONTH_ARCHIVE_SAVE_AS`` " +"与``DAY_ARCHIVE_SAVE_AS`` 分别对应着年、月、日的归档,只有指定了对应的路径才会生成归档页面。" + +#: ../../themes.rst:357 ../../themes.rst:394 +msgid "period" +msgstr "period" + +#: ../../themes.rst:357 +msgid "" +"A tuple of the form (`year`, `month`, `day`) that indicates the current " +"time period. `year` and `day` are numbers while `month` is a string. This" +" tuple only contains `year` if the time period is a given year. It " +"contains both `year` and `month` if the time period is over years and " +"months and so on." +msgstr "" +"一个元组,格式为 (`year`, `month`, `day`) ,指明了当前的时间段。 `year` 和 `day` 为数字, `month`" +" 则为字符串。当时间段以年给定时,此元组只会有 `year` ;当时间段以年和月给定时此元组中则只会包含 `year` 和 `month` " +";以此类推。" + +#: ../../themes.rst:364 ../../themes.rst:397 +msgid "period_num" +msgstr "period_num" + +#: ../../themes.rst:364 +msgid "" +"A tuple of the form (``year``, ``month``, ``day``), as in ``period``, " +"except all values are numbers." +msgstr "一个元组,格式为 (``year``, ``month``, ``day``) ,与 ``period`` 含义相同,只不过年月日都是以数字给出的。" + +#: ../../themes.rst:369 +msgid "" +"You can see an example of how to use `period` in the `\"simple\" theme " +"period_archives.html template " +"`_." +msgstr "" +"有关 `period` 的使用可以参考 `\"simple\" 主题中的period_archives.html模板 " +"`_." + +#: ../../themes.rst:377 +msgid "Listing and Linking to Period Archives" +msgstr "列出或链接到归档" + +#: ../../themes.rst:379 +msgid "" +"The ``period_archives`` variable can be used to generate a list of links " +"to the set of period archives that Pelican generates. As a :ref:`common " +"variable `, it is available for use in any template, so" +" you can implement such an index in a custom direct template, or in a " +"sidebar visible across different site pages." +msgstr "对于Pelican给出的归档时间段,``period_archives`` 可用于生成对应的链接列表。" +"此变量作为 :ref:`通用变量 ` ,可在所有模板中使用。因此可以借此" +"在自定义直接模板中或是侧边栏中实现链接索引。" + +#: ../../themes.rst:385 +msgid "" +"``period_archives`` is a dict that may contain ``year``, ``month``, " +"and/or ``day`` keys, depending on which ``*_ARCHIVE_SAVE_AS`` settings " +"are enabled. The corresponding value is a list of dicts, where each dict " +"in turn represents a time period (ordered according to the " +"``NEWEST_FIRST_ARCHIVES`` setting) with the following keys and values:" +msgstr "``period_archives`` 是一个字典,根据 ``*_ARCHIVE_SAVE_AS`` 设置的启用情况," +"其键对应为 ``year`` 、 ``month`` 与 ``day`` ,其值是包含字典的列表,每个字典依次表示一个" +"时间段(顺序由 ``NEWEST_FIRST_ARCHIVES`` 设置决定),并包含以下键值对:" + +#: ../../themes.rst:392 +msgid "Key" +msgstr "键" + +#: ../../themes.rst:392 +msgid "Value" +msgstr "值" + +#: ../../themes.rst:394 +msgid "" +"The same tuple as described in ``period_archives.html``, e.g. ``(2023, " +"'June', 18)``." +msgstr "一个元组,内容和 ``period_archives.html`` 中一样,例如 ``(2023, 'June', 18)`` 。" + +#: ../../themes.rst:397 +msgid "" +"The same tuple as described in ``period_archives.html``, e.g. ``(2023, 6," +" 18)``." +msgstr "一个元组,内容和 ``period_archives.html`` 中一样,例如 ``(2023, 6, 18)`` 。" + +#: ../../themes.rst:399 ../../themes.rst:476 ../../themes.rst:496 +#: ../../themes.rst:535 +msgid "url" +msgstr "url" + +#: ../../themes.rst:399 +msgid "" +"The URL to the period archive page, e.g. ``posts/2023/06/18/``. This is " +"controlled by the corresponding ``*_ARCHIVE_URL`` setting." +msgstr "当前时间段归档页面的URL,例如 ``posts/2023/06/18/`` 。具体值由对应的设置项" +"``*_ARCHIVE_URL`` 决定。" + +#: ../../themes.rst:402 ../../themes.rst:463 ../../themes.rst:494 +#: ../../themes.rst:522 +msgid "save_as" +msgstr "save_as" + +#: ../../themes.rst:402 +msgid "" +"The path to the save location of the period archive page file, e.g. " +"``posts/2023/06/18/index.html``. This is used internally by Pelican and " +"is usually not relevant to themes." +msgstr "当前时间段归档页面的存储路径,例如 ``posts/2023/06/18/index.html`` 。此路径用于" +"Pelican内部处理,往往与主题无关。" + +#: ../../themes.rst:406 +msgid "" +"A list of :ref:`Article ` objects that fall under the " +"time period." +msgstr "一个列表,其中为当前时间段内所有文章的 :ref:`Article ` 对象。" + +#: ../../themes.rst:408 +msgid "" +"Same list as ``articles``, but ordered according to the " +"``NEWEST_FIRST_ARCHIVES`` setting." +msgstr "和 ``articles`` 相同的列表,但按照 ``NEWEST_FIRST_ARCHIVES`` 设置项进行排列。" + +#: ../../themes.rst:412 +msgid "Here is an example of how ``period_archives`` can be used in a template:" +msgstr "以下是一个例子,展示了如何在模板中使用 ``period_archives`` :" + +#: ../../themes.rst:426 +msgid "" +"You can change ``period_archives.month`` in the ``for`` statement to " +"``period_archives.year`` or ``period_archives.day`` as appropriate, " +"depending on the time period granularity desired." +msgstr "你可以根据需要的时间粒度将 ``for`` 语句中的 ``period_archives.month`` 改为 " +"``period_archives.year`` 或 ``period_archives.day`` 。" + +#: ../../themes.rst:432 +msgid "Objects" +msgstr "对象" + +#: ../../themes.rst:434 +msgid "" +"Detail objects attributes that are available and useful in templates. Not" +" all attributes are listed here, this is a selection of attributes " +"considered useful in a template." +msgstr "下面是对在模板中可用对象的属性的详细说明。以下仅列出了一些模板中比较实用的,并不是全部" + +#: ../../themes.rst:441 +msgid "Article" +msgstr "Article" + +#: ../../themes.rst:443 +msgid "The string representation of an Article is the `source_path` attribute." +msgstr "Article对象的字符串表示即为 `source_path` 属性。" + +#: ../../themes.rst:446 ../../themes.rst:490 ../../themes.rst:509 +msgid "Attribute" +msgstr "属性" + +#: ../../themes.rst:448 +msgid "The :ref:`Author ` of this article." +msgstr "当前文章的 :ref:`Author `" + +#: ../../themes.rst:450 +msgid "A list of :ref:`Authors ` of this article." +msgstr "当前文章的多个 :ref:`Authors `" + +#: ../../themes.rst:452 +msgid "The :ref:`Category ` of this article." +msgstr "当前文章的 :ref:`Category `" + +#: ../../themes.rst:454 ../../themes.rst:513 +msgid "content" +msgstr "content" + +#: ../../themes.rst:454 +msgid "The rendered content of the article." +msgstr "当前文章渲染完成的内容" + +#: ../../themes.rst:455 ../../themes.rst:514 +msgid "date" +msgstr "date" + +#: ../../themes.rst:455 +msgid "Datetime object representing the article date." +msgstr "当前文章的Datetime对象" + +#: ../../themes.rst:456 ../../themes.rst:515 +msgid "date_format" +msgstr "date_format" + +#: ../../themes.rst:456 ../../themes.rst:515 +msgid "Either default date format or locale date format." +msgstr "默认日期格式或是特定地区的日期格式" + +#: ../../themes.rst:457 ../../themes.rst:516 +msgid "default_template" +msgstr "default_template" + +#: ../../themes.rst:457 ../../themes.rst:516 +msgid "Default template name." +msgstr "默认的模板名称" + +#: ../../themes.rst:458 ../../themes.rst:517 +msgid "in_default_lang" +msgstr "in_default_lang" + +#: ../../themes.rst:458 ../../themes.rst:517 +msgid "Boolean representing if the article is written in the default language." +msgstr "布尔值,用于表示当前文章是不是以默认语言写的。" + +#: ../../themes.rst:460 ../../themes.rst:519 +msgid "lang" +msgstr "lang" + +#: ../../themes.rst:460 ../../themes.rst:519 +msgid "Language of the article." +msgstr "当前文章使用的语言。" + +#: ../../themes.rst:461 ../../themes.rst:520 +msgid "locale_date" +msgstr "locale_date" + +#: ../../themes.rst:461 ../../themes.rst:520 +msgid "Date formatted by the `date_format`." +msgstr "以 `date_format` 格式化后的日期。" + +#: ../../themes.rst:462 ../../themes.rst:521 +msgid "metadata" +msgstr "metadata" + +#: ../../themes.rst:462 +msgid "Article header metadata `dict`." +msgstr "文章元数据的 `字典`" + +#: ../../themes.rst:463 +msgid "Location to save the article page." +msgstr "保存文章生成页面的位置。" + +#: ../../themes.rst:464 ../../themes.rst:495 ../../themes.rst:523 +msgid "slug" +msgstr "slug" + +#: ../../themes.rst:464 ../../themes.rst:495 ../../themes.rst:523 +msgid "Page slug." +msgstr "页面的slug" + +#: ../../themes.rst:465 ../../themes.rst:524 +msgid "source_path" +msgstr "source_path" + +#: ../../themes.rst:465 +msgid "Full system path of the article source file." +msgstr "文章源文件的完整系统路径。" + +#: ../../themes.rst:466 ../../themes.rst:525 +msgid "relative_source_path" +msgstr "relative_source_path" + +#: ../../themes.rst:466 +msgid "Relative path from PATH_ to the article source file." +msgstr "从 PATH_ 到当前文章源文件的相对路径。" + +#: ../../themes.rst:467 ../../themes.rst:526 +msgid "status" +msgstr "status" + +#: ../../themes.rst:467 +msgid "The article status, can be any of 'published' or 'draft'." +msgstr "当前文章的状态,可能值为'published'或'draft'。" + +#: ../../themes.rst:469 ../../themes.rst:528 +msgid "summary" +msgstr "summary" + +#: ../../themes.rst:469 ../../themes.rst:528 +msgid "Rendered summary content." +msgstr "渲染后的摘要内容。" + +#: ../../themes.rst:470 ../../themes.rst:529 +msgid "List of :ref:`Tag ` objects." +msgstr ":ref:`Tag ` 对象的列表。" + +#: ../../themes.rst:472 ../../themes.rst:531 +msgid "template" +msgstr "template" + +#: ../../themes.rst:472 ../../themes.rst:531 +msgid "Template name to use for rendering." +msgstr "用于渲染的模板名称" + +#: ../../themes.rst:473 ../../themes.rst:532 +msgid "title" +msgstr "title" + +#: ../../themes.rst:473 +msgid "Title of the article." +msgstr "当前文章的标题。" + +#: ../../themes.rst:474 ../../themes.rst:533 +msgid "translations" +msgstr "translations" + +#: ../../themes.rst:474 ../../themes.rst:533 +msgid "List of translations :ref:`Article ` objects." +msgstr "当前文章所有翻译版本的 :ref:`Article ` 对象。" + +#: ../../themes.rst:476 +msgid "URL to the article page." +msgstr "文章页面的URL。" + +#: ../../themes.rst:485 +msgid "Author / Category / Tag" +msgstr "Author / Category / Tag" + +#: ../../themes.rst:487 +msgid "The string representation of those objects is the `name` attribute." +msgstr "这些对象的字符串表示与 `name` 属性一致。" + +#: ../../themes.rst:492 +msgid "name" +msgstr "name" + +#: ../../themes.rst:492 +msgid "Name of this object [1]_." +msgstr "当前对象的名称 [1]_ 。" + +#: ../../themes.rst:493 +msgid "Author page name." +msgstr "作者页面的名称。" + +#: ../../themes.rst:494 +msgid "Location to save the author page." +msgstr "保存当前作者页面的路径。" + +#: ../../themes.rst:496 +msgid "URL to the author page." +msgstr "作者页面的URL。" + +#: ../../themes.rst:499 +msgid "for Author object, coming from `:authors:` or `AUTHOR`." +msgstr "对于Author对象,此属性值由 `:authors:` 或 `AUTHOR` 得来。" + +#: ../../themes.rst:504 +msgid "Page" +msgstr "Page" + +#: ../../themes.rst:506 +msgid "The string representation of a Page is the `source_path` attribute." +msgstr "Page对象的字符串表示与 `source_path` 属性一致。" + +#: ../../themes.rst:511 +msgid "The :ref:`Author ` of this page." +msgstr "当前页面的 :ref:`Author `" + +#: ../../themes.rst:513 +msgid "The rendered content of the page." +msgstr "当前页面渲染后的内容。" + +#: ../../themes.rst:514 +msgid "Datetime object representing the page date." +msgstr "当前页面日期对应的Datetime对象。" + +#: ../../themes.rst:521 +msgid "Page header metadata `dict`." +msgstr "页面元数据的 `字典` 。" + +#: ../../themes.rst:522 +msgid "Location to save the page." +msgstr "保存页面的位置。" + +#: ../../themes.rst:524 +msgid "Full system path of the page source file." +msgstr "页面源文件的完整系统路径。" + +#: ../../themes.rst:525 +msgid "Relative path from PATH_ to the page source file." +msgstr "页面源文件相对于 PATH_ 的相对路径。" + +#: ../../themes.rst:526 +msgid "The page status, can be any of 'published', 'hidden' or 'draft'." +msgstr "页面的状态,可能值有'published'、'hidden'或者'draft'。" + +#: ../../themes.rst:532 +msgid "Title of the page." +msgstr "页面的标题。" + +#: ../../themes.rst:535 +msgid "URL to the page." +msgstr "页面的URL" + +#: ../../themes.rst:542 +msgid "Feeds" +msgstr "订阅源Feeds" + +#: ../../themes.rst:544 +msgid "" +"The feed variables changed in 3.0. Each variable now explicitly lists " +"ATOM or RSS in the name. ATOM is still the default. Old themes will need " +"to be updated. Here is a complete list of the feed variables::" +msgstr "订阅源相关变量在3.0版本发生过变化。各变量现在都在名称中显示地表达了属于ATOM还是RSS。默认使用ATOM。旧的主题需要进行更新。下面是订阅源相关变量的完整列表:" + +#: ../../themes.rst:563 +msgid "Inheritance" +msgstr "继承" + +#: ../../themes.rst:565 +msgid "" +"Since version 3.0, Pelican supports inheritance from the ``simple`` " +"theme, so you can re-use the ``simple`` theme templates in your own " +"themes." +msgstr "从3.0版本开始,Pelican支持从 ``simple`` 主题继承,因此可以在你自己的主题中重用``simple`` 主题。" + +#: ../../themes.rst:568 +msgid "" +"If one of the mandatory files in the ``templates/`` directory of your " +"theme is missing, it will be replaced by the matching template from the " +"``simple`` theme. So if the HTML structure of a template in the " +"``simple`` theme is right for you, you don't have to write a new template" +" from scratch." +msgstr "" +"如果缺失了 ``templates/`` 目录中的某些必须要有的文件,会自动使用 ``simple`` 主题中的。因此如果 ``simple`` " +"主题中的一些模板正合你意,就没必要重新写个新的了。" + +#: ../../themes.rst:573 +#, python-format +msgid "" +"You can also extend templates from the ``simple`` theme in your own " +"themes by using the ``{% extends %}`` directive as in the following " +"example:" +msgstr "你也可以使用 ``{% extends %}`` 指令在你自己的主题中扩展 ``simple`` 主题:" + +#: ../../themes.rst:584 +msgid "Example" +msgstr "例子" + +#: ../../themes.rst:586 +msgid "With this system, it is possible to create a theme with just two files." +msgstr "利用这种规则,只用两个文件就可以创建一个主题。" + +#: ../../themes.rst:589 +msgid "base.html" +msgstr "base.html" + +#: ../../themes.rst:591 +msgid "The first file is the ``templates/base.html`` template:" +msgstr "第一个文件是 ``templates/base.html`` 模板:" + +#: ../../themes.rst:602 +msgid "" +"On the first line, we extend the ``base.html`` template from the " +"``simple`` theme, so we don't have to rewrite the entire file." +msgstr "第一行中,从 ``simple`` 主题中扩展了 ``base.html`` 模板,因此无需重写整个文件。" + +#: ../../themes.rst:604 +msgid "" +"On the third line, we open the ``head`` block which has already been " +"defined in the ``simple`` theme." +msgstr "第三行,我们开始声明 ``head`` 块,这个块已在 ``simple`` 中进行了定义。" + +#: ../../themes.rst:606 +msgid "" +"On the fourth line, the function ``super()`` keeps the content previously" +" inserted in the ``head`` block." +msgstr "第四行中, ``super()`` 函数使得在 ``head`` 块之前插入的内容得以保留。" + +#: ../../themes.rst:608 +msgid "On the fifth line, we append a stylesheet to the page." +msgstr "第五行为页面添加了一个样式表。" + +#: ../../themes.rst:609 +msgid "On the last line, we close the ``head`` block." +msgstr "最后一行结束对 ``head`` 块的声明。" + +#: ../../themes.rst:611 +msgid "" +"This file will be extended by all the other templates, so the stylesheet " +"will be linked from all pages." +msgstr "其他所有模板都会在此文件基础上进行扩展,因此样式表会被所有页面引用。" + +#: ../../themes.rst:615 +msgid "style.css" +msgstr "style.css" + +#: ../../themes.rst:617 +msgid "The second file is the ``static/css/style.css`` CSS stylesheet:" +msgstr "第二个文件是CSS样式表 ``static/css/style.css`` :" + +#: ../../themes.rst:661 +msgid "Download" +msgstr "下载" + +#: ../../themes.rst:663 +msgid "" +"You can download this example theme :download:`here <_static/theme-" +"basic.zip>`." +msgstr "可以在 :download:`这里 <_static/theme-basic.zip>` 下载此例。" diff --git a/docs/locales/zh_CN/LC_MESSAGES/tips.mo b/docs/locales/zh_CN/LC_MESSAGES/tips.mo new file mode 100644 index 00000000..64b88c0d Binary files /dev/null and b/docs/locales/zh_CN/LC_MESSAGES/tips.mo differ diff --git a/docs/locales/zh_CN/LC_MESSAGES/tips.po b/docs/locales/zh_CN/LC_MESSAGES/tips.po new file mode 100644 index 00000000..ed2d198d --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/tips.po @@ -0,0 +1,479 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010–2023 +# This file is distributed under the same license as the Pelican package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Pelican 4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-19 20:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \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.13.0\n" + +#: ../../tips.rst:2 +msgid "Tips" +msgstr "温馨提示" + +#: ../../tips.rst:4 +msgid "Here are some tips about Pelican that you might find useful." +msgstr "以下是一些实用的小技巧。" + +#: ../../tips.rst:7 ../../tips.rst:208 +msgid "Custom 404 Pages" +msgstr "自定义404页面" + +#: ../../tips.rst:9 +msgid "" +"When a browser requests a resource that the web server cannot find, the " +"web server usually displays a generic \"File not found\" (404) error page" +" that can be stark and unsightly. One way to provide an error page that " +"matches the theme of your site is to create a custom 404 page (*not* an " +"article), such as this Markdown-formatted example stored in " +"``content/pages/404.md``::" +msgstr "当浏览器请求的资源无法在服务器中找到时,web服务器常常会显示一个通用的 \"File not found\" (404)" +"的错误页面,这可能会不太美观。为了能使用一个与站点主题相匹配的404页面(注意是页面而 **不是** 文章)," +"例如下面这个Markdown格式的例子,将此文件存为了 ``content/pages/404.md`` :" + +#: ../../tips.rst:22 +msgid "" +"The next step is to configure your web server to display this custom page" +" instead of its default 404 page. For Nginx, add the following to your " +"configuration file's ``location`` block::" +msgstr "下一步就是配置web服务器,使其显示此自定义页面而不是默认的404页面。例如对于Nginx,在配置文件的 " +"``location`` 块中添加下面的命令:" + +#: ../../tips.rst:28 +msgid "For Apache::" +msgstr "对于Apache:" + +#: ../../tips.rst:32 +msgid "" +"For Amazon S3, first navigate to the ``Static Site Hosting`` menu in the " +"bucket settings on your AWS console. From there::" +msgstr "对于Amazon S3实例,先在控制台的设置中找到 ``Static Site Hosting`` ,并添加:" + +#: ../../tips.rst:38 +msgid "Publishing to GitHub Pages" +msgstr "发布到GitHub Pages" + +#: ../../tips.rst:40 +msgid "" +"If you use `GitHub `_ for your Pelican site you can " +"publish your site to `GitHub Pages `_ for " +"free. Your site will be published to ``https://.github.io`` if " +"it's a user or organization site or to " +"``https://.github.io/`` if it's a project site. " +"It's also possible to `use a custom domain with GitHub Pages " +"`_." +msgstr "如果将Pelican站点放在了 `GitHub `_ 上,那么你就可以将站点免费发布" +"在 `GitHub Pages `_ 上。如果是用户或组织的站点,发布的地址为 " +"``https://.github.io`` ;如果是某个项目的站点,发布的地址则为 ``https://.github.io/`` 。" +"当然也可以 `在GitHub Pages上使用自定义域名 `_ 。" + +#: ../../tips.rst:46 +msgid "" +"There are `two ways to publish a site to GitHub Pages " +"`_:" +msgstr "总的来说,有 `两种将站点发布到GitHub Pages的方法 `_ :" + +#: ../../tips.rst:48 +msgid "" +"**Publishing from a branch:** run ``pelican`` locally and push the output" +" directory to a special branch of your GitHub repo. GitHub will then " +"publish the contents of this branch to your GitHub Pages site." +msgstr "**从某一分支发布:** 在本地运行 ``pelican`` 后将输出文件夹push到GitHub仓库的某一分支。GitHub" +"就会从该分支将内容发布到GitHub Pages上。" + +#: ../../tips.rst:51 +msgid "" +"**Publishing with a custom GitHub Actions workflow:** just push the " +"source files of your Pelican site to your GitHub repo's default branch " +"and have a custom GitHub Actions workflow run ``pelican`` for you to " +"generate the output directory and publish it to your GitHub Pages site. " +"This way you don't need to run ``pelican`` locally. You can even edit " +"your site's source files using GitHub's web interface and any changes " +"that you commit will be published." +msgstr "**从自定义GitHub Actions工作流发布:** 将内容源文件推送到GitHub仓库的默认分支,然后依靠GitHub Actions" +"工作流执行 ``pelican`` 以生成输出文件夹,最后将其发布到你的GitHub Pages站点。此种方法下就无需在本地执行 ``pelican`` " +"命令了。甚至可以直接在GitHub的网页中在线修改站点内容源文件。" + +#: ../../tips.rst:60 +msgid "Publishing a Project Site to GitHub Pages from a Branch" +msgstr "从某一分支发布项目站点到GitHub Pages" + +#: ../../tips.rst:62 +msgid "" +"To publish a Pelican site as a Project Page you need to *push* the " +"content of the ``output`` dir generated by Pelican to a repository's " +"``gh-pages`` branch on GitHub." +msgstr "要将Pelican站点发布为项目页面,你需要将Pelican生成的 ``output`` 目录 **push** 到GitHub仓库" +"的 ``gh-pages`` 分支。" + +#: ../../tips.rst:66 +msgid "" +"The excellent `ghp-import `_, which" +" can be installed with ``pip``, makes this process really easy." +msgstr "可通过 ``pip`` 安装的 `ghp-import `_ 使这一步变得非常简单。" + +#: ../../tips.rst:69 +msgid "" +"For example, if the source of your Pelican site is contained in a GitHub " +"repository, and if you want to publish that Pelican site in the form of " +"Project Pages to this repository, you can then use the following::" +msgstr "例如,当Pelican站点的源文件已经包含在GitHub仓库中时,可以将其作为此仓库的项目页面:" + +#: ../../tips.rst:77 +msgid "" +"The ``ghp-import output`` command updates the local ``gh-pages`` branch " +"with the content of the ``output`` directory (creating the branch if it " +"doesn't already exist). The ``git push origin gh-pages`` command updates " +"the remote ``gh-pages`` branch, effectively publishing the Pelican site." +msgstr "``ghp-import output`` 命令会用 ``output`` 目录下的内容更新本地的 ``gh-pages`` 分支(如果此分支不存在" +"则会先创建)。接着再用 ``git push origin gh-pages`` 命令更新远程分支 ``gh-pages`` ,如此就能够发布Pelican站点了。" + +#: ../../tips.rst:84 +msgid "" +"The ``github`` target of the Makefile (and the ``gh_pages`` task of " +"``tasks.py``) created by the ``pelican-quickstart`` command publishes the" +" Pelican site as Project Pages, as described above." +msgstr "``pelican-quickstart`` 在Makefile文件中所生成的 ``github`` 目标(以及为 ``gh_pages`` 任务生成的 ``tasks.py`` )" +"使得Pelican站点能像上面描述的那样被发布为项目页面。" + +#: ../../tips.rst:89 +msgid "Publishing a User Site to GitHub Pages from a Branch" +msgstr "从某一分支发布用户站点到GitHub Pages" + +#: ../../tips.rst:91 +msgid "" +"To publish a Pelican site in the form of User Pages, you need to *push* " +"the content of the ``output`` dir generated by Pelican to the ``master`` " +"branch of your ``.github.io`` repository on GitHub." +msgstr "要以用户页面形式发布Pelican站点,你需要将Pelican生成的 ``output`` 目录内容 **push** 到 ``.github.io`` " +"仓库的 ``master`` 分支上。" + +#: ../../tips.rst:95 +msgid "Again, you can take advantage of ``ghp-import``::" +msgstr "同样的,此处也可以使用 ``ghp-import`` :" + +#: ../../tips.rst:101 +msgid "" +"The ``git push`` command pushes the local ``gh-pages`` branch (freshly " +"updated by the ``ghp-import`` command) to the ``elemoine.github.io`` " +"repository's ``master`` branch on GitHub." +msgstr "``git push`` 命令将本地的 ``gh-pages`` 分支(此分支在刚刚通过 ``ghp-import`` 命令进行了更新)" +"push到了GitHub仓库 ``elemoine.github.io`` 的 ``master`` 分支。" + +#: ../../tips.rst:107 +msgid "" +"To publish your Pelican site as User Pages, feel free to adjust the " +"``github`` target of the Makefile." +msgstr "要将Pelican站点发布为用户页面,可以根据需要修改Makefile中的 ``github`` 目标" + +#: ../../tips.rst:110 +msgid "" +"Another option for publishing to User Pages is to generate the output " +"files in the root directory of the project." +msgstr "发布用户页面的另一种方法就是将输出文件生成在项目的根目录下。" + +#: ../../tips.rst:113 +msgid "" +"For example, your main project folder is ``.github.io`` and you" +" can create the Pelican project in a subdirectory called ``Pelican``. " +"Then from inside the ``Pelican`` folder you can run::" +msgstr "例如,项目的主文件夹是 ``.github.io`` ,你可以在子目录 ``Pelican`` 中创建一个Pelican项目。" +"然后你可以在这个 ``Pelican`` 文件夹中执行下面的命令:" + +#: ../../tips.rst:119 +msgid "" +"Now you can push the whole project ``.github.io`` to the master" +" branch of your GitHub repository::" +msgstr "接着可以将整个项目 ``.github.io`` push到GitHub仓库的master分支中:" + +#: ../../tips.rst:124 +msgid "(assuming origin is set to your remote repository)." +msgstr "(此处假设远程仓库命名为origin)。" + +#: ../../tips.rst:127 +msgid "Publishing to GitHub Pages Using a Custom GitHub Actions Workflow" +msgstr "使用自定义GitHub Actions工作流将站点发布GitHub Pages中" + +#: ../../tips.rst:129 +msgid "" +"Pelican comes with a `custom workflow " +"`_" +" for publishing a Pelican site. To use it:" +msgstr "Pelican已经给你准备了一份 `自定义工作流 " +"`_ ," +"你可以直接使用此工作流发布站点:" + +#: ../../tips.rst:132 +msgid "" +"Enable GitHub Pages in your repo: go to **Settings → Pages** and choose " +"**GitHub Actions** for the **Source** setting." +msgstr "首先为仓库开启GitHub Pages: **Settings → Pages** 中有个 **Source** 设置项," +"将其选择为 **GitHub Actions** 。" + +#: ../../tips.rst:135 +msgid "" +"Commit a ``.github/workflows/pelican.yml`` file to your repo with these " +"contents:" +msgstr "往你的仓库中commit一个 ``.github/workflows/pelican.yml`` 文件,文件内容如下:" + +#: ../../tips.rst:154 +msgid "" +"Go to the **Actions** tab in your repo " +"(``https://github.com///actions``) and you should " +"see a **Deploy to GitHub Pages** action running." +msgstr "选中仓库的 **Actions** 标签栏( ``https://github.com///actions`` )," +"此时你应该会看到已经有一个名为 **Deploy to GitHub Pages** 的action正在运行。" + +#: ../../tips.rst:158 +msgid "" +"Once the action completes you should see your Pelican site deployed at " +"your repo's GitHub Pages URL: ``https://.github.io`` for a user" +" or organization site or ``https://.github.io/>`` " +"for a project site." +msgstr "当此action执行完成,就能够通过仓库的GitHub Pages地址 ``https://.github.io`` 看到部署好了" +"的用户或组织站点了,对于项目站点,通过 ``https://.github.io/`` 访问" + +#: ../../tips.rst:163 +msgid "Notes:" +msgstr "注意事项:" + +#: ../../tips.rst:165 +msgid "" +"You don't need to set ``SITEURL`` in your Pelican settings: the workflow " +"will set it for you" +msgstr "无需在Pelican配置文件中设置 ``SITEURL`` ,工作流会帮你进行设置。" + +#: ../../tips.rst:168 +msgid "" +"You don't need to commit your ``--output`` / ``OUTPUT_PATH`` directory " +"(``output/``) to git: the workflow will run ``pelican`` to build the " +"output directory for you on GitHub Actions" +msgstr "无需commit ``--output`` 或 ``OUTPUT_PATH`` 目录( ``output/`` ):工作流会自己执行 ``pelican`` 命令" +"来构建输出目录。" + +#: ../../tips.rst:172 +msgid "" +"See `GitHub's docs about reusable workflows " +"`_ " +"for more information." +msgstr "更多信息请参阅 `GitHub可重用工作流文档 `_ 。" + +#: ../../tips.rst:175 +msgid "" +"A number of optional inputs can be added to the ``with:`` block when " +"calling the workflow:" +msgstr "有一些可选输入可以添加到工作流的 ``with:`` 块中:" + +#: ../../tips.rst:179 +msgid "Name" +msgstr "名称" + +#: ../../tips.rst:179 +msgid "Required" +msgstr "是否必需" + +#: ../../tips.rst:179 +msgid "Description" +msgstr "描述" + +#: ../../tips.rst:179 +msgid "Type" +msgstr "值的类型" + +#: ../../tips.rst:179 +msgid "Default" +msgstr "默认值" + +#: ../../tips.rst:181 +msgid "settings" +msgstr "settings" + +#: ../../tips.rst:181 +msgid "Yes" +msgstr "是" + +#: ../../tips.rst:181 +msgid "" +"The path to your Pelican settings file (``pelican``'s ``--settings`` " +"option), for example: ``\"publishconf.py\"``" +msgstr "Pelican配置文件的路径(会被用户 ``pelican`` 命令的 ``--settings`` 选项),例如 ``\"publishconf.py\"`` 。" + +#: ../../tips.rst:181 ../../tips.rst:186 ../../tips.rst:193 +msgid "string" +msgstr "string" + +#: ../../tips.rst:186 +msgid "requirements" +msgstr "requirements" + +#: ../../tips.rst:186 ../../tips.rst:193 +msgid "No" +msgstr "否" + +#: ../../tips.rst:186 +msgid "" +"The Python requirements to install, for example to enable markdown and " +"typogrify use: ``\"pelican[markdown] typogrify\"`` or if you have a " +"requirements file: ``\"-r requirements.txt\"``" +msgstr "需要安装的Python模块,例如要开启markdown和typogrify,可指定 ``\"pelican[markdown] typogrify\"`` ," +"或者可以指定一个requirements文件: ``\"-r requirements.txt\"`` " + +#: ../../tips.rst:186 +msgid "``\"pelican\"``" +msgstr "``\"pelican\"``" + +#: ../../tips.rst:193 +msgid "output-path" +msgstr "output-path" + +#: ../../tips.rst:193 +msgid "Where to output the generated files (``pelican``'s ``--output`` option)" +msgstr "生成文件的输出位置(会被用于 ``pelican`` 命令的 ``--output`` 选项)" + +#: ../../tips.rst:193 +msgid "``\"output/\"``" +msgstr "``\"output/\"``" + +#: ../../tips.rst:198 +msgid "For example:" +msgstr "一个例子:" + +#: ../../tips.rst:210 +msgid "" +"GitHub Pages will display the custom 404 page described above, as noted " +"in the relevant `GitHub docs " +"`_." +msgstr "如果按前述进行配置,GitHub Pages是能够正确显示自定义的404页面的,相关内容在 `GitHub的文档中 " +"`_ 也有提到。" + +#: ../../tips.rst:214 +msgid "Update your site on each commit" +msgstr "在每次commit后都更新站点" + +#: ../../tips.rst:216 +msgid "" +"To automatically update your Pelican site on each commit, you can create " +"a post-commit hook. For example, you can add the following to " +"``.git/hooks/post-commit``::" +msgstr "要想在每次commit后自动更新Pelican站点,你可以创建一个post-commit钩子。例如,可以将下面的内容保存" +"为 ``.git/hooks/post-commit`` :" + +#: ../../tips.rst:223 +msgid "Copy static files to the root of your site" +msgstr "将静态文件拷贝到站点根目录" + +#: ../../tips.rst:225 +msgid "" +"To use a `custom domain `_ with GitHub Pages, you need to put the " +"domain of your site (e.g., ``blog.example.com``) inside a ``CNAME`` file " +"at the root of your site. To do this, create the ``content/extra/`` " +"directory and add a ``CNAME`` file to it. Then use the ``STATIC_PATHS`` " +"setting to tell Pelican to copy this file to your output directory. For " +"example::" +msgstr "要将`自定义域名 `_ " +"与GitHub Pages一起使用,需要将站点的域名(例如 ``blog.example.com`` )添加到站点根目录的 ``CNAME`` 文件中。" +"为此,请创建 ``content/extra/`` 目录,并在里面添加一个 ``CNAME`` 文件。然后使用Pelican的 ``STATIC_PATHS`` " +"来告诉Pelican将此文件复制到输出目录:" + +#: ../../tips.rst:236 +msgid "Note: use forward slashes, ``/``, even on Windows." +msgstr "请注意:务必使用正斜杠 ``/`` ,在Windows上也是。" + +#: ../../tips.rst:238 +msgid "" +"You can also use the ``EXTRA_PATH_METADATA`` mechanism to place a " +"``favicon.ico`` or ``robots.txt`` at the root of any site." +msgstr "利用 ``EXTRA_PATH_METADATA`` 机制,你可以将 ``favicon.ico`` 或 ``robots.txt`` 也拷贝到站点的根目录下。" + +#: ../../tips.rst:242 +msgid "How to add YouTube or Vimeo Videos" +msgstr "如何添加YouTube或Vimeo视频" + +#: ../../tips.rst:244 +msgid "" +"The easiest way is to paste the embed code of the video from these sites " +"directly into your source content." +msgstr "最简单的方法是将这些网站的视频嵌入代码直接粘贴到您的源内容文件中。" + +#: ../../tips.rst:247 +msgid "" +"Alternatively, you can also use Pelican plugins like ``liquid_tags``, " +"``pelican_youtube``, or ``pelican_vimeo`` to embed videos in your " +"content." +msgstr "或者,您还可以使用例如 ``liquid_tags`` 、``pelican_youtube`` 或 ``pelican_vimeo`` 等Pelican插件" +"将视频嵌入。" + +#: ../../tips.rst:250 +msgid "" +"Moreover, markup languages like reST and Markdown have plugins that let " +"you embed videos in the markup. You can use `reST video directive " +"`_ for reST or `mdx_video plugin " +"`_ for Markdown." +msgstr "此外,像reST和 Markdown这样的标记语言都有对应插件可以让你在其中嵌入视频。可以使用 `reST的视频指令 " +"`_ 或者 `Markdown的mdx_video插件 `_ 。" + +#: ../../tips.rst:257 +msgid "Develop Locally Using SSL" +msgstr "在本地使用SSL进行开发" + +#: ../../tips.rst:259 +msgid "Here's how you can set up your local pelican server to support SSL." +msgstr "以下描述了如何在本地Pelican服务器上配置SSL。" + +#: ../../tips.rst:261 +msgid "" +"First, create a self-signed certificate and key using ``openssl`` (this " +"creates ``cert.pem`` and ``key.pem``)::" +msgstr "首先,通过 ``openssl`` 创建自签名的证书和密钥,这会生成 ``cert.pem`` 和 ``key.pem`` 文件:" + +#: ../../tips.rst:265 +msgid "" +"And use this command to launch the server (the server starts within your " +"``output`` directory)::" +msgstr "接着使用下面的命令来开启服务器(此服务器会在 ``output`` 目录下开启):" + +#: ../../tips.rst:269 +msgid "If you are using ``develop-server.sh``, add this to the top::" +msgstr "如果你使用的是 ``develop-server.sh`` 脚本,在脚本的开头添加:" + +#: ../../tips.rst:274 +msgid "and modify the ``pelican.server`` line as follows::" +msgstr "然后修改按照下述修改 ``pelican.server`` 一行:" + +#~ msgid "Publishing to GitHub" +#~ msgstr "" + +#~ msgid "" +#~ "`GitHub Pages " +#~ "`_ offer " +#~ "an easy and convenient way to " +#~ "publish Pelican sites. There are `two" +#~ " types of GitHub Pages " +#~ "`_: *Project Pages* and" +#~ " *User Pages*. Pelican sites can be" +#~ " published as both Project Pages and" +#~ " User Pages." +#~ msgstr "" + +#~ msgid "Project Pages" +#~ msgstr "" + +#~ msgid "User Pages" +#~ msgstr ""