
Dịch Xcode String Catalog chỉ trong vài giây
Dạng số nhiều chính xác theo CLDR. Bảo toàn biến thể thiết bị. Theo dõi trạng thái bản dịch. Dịch tệp .xcstrings ngay trong IDE của bạn.
Dịch String Catalog phức tạp hơn bạn tưởng
String Catalog của Xcode 15 thay thế .strings và .stringsdict bằng một tệp JSON duy nhất — nhưng độ phức tạp vẫn còn nguyên. Dạng số nhiều cần đúng danh mục CLDR cho từng ngôn ngữ, biến thể thiết bị (iPhone, iPad hoặc Mac) phải luôn đi cùng khóa tương ứng và chỉ một trường sai trong cơ chế theo dõi trạng thái của Xcode cũng làm toàn bộ mục mất hiệu lực.
Mỗi ngôn ngữ cần các danh mục số nhiều CLDR khác nhau — tiếng Ả Rập cần đủ sáu danh mục, tiếng Nhật chỉ cần 'other' và tiếng Nga cần bốn dạng riêng biệt
Biến thể chuỗi dành riêng cho từng thiết bị (iPhone, iPad, Mac, Apple Watch) phải luôn liên kết chính xác với khóa cha
Xcode theo dõi trạng thái bản dịch (new, needs_review, translated, stale) — giá trị trạng thái sai khiến Xcode bỏ qua hoặc gắn cờ sai cho bản dịch
Quá trình chuyển từ .strings/.stringsdict cũ sang .xcstrings tạo ra những khác biệt định dạng mà công cụ thông thường không xử lý được
{
"sourceLanguage": "en",
"version": "1.0",
"strings": {
"welcome_title": {
"extractionState": "manual",
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Welcome to the App"
}
}
}
},
"item_count": {
"localizations": {
"en": {
"variations": {
"plural": {
"zero": {
"stringUnit": {
"state": "translated",
"value": "No items"
}
},
"one": {
"stringUnit": {
"state": "translated",
"value": "%lld item"
}
},
"other": {
"stringUnit": {
"state": "translated",
"value": "%lld items"
}
}
}
}
}
}
},
"device_greeting": {
"localizations": {
"en": {
"variations": {
"device": {
"iphone": {
"stringUnit": {
"state": "translated",
"value": "Tap to continue"
}
},
"ipad": {
"stringUnit": {
"state": "translated",
"value": "Tap or click to continue"
}
},
"mac": {
"stringUnit": {
"state": "translated",
"value": "Click to continue"
}
}
}
}
}
}
}
}
}{
"sourceLanguage": "en",
"version": "1.0",
"strings": {
"welcome_title": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Willkommen in der App"
}
}
}
},
"item_count": {
"localizations": {
"de": {
"variations": {
"plural": {
"zero": {
"stringUnit": {
"state": "translated",
"value": "Keine Elemente"
}
},
"one": {
"stringUnit": {
"state": "translated",
"value": "%lld Element"
}
},
"other": {
"stringUnit": {
"state": "translated",
"value": "%lld Elemente"
}
}
}
}
}
}
},
"device_greeting": {
"localizations": {
"de": {
"variations": {
"device": {
"iphone": {
"stringUnit": {
"state": "translated",
"value": "Tippen zum Fortfahren"
}
},
"ipad": {
"stringUnit": {
"state": "translated",
"value": "Tippen oder klicken zum Fortfahren"
}
},
"mac": {
"stringUnit": {
"state": "translated",
"value": "Klicken zum Fortfahren"
}
}
}
}
}
}
}
}
}Những gì i18n Agent bảo toàn
Dạng số nhiều
Tạo đúng danh mục số nhiều CLDR cho từng ngôn ngữ đích — từ một danh mục cho tiếng Nhật đến sáu danh mục cho tiếng Ả Rập
Biến thể thiết bị
Biến thể chuỗi trên iPhone, iPad, Mac và Apple Watch luôn liên kết chính xác với khóa cha
Nhận biết trạng thái
Đặt chính xác trạng thái bản dịch (new, needs_review, translated) để quy trình bản địa hóa của Xcode hoạt động bình thường
Khả năng tương thích định dạng
Đầu ra hoàn toàn tương thích với trình chỉnh sửa String Catalog của Xcode và tích hợp liền mạch với cả dự án mới lẫn dự án đã chuyển đổi
Hoạt động trên toàn hệ sinh thái phát triển Apple
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.