Skip to content

Translations update from Boost-Weblate#1

Open
whisper67265 wants to merge 59 commits into
local-zh_Hansfrom
translation-zh_Hans-boost-1.91.0
Open

Translations update from Boost-Weblate#1
whisper67265 wants to merge 59 commits into
local-zh_Hansfrom
translation-zh_Hans-boost-1.91.0

Conversation

@whisper67265

@whisper67265 whisper67265 commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Translations update from Boost-Weblate for Boost Beast Translation (zh_Hans)/Doc / Qbk / Version (qbk).

It also includes following components:

Current translation status:

Weblate translation status

Summary by CodeRabbit

  • Documentation
    • Added comprehensive Chinese (Simplified) documentation covering library introduction, examples, core concepts, HTTP messaging, WebSocket protocol, design philosophy, and frequently asked questions to improve accessibility for Chinese-speaking users.

will-cppa added 30 commits June 5, 2026 21:15
will-cppa added 28 commits June 5, 2026 21:15
@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Need the big picture first? Review this PR in Change Stack to see what changed before going file by file.

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request adds comprehensive Chinese (Simplified Hans) documentation for the Boost.Beast C++ HTTP and WebSocket library. It introduces 64 new QuickBook documentation files covering introduction, networking concepts, HTTP and WebSocket protocols, API concepts, design rationale, examples, and release notes—totaling over 7,000 lines of documentation-only content.

Changes

Boost.Beast Chinese (Hans) Documentation

Layer / File(s) Summary
Introduction and Quick Start
doc/qbk/01_intro/*
Quick Look introduction with HTTP and WebSocket client examples, Bishop Fox security review, Autobahn test suite information.
Examples Index and Overview
doc/qbk/02_examples/*
Comprehensive example index listing HTTP/WebSocket client/server variants, advanced dual-protocol servers, and chat server with embedded video.
Core Networking and Asio Refresher
doc/qbk/03_core/1_refresher_zh_Hans.qbk
Foundational networking concepts covering buffers, synchronous/asynchronous I/O, completion handlers, executors, strands, and the universal asynchronous model.
Stream Concepts and Buffer Management
doc/qbk/03_core/2_streams_zh_Hans.qbk, 3_timeouts_zh_Hans.qbk, 4__layers_zh_Hans.qbk, 5_buffers_zh_Hans.qbk, 6_files_zh_Hans.qbk
Beast stream concepts, buffer sequences, dynamic buffers, memory stability, stream layering patterns, and file abstractions.
Timeouts, Composition, and Configuration
doc/qbk/03_core/7_composed_zh_Hans.qbk, 7a_echo_zh_Hans.qbk, 7b_detect_ssl_zh_Hans.qbk, 8_conf_macros_zh_Hans.qbk
Timeout management, rate limiting, composed operations pattern, SSL/TLS shutdown semantics, and preprocessor configuration macros.
SSL/TLS Certificate Management
doc/qbk/03_core/9_ssl_tls_certificate_zh_Hans.qbk, 10_ssl_tls_shutdown_zh_Hans.qbk
CA loading, peer verification, hostname verification, key management, DH parameters, and complete self-issued CA example with OpenSSL commands.
HTTP Protocol Fundamentals
doc/qbk/04_http/01_primer_zh_Hans.qbk
HTTP message structure, request/response roles, start-line, headers, special fields, and Beast handling.
HTTP Message Containers and Bodies
doc/qbk/04_http/02_message_zh_Hans.qbk
Message and header templates, supported body types (buffer, dynamic, empty, file, span, string, vector), and reason phrase handling.
HTTP Stream and Serialization Operations
doc/qbk/04_http/03_streams_zh_Hans.qbk, 04_serializer_streams_zh_Hans.qbk, 05_parser_streams_zh_Hans.qbk, 06_serializer_buffers_zh_Hans.qbk, 07_parser_buffers_zh_Hans.qbk
HTTP read/write operations, DynamicBuffer role, serializer/parser stream and buffer operations, configuration options.
HTTP Chunked Encoding and Custom Extension
doc/qbk/04_http/08_chunked_encoding_zh_Hans.qbk, 09_custom_body_zh_Hans.qbk, 10_custom_parsers_zh_Hans.qbk
Chunked transfer encoding, custom body types, and custom parser implementations.
HTTP Module Assembly and Examples
doc/qbk/04_http/_http_zh_Hans.qbk, 05_http_examples/_http_examples_zh_Hans.qbk
Main HTTP documentation and examples covering body type selection, Expect: 100-continue, HEAD requests, relay, and process output.
WebSocket Protocol Basics
doc/qbk/06_websocket/01_connecting_zh_Hans.qbk, 02_handshaking_zh_Hans.qbk
Connection establishment, client/server handshake, HTTP Upgrade, subprotocol negotiation, keep-alive behavior.
WebSocket Messages and Control Frames
doc/qbk/06_websocket/03_decorator_zh_Hans.qbk, 04_messages_zh_Hans.qbk, 05_control_frames_zh_Hans.qbk
Message semantics, frame composition, text/binary messages, control frames, decorator customization, partial-message streaming.
WebSocket Timeouts, Teardown, and Notes
doc/qbk/06_websocket/06_timeouts_zh_Hans.qbk, 07_teardown_zh_Hans.qbk, 08_notes_zh_Hans.qbk
Timeout mechanisms, teardown customization, dynamic buffer requirements, async support, thread-safety constraints.
Concepts Module
doc/qbk/07_concepts/*
Complete concept definitions for Body, BodyReader/Writer, BufferSequence, DynamicBuffer, Fields, FieldsWriter, File, RatePolicy, and Stream concepts.
Design and Architecture
doc/qbk/08_design/1_http_message_zh_Hans.qbk
HTTP message container design covering template-based modeling and string accessor delegation.
Library Comparison
doc/qbk/08_design/2_http_comparison_zh_Hans.qbk, 3_websocket_zaphoyd_zh_Hans.qbk
Comparative analysis versus cpp-netlib, Boost.HTTP, cpprestsdk, and websocketpp.
Design FAQ and Documentation Scaffold
doc/qbk/08_design/4_faq_zh_Hans.qbk, main_zh_Hans.qbk, release_notes_zh_Hans.qbk, version_zh_Hans.qbk
Frequently asked questions, main documentation scaffold with metadata and imports, release notes, and API version information.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

📚 In Hans tongue flows the Beast so grand,
With HTTP and WebSocket hand in hand,
Concepts clear, from intro to design,
A rabbit's joy to see it align! 🐇✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Translations update from Boost-Weblate' clearly describes the main change: adding Simplified Chinese documentation translations. It is concise and specific to the primary purpose of the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch translation-zh_Hans-boost-1.91.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Note

Due to the large number of review comments, Critical severity comments were prioritized as inline comments.

🟠 Major comments (20)
doc/qbk/07_concepts/BodyReader_zh_Hans.qbk-10-119 (1)

10-119: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Localization content is not translated to zh-Hans in a zh_Hans page.

This file is under *_zh_Hans.qbk, but the section content remains English, which does not satisfy the PR’s stated localization objective for Simplified Chinese docs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/BodyReader_zh_Hans.qbk` around lines 10 - 119, The page
BodyReader_zh_Hans.qbk is still in English; translate the entire section into
Simplified Chinese while preserving code identifiers and symbols (e.g.
BodyReader, is_body_reader, R{h,v}, a.init(n, ec), a.put(b,ec), a.finish(ec),
basic_dynamic_body::reader, basic_file_body::reader, etc.), converting all
headings, prose, bullets, table descriptions, and warnings into zh‑Hans, keeping
technical terms and code snippets verbatim and ensuring the translated text
reads naturally in Simplified Chinese and matches the original structure and
semantics.
doc/qbk/07_concepts/Fields_zh_Hans.qbk-133-139 (1)

133-139: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

set_reason_impl header-type statement is incorrect.

Line 138 says this is called for request headers, but reason-phrase handling is for response headers. This is a semantic contract error in the concept requirements.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/Fields_zh_Hans.qbk` around lines 133 - 139, The docs
incorrectly state that a.set_reason_impl(s) is called for request headers;
update the concept requirement text so it reads that this function is called
only for response headers (reason-phrase handling is for responses), and adjust
the sentence around the a.set_reason_impl(s) description to refer to "response
headers" instead of "request headers" so the semantic contract matches the
actual behavior.
doc/qbk/07_concepts/Fields_zh_Hans.qbk-10-233 (1)

10-233: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

_zh_Hans chapter content is not localized.

The file is designated as Simplified Chinese but the full concept text is English, so this chapter does not satisfy the localization scope of the PR.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/Fields_zh_Hans.qbk` around lines 10 - 233, This chapter
file is still in English; translate the entire content into Simplified Chinese
while preserving all code identifiers and markup (keep tokens like Fields,
is_fields, __FieldsWriter__, get_method_impl, set_method_impl, set_chunked_impl,
set_content_length_impl, set_keep_alive_impl, basic_fields, fields,
concept_Fields, and all link/tag syntax unchanged), including the section
heading, Associated Types, Requirements table (all expression names, semantics
and pre/post-conditions), Exemplar and Models entries; ensure translations keep
the same structure and meaning and do not alter any inline code, links, or
formatting tags.
doc/qbk/07_concepts/FieldsWriter_zh_Hans.qbk-10-99 (1)

10-99: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

_zh_Hans localization file is still English content.

This file is scoped as Simplified Chinese (FieldsWriter_zh_Hans.qbk) but the section body remains English, which breaks the PR’s stated localization objective for this chapter.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/FieldsWriter_zh_Hans.qbk` around lines 10 - 99, The
document FieldsWriter_zh_Hans.qbk is still written in English; translate the
entire section text into Simplified Chinese while preserving all code,
identifier and markup tokens exactly (e.g., FieldsWriter, W::const_buffers_type,
W{f,v,m}, W{f,v,c}, W{f}, a.get(), __ConstBufferSequence__, and examples like
[concept_FieldsWriter] and [link ... basic_fields::writer]); localize headings,
table captions, warnings, and explanatory paragraphs into zh_Hans but do not
modify code fences, symbol names, or link keys.
doc/qbk/07_concepts/File_zh_Hans.qbk-8-180 (1)

8-180: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Localization mismatch: File_zh_Hans.qbk is still English.

This page is expected to be Simplified Chinese per filename and PR scope, but the content remains English.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/File_zh_Hans.qbk` around lines 8 - 180, This file is the
Simplified Chinese localization but still contains English; update
File_zh_Hans.qbk by translating all visible English text (section header "File",
headings "Associated Types", "Requirements", table contents, "Exemplar",
"Models" and the paragraph describing the File concept and all bullet items)
into Simplified Chinese while preserving all QBK markup, inline links (e.g.
references like [*File], [link beast.ref.boost__beast__file_mode], [link
beast.ref.boost__beast__is_file], [concept_File]) and code fragments
(`f.open(p,m,ec)`, `f.read(b,n,ec)`, etc.) exactly as-is so references remain
valid; ensure encoding stays UTF-8 and update any language metadata/comments if
present to reflect zh_Hans.
doc/qbk/07_concepts/_concepts_zh_Hans.qbk-14-24 (1)

14-24: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Concepts index includes wrong file names for zh-Hans build.

_concepts_zh_Hans.qbk includes Body.qbk, Fields.qbk, etc., but this PR adds localized files as *_zh_Hans.qbk. This breaks the localized assembly contract and may pull the wrong language pages (or fail includes, depending on tree layout).

Suggested fix
-[include Body.qbk]
-[include BodyReader.qbk]
-[include BodyWriter.qbk]
-[include BufferSequence.qbk]
-[include BuffersGenerator.qbk]
-[include DynamicBuffer.qbk]
-[include Fields.qbk]
-[include FieldsWriter.qbk]
-[include File.qbk]
-[include RatePolicy.qbk]
-[include Streams.qbk]
+[include Body_zh_Hans.qbk]
+[include BodyReader_zh_Hans.qbk]
+[include BodyWriter_zh_Hans.qbk]
+[include BufferSequence_zh_Hans.qbk]
+[include BuffersGenerator_zh_Hans.qbk]
+[include DynamicBuffer_zh_Hans.qbk]
+[include Fields_zh_Hans.qbk]
+[include FieldsWriter_zh_Hans.qbk]
+[include File_zh_Hans.qbk]
+[include RatePolicy_zh_Hans.qbk]
+[include Streams_zh_Hans.qbk]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/_concepts_zh_Hans.qbk` around lines 14 - 24, The zh-Hans
concepts index file _concepts_zh_Hans.qbk is including the default (English)
files (e.g., Body.qbk, BodyReader.qbk, BodyWriter.qbk, BufferSequence.qbk,
BuffersGenerator.qbk, DynamicBuffer.qbk, Fields.qbk, FieldsWriter.qbk, File.qbk,
RatePolicy.qbk, Streams.qbk); update each include to reference the localized
counterparts (append _zh_Hans to each basename, e.g., Body_zh_Hans.qbk,
Fields_zh_Hans.qbk, etc.) so the localized assembly pulls the correct language
pages and does not mix or fail includes.
doc/qbk/04_http/01_primer_zh_Hans.qbk-12-155 (1)

12-155: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

zh_Hans file content is not localized (still English).

From Line 12 through Line 155, the page content is English, which conflicts with the PR’s stated Simplified Chinese localization objective for _zh_Hans.qbk files. Please replace this file body with zh-Hans text (or sync from the correct Weblate export) before merge.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/04_http/01_primer_zh_Hans.qbk` around lines 12 - 155, The content
between the top header and the endsect (including sections like [heading
Requests], [heading Responses], [heading Body], and the Special Fields table) is
still in English; replace the entire English body with Simplified Chinese
translations (zh-Hans) or sync the file from the correct Weblate export so the
`_zh_Hans.qbk` file contains the localized text only, preserving the same
structure and markup (start-line examples, tables, references, and the final
[endsect]) while translating all visible English strings into zh-Hans.
doc/qbk/04_http/_http_zh_Hans.qbk-201-210 (1)

201-210: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use localized include targets for the zh_Hans aggregator.

Line 201–210 currently includes unsuffixed pages, which will pull the non-localized HTTP chapters instead of the zh_Hans set.

Proposed fix
-[include 01_primer.qbk]
-[include 02_message.qbk]
-[include 03_streams.qbk]
-[include 04_serializer_streams.qbk]
-[include 05_parser_streams.qbk]
-[include 06_serializer_buffers.qbk]
-[include 07_parser_buffers.qbk]
-[include 08_chunked_encoding.qbk]
-[include 09_custom_body.qbk]
-[include 10_custom_parsers.qbk]
+[include 01_primer_zh_Hans.qbk]
+[include 02_message_zh_Hans.qbk]
+[include 03_streams_zh_Hans.qbk]
+[include 04_serializer_streams_zh_Hans.qbk]
+[include 05_parser_streams_zh_Hans.qbk]
+[include 06_serializer_buffers_zh_Hans.qbk]
+[include 07_parser_buffers_zh_Hans.qbk]
+[include 08_chunked_encoding_zh_Hans.qbk]
+[include 09_custom_body_zh_Hans.qbk]
+[include 10_custom_parsers_zh_Hans.qbk]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/04_http/_http_zh_Hans.qbk` around lines 201 - 210, The aggregator
currently includes unsuffixed files (01_primer.qbk, 02_message.qbk,
03_streams.qbk, 04_serializer_streams.qbk, 05_parser_streams.qbk,
06_serializer_buffers.qbk, 07_parser_buffers.qbk, 08_chunked_encoding.qbk,
09_custom_body.qbk, 10_custom_parsers.qbk) which pulls the default
(non-localized) chapters; update each include in _http_zh_Hans.qbk to reference
the localized targets by appending the locale suffix (e.g., replace
01_primer.qbk with 01_primer_zh_Hans.qbk, 02_message.qbk with
02_message_zh_Hans.qbk, etc.) so the aggregator loads the zh_Hans versions.
doc/qbk/08_design/_design_zh_Hans.qbk-70-73 (1)

70-73: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use localized include targets in the zh-Hans design index.

This zh-Hans section currently includes non-localized pages, which will render English content in the Chinese doc flow. Please switch these to the _zh_Hans.qbk variants to keep language consistency.

Suggested fix
-[include 1_http_message.qbk]
-[include 2_http_comparison.qbk]
-[include 3_websocket_zaphoyd.qbk]
-[include 4_faq.qbk]
+[include 1_http_message_zh_Hans.qbk]
+[include 2_http_comparison_zh_Hans.qbk]
+[include 3_websocket_zaphoyd_zh_Hans.qbk]
+[include 4_faq_zh_Hans.qbk]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/08_design/_design_zh_Hans.qbk` around lines 70 - 73, The zh-Hans
design index is including English pages ([include 1_http_message.qbk], [include
2_http_comparison.qbk], [include 3_websocket_zaphoyd.qbk], [include 4_faq.qbk]);
update each include to its localized counterpart (replace 1_http_message.qbk →
1_http_message_zh_Hans.qbk, 2_http_comparison.qbk →
2_http_comparison_zh_Hans.qbk, 3_websocket_zaphoyd.qbk →
3_websocket_zaphoyd_zh_Hans.qbk, 4_faq.qbk → 4_faq_zh_Hans.qbk) so the zh-Hans
index references the Chinese pages and renders localized content.
doc/qbk/main_zh_Hans.qbk-188-199 (1)

188-199: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Localized main scaffold is wired to English modules.

main_zh_Hans.qbk currently includes default .qbk modules, so the generated output will not consistently use zh-Hans content. This should include localized module files.

Suggested fix
-[include release_notes.qbk]
-[include version.qbk]
+[include release_notes_zh_Hans.qbk]
+[include version_zh_Hans.qbk]

-[include 01_intro/_intro.qbk]
-[include 02_examples/_examples.qbk]
-[include 03_core/_core.qbk]
-[include 04_http/_http.qbk]
-[include 05_http_examples/_http_examples.qbk]
-[include 06_websocket/_websocket.qbk]
-[include 07_concepts/_concepts.qbk]
-[include 08_design/_design.qbk]
+[include 01_intro/_intro_zh_Hans.qbk]
+[include 02_examples/_examples_zh_Hans.qbk]
+[include 03_core/_core_zh_Hans.qbk]
+[include 04_http/_http_zh_Hans.qbk]
+[include 05_http_examples/_http_examples_zh_Hans.qbk]
+[include 06_websocket/_websocket_zh_Hans.qbk]
+[include 07_concepts/_concepts_zh_Hans.qbk]
+[include 08_design/_design_zh_Hans.qbk]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/main_zh_Hans.qbk` around lines 188 - 199, The main_zh_Hans.qbk file
is including the default English modules (e.g., [include 01_intro/_intro.qbk],
[include 02_examples/_examples.qbk], [include release_notes.qbk], [include
version.qbk]) so the generated site won’t be in zh-Hans; update each include in
main_zh_Hans.qbk to reference the localized equivalents (for example replace
[include 01_intro/_intro.qbk] with the zh-Hans module name or path such as
[include 01_intro/_intro_zh_Hans.qbk] or a localized folder counterpart), do the
same for release_notes.qbk and version.qbk, and verify the localized files exist
(or add fallbacks) so all includes consistently point to zh-Hans content.
doc/qbk/01_intro/_intro_zh_Hans.qbk-151-151 (1)

151-151: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Point intro include to the zh_Hans quick look page.

Line 151 includes 1_quick_look.qbk, which is the non-localized file. This breaks localized assembly consistency for the zh_Hans intro section.

Suggested fix
-[include 1_quick_look.qbk]
+[include 1_quick_look_zh_Hans.qbk]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/01_intro/_intro_zh_Hans.qbk` at line 151, The zh_Hans intro file
_intro_zh_Hans.qbk currently includes the non-localized file "1_quick_look.qbk";
update that include to point to the localized quick look (e.g.,
"1_quick_look_zh_Hans.qbk" or the appropriate zh_Hans variant) in the include
statement in doc/qbk/01_intro/_intro_zh_Hans.qbk, and if that localized file
does not exist create/rename the localized version so the localized assembly
remains consistent.
doc/qbk/01_intro/1_quick_look_zh_Hans.qbk-41-43 (1)

41-43: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use localized include targets in the zh_Hans page.

Line 41 and Line 43 currently include non-localized files (1a_bishop_fox.qbk, 1b_autobahn.qbk). In this zh_Hans document set, that will pull English content into the localized page.

Suggested fix
-[include 1a_bishop_fox.qbk]
+[include 1a_bishop_fox_zh_Hans.qbk]

-[include 1b_autobahn.qbk]
+[include 1b_autobahn_zh_Hans.qbk]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/01_intro/1_quick_look_zh_Hans.qbk` around lines 41 - 43, The zh_Hans
page is including English source files (1a_bishop_fox.qbk, 1b_autobahn.qbk)
which will pull English content into the localized document; update the include
targets to point to the localized counterparts (e.g., 1a_bishop_fox_zh_Hans.qbk
and 1b_autobahn_zh_Hans.qbk or the localized include path used in this repo) by
replacing the two include lines so they reference the localized filenames or
localized directory so only translated content is pulled into this zh_Hans page.
doc/qbk/03_core/7_composed_zh_Hans.qbk-101-102 (1)

101-102: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Composed-ops chapter includes non-localized example files.

Line 101-102 include 7a_echo.qbk and 7b_detect_ssl.qbk instead of _zh_Hans variants. This breaks locale consistency for the generated zh-Hans docs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/7_composed_zh_Hans.qbk` around lines 101 - 102, The
composed-ops doc imports non-localized examples; in
doc/qbk/03_core/7_composed_zh_Hans.qbk replace the includes of 7a_echo.qbk and
7b_detect_ssl.qbk with their zh_Hans localized counterparts (e.g.,
7a_echo_zh_Hans.qbk and 7b_detect_ssl_zh_Hans.qbk) so the composed-ops chapter
stays consistent with the zh-Hans locale; locate the two include directives and
update the filenames accordingly.
doc/qbk/03_core/_core_zh_Hans.qbk-92-100 (1)

92-100: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Localized section aggregator includes non-localized chapter files.

At Line 92-100 and Line 104, includes reference *.qbk without _zh_Hans suffix. This can pull English pages (or missing files) into the zh-Hans build and breaks localized assembly consistency.

Also applies to: 104-104

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/_core_zh_Hans.qbk` around lines 92 - 100, The localized
aggregator is including non-localized chapter filenames (e.g. [include
1_refresher.qbk], [include 2_streams.qbk], [include 3_timeouts.qbk], [include
4__layers.qbk], [include 5_buffers.qbk], [include 6_files.qbk], [include
7_composed.qbk], [include 9_ssl_tls_certificate.qbk], [include
10_ssl_tls_shutdown.qbk]) which pulls English content into the zh-Hans build;
update each include to reference the localized filenames (append _zh_Hans before
.qbk, e.g. 1_refresher_zh_Hans.qbk) and do the same for the include at line 104,
verifying each localized file exists or providing a localized fallback file
name.
doc/qbk/03_core/5_buffers_zh_Hans.qbk-10-250 (1)

10-250: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

_zh_Hans page is not localized (still English source text).

Line 10 through Line 250 are English prose, but this file is the Simplified Chinese localization target. This breaks the PR objective and will publish the wrong locale content.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/5_buffers_zh_Hans.qbk` around lines 10 - 250, This file
labeled _zh_Hans contains English source text and must be replaced with
Simplified Chinese translations: translate the section heading "Buffer Types",
all prose describing __ConstBufferSequence__/__MutableBufferSequence__, the
table entries (names/descriptions for symbols like buffers_cat,
buffers_cat_view, buffers_prefix, buffers_prefix_view, buffers_range,
buffers_suffix, buffers_to_string, buffer_ref/ref, buffers_adaptor,
flat_buffer/basic_flat_buffer, multi_buffer/basic_multi_buffer,
flat_static_buffer, static_buffer, make_printable, ostream,
buffers_iterator_type, buffers_type, is_const_buffer_sequence,
is_mutable_buffer_sequence and the "Memory stability" table) into zh-Hans,
preserve the markup and links (do not alter identifiers like buffers_cat), and
run the localization validation to ensure the locale header and metadata reflect
zh_Hans.
doc/qbk/03_core/5_buffers_zh_Hans.qbk-172-191 (1)

172-191: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Memory-stability table appears malformed/incomplete.

Line 172 has a stray trailing backtick, and the rows at Line 181-191 appear to provide fewer cells than the header defines. This can corrupt table rendering and misstate guarantees.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/5_buffers_zh_Hans.qbk` around lines 172 - 191, Remove the
stray trailing backtick after "Note that copies always requires a new call to
`data` and `prepare`" and then fix the "Memory stability" table so every row has
exactly the seven columns defined by the header (Name, Allocation, buffer
sequence length, Max Size, Movable, prepare/commit, consume); inspect the
entries for flat_buffer, multi_buffer, flat_static_buffer and static_buffer (the
link labels like beast.ref.boost__beast__flat_buffer,
beast.ref.boost__beast__multi_buffer,
beast.ref.boost__beast__flat_static_buffer,
beast.ref.boost__beast__static_buffer) and add or correct the missing
prepare/commit and consume cells as needed so the table renders correctly.
doc/qbk/03_core/9_ssl_tls_certificate_zh_Hans.qbk-17-217 (1)

17-217: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

zh_Hans page content is still English, not localized.

Line 17 onward is English text, which conflicts with this file’s *_zh_Hans.qbk localization contract and the PR’s translation objective. Please replace with Simplified Chinese content to keep locale consistency in the zh-Hans docs set.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/9_ssl_tls_certificate_zh_Hans.qbk` around lines 17 - 217, The
content under the "A Certificate Authority (CA)..." paragraph through the end
(including headings like [heading Server Certificate], [heading Client
Certificate], [heading Private Key], [heading Self-Signed and Self-Issued
Certificates], [heading Diffie-Hellman (DH) Parameters], [heading A Self-Issued
Certificate Example], and all code blocks/snippets and the [warning] block) is
still English; translate all visible English copy into Simplified Chinese while
preserving all markup, snippet placeholders (e.g., [snippet_core_6],
[snippet_core_7], [snippet_core_8]), inline links/references (e.g., `@boost`:,
RFC/URL references), code fences, and example commands exactly as-is so
formatting and technical references remain unchanged. Ensure headings, bullets,
and the admonition block remain structurally identical but with Chinese text,
and keep the cURL/example command blocks untranslated.
doc/qbk/03_core/10_ssl_tls_shutdown_zh_Hans.qbk-13-67 (1)

13-67: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Localized shutdown page is not translated to Simplified Chinese.

The body content (Line 13 onward) is English despite the *_zh_Hans.qbk target. Please provide Simplified Chinese translation so this chapter matches the zh-Hans documentation set.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/10_ssl_tls_shutdown_zh_Hans.qbk` around lines 13 - 67,
Translate the English content starting from the paragraph about SSL/TLS shutdown
(the text mentioning EOF, truncation attack, exchanging close_notify, and Asio
calls shutdown()/async_shutdown() on ssl::stream) into Simplified Chinese,
including the [section error::stream_truncated] block, the bullet list about
when EOF isn't needed (Content-Length, chunked transfer, no-body responses), the
paragraph about http::read/http::async_read and
net::ssl::error::stream_truncated, the example references [snippet_core_4] and
the "Non-Compliant Peers and Unknown Body Length" heading and following
paragraph (including [snippet_core_5]); keep all code tokens, identifiers
(ssl::stream, shutdown(), async_shutdown(), http::read, http::async_read,
net::ssl::error::stream_truncated), snippet markers, and markup intact while
rendering all explanatory prose into Simplified Chinese.
doc/qbk/04_http/08_chunked_encoding_zh_Hans.qbk-10-263 (1)

10-263: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

_zh_Hans page is still English content, not Simplified Chinese translation.

Lines 10-263 are English and effectively mirror the source chapter, which breaks the localization objective for this PR and causes mixed-language docs in the zh_Hans set. Please replace this page body with the intended Simplified Chinese translation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/04_http/08_chunked_encoding_zh_Hans.qbk` around lines 10 - 263, The
zh_Hans page still contains English content (the block from "For message
payloads..." through the Chunk Parsing Example Output), so replace the entire
English body (lines corresponding to the chunked encoding section, including
headings like [section Chunked Encoding], [heading Serializing Chunks], [heading
Parsing Chunks], all tables and snippet placeholders
[http_snippet_17]..[example_chunk_parsing], and the example input/output blocks)
with a proper Simplified Chinese translation while preserving all markup,
anchors, snippet placeholders, and code block delimiters exactly as-is; ensure
translated text covers the same semantics (chunked transfer encoding,
serializing helpers chunk_body/chunk_header/chunk_last, parser callbacks
on_chunk_header/on_chunk_body, and the example) so the file remains structurally
identical but in Simplified Chinese.
doc/qbk/06_websocket/_websocket_zh_Hans.qbk-14-145 (1)

14-145: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Major issue: _websocket_zh_Hans.qbk is an untranslated copy of _websocket.qbk (byte-for-byte identical).

The Simplified Chinese file doc/qbk/06_websocket/_websocket_zh_Hans.qbk (lines ~14-145, including the WebSocket intro, construction/SSL/non-blocking sections) matches doc/qbk/06_websocket/_websocket.qbk exactly—same size and SHA-256—so Chinese readers will receive English documentation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/06_websocket/_websocket_zh_Hans.qbk` around lines 14 - 145, The file
_websocket_zh_Hans.qbk is a byte-for-byte copy of the English source and must be
replaced with a proper Simplified Chinese translation; open
_websocket_zh_Hans.qbk, remove the English content that duplicates
_websocket.qbk, and insert an accurate Simplified Chinese translation for the
WebSocket intro, Construction, Using SSL and Non-Blocking Mode sections
(preserve code sample placeholders like [code_websocket_1a],
[code_websocket_1h], etc.), ensure the file is saved with UTF-8 encoding and
correct language metadata (zh-Hans) if present, and run the documentation
build/validation to confirm links and include directives still resolve.
🟡 Minor comments (17)
doc/qbk/07_concepts/BodyWriter_zh_Hans.qbk-74-74 (1)

74-74: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix duplicated word in sentence ("will will").

There is a visible typo in the serializer constructor description.

Suggested edit
-        body type will will accept a const reference to a message,
+        body type will accept a const reference to a message,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/BodyWriter_zh_Hans.qbk` at line 74, In the BodyWriter
serializer constructor description in BodyWriter_zh_Hans.qbk, remove the
duplicated word "will will" so the phrase reads "will accept a const reference
to a message" (i.e., replace "will will accept" with "will accept"); update the
sentence around the serializer constructor reference to ensure grammar remains
correct and save the file.
doc/qbk/07_concepts/RatePolicy_zh_Hans.qbk-76-79 (1)

76-79: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

available_write_bytes semantics mention the wrong operation type.

The text says the read operation waits/retries in the available_write_bytes() section; this should refer to the write operation.

Suggested edit
-        If the policy returns a value of zero, the read operation
+        If the policy returns a value of zero, the write operation
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/RatePolicy_zh_Hans.qbk` around lines 76 - 79, The
documentation for RatePolicy's available_write_bytes() incorrectly refers to the
"read" operation; update the text so it refers to the "write" operation instead
(e.g., change "read operation" to "write operation" in the paragraph describing
available_write_bytes()), ensuring the sentence "the write operation will
asynchronously wait until the next timer interval before retrying. When the
retry occurs, this function will be called again." replaces the current wording.
doc/qbk/07_concepts/Fields_zh_Hans.qbk-158-158 (1)

158-158: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Malformed inline-code markup at false.

If \b` is `false, ...is missing the closing backtick afterfalse`, which can break QuickBook formatting.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/Fields_zh_Hans.qbk` at line 158, The inline-code markup
for the boolean literal is malformed: the text shows "If `b` is `false, ..."
missing the closing backtick. Fix the sentence around the variable `b` so the
boolean is properly fenced as `false` (e.g., change "If `b` is `false, the
"chunked"..." to "If `b` is `false`, the \"chunked\"...") ensuring the backticks
around false are balanced and the surrounding punctuation is correct; reference
the variable `b` and the token "chunked" to locate the spot.
doc/qbk/07_concepts/_concepts_zh_Hans.qbk-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Section intro is not localized.

For a _zh_Hans index page, the section description line is still English.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/07_concepts/_concepts_zh_Hans.qbk` at line 12, The section intro
string "This section describes all of the concepts defined by the library." in
the Simplified Chinese index should be localized; replace that English sentence
in _concepts_zh_Hans.qbk with an appropriate Simplified Chinese translation (for
example: "本节介绍库中定义的所有概念。") and ensure it follows the same localization
style/formatting used elsewhere in other _zh_Hans index files (preserve
punctuation, emphasis, and surrounding whitespace).
doc/qbk/04_http/07_parser_buffers_zh_Hans.qbk-23-24 (1)

23-24: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix sentence capitalization typo (“Is used” → “is used”).

Line 23 starts with a capitalized “Is” mid-sentence, which reads as a typo.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/04_http/07_parser_buffers_zh_Hans.qbk` around lines 23 - 24, The
sentence fragment "Is used when the caller knows that there will never be more
data (for example, if the underlying connection is closed)," has incorrect
capitalization; change "Is used" to "is used" in the document text (look for the
exact fragment "Is used when the caller knows that there will never be more
data" in the file doc/qbk/04_http/07_parser_buffers_zh_Hans.qbk) so the sentence
continues with a lowercase "is" mid-sentence.
doc/qbk/08_design/3_websocket_zaphoyd_zh_Hans.qbk-153-153 (1)

153-153: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct the misspelled Asio customization hook name.

Line 153 says bind_allocaotr; it should be bind_allocator.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/08_design/3_websocket_zaphoyd_zh_Hans.qbk` at line 153, Fix the
misspelling of the Asio customization hook: rename the symbol `bind_allocaotr`
to the correct `bind_allocator` wherever it appears (e.g., the mention at line
with `bind_allocaotr`) so dependent lookup and documentation reference the
correct hook name `bind_allocator`.
doc/qbk/05_http_examples/_http_examples_zh_Hans.qbk-40-43 (1)

40-43: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix duplicated wording in the 100-continue explanations.

Line 41 and Line 60 use “indicates that the after sending...”. Drop “the” so the sentence reads correctly.

Also applies to: 59-62

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/05_http_examples/_http_examples_zh_Hans.qbk` around lines 40 - 43,
The sentence explaining the "Expect" header/100-continue contains a duplicated
word ("the") in the phrase "indicates that the after sending..." in the
100-continue explanation; edit the two occurrences (the "Expect field" /
"100-continue" explanation blocks) to remove the extra "the" so the sentence
reads "indicates that after sending the message header..." (fix both instances
referenced in the doc's 100-continue explanation).
doc/qbk/version_zh_Hans.qbk-12-16 (1)

12-16: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct the API version macro description and grammar.

This text has a typo (“it’s own” → “its own”) and currently describes BOOST_BEAST_VERSION as a string source, which is misleading.

Suggested fix
-Beast maintains it's own API version, which is more fine-grained than the
+Beast maintains its own API version, which is more fine-grained than the
 boost release.

-It can be obtained as a string from the `BOOST_BEAST_VERSION` macro 
-or a string through `BOOST_BEAST_VERSION_STRING`.
+It can be obtained as an integer via `BOOST_BEAST_VERSION`
+or as a string via `BOOST_BEAST_VERSION_STRING`.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/version_zh_Hans.qbk` around lines 12 - 16, Fix the grammar and
clarify the macro descriptions: change “it’s own” to “its own”, and correct the
macro explanations so BOOST_BEAST_VERSION is described as the numeric API
version macro (not a string) while BOOST_BEAST_VERSION_STRING is the string
form; update the sentences around BOOST_BEAST_VERSION and
BOOST_BEAST_VERSION_STRING to reflect these exact symbols and their types.
doc/qbk/01_intro/_intro_zh_Hans.qbk-139-140 (1)

139-140: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct typo in credits line.

Line 140 contains Developmnent (typo).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/01_intro/_intro_zh_Hans.qbk` around lines 139 - 140, Fix the typo in
the credits sentence by replacing "Developmnent" with the correct spelling
"Development" in the line containing "Beast development team" (the credits
string referencing Jetbrains s.r.o. and All Product Development Licenses).
doc/qbk/03_core/1_refresher_zh_Hans.qbk-136-136 (1)

136-136: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Polish grammar in two sentences for clarity.

Line 136 (until it encountering) and the allocator/slot sentence around Line 202 have grammar/punctuation issues that make the section harder to read.

Suggested fix
-into a dynamic buffer until it encountering a newline character, using
+into a dynamic buffer until it encounters a newline character, using
-returned by
-[`@boost`:/doc/html/boost_asio/reference/get_associated_allocator.html `net::get_associated_allocator`],
-, an
+returned by
+[`@boost`:/doc/html/boost_asio/reference/get_associated_allocator.html `net::get_associated_allocator`],
+an

Also applies to: 202-206

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/1_refresher_zh_Hans.qbk` at line 136, Fix the grammatical and
punctuation issues in the two sentences called out: change the phrase "until it
encountering a newline character, using" to "until it encounters a newline
character, using" (or otherwise reword to use the correct verb form), and
rephrase the allocator/slot sentence around the 202–206 region to correct
subject/verb agreement and punctuation so it reads clearly (e.g., ensure the
allocator and slot relationship is expressed as a complete sentence with proper
commas and verbs). Locate the exact phrases "until it encountering a newline
character" and the allocator/slot sentence to apply these small wording and
punctuation edits for clarity.
doc/qbk/01_intro/1a_bishop_fox_zh_Hans.qbk-13-33 (1)

13-33: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix wording typos in user-facing text.

Line 13 (one again) and Line 32 (fullknowledge) look like typographical errors and reduce docs quality.

Suggested fix
-the C++ Alliance one again commissioned
+the C++ Alliance once again commissioned
...
-application security vulnerabilities. These fullknowledge assessments
+application security vulnerabilities. These full-knowledge assessments
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/01_intro/1a_bishop_fox_zh_Hans.qbk` around lines 13 - 33, Replace the
typographical errors in the user-facing text: change the phrase "one again"
(near the sentence mentioning the C++ Alliance commissioning Bishop Fox) to
"once again" and change "fullknowledge" in the sentence describing the
assessments to "full knowledge" (or "full‑knowledge" if you prefer a hyphenated
compound) so the text reads naturally and is grammatically correct.
doc/qbk/03_core/7_composed_zh_Hans.qbk-89-90 (1)

89-90: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix duplicated word in sentence.

Line 90 has “will will be”, which should be a single “will”.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/7_composed_zh_Hans.qbk` around lines 89 - 90, The sentence
"handler, whose associated allocator and associated executor will will be the
same as those of the original handler." contains a duplicated word "will"; edit
the text in the document (the sentence starting with "handler, whose associated
allocator and associated executor") to remove the duplicate so it reads "will be
the same as those of the original handler."
doc/qbk/03_core/7b_detect_ssl_zh_Hans.qbk-67-67 (1)

67-67: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct typo in completion text.

Line 67 uses “opeartion”; this should be “operation”.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/03_core/7b_detect_ssl_zh_Hans.qbk` at line 67, Fix the typo
"opeartion" to "operation" in the sentence containing "opeartion completes, and"
so the text reads "operation completes, and"; search for the exact phrase
"opeartion completes, and" in the document to locate and replace it.
doc/qbk/06_websocket/08_notes_zh_Hans.qbk-59-60 (1)

59-60: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix grammar in the undefined-behavior example sentence.

“the following code is produces undefined behavior” should be “the following code produces undefined behavior”.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/06_websocket/08_notes_zh_Hans.qbk` around lines 59 - 60, Fix the
grammar in the sentence that currently reads "the following code is produces
undefined behavior" by removing the extraneous "is" so it reads "the following
code produces undefined behavior"; locate that sentence in the
undefined-behavior example text and update it accordingly to ensure correct
grammar and clarity.
doc/qbk/06_websocket/04_messages_zh_Hans.qbk-15-36 (1)

15-36: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix user-facing wording typos in frame/message definitions.

There are a few textual errors that reduce readability:

  • Line 15: “messages frames” → “message frames”
  • Line 23: “not not considered” → “not considered”
  • Line 35: “must contain consist of” → “must consist of”
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/06_websocket/04_messages_zh_Hans.qbk` around lines 15 - 36, The
documentation contains three wording typos in the websocket message text:
replace "messages frames" with "message frames" (occurs where frames are
defined), change "not not considered" to "not considered" in the sentence about
frame boundaries, and correct "must contain consist of" to "must consist of" in
the sentence describing text messages; update these exact phrases in the doc
text so the sentences read correctly and preserve surrounding punctuation and
markup (references: the phrases "messages frames", "not not considered", and
"must contain consist of").
doc/qbk/06_websocket/05_control_frames_zh_Hans.qbk-49-52 (1)

49-52: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct grammar/punctuation glitches in control-frames prose.

Please fix:

  • Line 51–52: replace the period before “and” with a comma (or restructure sentence).
  • Line 97: “received by during” → “received during”.

Also applies to: 97-97

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/06_websocket/05_control_frames_zh_Hans.qbk` around lines 49 - 52, Fix
the punctuation and grammar in the control-frames prose: change the period
before "and" that separates the link list for ping, pong, and close into a comma
(or rework the clause so the three links [ping], [pong], and [close] read as a
single coordinated list) and correct the phrase "received by during" to
"received during" (search for the sentence referencing received frames in the
control-frames section). Ensure the references to
beast.ref.boost__beast__websocket__stream.ping, .pong, and .close remain intact
and that only the punctuation/wording is adjusted.
doc/qbk/06_websocket/06_timeouts_zh_Hans.qbk-15-17 (1)

15-17: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix the tcp_stream cross-reference target.

Line 16 labels tcp_stream but links to beast.ref.boost__beast__basic_stream; this should point to the tcp_stream reference target to avoid misnavigation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/06_websocket/06_timeouts_zh_Hans.qbk` around lines 15 - 17, The
cross-reference for the `tcp_stream` label currently points to
`beast.ref.boost__beast__basic_stream`; update that link target to the correct
reference `beast.ref.boost__beast__tcp_stream` so the `[link ... `tcp_stream`]`
entry resolves correctly—locate the line containing the `[link
beast.ref.boost__beast__basic_stream `tcp_stream`]` and replace the reference
identifier with `beast.ref.boost__beast__tcp_stream`.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fdc7c9bf-63cd-4f77-9606-da8d54a8cbd6

📥 Commits

Reviewing files that changed from the base of the PR and between 6bd7d6f and a25c336.

📒 Files selected for processing (59)
  • doc/qbk/01_intro/1_quick_look_zh_Hans.qbk
  • doc/qbk/01_intro/1a_bishop_fox_zh_Hans.qbk
  • doc/qbk/01_intro/1b_autobahn_zh_Hans.qbk
  • doc/qbk/01_intro/_intro_zh_Hans.qbk
  • doc/qbk/02_examples/_examples_zh_Hans.qbk
  • doc/qbk/03_core/10_ssl_tls_shutdown_zh_Hans.qbk
  • doc/qbk/03_core/1_refresher_zh_Hans.qbk
  • doc/qbk/03_core/2_streams_zh_Hans.qbk
  • doc/qbk/03_core/3_timeouts_zh_Hans.qbk
  • doc/qbk/03_core/4__layers_zh_Hans.qbk
  • doc/qbk/03_core/5_buffers_zh_Hans.qbk
  • doc/qbk/03_core/6_files_zh_Hans.qbk
  • doc/qbk/03_core/7_composed_zh_Hans.qbk
  • doc/qbk/03_core/7a_echo_zh_Hans.qbk
  • doc/qbk/03_core/7b_detect_ssl_zh_Hans.qbk
  • doc/qbk/03_core/8_conf_macros_zh_Hans.qbk
  • doc/qbk/03_core/9_ssl_tls_certificate_zh_Hans.qbk
  • doc/qbk/03_core/_core_zh_Hans.qbk
  • doc/qbk/04_http/01_primer_zh_Hans.qbk
  • doc/qbk/04_http/02_message_zh_Hans.qbk
  • doc/qbk/04_http/03_streams_zh_Hans.qbk
  • doc/qbk/04_http/04_serializer_streams_zh_Hans.qbk
  • doc/qbk/04_http/05_parser_streams_zh_Hans.qbk
  • doc/qbk/04_http/06_serializer_buffers_zh_Hans.qbk
  • doc/qbk/04_http/07_parser_buffers_zh_Hans.qbk
  • doc/qbk/04_http/08_chunked_encoding_zh_Hans.qbk
  • doc/qbk/04_http/09_custom_body_zh_Hans.qbk
  • doc/qbk/04_http/10_custom_parsers_zh_Hans.qbk
  • doc/qbk/04_http/_http_zh_Hans.qbk
  • doc/qbk/05_http_examples/_http_examples_zh_Hans.qbk
  • doc/qbk/06_websocket/01_connecting_zh_Hans.qbk
  • doc/qbk/06_websocket/02_handshaking_zh_Hans.qbk
  • doc/qbk/06_websocket/03_decorator_zh_Hans.qbk
  • doc/qbk/06_websocket/04_messages_zh_Hans.qbk
  • doc/qbk/06_websocket/05_control_frames_zh_Hans.qbk
  • doc/qbk/06_websocket/06_timeouts_zh_Hans.qbk
  • doc/qbk/06_websocket/07_teardown_zh_Hans.qbk
  • doc/qbk/06_websocket/08_notes_zh_Hans.qbk
  • doc/qbk/06_websocket/_websocket_zh_Hans.qbk
  • doc/qbk/07_concepts/BodyReader_zh_Hans.qbk
  • doc/qbk/07_concepts/BodyWriter_zh_Hans.qbk
  • doc/qbk/07_concepts/Body_zh_Hans.qbk
  • doc/qbk/07_concepts/BufferSequence_zh_Hans.qbk
  • doc/qbk/07_concepts/BuffersGenerator_zh_Hans.qbk
  • doc/qbk/07_concepts/DynamicBuffer_zh_Hans.qbk
  • doc/qbk/07_concepts/FieldsWriter_zh_Hans.qbk
  • doc/qbk/07_concepts/Fields_zh_Hans.qbk
  • doc/qbk/07_concepts/File_zh_Hans.qbk
  • doc/qbk/07_concepts/RatePolicy_zh_Hans.qbk
  • doc/qbk/07_concepts/Streams_zh_Hans.qbk
  • doc/qbk/07_concepts/_concepts_zh_Hans.qbk
  • doc/qbk/08_design/1_http_message_zh_Hans.qbk
  • doc/qbk/08_design/2_http_comparison_zh_Hans.qbk
  • doc/qbk/08_design/3_websocket_zaphoyd_zh_Hans.qbk
  • doc/qbk/08_design/4_faq_zh_Hans.qbk
  • doc/qbk/08_design/_design_zh_Hans.qbk
  • doc/qbk/main_zh_Hans.qbk
  • doc/qbk/release_notes_zh_Hans.qbk
  • doc/qbk/version_zh_Hans.qbk

Comment on lines +148 to +155
[include 01_connecting.qbk]
[include 02_handshaking.qbk]
[include 03_decorator.qbk]
[include 04_messages.qbk]
[include 05_control_frames.qbk]
[include 06_timeouts.qbk]
[include 07_teardown.qbk]
[include 08_notes.qbk]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Include directives reference wrong filenames.

All include directives are missing the _zh_Hans suffix. Based on the PR file list, the actual files being added are 01_connecting_zh_Hans.qbk, 02_handshaking_zh_Hans.qbk, etc., not 01_connecting.qbk. This will cause QuickBook build failures or incorrect content inclusion.

🔧 Proposed fix to correct all include paths
-[include 01_connecting.qbk]
-[include 02_handshaking.qbk]
-[include 03_decorator.qbk]
-[include 04_messages.qbk]
-[include 05_control_frames.qbk]
-[include 06_timeouts.qbk]
-[include 07_teardown.qbk]
-[include 08_notes.qbk]
+[include 01_connecting_zh_Hans.qbk]
+[include 02_handshaking_zh_Hans.qbk]
+[include 03_decorator_zh_Hans.qbk]
+[include 04_messages_zh_Hans.qbk]
+[include 05_control_frames_zh_Hans.qbk]
+[include 06_timeouts_zh_Hans.qbk]
+[include 07_teardown_zh_Hans.qbk]
+[include 08_notes_zh_Hans.qbk]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@doc/qbk/06_websocket/_websocket_zh_Hans.qbk` around lines 148 - 155, The
include directives in _websocket_zh_Hans.qbk reference wrong filenames — update
each include to the localized filenames by adding the _zh_Hans suffix (e.g.,
change [include 01_connecting.qbk] to [include 01_connecting_zh_Hans.qbk],
similarly for 02_handshaking, 03_decorator, 04_messages, 05_control_frames,
06_timeouts, 07_teardown, and 08_notes) so QuickBook will include the correct
localized files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants