CAT / OmegaT / Thuật ngữ

Hướng dẫn dùng thuật ngữ như thành phần con (submodule) của dự án dịch nhóm với OmegaT

Với dự án dịch nhóm sử dụng phần mềm OmegaT mà dữ liệu dịch được lưu ở một máy chủ git, việc tích hợp thêm danh mục thuật ngữ có trong một git repository khác là rất tiện lợi. Bài này hướng dẫn cho người tổ chức dự án dịch nhóm với OmegaT cách dùng thuật ngữ ở một git repository dưới dạng một thư mục con (submodule) của thư mục glossary trong dự án OmegaT.

1. Chuẩn bị:

Hướng dẫn bằng hình ảnh dưới đây sử dụng các phần mềm sau trên hệ điều hành Windows:

– TortoiseGit: https://tortoisegit.org/
– Git for Windows: http://gitforwindows.org/
– OmegaT (lấy Latest version): https://omegat.org/download

Một số điều kiện cần có trước khi làm theo hướng dẫn này:

2. Quy trình thêm một git repository vào thành submodule ở dự án git của OmegaT gồm các bước: thêm submodule vào dự án OmegaT trong máy tính -> cập nhật sự thay đổi của thư mục đó lên mạng bằng git commitgit push.

a/. Thêm submodule:

Trong Windows Explorer, mở thư mục git chứa dự án OmegaT trong máy tính (ví dụ: E:\OmegaT\omegat-test-project, lưu ý rằng đây là thư mục local repository của dự án git, không phải là thư mục từ “Download team project” trong OmegaT). Nhấn chuột phải vào một chỗ trống để hiện ra menu, chọn TortoiseGit -> Submodule Add…

Sau đó hộp thoại “Submodule Add” sẽ hiện ra, điền vào đó:

  • Ở khung “Repository”: địa chỉ git của repository chứa thuật ngữ mà mình muốn dùng, ví dụ ở đây là: https://gitlab.com/dichthuat/glossary/demo_open_glossary.git
  • Ở khung “Path”: đường dẫn đến nơi mình muốn đặt thư mục submodule, chỉ cần đường dẫn tương đối trong thư mục dự án OmegaT, ví dụ: glossary/demo_submodule. Ở đây thư mục “glossary” là nơi mặc định của OmegaT để chứa các dữ liệu thuật ngữ, còn “demo_submodule” là tên thư mục chưa tồn tại, nó sẽ được phần mềm tạo ra và chép nội dung trong repository thuật ngữ vào đó.

Điền hai thông tin trên xong, ta nhấn “OK”. Sau khi công cụ git chạy lệnh git submodule thành công thì ta sẽ thấy một thư mục demo_submodule được tạo ra, copy ở đó đầy đủ nội dung của thư mục “bản gốc” từ https://gitlab.com/dichthuat/glossary/demo_open_glossary/.

b/. Cập nhật việc thêm submodule lên máy chủ git:

Dùng chức năng “Git Commit -> “master”…” để công cụ git lưu lại thay đổi trong thư mục dự án OmegaT trong máy tính (lưu thay đổi vào local repository). Sau đó dùng chức năng “Push” để đẩy nội dung mới ở local repository lên remote repository trên mạng. Hình dưới đây cho thấy khi thêm xong submodule thì lúc chạy git commit sẽ thấy những file và thư mục mới được thêm vào.

Sau khi đã “Push” xong, thì ta có thể kiểm tra trên trang web và thấy: trong git repository của dự án OmegaT sẽ xuất hiện thêm một thư mục có tên demo_submodule với biểu tượng đặc biệt, có thêm chuỗi ký tự kiểu @ 2a0b1c8d ở phía sau. Đây là ký hiệu cho biết thư mục demo_submodule này được gắn với một mã hiệu commit ở bản gốc. Khi bấm chuột vào tên thư mục demo_submodule, trang web sẽ dẫn ta đến nơi lưu trữ git repository gốc.

Như vậy, ta đã thêm được nội dung của thư mục lưu trữ thuật ngữ ở địa chỉ https://gitlab.com/dichthuat/glossary/demo_open_glossary/ thành một thư mục con có tên demo_submodule nằm trong thư mục glossary của dự án dịch nhóm OmegaT, lưu trên dịch vụ Gitlab. Mỗi thành viên của nhóm dịch khi kết nối với dự án của nhóm trên Gitlab sẽ truy cập được nội dung của thư mục thuật ngữ một cách tự động, nhờ phần mềm OmegaT có cơ chế tự lấy về nội dung của submodule khi sync với dữ liệu trên máy chủ git.

Phân tích ưu điểm:

Submodule là một tính năng rất mạnh của công cụ git, nhằm giúp sử dụng lại nội dung có sẵn trong một git repository mà không cần phải lưu trữ một bản copy của repository đó, tránh việc phải duy trì nhiều phiên bản và phải cập nhật bằng tay theo những thay đổi xảy ra trong repository gốc. Khi dùng tính năng submodule cho việc dịch nhóm, dữ liệu thuật ngữ có thể được cập nhật thêm sau này. Người quản lý dự án dịch nhóm với OmegaT có thể định kỳ chỉnh lại submodule cho lưu theo thời điểm mới nhất, khi đó các thuật ngữ mới cũng được tự động lấy về máy tính của mỗi người dịch, không tốn công sức người dịch phải cập nhật sự thay đổi thuật ngữ. Việc dùng qua submodule cũng giúp tách riêng công việc xây dựng thuật ngữ và công việc dịch (để những người khác nhau thực hiện).


Ghi chú thêm:

  • Cơ chế sử dụng submodule với team project đặt trên server git được hỗ trợ tốt nhất từ phiên bản OmegaT 4.1.4. Với phiên bản 4.1.3 trở về trước, thì submodule chỉ được OmegaT tải về một lần lúc “Download team project”. Từ phiên bản 4.1.4, mỗi lần phần mềm OmegaT mở lại team project thì nó sẽ kiểm tra submodule và tải các cập nhật mới về máy tính của người dùng.
  • Nếu để ý thêm về cách thức OmegaT truy cập các dữ liệu khi dịch, thì với cách dùng submodule này, ta cũng có thể lấy nội dung từ điển (theo định dạng dữ liệu của phần mềm Stardict) ở một git repository nào đó và đặt thành submodule trong thư mục con “dictionary” của dự án OmegaT; hoặc cũng có thể dùng bộ nhớ dịch thuật (translation memory) ở một git repository như một submodule trong thư mục con “tm” của dự án OmegaT.
  • Chúng tôi kỳ vọng là những chuyên gia sẽ xây dựng các bảng thuật ngữ cho lĩnh vực của mình và chia sẻ rộng rãi, ở đây có hướng dẫn cách chia sẻ thuật ngữ: https://rosetta.vn/translate/huong-dan-cach-chia-se-glossary-nhu-mot-thu-muc-git-tren-internet/. Các bản thuật ngữ đó sẽ được những nhóm dịch sử dụng với công cụ submodule của git, như vậy tri thức xây dựng thuật ngữ được tận dụng tối đa trong việc dịch các tài liệu chuyên ngành. Mô hình chung để phối hợp hai công việc xây dựng thuật ngữdịch thuật được trình bày ở trang https://rosetta.vn/translate/xay-dung-thuat-ngu-va-dung-trong-phan-mem-ho-tro-nhom-dich/.