Ghi đè đường dẫn bằng đầu vào configPath nếu bạn cần một vị trí không mặc định.
Lược đồ
# .github/resource-translator.ymlsourceLocale: entoLocales: - fr - de - esinclude: - "src/**/*.en.json" - "apps/**/*.en.resx"exclude: - "**/__tests__/**"glossary: Acme: Contoso Octocat: Octocat # keep brand names verbatim
# Domain / industry — uses an Azure Custom Translator category trained on# your tone and vocabulary. Leave unset for the general model.categoryId: my-custom-translator-category
# Translator request shape — most users can ignore these.textType: plain # plain | htmlprofanityAction: NoAction # NoAction | Marked | DeletedprofanityMarker: Asterisk # Asterisk | Tag (only when profanityAction == Marked)allowFallback: true # false fails when the categoryId has no deployment
apiVersion: "3.0"
# Resilience — Translator returns 429 under load. Defaults are usually# fine; tune only if your runs are large enough to hit them.maxRetries: 5retryBackoffMs: 30000 # cap on any single backoff sleep (ms)
# Placeholder protection. ON by default — wraps tokens like {{name}},# {0}, %s, ${var} into sentinels before translation and restores them# on the way back. Set false only when source intentionally contains# placeholder-shaped literals.protectPlaceholders: truecustomPlaceholderPatterns: - "<<.+?>>" # any extra token syntax you use
# Per-key opt-out. Keys matching any glob are dropped from the request# and pass through with the source value preserved.noTranslatePatterns: - "errors.code.*" - "brands.*"Tham chiếu trường
| Lĩnh vực | Kiểu | Ghi chú |
|---|---|---|
sourceLocale | string | Quay trở lại đầu vào sourceLocale nếu không được đặt. Cũng được chuyển tiếp đến Translator dưới dạng from=<locale> vì vậy các chuỗi ngắn không được tự động phát hiện. |
toLocales | string[] | Một mảng hoặc một chuỗi được phân tách bằng dấu phẩy. |
include / exclude | string[] | Các mẫu Glob được đánh giá dựa trên đường dẫn tuyệt đối và tương đối không gian làm việc. |
glossary | map<string,string> | Ghi đè thuật ngữ sau dịch. Nhận biết ranh giới từ (xử lý C++, .NET). |
categoryId | string | Danh mục Azure Custom Translator — nút ngành/miền của bạn (giọng điệu pháp lý, y tế, tiếp thị, v.v.). Gửi dưới dạng ?category=.... |
textType | "plain" | "html" | Mặc định là plain. Chỉ sử dụng html nếu giá trị tài nguyên của bạn chứa các đoạn HTML thực. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Cách xử lý các thuật ngữ tục tĩu trong đầu ra đã dịch. |
profanityMarker | "Asterisk" | "Tag" | Chỉ có ý nghĩa khi profanityAction "Marked". |
allowFallback | boolean | Đặt thành false để dịch không thành công khi categoryId của bạn không triển khai cho ngôn ngữ đích thay vì quay trở lại mô hình chung. |
apiVersion | string | Phiên bản API REST của dịch giả. Mặc định là 3.0. |
maxRetries | integer | Số lần thử lại tối đa đối với phản hồi HTTP tạm thời (408, 425, 429, 500, 502, 503, 504). Mặc định là 5. Tổng số lệnh gọi HTTP trên mỗi yêu cầu là 1 + maxRetries. |
retryBackoffMs | integer | Giới hạn (ms) trên bất kỳ giấc ngủ dự phòng nào. Mặc định là 30000. Tiêu đề Retry-After của Azure được vinh danh chính xác khi có mặt; nếu không, lùi theo cấp số nhân chập chờn được sử dụng, giới hạn ở giá trị này. |
protectPlaceholders | boolean | Mặc định là true. Khi bật, các token như {{name}}, ${var}, {0}, {0:N2}, %s, %1$s và HTML được thay thế bằng sentinel token trước khi dịch và được khôi phục sau đó. Chỉ tắt khi nguồn cố tình chứa các chữ hình giữ chỗ. |
customPlaceholderPatterns | string[] | Các mẫu biểu thức chính quy bổ sung (không có dấu phân cách) được thêm vào bộ giữ chỗ mặc định, ví dụ: <<.+?>> cho cú pháp mã thông báo tùy chỉnh. Các biểu thức chính quy không hợp lệ sẽ bị bỏ qua. |
noTranslatePatterns | string[] | Các mẫu Glob khớp với các khóa cấp trình phân tích cú pháp (đường dẫn chấm JSON, name RESX, PO msgid, id đơn vị XLIFF, khóa INI/restext). Các khóa phù hợp được loại bỏ khỏi yêu cầu và chuyển qua với giá trị nguồn của chúng được giữ nguyên. |
Đang tải thứ tự
- Hành động này đọc đầu vào rõ ràng từ quy trình làm việc.
- Nó tải cấu hình YAML từ
configPath. - Đối với mỗi trường được chia sẻ, đầu vào sẽ thắng; nếu không, giá trị YAML sẽ được sử dụng.
- Các giá trị hợp nhất được xác thực. Enum không hợp lệ (ví dụ:
profanityAction: Mask) khiến hành động nhanh chóng không thành công với thông báo rõ ràng.
Giọng điệu và công nghiệp, nói một cách đơn giản
API Azure AI Translator v3 không có một núm âm duy nhất. Hai cài đặt kết hợp để cung cấp cho bạn hầu hết các quyền kiểm soát giống nhau:
- Ngành / lĩnh vực: sử dụng
categoryIdđể trỏ vào danh mục Azure Custom Translator được đào tạo trên kho dữ liệu của riêng bạn — pháp lý, kỹ thuật, y tế, tiếp thị hoặc bất kỳ thứ gì khác. Đây là đòn bẩy mạnh nhất cho giọng điệu, tiếng nói thương hiệu và từ vựng. - Văn bản bề mặt: Sử dụng Thuật ngữ để khóa nguyên văn tên thương hiệu và cụm từ sản phẩm, đồng thời sử dụng
profanityActionđể loại bỏ các cụm từ tục tĩu khi nhắm mục tiêu bản địa hóa cho đối tượng trẻ tuổi.