msgid ""
msgstr ""
"Project-Id-Version: English (Boost Json Translation (zh_Hans))\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-06 13:36+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English <https://insights.cppalliance.org/weblate/projects/"
"boost-json-documentation-zh_Hans/doc-pages-quick-look-adoc/en/>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.5\n"

#: :12
#, read-only, safe-html, strict-same
msgid ""
"= Quick Look Here we highlight important features through example code to "
"help convey the style of the interface. We begin by including the library "
"header file which brings all the symbols into scope. Alternatively, "
"individual headers may be included to obtain the declarations for specific "
"types:"
msgstr ""
"= Quick Look Here we highlight important features through example code to "
"help convey the style of the interface. We begin by including the library "
"header file which brings all the symbols into scope. Alternatively, "
"individual headers may be included to obtain the declarations for specific "
"types:"

#: :23
#, read-only, safe-html, strict-same
msgid ""
"In order to link your program you will need to link with a built library. "
"Alternatively you can use the header-only configuration simply by including "
"this header file in any __one__ of your new or existing source files:"
msgstr ""
"In order to link your program you will need to link with a built library. "
"Alternatively you can use the header-only configuration simply by including "
"this header file in any __one__ of your new or existing source files:"

#: :45
#, read-only, safe-html, strict-same
msgid "Values"
msgstr "Values"

#: :46
#, read-only, safe-html, strict-same
msgid "Say you want to recreate this JSON object in a container:"
msgstr "Say you want to recreate this JSON object in a container:"

#: :66
#, read-only, safe-html, strict-same
msgid ""
"In this library the types <<ref_array>>, <<ref_object>>, and <<ref_string>> "
"hold JSON arrays, objects, and strings respectively while the type "
"<<ref_value>> is a special variant which can hold any JSON element. Here we "
"construct an empty object and then insert the elements above:"
msgstr ""
"In this library the types <<ref_array>>, <<ref_object>>, and <<ref_string>> "
"hold JSON arrays, objects, and strings respectively while the type "
"<<ref_value>> is a special variant which can hold any JSON element. Here we "
"construct an empty object and then insert the elements above:"

#: :76
#, read-only, safe-html, strict-same
msgid ""
"While keys are strings, the mapped type of objects and the element type of "
"arrays is the aforementioned type <<ref_value>> which can hold any JSON "
"element, as seen in the previous assignments. Instead of building the JSON "
"document using a series of function calls, we can build it in one statement "
"using an initializer list:"
msgstr ""
"While keys are strings, the mapped type of objects and the element type of "
"arrays is the aforementioned type <<ref_value>> which can hold any JSON "
"element, as seen in the previous assignments. Instead of building the JSON "
"document using a series of function calls, we can build it in one statement "
"using an initializer list:"

#: :87
#, read-only, safe-html, strict-same
msgid ""
"When a <<ref_value>>, <<ref_array>>, or <<ref_object>> is assigned or "
"constructed from an initializer list, the creation of the new value happens "
"only once. This makes initializer lists equally efficient as using the other "
"ways to create a value. The types in this library are first-class, "
"supporting copy and move construction and assignment:"
msgstr ""
"When a <<ref_value>>, <<ref_array>>, or <<ref_object>> is assigned or "
"constructed from an initializer list, the creation of the new value happens "
"only once. This makes initializer lists equally efficient as using the other "
"ways to create a value. The types in this library are first-class, "
"supporting copy and move construction and assignment:"

#: :99
#, read-only, safe-html, strict-same
msgid "Allocators"
msgstr "Allocators"

#: :100
#, read-only, safe-html, strict-same
msgid ""
"To permit custom memory allocation strategies, these containers all allow "
"construction with a <<ref_storage_ptr>> which is a smart pointer to a "
"{ref_memory_resource}. The constructor signatures have the same ordering as "
"their `std` equivalents which use {req_Allocator} parameters. Once a "
"container is constructed its memory resource can never change. Here we "
"create an array without performing any dynamic allocations:"
msgstr ""
"To permit custom memory allocation strategies, these containers all allow "
"construction with a <<ref_storage_ptr>> which is a smart pointer to a "
"{ref_memory_resource}. The constructor signatures have the same ordering as "
"their `std` equivalents which use {req_Allocator} parameters. Once a "
"container is constructed its memory resource can never change. Here we "
"create an array without performing any dynamic allocations:"

#: :112
#, read-only, safe-html, strict-same
msgid ""
"The containers in this library enforce the invariant that every element of "
"the container will use the same memory resource:"
msgstr ""
"The containers in this library enforce the invariant that every element of "
"the container will use the same memory resource:"

#: :120
#, read-only, safe-html, strict-same
msgid ""
"When a library type is used as the element type of a PMR container; that is, "
"a container which uses a {ref_polymorphic_allocator}, the memory resource "
"will automatically propagate to the type and all of its children:"
msgstr ""
"When a library type is used as the element type of a PMR container; that is, "
"a container which uses a {ref_polymorphic_allocator}, the memory resource "
"will automatically propagate to the type and all of its children:"

#: :129
#, read-only, safe-html, strict-same
msgid ""
"Up until now we have shown how values may be constructed from a memory "
"resource pointer, where ownership is not transferred. In this case the "
"caller is responsible for ensuring that the lifetime of the resource is "
"extended for the life of the container. Sometimes you want the container to "
"acquire shared ownership of the resource. This is accomplished with "
"<<ref_make_shared_resource>>:"
msgstr ""
"Up until now we have shown how values may be constructed from a memory "
"resource pointer, where ownership is not transferred. In this case the "
"caller is responsible for ensuring that the lifetime of the resource is "
"extended for the life of the container. Sometimes you want the container to "
"acquire shared ownership of the resource. This is accomplished with "
"<<ref_make_shared_resource>>:"

#: :141
#, read-only, safe-html, strict-same
msgid ""
"A counted memory resource will not be destroyed until every container with "
"shared ownership of the resource is destroyed."
msgstr ""
"A counted memory resource will not be destroyed until every container with "
"shared ownership of the resource is destroyed."

#: :145
#, read-only, safe-html, strict-same
msgid "Parsing"
msgstr "Parsing"

#: :146
#, read-only, safe-html, strict-same
msgid ""
"JSON can be parsed into the value container in one step using a free "
"function. In the following snippet, a parse error is indicated by a thrown "
"exception:"
msgstr ""
"JSON can be parsed into the value container in one step using a free "
"function. In the following snippet, a parse error is indicated by a thrown "
"exception:"

#: :154
#, read-only, safe-html, strict-same
msgid "Error codes are also possible:"
msgstr "Error codes are also possible:"

#: :161
#, read-only, safe-html, strict-same
msgid ""
"By default, the parser is strict and only accepts JSON compliant with the "
"standard. However this behavior can be relaxed by filling out an options "
"structure enabling one or more extensions. Here we use a static buffer and "
"enable two non-standard extensions:"
msgstr ""
"By default, the parser is strict and only accepts JSON compliant with the "
"standard. However this behavior can be relaxed by filling out an options "
"structure enabling one or more extensions. Here we use a static buffer and "
"enable two non-standard extensions:"

#: :171
#, read-only, safe-html, strict-same
msgid ""
"The parser in this library implements a https://en.wikipedia.org/wiki/"
"Online_algorithm[__streaming algorithm__]; it can process JSON piece-by-"
"piece, without the requirement that the entire input is available from the "
"start. The parser uses a temporary memory allocation to do its work. If you "
"plan on parsing multiple JSONs, for example in a network server, keeping the "
"same parser instance will allow re-use of this temporary storage, improving "
"performance."
msgstr ""
"The parser in this library implements a https://en.wikipedia.org/wiki/"
"Online_algorithm[__streaming algorithm__]; it can process JSON piece-by-"
"piece, without the requirement that the entire input is available from the "
"start. The parser uses a temporary memory allocation to do its work. If you "
"plan on parsing multiple JSONs, for example in a network server, keeping the "
"same parser instance will allow re-use of this temporary storage, improving "
"performance."

#: :184
#, read-only, safe-html, strict-same
msgid ""
"With strategic use of the right memory resources, parser instance, and "
"calculated upper limits on buffer sizes, it is possible to parse and examine "
"JSON without __any__ dynamic memory allocations. This is explored in more "
"detail in a later section."
msgstr ""
"With strategic use of the right memory resources, parser instance, and "
"calculated upper limits on buffer sizes, it is possible to parse and examine "
"JSON without __any__ dynamic memory allocations. This is explored in more "
"detail in a later section."

#: :190
#, read-only, safe-html, strict-same
msgid "Serializing"
msgstr "Serializing"

#: :191
#, read-only, safe-html, strict-same
msgid ""
"Simple free functions are provided for serializing a <<ref_value>> to a "
"{std_string} containing JSON:"
msgstr ""
"Simple free functions are provided for serializing a <<ref_value>> to a "
"{std_string} containing JSON:"

#: :199
#, read-only, safe-html, strict-same
msgid ""
"The serializer in this library implements a https://en.wikipedia.org/wiki/"
"Online_algorithm[__streaming algorithm__]; it can output JSON a piece at a "
"time, without the requirement that the entire output area is allocated at "
"once:"
msgstr ""
"The serializer in this library implements a https://en.wikipedia.org/wiki/"
"Online_algorithm[__streaming algorithm__]; it can output JSON a piece at a "
"time, without the requirement that the entire output area is allocated at "
"once:"

#: :210
#, read-only, safe-html, strict-same
msgid "Value Conversion"
msgstr "Value Conversion"

#: :211
#, read-only, safe-html, strict-same
msgid "Given a user-defined type:"
msgstr "Given a user-defined type:"

#: :218
#, read-only, safe-html, strict-same
msgid ""
"We can define a conversion from the user-defined type to a <<ref_value>> by "
"defining an overload of `tag_invoke` in the same namespace. This maps "
"`customer` to a JSON object:"
msgstr ""
"We can define a conversion from the user-defined type to a <<ref_value>> by "
"defining an overload of `tag_invoke` in the same namespace. This maps "
"`customer` to a JSON object:"

#: :227
#, read-only, safe-html, strict-same
msgid ""
"This allows us to use the library function <<ref_value_from>> to produce a "
"<<ref_value>> from our type:"
msgstr ""
"This allows us to use the library function <<ref_value_from>> to produce a "
"<<ref_value>> from our type:"

#: :235
#, read-only, safe-html, strict-same
msgid ""
"The library knows what to do with standard containers. Here we convert an "
"array of customers to a value:"
msgstr ""
"The library knows what to do with standard containers. Here we convert an "
"array of customers to a value:"

#: :243
#, read-only, safe-html, strict-same
msgid ""
"To go from JSON to a user-defined type we use <<ref_value_to>>, which uses "
"another overload of `tag_invoke`. This converts a JSON value to a "
"`customer`. It throws an exception if the contents of the value do not match "
"what is expected:"
msgstr ""
"To go from JSON to a user-defined type we use <<ref_value_to>>, which uses "
"another overload of `tag_invoke`. This converts a JSON value to a "
"`customer`. It throws an exception if the contents of the value do not match "
"what is expected:"

#: :253
#, read-only, safe-html, strict-same
msgid ""
"The code above defines the convenience function `extract`, which deduces the "
"types of the struct members. This works, but requires that the struct is "
"{req_DefaultConstructible}. An alternative is to construct the object "
"directly, which is a little more verbose but doesn't require default "
"construction:"
msgstr ""
"The code above defines the convenience function `extract`, which deduces the "
"types of the struct members. This works, but requires that the struct is "
"{req_DefaultConstructible}. An alternative is to construct the object "
"directly, which is a little more verbose but doesn't require default "
"construction:"

#: :263
#, read-only, safe-html, strict-same
msgid "Now we can construct customers from JSON:"
msgstr "Now we can construct customers from JSON:"

#: :270
#, read-only, safe-html, strict-same
msgid ""
"The library's generic algorithms recognize when you are converting a "
"<<ref_value>> to a container which resembles an array or object, so if you "
"wanted to turn a JSON array into a vector of customers you might write:"
msgstr ""
"The library's generic algorithms recognize when you are converting a "
"<<ref_value>> to a container which resembles an array or object, so if you "
"wanted to turn a JSON array into a vector of customers you might write:"
