Đọc chính tả cho lập trình viên: đâu chỉ tiếng Anh

Code bằng tiếng Anh; công việc thường không. Đọc chính tả đa ngôn ngữ trên máy cho tin nhắn Slack, review và tài liệu bằng ngôn ngữ của bạn.

Teodor Deleanu10 tháng 7, 20267 phút đọc

Có một giả định lười biếng nằm sẵn trong phần lớn công cụ dành cho lập trình viên: vì code được viết bằng từ khóa tiếng Anh, hẳn là lập trình viên cũng đang làm việc bằng tiếng Anh. Ai từng thật sự làm trong một team ở Bucharest, São Paulo, Warsaw hay Kyiv đều biết điều đó sai đến mức nào.

Đúng, hàm thì tên là getUserSession và commit message thì chắc là tiếng Anh. Nhưng hãy nhìn mọi thứ bao quanh phần code: thread Slack nơi bug được báo, tin nhắn gửi khách hàng giải thích lý do trễ hạn, tài liệu nội bộ mô tả kế hoạch migration, cái comment review code cần chút khéo léo ngoại giao, ghi chú standup. Trong một team song ngữ, cả lớp đó có thể diễn ra bằng ngôn ngữ của chính team.

Trong khi đó, các công cụ đọc chính tả phần lớn coi lời nói không phải tiếng Anh là chuyện phụ: về mặt kỹ thuật thì có hỗ trợ ở đâu đó trong menu cài đặt, hiếm khi được thiết kế cho, và gần như không bao giờ là điểm nhấn chính. Nếu đọc chính tả muốn trở thành một kênh nhập liệu thật sự cho builder — chứ không phải một màn demo — thì nó phải chạy được bằng ngôn ngữ mà bạn thật sự nghĩ bằng thứ tiếng đó.

Ngày làm việc song ngữ mới là ngày làm việc bình thường

Kết cấu của nó là thế này: bạn nghĩ bằng tiếng mẹ đẻ, code bằng tiếng Anh, và chuyển qua lại giữa hai thứ suốt cả ngày. Một lập trình viên Rumani viết retryWithBackoff, rồi quay sang Slack giải thích bằng tiếng Rumani vì sao phần logic retry lại cần backoff ngay từ đầu. Một kỹ sư Đức review một PR bằng cú pháp tiếng Anh rồi chú thích nó bằng văn xuôi tiếng Đức.

Việc gõ phím xử lý chuyện song ngữ này ngon lành, vì bàn phím chẳng quan tâm bạn gõ ngôn ngữ nào. Nhưng khoảnh khắc bạn thêm giọng nói vào, công cụ đột nhiên lại quan tâm. Nếu việc đọc chính tả của bạn chỉ chạy tốt bằng tiếng Anh, bạn đọc được những mảnh tiếng Anh sát với code, nhưng không đọc được những tin nhắn, tài liệu và lời giải thích mà bạn viết bằng ngôn ngữ khác.

Chuyện này càng gắt hơn trong quy trình chạy nhiều agent song song mà chúng tôi đã viết ở bài điều khiển Claude Code bằng giọng nói. Nếu giọng nói của bạn là kênh điều khiển cho vài lane — ra prompt cho một agent ở cửa sổ này, trả lời đồng nghiệp ở cửa sổ khác — thì một công cụ đọc chính tả vấp váp bên ngoài tiếng Anh sẽ làm hỏng đúng một nửa số lane của bạn. Prompt cho agent thì chạy; câu trả lời cho đồng đội thì không.

Keebye thật sự làm gì với chuyện này

Những tuyên bố về hỗ trợ ngôn ngữ là chỗ mà marketing của ngành đọc chính tả hay mập mờ, nên đây là chính xác những gì Keebye làm được hôm nay — không hơn, không kém.

Engine mặc định được tinh chỉnh cho tiếng Anh. Chúng tôi không định giấu điều đó. Model có sẵn ngay từ đầu được tối ưu cho việc đọc chính tả tiếng Anh nhanh và chính xác, vì đó là mặc định tốt và nhẹ nhất, và nhiều người dùng chẳng cần gì hơn.

Engine đa ngôn ngữ là một lựa chọn hạng nhất, và nó chạy cục bộ. Chuyển sang engine Canary trong phần cài đặt và bạn có việc chuyển giọng nói thành văn bản ngay trên máy với 25 ngôn ngữ: tiếng Bungari, Croatia, Séc, Đan Mạch, Hà Lan, Anh, Estonia, Phần Lan, Pháp, Đức, Hy Lạp, Hungary, Ý, Latvia, Litva, Malta, Ba Lan, Bồ Đào Nha, Rumani, Nga, Slovakia, Slovenia, Tây Ban Nha, Thụy Điển, Ukraina — kèm một bộ chọn ngôn ngữ để ghim đúng thứ tiếng bạn làm việc. Như mọi thứ khác trong Keebye, nó chạy trên máy Mac của bạn: âm thanh bạn nói chuyện với team bằng ngôn ngữ của mình không bao giờ rời khỏi máy, và nó vẫn chạy offline sau khi model đã được tải về.

Engine gốc của Apple cũng có mặt. Nếu bạn muốn dùng phần nhận dạng giọng nói vốn đã tích hợp sẵn trong macOS — thứ chạy theo ngôn ngữ hệ thống của bạn — Keebye có thể dùng nó thay thế, không cần tải model nào cả.

Vốn từ riêng của bạn đi theo cùng. Từ điển tùy chỉnh áp dụng bất kể engine nào, và điều đó còn quan trọng hơn trong công việc đa ngôn ngữ chứ không ít đi — mỗi team đều tự phát triển thứ ngôn ngữ lai của riêng mình gồm tên sản phẩm, từ mượn tiếng Anh, và ngữ pháp bản địa bọc quanh chúng.

Và đây là ranh giới trung thực: 25 ngôn ngữ là 25 ngôn ngữ, không phải “mọi ngôn ngữ”. Nếu ngôn ngữ của bạn không nằm trong danh sách đó, engine đa ngôn ngữ của Keebye hôm nay chưa bao được bạn, và chúng tôi thà nói thẳng còn hơn làm tròn lên thành một con số cho đẹp. (Phần cơ chế hằng ngày — ghim một ngôn ngữ, chuyển nhanh từ menu bar, chuyện gì xảy ra khi tự động nhận diện đoán sai — nằm trong bài ghim ngôn ngữ đọc chính tả của bạn.)

Vì sao chuyện này hiếm, và vì sao đó là một cơ hội

Đọc chính tả đa ngôn ngữ ưu tiên chạy cục bộ thật sự là của hiếm. Các sản phẩm đọc chính tả trên đám mây thường có danh sách ngôn ngữ dài nhất — gửi âm thanh lên các model lớn phía máy chủ là cách dễ nhất để thêm ngôn ngữ — nhưng cách đó dẫn lời nói của bạn qua hạ tầng của người khác, đúng cái điều mà một số team không thể chấp nhận. Chúng tôi đã trình bày sự đánh đổi đó một cách trung thực trong bài Keebye vs Wispr Flow. Ngược lại, các công cụ ưu tiên cục bộ thì trước nay vẫn dẫn đầu bằng tiếng Anh và coi những ngôn ngữ khác chỉ là một ô tick. (Người dùng Superwhisper đang cân nhắc cùng câu hỏi có thể đọc bài so sánh của chúng tôi.)

Kết quả là một khoảng trống có thật: một lập trình viên vừa muốn đọc chính tả bằng tiếng Ba Lan vừa muốn giữ âm thanh trên máy của mình thì có rất ít chỗ để đứng.

Chuyện này cũng mang tính cá nhân. Câu chuyện của người sáng lập Keebye — hai đứa con, ba startup, một giọng nói — tình cờ chính là câu chuyện của một builder nói tiếng Rumani làm việc với các startup quốc tế: đúng cái thế song ngữ mà bài viết này mô tả, sống với nó mỗi ngày. Engine đa ngôn ngữ không phải một tính năng chúng tôi thêm vào vì thị trường. Nó là tính năng mà người sáng lập cần trước giờ ăn trưa.

Chuyện này sẽ đi tới đâu

Cược của chúng tôi rất đơn giản: việc nhập liệu bằng giọng nói cho builder rồi sẽ bị đánh giá đúng như cách người ta đánh giá bàn phím — hoặc nó chạy được bằng ngôn ngữ của bạn, hoặc nó hỏng. “Tiếng Anh cộng thêm một dấu hoa thị” sẽ không sống nổi khi va vào những team thật.

Nếu bạn làm việc bằng một trong 25 ngôn ngữ đó, hãy bắt đầu bản dùng thử miễn phí bên dưới. Chuyển engine sang Canary, ghim ngôn ngữ của bạn, và đọc câu trả lời Slack tiếp theo đúng như cách bạn sẽ nói nó — rồi kể cho chúng tôi nghe cái gì hỏng, bằng bất kỳ ngôn ngữ nào bạn thích.

Giữ cả hai lane ngôn ngữ cùng chạy

Bắt đầu bản dùng thử miễn phí 14 ngày và thử đọc chính tả có ghim ngôn ngữ, chạy ngay trên máy, bằng đúng ngôn ngữ mà team bạn thật sự dùng.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Đọc tiếp