Chuyển đến nội dung chính
cutty.dev
All posts

25 ngôn ngữ TRỰC TIẾP — một cột mốc quan trọng

cutty.dev hiện đã nói được 25 ngôn ngữ. Một câu chuyện ngắn về ý nghĩa của việc này, tại sao lại là những ngôn ngữ cụ thể đó, và cách nó được thực hiện mà không cần gửi dữ liệu ra bên ngoài.

  1. Chúng tôi đã thêm bấy nhiêu ngôn ngữ chỉ trong vài tuần. Sự khởi đầu rất khiêm tốn: tiếng Ba Lan và tiếng Anh, hai, kết thúc danh sách. Giờ đây cutty.dev chào đón bạn với hai mươi lăm ngôn ngữ. Con số này thật đẹp, nhưng tự thân nó không có ý nghĩa gì cả. Ý nghĩa nằm ở việc ai là người đứng sau những cột mốc này.

Hãy tính nhanh nhé. Tiếng Ả Rập có hơn 400 triệu người. Tiếng Hindi thêm vài trăm triệu nữa. Tiếng Trung, nếu tính cả tiếng Quan Thoại, vượt quá một tỷ người. Thêm vào đó là tiếng Tây Ban Nha (Tây Ban Nha cộng với gần như toàn bộ Mỹ Latinh) và tiếng Bồ Đào Nha (chủ yếu nhờ Brazil). Tổng hợp các thị trường này lại, chúng ta có tới vài tỷ người có thể tiếp cận công cụ ngay lập tức bằng ngôn ngữ của họ. Ngay từ giây đầu tiên.

Tại sao lại là 25 này

Danh sách đầy đủ, để cho ngăn nắp. Tiếng Ba Lan, tiếng Anh, tiếng Đức, tiếng Pháp, tiếng Tây Ban Nha, tiếng Ý, tiếng Séc, tiếng Romania, tiếng Hungary, tiếng Hy Lạp, tiếng Hà Lan, tiếng Thụy Điển, tiếng Phần Lan, tiếng Ukraina, tiếng Thổ Nhĩ Kỳ. Thêm vào đó là tiếng Ả Rập và tiếng Do Thái (cả hai đều được viết từ phải sang trái). Tiếng Trung, tiếng Nhật, tiếng Hàn. Tiếng Hindi, tiếng Thái, tiếng Việt, tiếng Indonesia. Và tiếng Bồ Đào Nha.

Không có gì ở đây là ngẫu nhiên cả. Lớp đầu tiên đơn giản là Châu Âu, từng thị trường một. Lớp thứ hai là những nơi mà một startup châu Âu thường không chạm tới cho đến khi "có sự chuyển động": Trung Đông và Bắc Phi, Israel, Đông Á, tiểu lục địa Ấn Độ, Đông Nam Á.

Tiếng Pháp là một ví dụ điển hình ở đây về việc một locale có thể kéo theo cả nửa thế giới. Pháp, tất nhiên rồi, nhưng còn cả Bỉ, Quebec và một phần lớn Tây Phi nữa. Một tệp dịch duy nhất, phục vụ cho hàng chục quốc gia.

Những bản dịch này từ đâu mà có

Đây là phần mà tôi có lẽ cảm thấy hài lòng nhất. Nó không thông qua bất kỳ API bên ngoài nào. Một mô hình AI cục bộ, chạy trên thiết bị riêng của chúng tôi, trong mạng lưới của chúng tôi đã thực hiện việc dịch thuật.

Điều này có nghĩa là, nói một cách bình dân:

  • Không một câu nào từ giao diện bị lọt ra ngoài. Không có nhà cung cấp AI nào nhận được văn bản của chúng tôi để "xử lý". Không phải vì chúng tôi có điều gì cần che giấu trong nút "Rút gọn". Đơn giản là chúng tôi đã thiết lập dự án này như vậy ngay từ đầu và không tạo ra ngoại lệ, vì các ngoại lệ sau này sẽ dần tích tụ lại.
  • Kết quả cho ra tốt hơn so với việc dịch từng từ một. Mô hình giữ được ngữ cảnh, tông giọng, đôi khi cả lời nói đùa. "Short link" trong ba ngôn ngữ có thể có ba từ tương đương hợp lý khác nhau, chứ không phải là một bản dịch máy móc.
  • Không tốn chi phí cho mỗi truy vấn. Tôi muốn sửa một câu trong hai mươi lăm phiên bản? Tôi làm điều đó mà không cần bận tâm đến hóa đơn.

Sau lần kiểm tra đầu tiên, tôi vẫn xem xét kỹ từng phiên bản một. Liệu bố cục có được giữ nguyên không, liệu tiếng Đức (những danh từ dài tuyệt vời của nó) có đẩy văn bản ra khỏi nút bấm không, hay tiếng Ả Rập thực sự có trôi theo đúng hướng không.

Phản chiếu trang, hay tiếng Ả Rập và tiếng Do Thái

Đây là một công việc riêng biệt, không phải là "thay đổi flag". Toàn bộ trang web cho hai ngôn ngữ này đang bị lật ngược theo chiều ngang. Thanh điều hướng nằm bên phải, các mũi tên hướng về phía ngược lại, ngay cả hiệu ứng gradient trong phần hero cũng chạy ngược.

Có thể đã có thể bỏ qua. Nhiều dịch vụ đã bỏ qua và khi đó phiên bản tiếng Ả Rập trông giống như một trang web phương Tây bị ai đó lật ngược một phần và để mặc như vậy. Điều này có thể thấy ngay lập tức. Chúng tôi muốn người Ai Cập hay người Israel có cảm giác rằng trang web được thực hiện dành riêng cho họ, chứ không phải là bản dịch được làm thêm ngoài giờ làm việc cho họ.

Phông chữ, hay vấn đề mà không ai nghĩ tới cho đến khi nó gặp sự cố

Tiếng Trung, tiếng Nhật, tiếng Hàn. Các ký tự CJK mà font chữ web thông thường đơn giản là không có sẵn bên trong. Nếu để nguyên như vậy, người dùng sẽ thấy các ô vuông thay vì văn bản (giao diện kinh điển của một trang web bị lỗi). Vì vậy, chúng tôi tải thêm các font bổ sung, nhưng chỉ ở những phiên bản này. Hơn hai mươi ngôn ngữ địa phương còn lại đều sử dụng kiểu chữ tiêu chuẩn, nhẹ nhàng của chúng tôi và không phải gánh thêm bất cứ thứ gì không cần thiết. Tiếng Thái, tiếng Hindi và các hệ chữ viết khác cũng nhận được cách tiếp cận hoàn toàn tương tự.

Thứ tự ngược lại

Kịch bản đã quá rõ ràng: bạn ra mắt sản phẩm bằng tiếng Anh, còn các ngôn ngữ khác thì "để khi nào có tương tác rồi tính". Chỉ có điều là sẽ chẳng có tương tác bằng tiếng Tây Ban Nha nào cả, chừng nào người Tây Ban Nha tìm thấy qua Google vẫn chỉ thấy tiếng Anh và rời đi.

Chúng ta đã đi ngược lại. 25 ngôn ngữ để chào buổi sáng. Một ai đó từ Séc, Đài Loan, Việt Nam hoặc Ai Cập tìm thấy bạn qua công cụ tìm kiếm và cảm thấy như đang ở nhà ngay từ màn hình đầu tiên.

Điều này cũng thể hiện một sự lịch sự thông thường. Mặc định, Internet giả định rằng bạn sẽ giao tiếp bằng tiếng Anh. Một công cụ nhỏ đến từ Châu Âu, nói với bạn bằng tiếng Hàn hoặc tiếng Thái, đồng thời còn truyền tải một thông điệp khác: rằng nó được tạo ra cho tất cả mọi người, chứ không chỉ dành riêng cho cộng đồng nói tiếng Anh.

Và nếu của bạn không có ở đó

Danh sách này còn dài, nhưng không phải là đóng lại vĩnh viễn. Bạn không thấy ngôn ngữ của mình? Viết cho chúng tôi. Việc thêm một ngôn ngữ mới đối với chúng tôi chỉ là vấn đề vài ngày, thực sự đấy, không phải vài quý đâu.

Và nếu chúng ta đã thống nhất rồi, thì bạn biết phải làm gì rồi đấy. Rút gọn một liên kết nào đó và xem liệu nó có thực sự trông giống như của chính mình không. Nếu có gì đó không ổn, cũng hãy cho tôi biết nhé.