Chuyển đến nội dung
9 tháng 8, 2026 · Nền tảng

Một nền tảng, hai mươi ngôn ngữ

Bài viết này mô tả sản phẩm tại thời điểm xuất bản. Xem AI BuilderAgent Teams để biết các tính năng hiện tại.

Một nền tảng, hai mươi ngôn ngữ

Hãy lấy một chuỗi văn bản thực tế: nhãn nút "Kết nối Search Console" được phát hành vào một buổi chiều thứ Ba khi chúng tôi thêm một bước onboarding mới vào luồng thiết lập tên miền. Không có gì đặc biệt về nó — một khóa `data-i18n`, một câu tiếng Anh, kiểu thay đổi diễn ra hàng chục lần mỗi tuần. Đây là những gì thực sự xảy ra với nó từ lúc commit đến lúc hiển thị trên màn hình, theo thứ tự.

Chuỗi văn bản, khi được commit

Lập trình viên viết khóa tiếng Anh bằng tay, như mọi khi, và thêm bản dịch tiếng Trung bằng tay ngay cạnh đó — hai bản đó không bao giờ được tạo tự động, vì đó là những ngôn ngữ mà người bản xứ trong nhóm thực sự đọc và phát hiện sai lệch. Mọi thứ khác của chuỗi văn bản được để nguyên. Không có tệp dịch nào cho tiếng Pháp hay tiếng Hàn bị chạm đến. Không ai mở mười tám tệp JSON khác để đồng bộ chúng. Đó chính là mấu chốt: commit chỉ giới hạn ở hai ngôn ngữ mà con người thực sự viết ra.

Sổ đăng ký nơi nó được lưu vào

Khóa được đưa vào một nguồn dữ liệu duy nhất mà cả backend và frontend đều đọc từ đó — một tệp duy nhất biết mã, tên bản địa, tiền tố ngôn ngữ trình duyệt, và hướng văn bản cho mọi ngôn ngữ được hỗ trợ. Nó không biết gì cụ thể về "Kết nối Search Console"; nó chỉ biết rằng bất cứ khóa mới nào xuất hiện, đều có hai mươi vị trí ngôn ngữ đang chờ, trong đó mười tám vị trí hiện đang thiếu khóa này.

20ngôn ngữ trong sổ đăng ký
1khóa mới được thêm bằng tay
18danh mục vẫn còn thiếu khóa này

Lượt chạy tiếp nhận nó

Việc phát hành tính năng chính là tác nhân kích hoạt. Không ai lập ticket để "dịch bước onboarding mới". Một lượt chạy sinh nội dung tự động sẽ chạy trên sổ đăng ký, so sánh từng danh mục với nguồn tiếng Anh, và điền vào chính xác những chuỗi văn bản còn thiếu — bao gồm cả chuỗi này — trong khi để nguyên mọi dòng khác trong mọi tệp khác. Nếu chúng tôi phải chờ ai đó nhớ ra, nút này vẫn sẽ hiển thị "Kết nối Search Console" trong giao diện tiếng Đức một năm sau, nằm cạnh phần còn lại toàn bằng tiếng Đức. Đó là kiểu thất bại mà chúng tôi xây dựng cả quy trình để tránh: không phải là bản dịch tệ, mà là những bản dịch không bao giờ xảy ra vì không có gì buộc phải xử lý vấn đề đó.

Từ duy nhất được cố tình hiển thị chưa hoàn chỉnh

Đây là phần khiến mọi người bất ngờ. Bước onboarding mới cũng giới thiệu một giá trị trạng thái tên miền mới, và các giá trị trạng thái đến từ cơ sở dữ liệu, không phải từ hàng đợi của người dịch — chúng được bản địa hóa ngay tại điểm hiển thị, với phương án dự phòng bằng tiếng Anh được tích hợp sẵn. Vì vậy trong vài giờ giữa lúc mã nguồn được phát hành và lúc các danh mục được tái tạo, một người dùng tiếng Pháp sẽ thấy từ tiếng Anh gốc cho trạng thái đó thay vì một khoảng trống, một lỗi, hay một stack trace. Cố tình trông kém hơn so với một bản dịch đúng nghĩa, nhưng cố tình tốt hơn so với việc bị hỏng.

Chúng tôi thà phát hành một khoảng trống trung thực còn hơn một lỗi âm thầm.

Bộ chuyển đổi

Khi các danh mục được cập nhật, cách người dùng truy cập chúng không hề thay đổi. Biểu tượng địa cầu nằm trên thanh điều hướng của mọi trang công khai — không phải một tùy chọn ẩn trong cài đặt tài khoản — và bấm vào đó sẽ hiển thị lại trang hiện tại ngay tại chỗ. Nếu ai đó đang ở giữa bước onboarding mới khi họ chuyển từ tiếng Anh sang tiếng Việt, nhãn nút sẽ đổi ngay dưới con trỏ mà không cần tải lại trang hay mất vị trí trong luồng thao tác. Chi tiết đó thực ra tốn nhiều công sức kỹ thuật hơn cả chính quy trình dịch thuật, vì "hiển thị lại mọi thứ mà không tải lại trang" ảnh hưởng đến mọi thành phần có trạng thái trên trang, chứ không chỉ nội dung văn bản tĩnh.

Agent chưa từng thấy sổ đăng ký

Và đây là điều bất ngờ: không cơ chế nào trong số này là điều mà người dùng của luồng onboarding đó thực sự để ý đến. Điều họ nhận thấy là trợ lý chỉ đơn giản trả lời bằng bất kỳ ngôn ngữ nào họ dùng để hỏi — không phải vì nó đọc sổ đăng ký chuỗi văn bản, mà vì nó là một mô hình ngôn ngữ phản hồi tương ứng, giống như cách nó sẽ làm với một con người.

  • Mở trợ lý AI giữa lúc thiết lập và đặt câu hỏi bằng tiếng Việt — nó trả lời bằng tiếng Việt.
  • Yêu cầu công cụ dựng web soạn kế hoạch bằng tiếng Nhật — kế hoạch trả về bằng tiếng Nhật.
  • Yêu cầu báo cáo SEO bằng tiếng Tây Ban Nha — toàn bộ báo cáo là tiếng Tây Ban Nha.

Các chuỗi giao diện là bộ máy hai mươi ngôn ngữ được mô tả ở trên; đầu ra của tác nhân AI là một cơ chế hoàn toàn khác nhưng mang lại cùng trải nghiệm — và chính nó khiến sản phẩm cảm giác như được xây dựng riêng cho bạn thay vì chỉ được dịch cho bạn.

Những gì không được áp dụng cách này: các trang pháp lý và blog này vẫn giữ nguyên tiếng Anh một cách có chủ đích. Một Điều khoản dịch vụ dịch sai là rủi ro pháp lý, không phải sự bất tiện, và dịch máy đối với văn bản đòi hỏi độ chính xác cao chỉ làm tăng sự mơ hồ đúng ở nơi bạn không thể chấp nhận được. Phần khung xung quanh các trang đó — menu điều hướng, chân trang, nút bấm — vẫn chạy qua cùng bộ máy hai mươi ngôn ngữ như mọi thứ khác.
Nền tảng
Chia sẻXLinkedInFacebookRedditQuoraWhatsAppTelegramEmail
← Tất cả bài viết