This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory-site.git

commit e230d612792cd83a2c80e542c8b7ad5685e40fef
Author: chaokunyang <[email protected]>
AuthorDate: Sat May 23 08:56:01 2026 +0000

    🔄 synced local 'docs/guide/' with remote 'docs/guide/'
---
 docs/guide/cpp/configuration.md              |   4 +-
 docs/guide/cpp/index.md                      |   3 +-
 docs/guide/cpp/native-serialization.md       |   5 +-
 docs/guide/cpp/xlang-serialization.md        |   4 +-
 docs/guide/csharp/index.md                   |   3 +-
 docs/guide/dart/index.md                     |   5 +-
 docs/guide/go/configuration.md               |   3 +-
 docs/guide/go/index.md                       |   7 +-
 docs/guide/go/native-serialization.md        |   3 +-
 docs/guide/go/xlang-serialization.md         |   4 +-
 docs/guide/java/native-serialization.md      |   5 +-
 docs/guide/java/xlang-serialization.md       |   2 +-
 docs/guide/javascript/index.md               |   8 +-
 docs/guide/javascript/xlang-serialization.md |   5 +-
 docs/guide/python/configuration.md           |  18 +--
 docs/guide/python/native-serialization.md    |   3 +-
 docs/guide/python/xlang-serialization.md     |   5 +-
 docs/guide/rust/index.md                     |   3 +-
 docs/guide/rust/native-serialization.md      |   3 +-
 docs/guide/rust/xlang-serialization.md       |   3 +-
 docs/guide/xlang/getting-started.md          | 174 ++++++++++++++++++++++++++-
 docs/guide/xlang/index.md                    |  18 ++-
 docs/guide/xlang/serialization.md            |   4 +-
 23 files changed, 252 insertions(+), 40 deletions(-)

diff --git a/docs/guide/cpp/configuration.md b/docs/guide/cpp/configuration.md
index a693f32091..d829dc8a99 100644
--- a/docs/guide/cpp/configuration.md
+++ b/docs/guide/cpp/configuration.md
@@ -69,8 +69,8 @@ auto fory = Fory::builder()
 ```
 
 When `true`, C++ writes the xlang wire format used by Java, Python, Go, Rust,
-JavaScript, C#, Swift, and Dart. When `false`, C++ writes native-mode payloads
-for C++-only traffic.
+JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin. When `false`, C++
+writes native-mode payloads for C++-only traffic.
 
 **Default:** `true`
 
diff --git a/docs/guide/cpp/index.md b/docs/guide/cpp/index.md
index 9e628f89a1..73b91ece50 100644
--- a/docs/guide/cpp/index.md
+++ b/docs/guide/cpp/index.md
@@ -26,7 +26,8 @@ The C++ implementation provides high-performance 
serialization with compile-time
 ## Why Apache Foryâ„¢ C++?
 
 - **Fast binary encoding**: Fast serialization and optimized binary protocols
-- **Xlang**: Seamlessly serialize/deserialize data across Java, Python, C++, 
Go, JavaScript, and Rust
+- **Xlang**: Seamlessly serialize/deserialize data across Java, Python, C++, 
Go,
+  Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin
 - **Type-safe**: Compile-time type checking with macro-based struct 
registration
 - **Reference tracking**: Automatic tracking of shared and circular references
 - **Schema evolution**: Compatible mode for independent schema changes
diff --git a/docs/guide/cpp/native-serialization.md 
b/docs/guide/cpp/native-serialization.md
index 0a530278e9..0189d72a78 100644
--- a/docs/guide/cpp/native-serialization.md
+++ b/docs/guide/cpp/native-serialization.md
@@ -23,8 +23,9 @@ C++ native serialization is the C++-only wire mode selected 
with `.xlang(false)`
 writer and reader is C++ and the payload should follow C++ type behavior 
instead of the portable
 xlang type system.
 
-Use [Xlang Serialization](xlang-serialization.md), the default C++ mode, when 
bytes must be read by
-Java, Python, Go, Rust, JavaScript, or another non-C++ Fory runtime.
+Use [Xlang Serialization](xlang-serialization.md), the default C++ mode, when
+bytes must be read by Java, Python, Go, Rust, JavaScript/TypeScript, C#, Swift,
+Dart, Scala, Kotlin, or another non-C++ Fory runtime.
 
 ## When To Use Native Serialization
 
diff --git a/docs/guide/cpp/xlang-serialization.md 
b/docs/guide/cpp/xlang-serialization.md
index 0570c02176..7d4dbcff36 100644
--- a/docs/guide/cpp/xlang-serialization.md
+++ b/docs/guide/cpp/xlang-serialization.md
@@ -23,7 +23,9 @@ This page explains how to use Fory xlang serialization 
between C++ and other lan
 
 ## Overview
 
-Apache Foryâ„¢ enables seamless data exchange between C++, Java, Python, Go, 
Rust, and JavaScript. Xlang mode ensures binary compatibility across all 
supported languages.
+Apache Foryâ„¢ enables seamless data exchange between C++, Java, Python, Go, 
Rust,
+JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin. Xlang mode ensures
+binary compatibility across all supported languages.
 
 ## Create an Xlang Runtime
 
diff --git a/docs/guide/csharp/index.md b/docs/guide/csharp/index.md
index 531b8958a2..9fbb06b018 100644
--- a/docs/guide/csharp/index.md
+++ b/docs/guide/csharp/index.md
@@ -24,7 +24,8 @@ Apache Foryâ„¢ C# is a high-performance, cross-language 
serialization runtime fo
 ## Why Fory C#?
 
 - High performance binary serialization for .NET 8+
-- Xlang compatibility with Fory implementations in Java, Python, C++, Go, 
Rust, and JavaScript
+- Xlang compatibility with Fory implementations in Java, Python, C++, Go, Rust,
+  JavaScript/TypeScript, Swift, Dart, Scala, and Kotlin
 - Source-generator-based serializers for `[ForyObject]` types
 - Optional reference tracking for shared and circular object graphs
 - Compatible mode for schema evolution
diff --git a/docs/guide/dart/index.md b/docs/guide/dart/index.md
index c60016edbb..74bb39b883 100644
--- a/docs/guide/dart/index.md
+++ b/docs/guide/dart/index.md
@@ -19,7 +19,10 @@ license: |
   limitations under the License.
 ---
 
-Apache Foryâ„¢ Dart lets you serialize Dart objects to bytes and deserialize 
them back — including across services written in Java, Go, C#, Python, and 
other Fory-supported languages.
+Apache Foryâ„¢ Dart lets you serialize Dart objects to bytes and deserialize them
+back, including across services written in Java, Python, C++, Go, Rust,
+JavaScript/TypeScript, C#, Swift, Scala, Kotlin, and other Fory-supported
+languages.
 
 ## Why Fory Dart?
 
diff --git a/docs/guide/go/configuration.md b/docs/guide/go/configuration.md
index 4ca85273dd..d2c73e7f65 100644
--- a/docs/guide/go/configuration.md
+++ b/docs/guide/go/configuration.md
@@ -131,7 +131,8 @@ xlang := fory.New(fory.WithXlang(true))
 **When enabled:**
 
 - Uses cross-language type system
-- Compatible with Java, Python, C++, Rust, JavaScript
+- Compatible with Java, Python, C++, Rust, JavaScript/TypeScript, C#, Swift,
+  Dart, Scala, and Kotlin
 - Type IDs follow xlang specification
 
 **When disabled:**
diff --git a/docs/guide/go/index.md b/docs/guide/go/index.md
index fb74931d62..84ebb77a11 100644
--- a/docs/guide/go/index.md
+++ b/docs/guide/go/index.md
@@ -24,7 +24,8 @@ Apache Fory Go is a high-performance serialization library 
for Go. It supports x
 ## Why Fory Go?
 
 - **High Performance**: Fast serialization and optimized binary protocols
-- **Xlang**: Seamless data exchange with Java, Python, C++, Rust, and 
JavaScript
+- **Xlang**: Seamless data exchange with Java, Python, C++, Rust,
+  JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin
 - **Automatic Serialization**: No IDL definitions or schema compilation 
required
 - **Reference Tracking**: Built-in support for circular references and shared 
objects
 - **Type Safety**: Strong typing with schema-aware serializers
@@ -120,7 +121,9 @@ See [Supported Types](supported-types.md) for the complete 
type mapping.
 
 ## Xlang Serialization
 
-Fory Go is fully compatible with other Fory implementations. Data serialized 
in Go can be deserialized in Java, Python, C++, Rust, or JavaScript:
+Fory Go is fully compatible with other Fory implementations. Data serialized in
+Go can be deserialized in Java, Python, C++, Rust, JavaScript/TypeScript, C#,
+Swift, Dart, Scala, or Kotlin:
 
 ```go
 // Go serialization
diff --git a/docs/guide/go/native-serialization.md 
b/docs/guide/go/native-serialization.md
index 00dde847dc..0dc6bc0ce4 100644
--- a/docs/guide/go/native-serialization.md
+++ b/docs/guide/go/native-serialization.md
@@ -24,7 +24,8 @@ when every writer and reader is a Go service and the payload 
should follow Go's
 of the portable xlang type system.
 
 Use [Xlang Serialization](xlang-serialization.md), the default Go mode, when 
bytes must be read by
-Java, Python, C++, Rust, JavaScript, or another non-Go Fory runtime.
+Java, Python, C++, Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, Kotlin,
+or another non-Go Fory runtime.
 
 ## When To Use Native Serialization
 
diff --git a/docs/guide/go/xlang-serialization.md 
b/docs/guide/go/xlang-serialization.md
index e7df613b75..6ef2d8e589 100644
--- a/docs/guide/go/xlang-serialization.md
+++ b/docs/guide/go/xlang-serialization.md
@@ -19,7 +19,9 @@ license: |
   limitations under the License.
 ---
 
-Fory Go enables seamless data exchange with Java, Python, C++, Rust, and 
JavaScript. This guide covers xlang compatibility and type mapping.
+Fory Go enables seamless data exchange with Java, Python, C++, Rust,
+JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin. This guide covers
+xlang compatibility and type mapping.
 
 ## Create an Xlang Runtime
 
diff --git a/docs/guide/java/native-serialization.md 
b/docs/guide/java/native-serialization.md
index 133c0d4ad5..7dd6fe58dc 100644
--- a/docs/guide/java/native-serialization.md
+++ b/docs/guide/java/native-serialization.md
@@ -44,8 +44,9 @@ Use native serialization when:
 - Large primitive arrays or binary payloads should use native-mode out-of-band 
buffers.
 - You are replacing Java-only serialization frameworks and want the broadest 
Java object surface.
 
-Use xlang serialization instead when the payload must be read by Python, C++, 
Go, Rust,
-JavaScript/TypeScript, C#, Swift, Dart, or another non-Java runtime.
+Use xlang serialization instead when the payload must be read by Python, C++, 
Go,
+Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, Kotlin, or another
+non-Java runtime.
 
 ## Create a Native Runtime
 
diff --git a/docs/guide/java/xlang-serialization.md 
b/docs/guide/java/xlang-serialization.md
index 425d5b41b3..8d6ea9d521 100644
--- a/docs/guide/java/xlang-serialization.md
+++ b/docs/guide/java/xlang-serialization.md
@@ -20,7 +20,7 @@ license: |
 ---
 
 Apache Foryâ„¢ xlang serialization is the Java wire mode for payloads that must 
be read by Python,
-Rust, Go, JavaScript, C++, C#, Swift, Dart, or another non-Java Fory runtime. 
Java defaults to
+Rust, Go, JavaScript/TypeScript, C++, C#, Swift, Dart, Scala, Kotlin, or 
another non-Java Fory runtime. Java defaults to
 xlang mode with compatible schema evolution, but examples set the mode 
explicitly so the payload
 contract is visible in code.
 
diff --git a/docs/guide/javascript/index.md b/docs/guide/javascript/index.md
index 49d4de7290..86280097c2 100644
--- a/docs/guide/javascript/index.md
+++ b/docs/guide/javascript/index.md
@@ -19,11 +19,15 @@ license: |
   limitations under the License.
 ---
 
-Apache Fory JavaScript lets you serialize JavaScript and TypeScript objects to 
bytes and deserialize them back — including across services written in Java, 
Python, Go, Rust, Swift, and other Fory-supported languages.
+Apache Fory JavaScript lets you serialize JavaScript and TypeScript objects to
+bytes and deserialize them back, including across services written in Java,
+Python, C++, Go, Rust, C#, Swift, Dart, Scala, Kotlin, and other
+Fory-supported languages.
 
 ## Why Fory JavaScript?
 
-- **Xlang**: serialize in JavaScript, deserialize in Java, Python, Go, and 
more without writing glue code
+- **Xlang**: serialize in JavaScript/TypeScript, deserialize in any supported
+  Fory runtime without writing glue code
 - **Fast**: serializer code is generated and cached the first time you 
register a schema, not on every call
 - **Reference-aware**: shared references and circular object graphs are 
supported when enabled
 - **Explicit schemas**: field types, nullability, and polymorphism are 
declared once with `Type.*` builders or TypeScript decorators
diff --git a/docs/guide/javascript/xlang-serialization.md 
b/docs/guide/javascript/xlang-serialization.md
index 13ed956747..17f1413b02 100644
--- a/docs/guide/javascript/xlang-serialization.md
+++ b/docs/guide/javascript/xlang-serialization.md
@@ -19,7 +19,10 @@ license: |
   limitations under the License.
 ---
 
-Fory JavaScript serializes to the same binary format as the Java, Python, Go, 
Rust, Swift, and C++ Fory runtimes. You can write a message in JavaScript and 
read it in Java — or any other direction — without any conversion layer.
+Fory JavaScript serializes to the same binary format as the Java, Python, C++,
+Go, Rust, C#, Swift, Dart, Scala, and Kotlin Fory runtimes. You can write a
+message in JavaScript and read it in Java, or any other direction, without a
+conversion layer.
 
 Things to keep in mind:
 
diff --git a/docs/guide/python/configuration.md 
b/docs/guide/python/configuration.md
index fc6433debb..a902192382 100644
--- a/docs/guide/python/configuration.md
+++ b/docs/guide/python/configuration.md
@@ -89,15 +89,15 @@ fory.register(MyClass, typename="my.package.MyClass", 
serializer=custom_serializ
 
 ## Xlang And Native Mode Comparison
 
-| Feature             | Native mode (`xlang=False`)                    | Xlang 
mode (default)                  |
-| ------------------- | ---------------------------------------------- | 
------------------------------------- |
-| Use case            | Python-only applications                       | 
Multi-language systems                |
-| Compatibility       | Python only                                    | Java, 
Go, Rust, C++, JavaScript, etc. |
-| Supported types     | Python object surface                          | 
Cross-language compatible types       |
-| Functions/lambdas   | Supported with trusted dynamic deserialization | Not 
allowed                           |
-| Local classes       | Supported with trusted dynamic deserialization | Not 
allowed                           |
-| Dynamic classes     | Supported with trusted dynamic deserialization | Not 
allowed                           |
-| Schema mode default | Schema-consistent                              | 
Compatible                            |
+| Feature             | Native mode (`xlang=False`)                    | Xlang 
mode (default)                                                             |
+| ------------------- | ---------------------------------------------- | 
--------------------------------------------------------------------------------
 |
+| Use case            | Python-only applications                       | 
Multi-language systems                                                          
 |
+| Compatibility       | Python only                                    | Java, 
C++, Go, Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, Kotlin, etc. |
+| Supported types     | Python object surface                          | 
Cross-language compatible types                                                 
 |
+| Functions/lambdas   | Supported with trusted dynamic deserialization | Not 
allowed                                                                      |
+| Local classes       | Supported with trusted dynamic deserialization | Not 
allowed                                                                      |
+| Dynamic classes     | Supported with trusted dynamic deserialization | Not 
allowed                                                                      |
+| Schema mode default | Schema-consistent                              | 
Compatible                                                                      
 |
 
 ## Xlang Mode
 
diff --git a/docs/guide/python/native-serialization.md 
b/docs/guide/python/native-serialization.md
index b67bc2f662..ec0f5c4a60 100644
--- a/docs/guide/python/native-serialization.md
+++ b/docs/guide/python/native-serialization.md
@@ -24,7 +24,8 @@ every writer and reader is Python and the payload should 
follow Python's object
 the portable xlang type system.
 
 Use [Xlang Serialization](xlang-serialization.md), the default Python mode, 
when bytes must be read
-by Java, Go, Rust, C++, JavaScript, or another non-Python Fory runtime.
+by Java, C++, Go, Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, Kotlin,
+or another non-Python Fory runtime.
 
 ## When To Use Native Serialization
 
diff --git a/docs/guide/python/xlang-serialization.md 
b/docs/guide/python/xlang-serialization.md
index 6bf564951e..cf1bd19b56 100644
--- a/docs/guide/python/xlang-serialization.md
+++ b/docs/guide/python/xlang-serialization.md
@@ -19,7 +19,10 @@ license: |
   limitations under the License.
 ---
 
-`pyfory` supports xlang object graph serialization, allowing you to serialize 
data in Python and deserialize it in Java, Go, Rust, or other supported 
languages.
+`pyfory` supports xlang object graph serialization, allowing you to serialize
+data in Python and deserialize it in Java, C++, Go, Rust,
+JavaScript/TypeScript, C#, Swift, Dart, Scala, Kotlin, or another supported
+language.
 
 ## Create an Xlang Runtime
 
diff --git a/docs/guide/rust/index.md b/docs/guide/rust/index.md
index e90aebce7e..b7b878db99 100644
--- a/docs/guide/rust/index.md
+++ b/docs/guide/rust/index.md
@@ -26,7 +26,8 @@ The Rust implementation provides versatile and 
high-performance serialization wi
 ## Why Apache Foryâ„¢ Rust?
 
 - **Fast binary encoding**: Zero-copy deserialization and optimized binary 
protocols
-- **Xlang**: Seamlessly serialize/deserialize data across Java, Python, C++, 
Go, JavaScript, and Rust
+- **Xlang**: Seamlessly serialize/deserialize data across Java, Python, C++,
+  Go, Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin
 - **Type-safe**: Compile-time type checking with derive macros
 - **Circular references**: Automatic tracking of shared and circular 
references with `Rc`/`Arc` and weak pointers
 - **Polymorphic**: Serialize trait objects with `Box<dyn Trait>`, `Rc<dyn 
Trait>`, and `Arc<dyn Trait>`
diff --git a/docs/guide/rust/native-serialization.md 
b/docs/guide/rust/native-serialization.md
index 387e8deae7..cba76f7010 100644
--- a/docs/guide/rust/native-serialization.md
+++ b/docs/guide/rust/native-serialization.md
@@ -24,7 +24,8 @@ every writer and reader is Rust and the payload should 
preserve Rust object-grap
 of the portable xlang type system.
 
 Use [Xlang Serialization](xlang-serialization.md), the default Rust mode, when 
bytes must be read
-by Java, Python, C++, Go, JavaScript, or another non-Rust Fory runtime.
+by Java, Python, C++, Go, JavaScript/TypeScript, C#, Swift, Dart, Scala,
+Kotlin, or another non-Rust Fory runtime.
 
 ## When To Use Native Serialization
 
diff --git a/docs/guide/rust/xlang-serialization.md 
b/docs/guide/rust/xlang-serialization.md
index 299e158834..a823a7218a 100644
--- a/docs/guide/rust/xlang-serialization.md
+++ b/docs/guide/rust/xlang-serialization.md
@@ -19,7 +19,8 @@ license: |
   limitations under the License.
 ---
 
-Apache Foryâ„¢ supports seamless data exchange across multiple languages 
including Java, Python, C++, Go, and JavaScript.
+Apache Foryâ„¢ supports seamless data exchange across Java, Python, C++, Go,
+Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin.
 
 ## Create an Xlang Runtime
 
diff --git a/docs/guide/xlang/getting-started.md 
b/docs/guide/xlang/getting-started.md
index 6fa858e747..c5a7a30b1b 100644
--- a/docs/guide/xlang/getting-started.md
+++ b/docs/guide/xlang/getting-started.md
@@ -60,12 +60,53 @@ go get github.com/apache/fory/go/fory
 fory = "1.0.0"
 ```
 
-### JavaScript
+### JavaScript/TypeScript
 
 ```bash
 npm install @apache-fory/core
 ```
 
+For the optional Node.js string fast path:
+
+```bash
+npm install @apache-fory/core @apache-fory/hps
+```
+
+### C\#
+
+```bash
+dotnet add package Apache.Fory --version 1.0.0
+```
+
+### Dart
+
+```bash
+dart pub add fory:^1.0.0
+dart pub add dev:build_runner
+```
+
+### Swift
+
+Add Fory to `Package.swift`:
+
+```swift
+dependencies: [
+  .package(url: "https://github.com/apache/fory.git";, exact: "1.0.0")
+]
+```
+
+### Scala
+
+```scala
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.0.0"
+```
+
+### Kotlin
+
+```kotlin
+implementation("org.apache.fory:fory-kotlin:1.0.0")
+```
+
 ### C++
 
 Use Bazel or CMake to build from source. See [C++ Guide](../cpp/index.md) for 
details.
@@ -117,7 +158,7 @@ use fory::Fory;
 let fory = Fory::builder().xlang(true).build();
 ```
 
-### JavaScript
+### JavaScript/TypeScript
 
 ```javascript
 import Fory, { Type } from "@apache-fory/core";
@@ -125,6 +166,50 @@ import Fory, { Type } from "@apache-fory/core";
 const fory = new Fory();
 ```
 
+### C\#
+
+```csharp
+using Apache.Fory;
+
+Fory fory = Fory.Builder().Build();
+```
+
+### Dart
+
+```dart
+import 'package:fory/fory.dart';
+
+final fory = Fory();
+```
+
+### Swift
+
+```swift
+import Fory
+
+let fory = Fory()
+```
+
+### Scala
+
+```scala
+import org.apache.fory.scala.ForyScala
+
+val fory = ForyScala.builder()
+  .withXlang(true)
+  .build()
+```
+
+### Kotlin
+
+```kotlin
+import org.apache.fory.kotlin.ForyKotlin
+
+val fory = ForyKotlin.builder()
+    .withXlang(true)
+    .build()
+```
+
 ### C++
 
 ```cpp
@@ -178,7 +263,7 @@ fory
     .expect("register Person");
 ```
 
-**JavaScript:**
+**JavaScript/TypeScript:**
 
 ```javascript
 const personType = Type.struct(
@@ -199,6 +284,41 @@ fory.register_struct<Person>("example", "Person");
 // fory.register_enum<Color>("example", "Color");
 ```
 
+**C#:**
+
+```csharp
+fory.Register<Person>("example", "Person");
+```
+
+**Dart:**
+
+```dart
+PersonFory.register(
+  fory,
+  Person,
+  namespace: 'example',
+  typeName: 'Person',
+);
+```
+
+**Swift:**
+
+```swift
+try fory.register(Person.self, namespace: "example", name: "Person")
+```
+
+**Scala:**
+
+```scala
+fory.register(classOf[Person], "example.Person")
+```
+
+**Kotlin:**
+
+```kotlin
+fory.register(Person::class.java, "example.Person")
+```
+
 ### Register by ID
 
 Using numeric IDs is faster and produces smaller binary output:
@@ -221,6 +341,24 @@ fory.register_type(Person, type_id=100)
 fory.RegisterStruct(Person{}, 100)
 ```
 
+**Rust:**
+
+```rust
+fory.register::<Person>(100)?;
+```
+
+**JavaScript/TypeScript:**
+
+```javascript
+const personType = Type.struct(
+  { typeId: 100 },
+  {
+    name: Type.string(),
+    age: Type.int32(),
+  },
+);
+```
+
 **C++:**
 
 ```cpp
@@ -229,6 +367,36 @@ fory.register_struct<Person>(100);
 // fory.register_enum<Color>(101);
 ```
 
+**C#:**
+
+```csharp
+fory.Register<Person>(100);
+```
+
+**Dart:**
+
+```dart
+PersonFory.register(fory, Person, id: 100);
+```
+
+**Swift:**
+
+```swift
+fory.register(Person.self, id: 100)
+```
+
+**Scala:**
+
+```scala
+fory.register(classOf[Person], 100)
+```
+
+**Kotlin:**
+
+```kotlin
+fory.register(Person::class.java, 100)
+```
+
 ## Hello World Example
 
 A complete example showing serialization in Java and deserialization in Python:
diff --git a/docs/guide/xlang/index.md b/docs/guide/xlang/index.md
index af7f22b181..dd1f9393d0 100644
--- a/docs/guide/xlang/index.md
+++ b/docs/guide/xlang/index.md
@@ -27,7 +27,9 @@ workflow is a better fit.
 ## Features
 
 - **No IDL required**: Serialize objects directly with language model types.
-- **Multi-language support**: Java, Python, C++, Go, Rust, 
JavaScript/TypeScript, C#, Swift, and Dart interoperate through the same xlang 
format.
+- **Multi-language support**: Java, Python, C++, Go, Rust,
+  JavaScript/TypeScript, C#, Swift, Dart, Scala, and Kotlin interoperate 
through
+  the same xlang format.
 - **Reference support**: Shared and circular references work across language 
boundaries when reference tracking is enabled in each runtime.
 - **Schema evolution**: Compatible mode is the xlang default so readers can 
tolerate added, removed, or reordered fields.
 - **Out-of-band buffers**: Language runtimes can expose zero-copy buffer paths 
for large binary data.
@@ -46,6 +48,8 @@ workflow is a better fit.
 | C#                    | Supported | `Apache.Fory`                    |
 | Swift                 | Supported | Swift Package Manager target     |
 | Dart                  | Supported | `fory` package                   |
+| Scala                 | Supported | `org.apache.fory:fory-scala`     |
+| Kotlin                | Supported | `org.apache.fory:fory-kotlin`    |
 
 ## When to Use Xlang Mode
 
@@ -53,7 +57,8 @@ Use xlang mode when:
 
 - Building multi-language microservices
 - Creating polyglot data pipelines
-- Sharing data between frontend (JavaScript) and backend (Java/Python/Go)
+- Sharing data between frontend JavaScript/TypeScript and backend runtimes such
+  as Java, Python, Go, C#, Scala, or Kotlin
 
 Use native mode for same-language traffic in Java, Scala, Kotlin, Python, C++,
 Go, or Rust:
@@ -128,7 +133,7 @@ message Person {
 Generate code:
 
 ```bash
-foryc person.fdl --lang java,python,go,rust,cpp --output ./generated
+foryc person.fdl --lang 
java,python,cpp,go,rust,javascript,csharp,swift,dart,scala,kotlin --output 
./generated
 ```
 
 This generates native language types with consistent field/type mappings 
across all targets.
@@ -159,7 +164,14 @@ For language-specific details and API reference:
 - [Java Xlang Serialization Guide](../java/xlang-serialization.md)
 - [Python Xlang Serialization Guide](../python/xlang-serialization.md)
 - [C++ Xlang Serialization Guide](../cpp/xlang-serialization.md)
+- [Go Xlang Serialization Guide](../go/xlang-serialization.md)
 - [Rust Xlang Serialization Guide](../rust/xlang-serialization.md)
+- [JavaScript/TypeScript Xlang Serialization 
Guide](../javascript/xlang-serialization.md)
+- [C# Xlang Serialization Guide](../csharp/xlang-serialization.md)
+- [Swift Xlang Serialization Guide](../swift/xlang-serialization.md)
+- [Dart Xlang Serialization Guide](../dart/xlang-serialization.md)
+- [Scala Schema IDL And Xlang Guide](../scala/schema-idl.md)
+- [Kotlin Static Generated Serializers 
Guide](../kotlin/static-generated-serializers.md)
 
 ## Specifications
 
diff --git a/docs/guide/xlang/serialization.md 
b/docs/guide/xlang/serialization.md
index cd4e94bf54..fd20751f82 100644
--- a/docs/guide/xlang/serialization.md
+++ b/docs/guide/xlang/serialization.md
@@ -19,7 +19,9 @@ license: |
   limitations under the License.
 ---
 
-This page demonstrates cross-language serialization patterns with examples in 
all supported languages. Data serialized in one language can be deserialized in 
any other supported language.
+This page demonstrates common cross-language serialization patterns. Data 
serialized in one
+supported language can be deserialized in any other supported language when 
peers use matching type
+identity, field schema, and compatibility settings.
 
 ## Serialize Built-in Types
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to