Chuyển ngữ trang web với Translation API – 4 thực hành tốt nhất

Tháng Chín 11, 2021
Nga Pham

Google Cloud Translation API là một dịch vụ dịch thuật linh hoạt giữa các ngôn ngữ, được xây dựng với sự hỗ trợ của các mô hình máy học hiện đại của Google. Đây là một API có khả năng mở rộng cao, hỗ trợ hơn 100 ngôn ngữ và khả năng phát hiện ngôn ngữ tự động. Trong bài đăng này, chúng tôi sẽ chia sẻ một số thực hành tốt nhất để tối ưu hóa chi phí, gia tăng hiệu suất và tăng cường bảo mật bằng cách sử dụng API Dịch thuật trên trang web của bạn.

Tối ưu hóa kiến trúc cho hiệu suất, chi phí và bảo mật

Một trường hợp phổ biến cần chuyển ngữ trang web là khi khách hàng truy cập một trang web và lựa chọn ngôn ngữ của họ, sau đó trang web của bạn sẽ hiển thị bằng ngôi ngữ đó. Tuy nhiên, phương pháp dịch theo yêu cầu (demand translation) có thể tốn kém chi phí vì yêu cầu phải gửi đi gửi lại cùng một nội dung để dịch.

Một trong những phương pháp hay nhất để giảm thiểu chi phí, gia tăng hiệu suất và nâng cao khả năng bảo mật là tận dụng bộ nhớ đệm (cache). Lưu nội dung đã dịch vào bộ nhớ đệm không chỉ làm giảm số lượng lệnh gọi API Dịch thuật, mà còn giảm tải bớt gánh nặng cho các cơ sử dữ liệu và máy chủ backend của bạn, từ đó tối ưu hóa hiệu suất của ứng dụng và giảm thiểu chi phí phân phối tài nguyên.

Có rất nhiều cách để thiết lập bộ nhớ đệm trong kiến trúc ứng dụng của bạn, ở các lớp khác nhau của ứng dụng, chẳng hạn như:

  • Sử dụng Mạng Phân phối Nội dung (Content Delivery Network – CND) để phân phối nội dung trên toàn cầu: Hãy lưu trữ nội dung đã dịch tại các vị trí biên (edge locations) được phân phối toàn cầu – nơi có thể giảm độ trễ mạng bằng các phân phối nội dung gần hơn với người dùng của bạn. Điều đáng nói khi sử dụng CDN chính là, bạn sẽ có nhu cầu theo dõi tỷ lệ truy cập bộ nhớ cache (phần trăm số lần một đối tượng được phân phát từ bộ nhớ cache theo yêu cầu) để đảm bảo nội dung được cache đúng cách. Hơn nữa, nếu bạn lựa chọn sử dụng Google Cloud CDN, bạn có thể tận dụng tính năng bảo vệ mặc định chống lại các mối đe dọa bảo mật phổ biến như DDoS và các hoạt động của bot. Bạn cũng có thể thêm một số lớp bảo mật bổ sung với Tường lửa Ứng dụng Web (Web Application Firewall – WAF) như Google Cloud Armor để phòng tránh các cuộc tấn công lớp nhắm đến ứng dụng như SQL injection (SQLi), Cross-Site Scripting (XSS) hoặc Remove Code Execution (RCE).
  • Bộ nhớ đệm ở lớp proxy (Proxy cache): Bộ nhớ đệm proxy là một tùy chọn đơn giản và hiệu quả nếu bạn đang sử dụng các máy chủ như NGINX hoặc HAProxy. Lợi thế của bộ nhớ đệm proxy là không cần hoặc cần rất ít công việc cải tiến mã nguồn backend của ứng dụng. Bằng cách lưu vào bộ nhớ đệm proxy nội dung đã dịch, bạn có thể giảm thiểu chi phí và giảm tải cho các máy chủ backend, từ đó có thể gia tăng hiệu suất cho người dùng của mình.
  • Bộ nhớ đệm ở cấp ứng dụng: Bộ nhớ đệm có thể được định cấu hình ở lớp ứng dụng trong bộ nhớ máy chủ web hoặc thông qua một dịch vụ bộ nhớ đệm ngoài quy trình như Google Cloud Memorystore for Redis and Memcached. Cần lưu ý rằng ở lớp này, cách tốt nhất là lưu trữ nội dung đã dịch thô – không được định dạng HTML như cách thực hiện trong CDN và proxy, do việc kết xuất (render) HTML thường xảy ra sau khi ứng dụng truy xuất nội dung được lưu trữ trong bộ nhớ cache. Nếu bạn đang sử dụng Hệ thống Quản lý Nội dung (Content Management System – CMS) như WordPress và Drupal, bạn có thể tận dụng các plugin dịch thuật có sẵn hoặc thậm chí là các plugin tùy chỉnh để lưu trữ và truy xuất nội dung đã lưu trong Memorystore.

Truy cập an toàn với nguyên tắc đặc quyền tối thiểu

Khi truy cập API Dịch thuật của Google Cloud, bạn nên sử dụng tài khoản dịch vụ trên Google Cloud Service hơn là việc sử dụng các khóa API (API keys). Tài khoản dịch vụ là một loại tài khoản xác thực đặc biệt, đại diện cho một người dùng không phải là con người và có thể được ủy quyền truy cập vào dữ liệu trong các API của Google, ở đây là Google Cloud Translation API. Tài khoản dịch vụ không có mật khẩu cụ thể và chính vì không thể đăng nhập vào tài khoản này trên trình duyệt, nó có khả năng giảm thiểu các nguy cơ gây hại. Tuân thủ theo nguyên tắc đặc quyền tối thiểu, bạn có thể cấp một vai trò mới với các đặc quyền tối thiểu và tập hợp các quyền cần thiết để truy cập API Dịch thuật. Nếu bạn muốn biết thêm thông tin, bạn có thể tìm hiểu các thực hành tốt nhất tại các tài liệu của Google về vấn đề sử dụng và quản lý tài khoản dịch vụ, bảo mật tài khoản dịch vụquản lý khóa tài khoản dịch vụ.

Tùy chỉnh bản dịch và cung cấp tính minh bạch

Nếu nội dung của bạn bao gồm các thuật ngữ chuyên ngành hoặc các cụm từ được sử dụng riêng cho một ngữ cảnh cụ thể, Google Cloud Translation API Advanced (API Dịch thuật Nâng cao) hỗ trợ bạn tùy chỉnh kết quả dịch với Bảng chú giải thuật ngữ. Bạn cũng có thể xây dựng và tận dụng các mô hình dịch tùy chỉnh thông qua Google AutoML Translation.

Cần lưu ý rằng nếu bạn không xem xét và chỉnh sửa bản dịch nội dung trước khi xuất bản, Google đề xuất nên thông báo cho khách hàng của bạn rằng nội dung được dịch bằng máy với Google và họ cũng cung cấp các nguyên tắc cụ thể để ghi nhận tác giả. Tính minh bạch này sẽ giúp khách hàng hiểu rằng đây là nội dung được dịch tự động và có thể xảy ra sai sót.

Ngân sách – Đặt ra và đừng quên nó

Chi phí của API Dịch thuật chủ yếu dựa trên số lượng ký tự được gửi đến API. Lấy ví dụ, với giá niêm yết là 10$ cho mỗi 1 triệu lý tự, nếu trang web của bạn bao gồm 20 triệu ký tự và bạn cần dịch sang 10 ngôn ngữ khác nhau, thì bạn cần trả 10$ x 20 = 200$. Bạn có thể tìm hiểu thêm về chi phí khi sử dụng API dịch thuật tại đây và ước tính giá cần phải trả thông qua công cụ tính toán giá cả của Google.

Khi chuyển sang giai đoạn phát triển, hãy kiểm soát chi phí và tránh những tình huống xảy ra ngoài dự đoán bằng cách giám sát ngân sách và bật cảnh báo trong môi trường sử dụng của bạn. Việc này giúp bạn chủ động giải quyết các vấn đề nếu chi phí tăng lên cao hơn dự kiến. Chúng tôi đề xuất bạn nên đặt giới hạn hạn ngạch nhỏ hơn trong giai đoạn thử nghiệm để đảm bảo mọi thứ luôn hoạt động trong phạm vi ngân sách cho phép, và sau đó chỉ cần nhớ điều chỉnh nó khi triển khai trong môi trường sản xuất để không gây ra bất cứ sự gián đoạn nào xảy ra do sự quá tải ngân sách.

Dịch thuật là công việc vô cùng quan trọng trong thời đại số, khi con người với những nguồn gốc và ngôn ngữ đa dạng cộng tác với nhau nhiều hơn bao giờ hết. Với các nguyên tắc và thực hành hay nhất được chia sẻ trong bài đăng này, chúng tôi hy vọng bạn sẽ được trang bị một cách sẵn sàng với lợi thế cạnh tranh cao để tiếp cận khán giả mới đến từ khắp nơi trên thế giới.

Theo Google Cloud Blog