
Dịch tệp Flutter ARB chỉ trong vài giây
Giữ nguyên siêu dữ liệu. Bảo toàn phần giữ chỗ. Dạng số nhiều chính xác theo CLDR. Dịch tệp ARB mà không làm lỗi flutter gen-l10n.
Dịch ARB có thể làm lỗi bản dựng Flutter
Tệp ARB trông giống JSON nhưng không phải JSON. Tệp chứa các mục siêu dữ liệu có tiền tố @, định nghĩa phần giữ chỗ kèm chú thích kiểu và dạng số nhiều ICU phải tuân thủ chính xác quy tắc CLDR. Các công cụ dịch thông thường làm hỏng tất cả những thành phần này, khiến flutter gen-l10n âm thầm thất bại hoặc báo lỗi khó hiểu.
Các mục siêu dữ liệu có tiền tố @ bị dịch hoặc xóa, làm hỏng định nghĩa và nội dung mô tả của phần giữ chỗ
Tên phần giữ chỗ trong dấu ngoặc nhọn bị dịch, đổi tên hoặc loại bỏ, gây sự cố khi chạy
Dạng số nhiều ICU cần đúng danh mục CLDR cho từng ngôn ngữ nhưng các công cụ thông thường thường bỏ qua hoặc tạo cấu trúc không hợp lệ
Tiêu đề @@locale bị hỏng hoặc không khớp, khiến flutter gen-l10n gán bản dịch sai ngôn ngữ
{
"@@locale": "en",
"appTitle": "My Flutter App",
"@appTitle": {
"description": "The title of the application"
},
"greeting": "Hello, {name}!",
"@greeting": {
"description": "A greeting with the user's name",
"placeholders": {
"name": {
"type": "String",
"example": "John"
}
}
},
"itemCount": "{count, plural, =0{No items} =1{1 item} other{{count} items}}",
"@itemCount": {
"description": "Number of items in the cart",
"placeholders": {
"count": {
"type": "int"
}
}
},
"lastLogin": "Last login: {date}",
"@lastLogin": {
"placeholders": {
"date": {
"type": "DateTime",
"format": "yMMMd"
}
}
}
}{
"@@locale": "de",
"appTitle": "Meine Flutter-App",
"@appTitle": {
"description": "The title of the application"
},
"greeting": "Hallo, {name}!",
"@greeting": {
"description": "A greeting with the user's name",
"placeholders": {
"name": {
"type": "String",
"example": "John"
}
}
},
"itemCount": "{count, plural, =0{Keine Artikel} =1{1 Artikel} other{{count} Artikel}}",
"@itemCount": {
"description": "Number of items in the cart",
"placeholders": {
"count": {
"type": "int"
}
}
},
"lastLogin": "Letzte Anmeldung: {date}",
"@lastLogin": {
"placeholders": {
"date": {
"type": "DateTime",
"format": "yMMMd"
}
}
}
}Những gì i18n Agent bảo toàn
Mục siêu dữ liệu @
Bảo toàn chính xác mọi siêu dữ liệu có tiền tố @ như nội dung mô tả, phần giữ chỗ và chú thích kiểu theo định nghĩa
Bảo vệ phần giữ chỗ
Phát hiện và giữ nguyên các phần giữ chỗ có tên như {userName}, {count} và {price} trong mọi bản dịch
Dạng số nhiều CLDR
Tạo chính xác các danh mục số nhiều ICU (zero, one, two, few, many, other) cho từng ngôn ngữ đích theo quy tắc CLDR
Cấu trúc JSON
Giữ thứ tự khóa, cấu trúc lồng nhau và định dạng riêng của ARB khớp với tệp nguồn để bản diff gọn gàng
Hoạt động với bộ công nghệ Flutter của bạn
Cách hoạt động

Không cần sao chép và dán thủ công. Không cần trích xuất chuỗi. Chỉ nhận tệp đã dịch.
Dùng thử i18n Agent ngay
Thả tệp bản dịch của bạn vào đây
JSON, YAML, PO, XML, CSV, Markdown, Properties
hoặc nhấp để duyệt
Ngôn ngữ đích
Câu hỏi thường gặp
Đội ngũ doanh nghiệp?
Bạn vẫn mắc kẹt với hợp đồng TMS? Hãy trao đổi với chúng tôi về kế hoạch chuyển đổi.