merge pot files.

This commit is contained in:
Julien Palard 2017-12-01 07:48:13 +01:00
commit 707f05d2d7

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2017-11-21 20:38+0100\n"
"Last-Translator: Hugo Ludmann <ludmann.h@gmail.com>\n"
"Language-Team: \n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Argparse Tutorial"
msgstr "Tutoriel Argparse"
#: ../Doc/howto/argparse.rst:0
msgid "author"
msgstr ""
#: ../Doc/howto/argparse.rst:5
msgid "Tshepang Lekhonkhobe"
msgstr "Tshepang Lekhonkhobe"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2017-08-10 00:58+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -21,14 +21,14 @@ msgstr ""
msgid "Argument Clinic How-To"
msgstr ""
#: ../Doc/howto/clinic.rst:0
msgid "author"
msgstr ""
#: ../Doc/howto/clinic.rst:7
msgid "Larry Hastings"
msgstr ""
#: ../Doc/howto/clinic.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/clinic.rst:12
msgid ""
"Argument Clinic is a preprocessor for CPython C files. Its purpose is to "
@ -2432,3 +2432,6 @@ msgid ""
"Since Python comments are different from C comments, Argument Clinic blocks "
"embedded in Python files look slightly different. They look like this:"
msgstr ""
#~ msgid "Abstract"
#~ msgstr "Résumé"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,14 +21,14 @@ msgstr ""
msgid "Porting Extension Modules to Python 3"
msgstr ""
#: ../Doc/howto/cporting.rst:0
msgid "author"
msgstr ""
#: ../Doc/howto/cporting.rst:9
msgid "Benjamin Peterson"
msgstr "Benjamin Peterson"
#: ../Doc/howto/cporting.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/cporting.rst:14
msgid ""
"Although changing the C-API was not one of Python 3's objectives, the many "
@ -190,3 +190,6 @@ msgid ""
"<http://cython.org/>`_. It translates a Python-like language to C. The "
"extension modules it creates are compatible with Python 3 and Python 2."
msgstr ""
#~ msgid "Abstract"
#~ msgstr "Résumé"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,18 +21,22 @@ msgstr ""
msgid "Curses Programming with Python"
msgstr ""
#: ../Doc/howto/curses.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/curses.rst:7
msgid "A.M. Kuchling, Eric S. Raymond"
msgstr ""
#: ../Doc/howto/curses.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/curses.rst:8
msgid "2.04"
msgstr ""
#: ../Doc/howto/curses.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/curses.rst:13
msgid ""
"This document describes how to use the :mod:`curses` extension module to "
@ -731,5 +735,5 @@ msgid ""
"demonstrating some applications written using Urwid."
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"
#~ msgid "Abstract"
#~ msgstr "Résumé"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,16 +21,20 @@ msgstr ""
msgid "Descriptor HowTo Guide"
msgstr ""
#: ../Doc/howto/descriptor.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/descriptor.rst:5
msgid "Raymond Hettinger"
msgstr ""
#: ../Doc/howto/descriptor.rst:6
msgid "<python at rcn dot com>"
#: ../Doc/howto/descriptor.rst:0
msgid "Contact"
msgstr ""
#: ../Doc/howto/descriptor.rst:0
msgid "Contents"
#: ../Doc/howto/descriptor.rst:6
msgid "<python at rcn dot com>"
msgstr ""
#: ../Doc/howto/descriptor.rst:11
@ -247,8 +251,8 @@ msgstr ""
msgid ""
"The protocol is simple and offers exciting possibilities. Several use cases "
"are so common that they have been packaged into individual function calls. "
"Properties, bound and unbound methods, static methods, and class methods are "
"all based on the descriptor protocol."
"Properties, bound methods, static methods, and class methods are all based "
"on the descriptor protocol."
msgstr ""
#: ../Doc/howto/descriptor.rst:188
@ -302,8 +306,8 @@ msgstr ""
#: ../Doc/howto/descriptor.rst:268
msgid ""
"Class dictionaries store methods as functions. In a class definition, "
"methods are written using :keyword:`def` and :keyword:`lambda`, the usual "
"tools for creating functions. The only difference from regular functions is "
"methods are written using :keyword:`def` or :keyword:`lambda`, the usual "
"tools for creating functions. Methods only differ from regular functions in "
"that the first argument is reserved for the object instance. By Python "
"convention, the instance reference is called *self* but may be called *this* "
"or any other variable name."
@ -313,47 +317,26 @@ msgstr ""
msgid ""
"To support method calls, functions include the :meth:`__get__` method for "
"binding methods during attribute access. This means that all functions are "
"non-data descriptors which return bound or unbound methods depending whether "
"they are invoked from an object or a class. In pure python, it works like "
"this::"
"non-data descriptors which return bound methods when they are invoked from "
"an object. In pure python, it works like this::"
msgstr ""
#: ../Doc/howto/descriptor.rst:287
#: ../Doc/howto/descriptor.rst:288
msgid ""
"Running the interpreter shows how the function descriptor works in practice::"
msgstr ""
#: ../Doc/howto/descriptor.rst:301
msgid ""
"The output suggests that bound and unbound methods are two different types. "
"While they could have been implemented that way, the actual C implementation "
"of :c:type:`PyMethod_Type` in :source:`Objects/classobject.c` is a single "
"object with two different representations depending on whether the :attr:"
"`im_self` field is set or is *NULL* (the C equivalent of ``None``)."
msgstr ""
#: ../Doc/howto/descriptor.rst:307
msgid ""
"Likewise, the effects of calling a method object depend on the :attr:"
"`im_self` field. If set (meaning bound), the original function (stored in "
"the :attr:`im_func` field) is called as expected with the first argument set "
"to the instance. If unbound, all of the arguments are passed unchanged to "
"the original function. The actual C implementation of :func:"
"`instancemethod_call()` is only slightly more complex in that it includes "
"some type checking."
msgstr ""
#: ../Doc/howto/descriptor.rst:316
#: ../Doc/howto/descriptor.rst:326
msgid "Static Methods and Class Methods"
msgstr ""
#: ../Doc/howto/descriptor.rst:318
#: ../Doc/howto/descriptor.rst:328
msgid ""
"Non-data descriptors provide a simple mechanism for variations on the usual "
"patterns of binding functions into methods."
msgstr ""
#: ../Doc/howto/descriptor.rst:321
#: ../Doc/howto/descriptor.rst:331
msgid ""
"To recap, functions have a :meth:`__get__` method so that they can be "
"converted to a method when accessed as attributes. The non-data descriptor "
@ -361,51 +344,51 @@ msgid ""
"f(*args)`` becomes ``f(*args)``."
msgstr ""
#: ../Doc/howto/descriptor.rst:326
#: ../Doc/howto/descriptor.rst:336
msgid "This chart summarizes the binding and its two most useful variants:"
msgstr ""
#: ../Doc/howto/descriptor.rst:329
#: ../Doc/howto/descriptor.rst:339
msgid "Transformation"
msgstr ""
#: ../Doc/howto/descriptor.rst:329
#: ../Doc/howto/descriptor.rst:339
msgid "Called from an Object"
msgstr ""
#: ../Doc/howto/descriptor.rst:329
#: ../Doc/howto/descriptor.rst:339
msgid "Called from a Class"
msgstr ""
#: ../Doc/howto/descriptor.rst:332
#: ../Doc/howto/descriptor.rst:342
msgid "function"
msgstr "fonction"
#: ../Doc/howto/descriptor.rst:332
#: ../Doc/howto/descriptor.rst:342
msgid "f(obj, \\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:332 ../Doc/howto/descriptor.rst:334
#: ../Doc/howto/descriptor.rst:342 ../Doc/howto/descriptor.rst:344
msgid "f(\\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:334
#: ../Doc/howto/descriptor.rst:344
msgid "staticmethod"
msgstr ""
#: ../Doc/howto/descriptor.rst:336
#: ../Doc/howto/descriptor.rst:346
msgid "classmethod"
msgstr ""
#: ../Doc/howto/descriptor.rst:336
#: ../Doc/howto/descriptor.rst:346
msgid "f(type(obj), \\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:336
#: ../Doc/howto/descriptor.rst:346
msgid "f(klass, \\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:339
#: ../Doc/howto/descriptor.rst:349
msgid ""
"Static methods return the underlying function without changes. Calling "
"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object."
@ -414,13 +397,13 @@ msgid ""
"a class."
msgstr ""
#: ../Doc/howto/descriptor.rst:345
#: ../Doc/howto/descriptor.rst:355
msgid ""
"Good candidates for static methods are methods that do not reference the "
"``self`` variable."
msgstr ""
#: ../Doc/howto/descriptor.rst:348
#: ../Doc/howto/descriptor.rst:358
msgid ""
"For instance, a statistics package may include a container class for "
"experimental data. The class provides normal methods for computing the "
@ -432,26 +415,26 @@ msgid ""
"``s.erf(1.5) --> .9332`` or ``Sample.erf(1.5) --> .9332``."
msgstr ""
#: ../Doc/howto/descriptor.rst:357
#: ../Doc/howto/descriptor.rst:367
msgid ""
"Since staticmethods return the underlying function with no changes, the "
"example calls are unexciting::"
msgstr ""
#: ../Doc/howto/descriptor.rst:370
#: ../Doc/howto/descriptor.rst:380
msgid ""
"Using the non-data descriptor protocol, a pure Python version of :func:"
"`staticmethod` would look like this::"
msgstr ""
#: ../Doc/howto/descriptor.rst:382
#: ../Doc/howto/descriptor.rst:392
msgid ""
"Unlike static methods, class methods prepend the class reference to the "
"argument list before calling the function. This format is the same for "
"whether the caller is an object or a class::"
msgstr ""
#: ../Doc/howto/descriptor.rst:397
#: ../Doc/howto/descriptor.rst:407
msgid ""
"This behavior is useful whenever the function only needs to have a class "
"reference and does not care about any underlying data. One use for "
@ -460,11 +443,11 @@ msgid ""
"keys. The pure Python equivalent is::"
msgstr ""
#: ../Doc/howto/descriptor.rst:413
#: ../Doc/howto/descriptor.rst:423
msgid "Now a new dictionary of unique keys can be constructed like this::"
msgstr ""
#: ../Doc/howto/descriptor.rst:418
#: ../Doc/howto/descriptor.rst:428
msgid ""
"Using the non-data descriptor protocol, a pure Python version of :func:"
"`classmethod` would look like this::"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,10 +21,18 @@ msgstr ""
msgid "Functional Programming HOWTO"
msgstr ""
#: ../Doc/howto/functional.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/functional.rst:5
msgid "A. M. Kuchling"
msgstr ""
#: ../Doc/howto/functional.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/functional.rst:6
msgid "0.32"
msgstr ""
@ -1368,6 +1376,3 @@ msgid ""
":pep:`342`: \"Coroutines via Enhanced Generators\" describes the new "
"generator features in Python 2.5."
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Instrumenting CPython with DTrace and SystemTap"
msgstr ""
#: ../Doc/howto/instrumentation.rst:0
msgid "author"
msgstr ""
#: ../Doc/howto/instrumentation.rst:9
msgid "David Malcolm"
msgstr ""

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "An introduction to the ipaddress module"
msgstr ""
#: ../Doc/howto/ipaddress.rst:0
msgid "author"
msgstr ""
#: ../Doc/howto/ipaddress.rst:11
msgid "Peter Moody"
msgstr ""
@ -29,10 +33,6 @@ msgstr ""
msgid "Nick Coghlan"
msgstr ""
#: ../Doc/howto/ipaddress.rst:0
msgid "Overview"
msgstr ""
#: ../Doc/howto/ipaddress.rst:16
msgid ""
"This document aims to provide a gentle introduction to the :mod:`ipaddress` "

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Logging Cookbook"
msgstr ""
#: ../Doc/howto/logging-cookbook.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/logging-cookbook.rst:7
msgid "Vinay Sajip <vinay_sajip at red-dove dot com>"
msgstr ""

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Logging HOWTO"
msgstr ""
#: ../Doc/howto/logging.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/logging.rst:5
msgid "Vinay Sajip <vinay_sajip at red-dove dot com>"
msgstr ""

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,14 +21,14 @@ msgstr ""
msgid "Porting Python 2 Code to Python 3"
msgstr ""
#: ../Doc/howto/pyporting.rst:0
msgid "author"
msgstr ""
#: ../Doc/howto/pyporting.rst:7
msgid "Brett Cannon"
msgstr ""
#: ../Doc/howto/pyporting.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/pyporting.rst:11
msgid ""
"With Python 3 being the future of Python while Python 2 is still in active "
@ -631,3 +631,6 @@ msgid ""
"binary data, helping to make sure everything functions as expected in both "
"versions of Python."
msgstr ""
#~ msgid "Abstract"
#~ msgstr "Résumé"

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,14 +21,14 @@ msgstr ""
msgid "Socket Programming HOWTO"
msgstr ""
#: ../Doc/howto/sockets.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/sockets.rst:7
msgid "Gordon McMillan"
msgstr ""
#: ../Doc/howto/sockets.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/sockets.rst:12
msgid ""
"Sockets are used nearly everywhere, but are one of the most severely "
@ -475,3 +475,6 @@ msgid ""
"differently on Windows. In fact, on Windows I usually use threads (which "
"work very, very well) with my sockets."
msgstr ""
#~ msgid "Abstract"
#~ msgstr "Résumé"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,10 +21,18 @@ msgstr ""
msgid "Sorting HOW TO"
msgstr ""
#: ../Doc/howto/sorting.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/sorting.rst:6
msgid "Andrew Dalke and Raymond Hettinger"
msgstr ""
#: ../Doc/howto/sorting.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/sorting.rst:7
msgid "0.1"
msgstr ""
@ -311,6 +319,3 @@ msgid ""
"grades are stored in a dictionary, they can be used to sort a separate list "
"of student names:"
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Unicode HOWTO"
msgstr ""
#: ../Doc/howto/unicode.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/unicode.rst:7
msgid "1.12"
msgstr ""
@ -906,6 +910,3 @@ msgid ""
"Gedminas, Kent Johnson, Ken Krugler, Marc-André Lemburg, Martin von Löwis, "
"Terry J. Reedy, Chad Whitacre."
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "HOWTO Fetch Internet Resources Using The urllib Package"
msgstr ""
#: ../Doc/howto/urllib2.rst:0
msgid "Author"
msgstr ""
#: ../Doc/howto/urllib2.rst:7
msgid "`Michael Foord <http://www.voidspace.org.uk/python/index.shtml>`_"
msgstr ""
@ -36,10 +40,6 @@ msgstr ""
msgid "Introduction"
msgstr "Introduction"
#: ../Doc/howto/urllib2.rst:0
msgid "Related Articles"
msgstr ""
#: ../Doc/howto/urllib2.rst:22
msgid ""
"You may also find useful the following article on fetching web resources "