Chuyển đến nội dung chính

Tên tệp chuẩn

Tên tệp khóa được cố định thành .hyperlocalise.lock.json. hyperlocalise hiện không đọc i18n.lock hoặc các tên bí danh khác. Giữ tệp trong thư mục gốc của dự án để run và các lệnh đồng bộ chia sẻ cùng trạng thái điểm kiểm tra. CLI ghi tệp khóa dưới dạng JSON thụt lề để các diff dễ đọc. Nó giữ kích thước tệp ở mức thấp bằng cách nhóm các mục tác vụ theo đường dẫn đích và lưu các tên trường ngắn.

Khóa tệp dùng để làm gì

Hãy coi tệp khóa là một điểm kiểm tra mang tính tham khảo, chứ không phải nguồn sự thật của bạn.
  • Nguồn sự thật cho nội dung có thể dịch là các tệp nguồn của bạn.
  • Nguồn sự thật cho đầu ra đã tạo là các tệp đích của bạn.
  • Nguồn sự thật cho trạng thái từ xa được đồng bộ là TMS của bạn cùng với các hiện vật cục bộ.
Tệp khóa chỉ ghi lại những gì CLI đã cố gắng hoặc đã hoàn tất, để có thể bỏ qua các công việc lặp lại. Nó không được dùng để chứng minh rằng một lần đẩy đồng bộ là an toàn. Tính an toàn của đồng bộ đến từ các tệp cục bộ hiện tại cộng với một mốc cơ sở từ xa mới được đọc tại thời điểm thực thi.

Lược đồ

Hình dạng hiện tại:
{
  "adapter": "crowdin",
  "project_id": "12345",
  "last_pull_at": "2026-01-15T12:34:56Z",
  "locale_states": {
    "es-ES": {
      "revision": "rev_abc123",
      "updated_at": "2026-01-15T12:00:00Z"
    }
  },
  "run_completed": {
    "apps/web/lang/es-ES.json": {
      "checkout.submit": {
        "s": "7f4f7d...",
        "t": "1a2b3c..."
      }
    }
  }
}
Ý nghĩa các trường:
  • adapter: tên bộ điều hợp TMS đang hoạt động.
  • project_id: mã định danh dự án cụ thể cho adapter.
  • last_pull_at: dấu thời gian của lần kéo đồng bộ thành công gần nhất.
  • locale_states: ánh xạ checkpoint theo từng locale.
    • revision: bản sửa đổi adapter hoặc con trỏ cho logic kéo tăng dần.
    • updated_at: lần cuối điểm kiểm tra locale đó được làm mới.
  • run_completed: bản đồ hoàn thành theo từng tác vụ được run dùng để quyết định bỏ qua. Các lần ghi hiện tại nhóm các mục theo đường dẫn đích.
    • khóa lồng nhau: khóa mục bên trong tệp đích.
    • s: dấu vân tay của phân đoạn nguồn.
    • t: dấu vân tay của các kích thước tác vụ, chẳng hạn như mô hình, prompt, các trường ngữ cảnh và các đầu vào liên quan.
  • active_run_id: mã định danh cho một lần chạy đang diễn ra. Nó được xóa sau khi chạy thành công.
  • run_checkpoint: điểm kiểm tra đầu ra tạm thời cho từng tác vụ khi chạy bị gián đoạn. Nó được nhóm theo đường dẫn đích và được xóa sau khi chạy thành công.
    • r: mã định danh lần chạy.
    • p: đường dẫn nguồn.
    • l: ngôn ngữ bản địa đích.
    • v: giá trị đầu ra theo giai đoạn.
    • s, t, và u: dấu vân tay nguồn, dấu vân tay tác vụ, và dấu thời gian cập nhật.
Các bản ghi mới sử dụng tiền tố hex chữ thường 32 ký tự của SHA-512 cho fingerprint. Các tệp khóa cũ hơn vẫn có thể lưu các khóa phẳng target::entry và các tên trường đầy đủ như source_hashtask_hash. Chúng cũng có thể lưu các chuỗi băm hex đầy đủ 128 ký tự. CLI chấp nhận cả hai dạng và cả hai độ dài chuỗi băm.

Vòng đời theo lệnh

hyperlocalise run

  • Tải về một ảnh chụp nhanh từ xa mới cho phạm vi được yêu cầu.
  • Cập nhật adapter, project_id, last_pull_at, và locale_states sau khi pull thành công.
  • Có thể đọc ngữ cảnh adapter/dự án từ tệp khóa.

hyperlocalise sync pull

  • Không yêu cầu tệp khóa hoặc siêu dữ liệu sidecar để cho phép ghi.
  • Tính toán các thay đổi đẩy từ các tệp cục bộ cùng với một đường cơ sở từ xa mới cho cùng phạm vi.
  • Không thay thế thẩm quyền nội dung nguồn/đích.

hyperlocalise sync push

  • bạn đã thay đổi cấu trúc văn bản nguồn rất nhiều
  • bạn đã thay đổi ánh xạ bucket hoặc mẫu đường dẫn tệp
  • bạn đã chuyển bộ điều hợp hoặc dự án
  • bạn nghi ngờ các mục checkpoint bị hỏng hoặc đã được chỉnh sửa thủ công

Các quy ước của nhóm

Các trường hợp đặt lại thường gặp: Các bước đặt lại an toàn:
  • Không chỉnh sửa thủ công các trường lockfile trừ khi đang gỡ lỗi một sự cố cục bộ.
  • Giữ việc xử lý lockfile rõ ràng trong các script CI.
  • Xem xét các thay đổi của lockfile trong pull request khi hành vi chạy/đồng bộ có vẻ bất thường.
  • run có thể thực thi lại các tác vụ trước đó đã bị bỏ qua
Các tác dụng phụ dự kiến sau khi đặt lại:
  1. đảm bảo rằng các tệp nguồn và tệp đã tạo của bạn được commit hoặc sao lưu
  2. xóa .hyperlocalise.lock.json
  3. chạy hyperlocalise run --dry-run để kiểm tra kế hoạch lớn hơn
  4. chạy hyperlocalise run và/hoặc hyperlocalise sync pull để xây dựng lại trạng thái điểm kiểm tra
Đặt lại file khóa khi trạng thái điểm kiểm tra đã cũ hoặc không còn đáng tin cậy.
  • lần kéo đồng bộ tiếp theo có thể thực hiện làm mới rộng hơn cho các ngôn ngữ địa phương
  • CLI runtime có thể tăng tạm thời cho đến khi các checkpoint được xây dựng lại
  • Có thể đọc siêu dữ liệu checkpoint của adapter và ngôn ngữ hiện có như một gợi ý về hiệu suất.

Hướng dẫn đặt lại an toàn

  • Duy trì các tác vụ thành công trở lại run_completed.
  • Bỏ qua công việc đã được đánh dấu là hoàn thành trong run_completed.
  • Đọc .hyperlocalise.lock.json khi lập kế hoạch công việc.