msgid ""
msgstr ""
"Project-Id-Version: English (Boost Json Translation (zh_Hans))\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-06 20:22+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-conversion-nothrow-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"

#: :10
#, read-only, safe-html, strict-same
msgid ""
"= Non-Throwing Conversions For the case where throwing exceptions is "
"undesirable, Boost.JSON also provides a non-throwing version of "
"<<ref_value_to>>, the function template <<ref_try_value_to>>.  It returns "
"{ref_result}, a specialised variant that either holds a value or an "
"{ref_error_code}."
msgstr ""
"= Non-Throwing Conversions For the case where throwing exceptions is "
"undesirable, Boost.JSON also provides a non-throwing version of "
"<<ref_value_to>>, the function template <<ref_try_value_to>>.  It returns "
"{ref_result}, a specialised variant that either holds a value or an "
"{ref_error_code}."

#: :17
#, read-only, safe-html, strict-same
msgid ""
"There's no non-throwing equivalent for <<ref_value_from>>. This is simply "
"because we haven't yet encountered a situation where <<ref_value_from>> "
"needed to communicate an error to the caller."
msgstr ""
"There's no non-throwing equivalent for <<ref_value_from>>. This is simply "
"because we haven't yet encountered a situation where <<ref_value_from>> "
"needed to communicate an error to the caller."

#: :21
#, read-only, safe-html, strict-same
msgid ""
"The library provides non-throwing conversions for all the categories of "
"types it supports with <<ref_value_to>>. If a user wants to use it with "
"custom types, an overload of `tag_invoke` of this form needs to be provided:"
msgstr ""
"The library provides non-throwing conversions for all the categories of "
"types it supports with <<ref_value_to>>. If a user wants to use it with "
"custom types, an overload of `tag_invoke` of this form needs to be provided:"

#: :25
#, read-only, safe-html, strict-same
msgid ""
"``` result_for<T, value>::type tag_invoke( const try_value_to_tag< T >&, "
"const value& ); ```"
msgstr ""
"``` result_for<T, value>::type tag_invoke( const try_value_to_tag< T >&, "
"const value& ); ```"

#: :30
#, read-only, safe-html, strict-same
msgid ""
"For the class `ip_address` from the section <<custom_conversions>> this "
"overload may look like this:"
msgstr ""
"For the class `ip_address` from the section <<custom_conversions>> this "
"overload may look like this:"

#: :38
#, read-only, safe-html, strict-same
msgid "The overload lets us use `ip_address` with <<ref_try_value_to>>."
msgstr "The overload lets us use `ip_address` with <<ref_try_value_to>>."

#: :45
#, read-only, safe-html, strict-same
msgid ""
"If <<ref_try_value_to>> is used with a type, for which there's no "
"`tag_invoke` overload of the form described in this section, but there is "
"one of the form intended for <<ref_value_to>>, then the library still tries "
"to perform the conversion. It uses the throwing overload, and attempts to "
"convert any thrown exception into an {ref_error_code}. Note, though, that "
"such approach will likely be slower then a dedicated overload."
msgstr ""
"If <<ref_try_value_to>> is used with a type, for which there's no "
"`tag_invoke` overload of the form described in this section, but there is "
"one of the form intended for <<ref_value_to>>, then the library still tries "
"to perform the conversion. It uses the throwing overload, and attempts to "
"convert any thrown exception into an {ref_error_code}. Note, though, that "
"such approach will likely be slower then a dedicated overload."

#: :52
#, read-only, safe-html, strict-same
msgid ""
"The opposite is also true: if there's a `tag_invoke` overload intended for "
"<<ref_try_value_to>>, but not for <<ref_value_to>>, then calling "
"<<ref_value_to>> will invoke the non-throwing overload, then construct a "
"{ref_system_error} from the {ref_error_code} and throw it. Due to these "
"fallbacks, it is recommended that users provide the overload from this "
"section, rather then the other one, if they ever intend to use "
"<<ref_try_value_to>>."
msgstr ""
"The opposite is also true: if there's a `tag_invoke` overload intended for "
"<<ref_try_value_to>>, but not for <<ref_value_to>>, then calling "
"<<ref_value_to>> will invoke the non-throwing overload, then construct a "
"{ref_system_error} from the {ref_error_code} and throw it. Due to these "
"fallbacks, it is recommended that users provide the overload from this "
"section, rather then the other one, if they ever intend to use "
"<<ref_try_value_to>>."
