<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <file original="NoName" source-language="en" datatype="plaintext" target-language="zh_Hans">
    <body>
      <trans-unit xml:space="preserve" approved="no" id="c750b5204b29d590" weblate-flags="safe-html, strict-same">
        <source>= Comparison to Other Libraries</source>
        <target state="translated">= 与其他库的比较</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">12</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a9318ac7bfb72b99" weblate-flags="safe-html, strict-same">
        <source>:icon_good: pass:q[[.green]##&amp;#10004##] :icon_bad:  pass:q[[.red]##&amp;#10008##]</source>
        <target state="translated">:icon_good: pass:q[[.green]##✔##] :icon_bad:  pass:q[[.red]##✘##]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">14</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="114c6d20f1a47e84" weblate-flags="safe-html, strict-same">
        <source>There exist many C++ JSON libraries, but two are particularly noteworthy for the purpose of comparison: https://rapidjson.org/[RapidJSON], https://nlohmann.github.io/json/[JSON for Modern {cpp}] (referred to herein as nlohmann's JSON, or nlohmann), and https://github.com/lemire/simdjson[SIMD JSON].</source>
        <target state="translated">C++ 中存在众多 JSON 库，但为了比较的目的，有三个在对比中尤为值得关注：https://rapidjson.org/[RapidJSON]、https://nlohmann.github.io/json/[JSON for Modern {cpp}]（本文中称为 nlohmann's JSON， 或简称 nlohmann）以及https://github.com/lemire/simdjson[SIMD JSON]。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">17</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="fce02852d1240e91" weblate-flags="safe-html, strict-same">
        <source>Comparison to nlohmann JSON</source>
        <target state="translated">与nlohmann JSON的比较</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">23</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="b6059c28880a3da9" weblate-flags="safe-html, strict-same">
        <source>Value Type: https://github.com/nlohmann/json/blob/00cb98a3d170161711ab912ae6acefba31f29f75/include/nlohmann/json.hpp#L165[`nlohmann::basic_json`]</source>
        <target state="translated">值类型：https://github.com/nlohmann/json/blob/00cb98a3d170161711ab912ae6acefba31f29f75/include/nlohmann/json.hpp#L165[`nlohmann::basic_json`]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">25</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="70224f366160af15" weblate-flags="safe-html, strict-same">
        <source>This library adopts a "kitchen sink" approach. It contains a wealth of features, even those with niche uses. Its weakness is that the many template parameters, while allowing for configurability, inhibit the best possible optimizations. The consequence is that the library performs poorly. The ability to configure every aspect of the value type has the paradoxical effect of making it less suitable as a vocabulary type.</source>
        <target state="translated">该库采用了一种“大而全”（kitchen sink）的设计理念，包含大量功能，甚至涵盖一些使用场景非常小众的特性。其弱点在于：尽管众多模板参数提供了高度可配置性，却阻碍了编译器实现最优的性能优化。其结果是性能表现较差。这种对值类型各方面均可配置的能力，反而使其作为通用类型的适用性降低，形成了一种悖论效应。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">50</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="daea0a68a7f8afea" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} `basic_json` is a class template. Libraries must agree on the</source>
        <target state="translated">{icon_bad} `basic_json` 是一个类模板。各库必须在</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">57</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="91cde781fc845b97" weblate-flags="safe-html, strict-same">
        <source>choices of template parameters to be interoperable.</source>
        <target state="translated">模板参数的选择上达成一致，这样才能实现互操作。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">58</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ecddc712b7c98d8b" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Too much customization. We struggle to see a use case for making</source>
        <target state="translated">{icon_bad} 过度定制化。我们很难想象</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">60</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dc85d59e7fb2dd15" weblate-flags="safe-html, strict-same">
        <source>`BooleanType` anything other than `bool`.</source>
        <target state="translated">将 `BooleanType` 设置为 `bool` 之外的其他类型的使用场景。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">61</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ce32fb70a726649a" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Poor separation of concerns. The `basic_json` container</source>
        <target state="translated">{icon_bad} 关注点分离不佳。`basic_json` 容器</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">63</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a8d7191d365253b4" weblate-flags="safe-html, strict-same">
        <source>declaration needlessly conflates parsing and serialization APIs.</source>
        <target state="translated">声明不必要地将解析和序列化API混杂在一起。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">64</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="de02541b1676872a" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Limited allocator support. Only stateless allocators are allowed,</source>
        <target state="translated">{icon_bad} 分配器支持有限。只允许无状态分配器，</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">66</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="4517d1e68f0828fc" weblate-flags="safe-html, strict-same">
        <source>which rules out the most important type of allocator, a local arena-based implementation.</source>
        <target state="translated">这排除了最重要的一类分配器，即基于本地内存池的实现。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">67</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id=":70" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} No incremental parsing, no incremental serialization.</source>
        <target state="translated">{icon_bad} 没有增量式解析，也没有增量式序列化。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">70</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="cbcafc756079b17f" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Slow parsing and serialization performance.</source>
        <target state="translated">{icon_bad} 解析和序列化性能较差。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">72</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="cb1273ebc6624b3b" weblate-flags="safe-html, strict-same">
        <source>{icon_good} Full-featured, including JSON Pointer, CBOR, and others.</source>
        <target state="translated">{icon_good} 功能全面，包含 JSON Pointer、CBOR 等特性。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">74</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="b5d0f86d4a4a515b" weblate-flags="safe-html, strict-same">
        <source>Comparison to RapidJSON</source>
        <target state="translated">与RapidJSON的比较</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">76</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a479155a38dac5e0" weblate-flags="safe-html, strict-same">
        <source>Value Type: https://github.com/Tencent/rapidjson/blob/bb5f966b9939d6cdfbac3462a0410e185099b3af/include/rapidjson/document.h#L608[`rapidjson::GenericValue`]</source>
        <target state="translated">值类型：https://github.com/Tencent/rapidjson/blob/bb5f966b9939d6cdfbac3462a0410e185099b3af/include/rapidjson/document.h#L608[`rapidjson::GenericValue`]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">78</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="22c39d4e544f804c" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} The value type is not regular. Assignment is destructive,</source>
        <target state="translated">{icon_bad} 值类型不满足“正规性”要求。赋值具有破坏性，</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">93</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="134e314e8af5e432" weblate-flags="safe-html, strict-same">
        <source>performing `a = b` is equivalent to `a = std::move(b)`. No copy construction or copy assignment allowed.</source>
        <target state="translated">执行 `a = b` 等同于 `a = std::move(b)`，且不允许复制构造和复制赋值。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">94</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="f16309389f6edcc2" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Object types have no hash table or index to reduce the cost of</source>
        <target state="translated">{icon_bad} 对象类型没有哈希表或索引用于降低查找成本。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">97</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="7986c3c170ad5e46" weblate-flags="safe-html, strict-same">
        <source>lookups.</source>
        <target state="translated">(查找。)</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">98</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="27c460539ca9e704" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Allocators have reference semantics. Problems with lifetime are</source>
        <target state="translated">{icon_bad} 分配器采用引用语义，容易引发生命周期问题。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">100</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8f2d3ccba9d5e378" weblate-flags="safe-html, strict-same">
        <source>easily encountered.</source>
        <target state="translated">（容易引发。）</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">101</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="4b00cce84988b371" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} The interface of the array and object types are considerably</source>
        <target state="translated">{icon_bad} 数组和对象类型的接口</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">103</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="63885f566811c333" weblate-flags="safe-html, strict-same">
        <source>different from their standard library equivalents, and not idiomatic.</source>
        <target state="translated">与标准库中的对应类型差异显著，且不符合惯用法。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">104</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id=":106" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} No incremental parsing, no incremental serialization.</source>
        <target state="translated">{icon_bad} 没有增量式解析，也没有增量式序列化。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">106</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2073e6dac7d05c04" weblate-flags="safe-html, strict-same">
        <source>{icon_good} Parsing and serialization performance is better than most other</source>
        <target state="translated">{icon_good} 解析和序列化性能优于大多数其他。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">108</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="6a8b3a96d0ee545d" weblate-flags="safe-html, strict-same">
        <source>libraries.</source>
        <target state="translated">库。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">109</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="31369b50873b1a79" weblate-flags="safe-html, strict-same">
        <source>Comparison to SIMD JSON</source>
        <target state="translated">与SIMD JSON的比较</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">111</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="318526c9f32eaba8" weblate-flags="safe-html, strict-same">
        <source>This is quite an interesting data structure, which is optimized to work well with the SIMD parser. It makes very good design choices for the intended use-case. However it is not well suited as a vocabulary type due to the necessary limitations.</source>
        <target state="translated">这是一种相当有趣的数据结构，专为与 SIMD 解析器协同工作而优化。它在目标使用场景下做出了非常优秀的设计选择。然而，由于其必要的限制，它不太适合作为通用类型。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">118</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="7679dcd23f42ab23" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Sequential access only, via `ParsedJson::BasicIterator`</source>
        <target state="translated">{icon_bad} 仅支持通过 `ParsedJson::BasicIterator` 进行顺序访问</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">123</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ee3d33d68b751cb3" weblate-flags="safe-html, strict-same">
        <source>{icon_bad} Read-only, can only be populated by the provided SIMD JSON parser.</source>
        <target state="translated">{icon_bad} 为只读类型，仅能通过所提供的 SIMD JSON 解析器进行填充。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">125</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2cfbe15352835a85" weblate-flags="safe-html, strict-same">
        <source>{icon_good} The fastest available JSON parser.</source>
        <target state="translated">{icon_good} 为目前最快的JSON解析器。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">127</context>
        </context-group>
      </trans-unit>
    </body>
  </file>
</xliff>
