Chuyển đến nội dung

Phân tích tùy chọn, ghi lại phiên và quảng cáo sẽ tắt trừ khi bạn chấp nhận. Bạn có thể từ chối chúng và sử dụng Transglot. Thay đổi lựa chọn bất cứ lúc nào trong Tùy chọn cookie. Chính sách Cookie

dành cho các nhóm hợp nhất mã mỗi ngày

Bản địa hóa liên tục: mọi ngôn ngữ, trong mọi lần hợp nhất.

Bản địa hóa liên tục dịch các chuỗi mới và đã thay đổi ngay khi mã nguồn thay đổi, thay vì thực hiện ở một giai đoạn riêng biệt trước mỗi bản phát hành. Mọi ngôn ngữ luôn sẵn sàng để phát hành cùng với mã nguồn cần chúng.

Mô phỏng hai cách làm việc, không phải số liệu đo lường thực tế. Nhấn Hợp nhất thay đổi và đọc cột bên phải: đó là những gì người dùng của ngôn ngữ đó sẽ thấy.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeauđã dịch
deGeschenkkarte hinzufügenđã dịch
jaギフトカードを追加đã dịch
arأضف بطاقة هديةđã dịch
pt-BRAdicionar vale-presenteđã dịch
Ngôn ngữ bạn có thể phát hành ngay5 trên 5
Chuỗi chậm hơn nhánh chínhkhông có
câu trả lời ngắn gọn

Bản địa hóa liên tục là gì?

Bản địa hóa liên tục là cách làm việc trong đó các chuỗi mới và đã thay đổi được gửi đi dịch tự động ngay khi chúng thay đổi, và văn bản đã dịch sẽ quay trở lại sản phẩm mà không cần bất kỳ ai lên lịch trình.

Không có giai đoạn dịch thuật riêng biệt, vì quá trình dịch không bao giờ dừng lại. Khi nhà phát triển hợp nhất một chuỗi, bản dịch sẽ theo cùng luồng với mã nguồn, và việc phát hành không còn phụ thuộc vào tệp tin của bất kỳ ai.

Đây là nửa còn lại của quy trình phân phối liên tục (continuous delivery). Một nhóm hợp nhất mã mỗi ngày nhưng bàn giao công việc dịch thuật vài tuần một lần sẽ khiến các ngôn ngữ bị tụt hậu so với mã nguồn trong hầu hết thời gian của tháng. Bản địa hóa liên tục thu hẹp khoảng cách này xuống bằng thời gian của một lần chạy.

Điều này không có nghĩa là đầu ra từ máy sẽ được đưa lên trực tiếp mà không được kiểm duyệt. Bạn quyết định chuỗi nào cần con người xem xét, và bản phát hành chỉ bao gồm những nội dung đã được phê duyệt.

bản địa hóa liên tục so với truyền thống

Sự khác biệt nằm ở thời điểm diễn ra quá trình dịch, không phải ai thực hiện.

Người dịch, người kiểm duyệt và bảng chú giải đều có trong cả hai cột. Điểm khác biệt là thời điểm bắt đầu công việc và quy mô của từng phần.
Cạnh nhau
Thời điểm dịch
Trong giai đoạn trước mỗi bản phát hành
Yếu tố kích hoạt
Ai đó xuất tệp
Quy mô của từng phần
Nhiều tuần chuỗi cùng lúc
Bản phát hành chờ điều gì
Chờ tệp được trả về
Thay đổi bản sao muộn
Thêm một vòng phản hồi nữa
Nguồn thông tin cho người dịch
Bảng tính chứa các chuỗi
Ngôn ngữ khi ra mắt
Cuốn chiếu, từng đợt một
một chuỗi, từ đầu đến cuối

Cách thức hoạt động của bản địa hóa liên tục

Theo dõi một chuỗi mới xuyên suốt vòng lặp. Mỗi bước hiển thị những gì bạn sẽ thực sự thấy.

terminal của bạn, hoặc nhật ký CI của bạn
+ "checkout.gift_card": "Add a {brand} gift card"
$ git push origin main
$ transglot push --wait
push locales/en.json (en, json_nested)
Batch: #4182
$ transglot pull
written locales/fr.json
written locales/ja.json
checkout.gift_card
nguồnAdd a {brand} gift card
frAjouter une carte cadeau {brand}Bản nháp Glossa
de{brand}-Geschenkkarte hinzufügentừ bộ nhớ, 0 từ
ja{brand} ギフトカードを追加Bản nháp Glossa
arأضف بطاقة هدية {brand}Bản nháp Glossa
bốn cổng kiểm tra, một lần chạy
Trình giữ chỗ1 đã sửa
Dạng số nhiềuđạt
Thuật ngữ trong bảng thuật ngữđạt
Thời lượngđạt
ja · mất trình giữ chỗ, đã sửa một lần, kiểm tra lạiギフトカードを追加{brand} ギフトカードを追加
cart.save
nguồn đã thay đổiSave Save draft
frEnregistrerđã được người dùng xem xét: giữ nguyên, báo cáo cho bạnĐề xuất: Enregistrer le brouillon
deEntwurf speichernhàng máy: dịch lại
yêu cầu kéocập nhật tại chỗ
Cập nhật bản dịchtransglot/sync → mainđang mở, một cho mỗi kho lưu trữ
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
hoặc, trên một pull request trên GitHub, hãy bình luận/translate

Thay đổi đến Transglot qua CLI, GitHub Action hoặc ứng dụng trên máy chủ Git của bạn. Tệp nguồn được phân tích cú pháp ở một trong 20 định dạng gốc và mỗi chuỗi được so sánh với những gì dự án đang lưu giữ. Chỉ các chuỗi mới và đã thay đổi mới được chuyển tiếp.

Bản dịch khớp chính xác từ bộ nhớ dịch sẽ điền vào hàng và không tính phí từ. Phần còn lại sẽ được xử lý bởi Glossa cùng với bảng thuật ngữ, hướng dẫn phong cách và ngữ cảnh của khóa đó.

Trình giữ chỗ, dạng số nhiều, thuật ngữ trong bảng thuật ngữ và độ dài đều được kiểm tra trên mỗi hàng của mỗi lần chạy. Trình giữ chỗ bị lỗi, dạng số nhiều bị thiếu hoặc thuật ngữ bị cấm sẽ được sửa một lần và kiểm tra lại; nếu vẫn thất bại ở lần thứ hai, bản dịch sẽ bị từ chối và không được phát hành. Hàng chỉ vượt quá độ dài cho phép vẫn được ghi lại, và từ gói Team, tính năng tự động phê duyệt hoặc quy trình QA sẽ đánh dấu để xem xét.

Một lần chạy không bao giờ ghi đè lên hàng mà con người đã chỉnh sửa hoặc xem xét. Nếu nguồn thay đổi sau đó, văn bản vẫn được giữ nguyên, lần chạy sẽ đếm hàng đó và thông báo cho bạn; từ gói Team, bản cập nhật đề xuất sẽ chờ bên cạnh để ai đó chấp nhận.

Ứng dụng Git commit các tệp ngôn ngữ vào một nhánh đồng bộ hóa và duy trì một pull request luôn cập nhật. Trên GitHub, hãy bình luận /translate trên một pull request và các tệp sẽ được đưa vào nhánh riêng của pull request đó. Hoặc xuất bản lên CDN, và sản phẩm đang chạy sẽ đọc thay đổi mà không cần phát hành phiên bản mới.

nơi các đội gặp rắc rối

Sáu cách bản địa hóa liên tục có thể sai sót và những gì ngăn chặn từng vấn đề

Một lần chạy ghi đè lên công việc của con người

Mọi người viết đều kiểm tra trạng thái của hàng trước: một lần chạy, khớp bộ nhớ và đẩy. Hàng do con người chỉnh sửa hoặc xem xét sẽ được giữ nguyên, và lần chạy sẽ báo cáo nó.

fr, đã xem xét, nguồn vừa thay đổi

được giữ lại, được tính, được báo cáo

Chuỗi bị lỗi vẫn đến được môi trường production

Mọi token đã đưa vào đều phải được trả về. Trong dự án ICU, thông báo gây lỗi khi hiển thị sẽ bị loại khỏi pull request, connector và gói CDN, đồng thời tên của quá trình chạy sẽ được ghi nhận.

{count, plural, one {# article}

bị loại khỏi tệp, được đặt tên trong quá trình chạy

Kho lưu trữ tràn ngập các pull request tự động

Một nhánh đồng bộ hóa và một pull request cho mỗi kho lưu trữ. Hai lần push nhanh hội tụ vào đó thay vì mở thêm một cái mới.

#812 #815 #819 #823 cập nhật l10n

#812 transglot/sync, cập nhật tại chỗ

Chỉnh sửa nguồn để lại bản dịch cũ

Mỗi hàng đích ghi lại nguồn mà nó được viết dựa trên, nên một chuỗi đã thay đổi sẽ được biết là lỗi thời ở mọi ngôn ngữ cùng lúc, và chỉ khóa đó được chạy lại.

Lưu trở thành Lưu nháp. fr, de, ja vẫn nói Lưu

fr, de, ja chạy lại trên một khóa đó

Mỗi lần chạy đều tính phí toàn bộ dự án một lần nữa

Quy mô của một lần chạy được xác định từ những gì đã thay đổi. Chuỗi không thay đổi không được gửi, khớp bộ nhớ chính xác không tốn từ, và hàng do người sở hữu bị từ chối trước khi bất kỳ chi phí nào phát sinh.

tệp chứa 48.000 từ

lần chạy này: 60 từ

Pull request chưa hoàn thành làm sạch tệp ngôn ngữ

Nếu máy chủ báo cáo không có mục nhập cho một ngôn ngữ, pull request sẽ từ chối ghi đè lên tệp đang có nội dung và thoát với mã 1 để dừng quy trình tại đó.

pull: 0 mục nhập cho ja, tệp chứa 1.204

từ chối ghi đè locales/ja.json bằng gói rỗng

  • run 4182 fr: thiếu placeholder trong bản nháp, đã sửa khi thử lại
  • run 4182 de: 3 hàng được giữ lại, có người sở hữu chúng
  • run 4182 ja: 41 hàng từ bộ nhớ, 0 từ
  • run 4183 ar: thiếu dạng số nhiều sau khi thử lại, hàng bị từ chối
  • pull đã ghi locales/pt-BR.json
  • sync transglot/sync đã cập nhật, pull request #812
đo lường so với hai mục bạn đang so sánh

Cả ba đều kết nối với kho lưu trữ của bạn. Sự khác biệt nằm ở những gì xảy ra khi bạn hợp nhất.

Đọc từ các trang riêng của từng công ty vào ngày 5 tháng 11 năm 2026. Hàng giá cả đến từ các trang so sánh của chúng tôi, được liên kết bên dưới, hiển thị gói và phép tính. Giá và gói thay đổi, vì vậy hãy kiểm tra chúng trước khi quyết định.

Transglot
Chuỗi mới được hợp nhất
Được dịch theo mặc định
Lệnh đẩy bắt đầu quá trình chạy. Cài đặt dự án có thể tắt tính năng này.
Bản dịch không vượt qua kiểm tra
Sửa một lần, sau đó từ chối
Đối với trình giữ chỗ, dạng số nhiều hoặc thuật ngữ bị cấm bị lỗi, trên mọi hàng của mỗi lần chạy. Lỗi vượt quá độ dài sẽ được ghi lại. Trong dự án ICU, hàng bị lỗi sẽ không xuất hiện trong lệnh kéo, các trình kết nối và CDN.
Một người đã chỉnh sửa hàng này
Quá trình chạy từ chối ghi vào
Điều này cũng áp dụng cho khớp bộ nhớ và lệnh đẩy. Nếu nguồn thay đổi sau đó, quá trình chạy sẽ báo cáo hàng đó.
Yêu cầu kéo trên kho lưu trữ bận rộn
Một nhánh, một yêu cầu kéo
Cập nhật tại chỗ mỗi khi đẩy.
Những gì gói dịch vụ tính phí
Số từ đã dịch, tính một lần cho mỗi ngôn ngữ
Các bản khớp bộ nhớ chính xác không mất phí. Lưu trữ chuỗi không mất phí.
Chi phí cho AI
Số từ trong gói
Không tính phí riêng.
Cùng một khối lượng: 5,000 chuỗi trong 10 ngôn ngữ
$39 mỗi tháng
Team, bao gồm dịch thuật
GitHub, GitLab, Bitbucket, Azure Repos, CLI và máy chủ MCP
Tất cả
Ứng dụng Git bắt đầu từ gói Team và hỗ trợ các phiên bản đám mây.
sử dụng những gì bạn đang chạy

Bắt đầu từ bất kỳ nơi nào chuỗi của bạn được lưu trữ. Mọi lối vào đều dẫn đến cùng một quy trình.

Cùng bộ nhớ, bảng chú giải thuật ngữ, cổng kiểm soát và quy trình xem xét, bất kể chuỗi văn bản đến từ đâu.
.github/workflows/translations.yml
on:
push:
branches: [main]
jobs:
translations:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: transglot/transglot-action@v1
with:
token: ${{ secrets.TRANSGLOT_TOKEN }}
việc cần làm đầu tiên

Cách thiết lập bản địa hóa liên tục

  1. Lấy chuỗi ký tự ra khỏi mã nguồn

    Mỗi chuỗi hiển thị cho người dùng cần một khóa ổn định trong tệp ngôn ngữ. Transglot hỗ trợ 20 định dạng, vì vậy hãy giữ nguyên định dạng bạn đang có.

  2. Kết nối kho lưu trữ

    Lệnh init sẽ tìm các tệp ngôn ngữ của bạn, đăng nhập qua trình duyệt, tải lên những gì bạn đã có và chạy bản dịch đầu tiên.

  3. Chạy trên mỗi lần hợp nhất

    Thêm GitHub Action, gọi CLI từ bất kỳ CI nào khác hoặc cài đặt ứng dụng cho GitHub, GitLab, Bitbucket hoặc Azure Repos.

  4. Quyết định nội dung nào cần con người xử lý

    Đặt min_state thành reviewed trong quy tắc pull và tệp đó chỉ chứa các chuỗi đã được người dùng xem xét. Nếu không đặt, bản nháp sẽ được phát hành.

tự tính toán dựa trên số liệu của bạn

Chi phí khi chạy trên mỗi lần hợp nhất: các từ đã thay đổi.

Một từ là một từ nguồn, được tính một lần cho mỗi ngôn ngữ đích. Một lượt chạy được xác định dựa trên những gì đã thay đổi, vì vậy một lần hợp nhất ảnh hưởng đến mười hai từ trong năm ngôn ngữ sẽ được tính là sáu mươi, bất kể quy mô dự án lớn đến đâu.

25
40
6
20,000
Số từ mỗi tháng26,000dựa trên các số liệu này · 25 lần hợp nhất mỗi tuần, 40 từ mỗi lần, 6 ngôn ngữ

Phù hợp với gói Starter: $19/mo, 300,000 từ mỗi tháng.

Điều này chiếm khoảng 9% giới hạn.

Lượt chạy đầu tiên, một lần duy nhất120,000Các chuỗi hiện có của bạn trong mọi ngôn ngữ. Các bản dịch bạn nhập vào sẽ không được dịch lại.

Điều này chỉ tính riêng phần dịch thuật. Kiểm tra chất lượng, bản nháp giọng điệu thương hiệu và sửa lỗi cũng được tính là từ, còn các khớp chính xác từ bộ nhớ thì không mất phí. CLI và GitHub Action bắt đầu từ gói Starter, còn các ứng dụng cho GitHub, GitLab, Bitbucket và Azure Repos bắt đầu từ gói Team.

những điều nó sẽ không làm giúp bạn

Ba vấn đề mà bản địa hóa liên tục không giải quyết được

Chuỗi văn bản vẫn bị kẹt trong mã nguồn

Quy trình chỉ có thể dịch những gì nó đọc được. Các chuỗi và câu văn được mã hóa cứng hoặc ghép từ nhiều phần cần được sửa trước, và đây thường là lý do khiến việc triển khai bị đình trệ.

Không ai chịu trách nhiệm về nội dung

Tự động hóa di chuyển các chuỗi văn bản. Nó không quyết định cách sản phẩm của bạn gọi tên mọi thứ. Cần có người sở hữu bảng thuật ngữ, nếu không ngôn ngữ sẽ dần lệch chuẩn mà không ai nhận ra.

Nội dung cần sự phán đoán

Văn bản pháp lý, giá cả và thông điệp thương hiệu cần con người xử lý. Hãy gửi chúng để xem xét và giữ chúng ngoài các tệp phát hành cho đến khi có người phê duyệt.

Câu hỏi thường gặp về bản địa hóa liên tục

Những câu hỏi mà các đội ngũ thường đặt ra trước khi bật tính năng này.

Bản địa hóa liên tục là gì?
Là cách làm việc trong đó các chuỗi văn bản mới và thay đổi được gửi đi dịch tự động ngay khi chúng thay đổi, và văn bản đã dịch được trả về sản phẩm mà không cần bàn giao theo lịch trình. Nó thay thế giai đoạn dịch thuật trước khi phát hành bằng một quy trình nhỏ sau mỗi thay đổi.
Bản địa hóa truyền thống gom các chuỗi vào một tệp, gửi đi gần thời điểm phát hành và chờ đợi. Bản địa hóa liên tục xử lý từng thay đổi ngay khi nó xảy ra, giúp các phần nhỏ hơn, các ngôn ngữ ra mắt cùng lúc, và việc thay đổi nội dung muộn chỉ tốn chi phí chạy lại một khóa thay vì một vòng trao đổi khác.
Không. CI/CD xây dựng, kiểm thử và phát hành mã. Bản địa hóa liên tục giữ cho bản dịch vận hành song song. Chúng gặp nhau trong quy trình: lệnh đẩy chạy kiểm thử cũng có thể gửi chuỗi đi dịch và mang tệp trở về.
Không. Các ứng dụng cho GitHub, GitLab, Bitbucket và Azure Repos phản hồi lệnh đẩy mà không cần thêm gì vào quy trình của bạn, và các kết nối nội dung phản hồi thay đổi trong CMS hoặc cửa hàng. CLI và GitHub Action có sẵn nếu bạn muốn tích hợp vào quy trình riêng.
Không. Bản nháp có thể được phát hành, hoặc quy tắc pull chỉ chấp nhận những gì đã được người dùng xem xét, từng tệp một. Người xem xét làm việc trong trình soạn thảo với các thuật ngữ trong bảng chú giải, kết quả khớp bộ nhớ và ảnh chụp màn hình bên cạnh mỗi hàng.
Không. Một lần chạy, kết quả khớp bộ nhớ và lệnh đẩy đều kiểm tra hàng trước, và hàng đã được người dùng chỉnh sửa hoặc xem xét sẽ được giữ nguyên. Nếu nguồn thay đổi sau đó, văn bản vẫn giữ nguyên, lần chạy đếm hàng và báo cáo, và từ gói Team, một bản cập nhật gợi ý sẽ được đính kèm để người dùng chấp thuận.
Nó thường quan trọng nhất đối với các đội ngũ nhỏ, vì không ai có nhiệm vụ thực hiện các bước bàn giao. Nếu bạn phát hành bằng một ngôn ngữ mà không có kế hoạch cho ngôn ngữ thứ hai, thì có thể tạm hoãn.
Kích thước lần chạy được xác định trước khi bắt đầu. Gói Miễn phí có giới hạn cứng. Gói trả phí dừng ở mức cho phép trừ khi bạn bật tính năng vượt mức tính phí, tính năng này sẽ dừng ở ngưỡng chi tiêu do bạn đặt. Trong CI, CLI thoát với mã 3 khi một lần chạy vượt quá giới hạn, để quy trình có thể xử lý.
Có, trên GitLab.com, Bitbucket Cloud và Azure DevOps Services. Các ứng dụng không hỗ trợ GitLab tự quản lý hoặc Bitbucket Data Center, nhưng CLI chạy được trong bất kỳ CI nào có Node 22 và có thể truy cập API.
Có. Các kết nối nội dung đọc từ CMS, cửa hàng hoặc trung tâm trợ giúp, và các kết nối hai chiều ghi lại ngôn ngữ đã xem xét. Một số chỉ hỗ trợ nhập, và trang của mỗi kết nối sẽ nêu rõ điều này.
Có. Xuất bản một ngôn ngữ sang CDN và sản phẩm của bạn đọc nó trong thời gian chạy thông qua các SDK thời gian chạy. URL mới nhất được lưu cache trong sáu mươi giây, mỗi phiên bản đã xuất bản giữ URL riêng, và hai mươi phiên bản cuối cùng được lưu giữ.
Công cụ nhập sẽ chuyển các dự án, khóa và bản dịch hiện có từ Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor sang. Các bản dịch đã nhập được coi là công việc thủ công, nên không bị ghi đè khi chạy. Tính năng này miễn phí trên mọi gói và chỉ chạy một lần.