Tổng quan tệp
i18n.yml điều khiển ngôn ngữ, ánh xạ tệp, hồ sơ mô hình và định tuyến nâng cao tùy chọn. i18n.jsonc vẫn được hỗ trợ để tương thích.
Cấu hình khởi đầu
hyperlocalise init.
Khi groups bị bỏ qua, Hyperlocalise sẽ tự động sử dụng một nhóm default ngầm định với:
- tất cả các ngôn ngữ từ
locales.targets - tất cả tên bucket từ
buckets
Ngôn ngữ vùng miền
locales.source: ngôn ngữ nguồn.locales.targets: danh sách ngôn ngữ đích.- tùy chọn
locales.fallbacks: thứ tự dự phòng theo từng ngôn ngữ.
Xô chứa
buckets ánh xạ các tệp nguồn tới các mẫu đầu ra đích.
Mỗi ánh xạ tệp sử dụng:
from: mẫu đường dẫn nguồnto: mẫu đường dẫn mục tiêu
{{source}}, {{target}}, và {{localeDir}} trong các mẫu. {{localeDir}} được phân giải thành một phân đoạn trống khi đích bằng nguồn, và thành ngôn ngữ của đích trong các trường hợp khác.
Các mẫu ánh xạ locale của mảng PHP
Các mảng locale kiểu Laravel có thể được ánh xạ trực tiếp khi mỗi tệp trả về một mảng PHP tĩnh duy nhất.<?php và trả về một literal tĩnh [...] hoặc array(...). Hyperlocalise dịch các chuỗi lá, làm phẳng các khóa lồng nhau bằng đường dẫn có dấu chấm, và giữ nguyên chú thích, thứ tự cũng như cú pháp mảng khi ghi. PHP động như biến, lời gọi hàm, hằng số, declare(...), hoặc các chuỗi được nội suy trong dấu ngoặc kép kép đều bị từ chối một cách có chủ ý.
Các phần mở rộng tệp ngôn ngữ được hỗ trợ bao gồm .json, .jsonc, .yaml, .yml, .php, .xml, .resx, .arb, .xlf, .xlif, .xliff, .po, .html, .liquid, .md, .mdx, .strings, .stringsdict, và .csv.
Các tệp ngôn ngữ YAML/YML nên là các tệp có dạng ánh xạ với các lá là chuỗi. Các ánh xạ lồng nhau sẽ trở thành các khóa dạng chấm, các chuỗi sẽ trở thành các khóa [index], và writeback sẽ ghi lại các lá chuỗi hiện có trong khi vẫn giữ nguyên thứ tự khóa/chú thích nếu có thể. Các khóa ánh xạ không được chứa ., [, hoặc ] vì các ký tự đó được dành riêng cho các đường dẫn đã được làm phẳng. Các lá vô hướng không phải chuỗi như số, giá trị boolean, null, dấu thời gian, anchor và alias sẽ bị từ chối để tránh làm hỏng siêu dữ liệu một cách âm thầm.
key, id, hoặc name, hoặc là các lá theo đường dẫn lồng nhau. Các tệp <resources> của Android, XML có nội dung hỗn hợp, và ghi trả lại giữ nguyên CDATA không được trình phân tích cú pháp XML tổng quát xử lý.
Các mẫu ánh xạ tệp CSV
Dùng ánh xạ tệp bucket để mô hình hóa các quy trình làm việc CSV. Các tệp theo từng ngôn ngữ:run có thể cập nhật một cách nhất quán.
Các mẫu ánh xạ tệp Fluent
Sử dụng các ánh xạ.ftl cho các tệp ngôn ngữ Mozilla Fluent:
brand.title. Các term Fluent không được hỗ trợ và sẽ bị lỗi khi phân tích cú pháp.
Mẫu mô-đun ngôn ngữ JS/TS
Sử dụng các ánh xạ mô-đun locale của JavaScript hoặc TypeScript khi ứng dụng của bạn nhập trực tiếp các đối tượng locale:Các mẫu ánh xạ catalog chuỗi của Apple
Sử dụng các ánh xạ.xcstrings cho các string catalog của Xcode:
localizations[targetLocale] và bảo toàn siêu dữ liệu của danh mục. status và check đọc ngôn ngữ miền địa phương đích được yêu cầu từ danh mục. Các mục nguồn của biến thể và thay thế phải bao gồm bản địa hóa bằng ngôn ngữ nguồn để Hyperlocalise có thể trích xuất các dạng nguồn một cách an toàn.
Ánh xạ chuỗi tài nguyên XML của Android
Hỗ trợ XML của Android được cố ý giới hạn trong các tệp tài nguyên chuỗi có tênstrings.xml trong các thư mục res/values*. Sử dụng tên định danh ngôn ngữ Android trong đường dẫn đích của bạn:
<string name="..."> và <plurals name="..."><item quantity="...">. Các tài nguyên được đánh dấu translatable="false" sẽ được giữ nguyên và bỏ qua. Các dạng tài nguyên có thể dịch không được hỗ trợ như <string-array> sẽ lỗi theo cơ chế fail closed, vì vậy chúng không bị loại bỏ âm thầm.
Các mẫu ánh xạ của tệp thuộc tính Java
Sử dụng các ánh xạ.properties cho các gói tài nguyên Java với một tệp cho mỗi locale:
.properties.
Quy tắc
llm.rules chọn hồ sơ cho mỗi nhóm.
priority: giá trị cao hơn thắnggroup: tên nhóm
llm.rules là tùy chọn. Khi không có quy tắc nào khớp với một nhóm, Hyperlocalise sẽ chuyển sang llm.profiles.default.
Bộ nhớ đệm
cache cấu hình ứng dụng khách bộ nhớ đệm từ xa.
enabled(tùy chọn): bật bộ nhớ đệm từ xa chorun.endpoint(không bắt buộc trừ khienabled=true): điểm cuối dịch vụ bộ nhớ đệm từ xa.project_key_env(tùy chọn trừ khienabled=true): biến môi trường chứa khóa bộ nhớ đệm của dự án.timeout_seconds(tùy chọn): thời gian chờ yêu cầu bộ nhớ đệm từ xa tính bằng giây.- Nếu bạn bỏ qua
groups, mọi bucket sẽ chạy cho mọi locale đích.
{{source}}{{target}}{{input}}
Ví dụ nâng cao
Sau đó chỉnh sửai18n.yml đã được tạo cho dự án của bạn.
- Giữ các mục tiêu nhóm bên trong
locales.targets. - Giữ các bucket nhóm được căn chỉnh với các khóa
buckets. - Giữ tên hồ sơ nhất quán giữa
profilesvàrules.
llm.profiles.<name> trường:
Tạo một mẫu khởi đầu
groups là tùy chọn cho các cấu hình dành cho người mới bắt đầu. Thêm nó khi bạn muốn tách việc thực thi theo locale hoặc theo bộ tệp.
- Dùng
hyperlocalisecho các công việcsync pushvàsync pull. - Giữ
storagecho cấu hình bộ điều hợp TMS dành riêng cho nhà cung cấp. profile: tên hồ sơprompt(lỗi thời, không bắt buộc): mẫu lời nhắc cũ được dùng làm phương án dự phòng của hệ thống
Mẹo xác thực
các hồ sơ LLM
groups.<name> xác định những gì cần xử lý cùng nhau.
Các nhóm
user_prompt(tùy chọn): mẫu thông điệp người dùng rõ ràngsystem_prompt(tùy chọn): mẫu thông báo hệ thống rõ ràngmodel: mã mô hình nhà cung cấpprovider:openai,azure_openai,anthropic,gemini,bedrock,lmstudio,groq,mistral, hoặcollamabuckets: danh sách tên buckettargets: tập con củalocales.targets