Weblate – công cụ hỗ trợ translation quá tiện dụng!

Một tính năng quan trọng đối với nhiều trang web đó là việc hỗ trợ đa ngôn ngữ, nó giúp cho trang web đến được với nhiều độc giả hơn và trở nên thân thiện hơn. Tuy vậy công việc chuyển ngữ cho trang web ra thành nhiều ngôn ngữ khác nhau không phải là việc dễ dàng đặc biệt khi những đoạn text cần dịch là khổng lồ. Thử hình dung flow của việc dịch thuật như sau:

  • Developer tạo ra một file ngôn ngữ nguồn, chẳng hạn en.json, với các cặp giá trị key-value, trong đó key là mã của string cần translate, value là string đó trong tiếng Anh.
  • Developer tạo ra một file đích với các key tướng ứng, và value được dịch sang tiếng Việt.
  • Khi có một đoạn text mới cần dịch thì bạn developer cần mẫn của chúng ta lại tạo ra thêm các cặp key-value ở tất cả các file ngôn ngữ.
  • Nếu bạn developer không thể tự dịch sang ngôn ngữ khác thì sao? Sẽ có một bạn gọi là translator giúp. Có thể là bạn đó được bạn dev gửi file en.json và gửi lại một file ja.json. Tất nhiên nếu có thêm các đoạn text cần xử lý (vì trang web luôn luôn thay đổi theo thời gian), thì quá trình tương tác có thể là một gánh nặng lớn.

Vậy có cách nào để quá trình dịch này trở nên dễ dàng hay không? Làm sao có thể quản lý được việc dịch và kết quả dịch để tránh được sai sót trong quá trình với quá nhiều step kể trên???

Câu trả lời đó là hãy dùng công cụ hỗ trợ – đó chính là WEBLATE!!!

Weblate

Weblate là một công cụ localization (địa phương hóa) chạy trên nền web, thực chất là một website viết bằng Django Framework.

Tại sao Weblate lại giải quyết được bài toán trên? Vì WEBLATE:

  • tích hợp source control (GIT, SVN)
  • hỗ trợ nhiều định dạng file
  • ghi lịch sử người dịch
  • hiển thị ngữ cảnh
  • có khả năng gộp các bản dịch
  • kiểm tra tính thống nhất

Với Weblate, quá trình dịch trở nên chủ động, dev và translator có thể làm việc độc lập với nhau và theo dõi được progress của nhau.

Weblate tự động cập nhật quá trình dịch nhờ có việc tích hợp source control và các trigger tới source repository, do đó tất cả member trong dự án có thể dễ dàng theo dõi và có các hành động phù hợp.

Cài đặt

Việc cài đặt Weblate rất đơn giản với nhiều lựa chọn khác nhau. Có thể cài trực tiếp từ source code hoặc thông qua Docker. Xem thêm tại đây

Weblate cũng có thể chạy trên nhiều môi trường khác nhau

Cài đặt Weblate bằng Docker

$ git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker
$ cd weblate-docker

Tạo mới 1 file tên là docker-compose.override.yml sau đó cấu hình các biến môi trường phù hợp, ví dụ:

version: '3'
services:
  weblate:
    ports:
      - 80:8080
    environment:
      WEBLATE_EMAIL_HOST: smtp.example.com
      WEBLATE_EMAIL_HOST_USER: user
      WEBLATE_EMAIL_HOST_PASSWORD: pass
      WEBLATE_SERVER_EMAIL: weblate@example.com
      WEBLATE_DEFAULT_FROM_EMAIL: weblate@example.com
      WEBLATE_SITE_DOMAIN: weblate.example.com
      WEBLATE_ADMIN_PASSWORD: password for the admin user
      WEBLATE_ADMIN_EMAIL: weblate.admin@example.com

Sau đó chạy lệnh sau là sẽ vào được weblate ở địa chỉ localhost

$ docker-compose up

Cài đặt Weblate lên Kubenetes cluster

Nếu bạn có một Kubenestes cluster thì cài đặt welate rất dễ dàng như sau

$ helm repo add weblate https://helm.weblate.org
$ helm repo update
$ helm install weblate/weblate -n weblate

Weblate đang được tích cực phát triển và hứa hẹn có nhiều thêm các tính năng hữu ích trong tương lai!

Leave a comment