Skip to main content
AI agent network visualization

Dịch tệp .strings mà không làm hỏng ứng dụng

Khóa được giữ nguyên. Định dạng đặc tả được bảo toàn. Quy tắc số nhiều chính xác. Localizable.strings của bạn được dịch trong vài giây thay vì vài ngày.

Dịch Apple .strings vừa tốn công vừa dễ lỗi

Bạn xuất Localizable.strings rồi giao cho người dịch hoặc dán vào một công cụ phổ thông, sau đó nhận lại định dạng đặc tả bị hỏng, chuỗi thoát bị lỗi và quy tắc số nhiều bị biến dạng. Cuối cùng, bạn mất hàng giờ tìm nguyên nhân ứng dụng gặp sự cố khi khởi chạy bằng tiếng Nhật.

Các định dạng đặc tả như %@, %d và %1$@ bị công cụ phổ thông dịch, đổi thứ tự hoặc xóa

Chuỗi thoát (\n, \", \t) bị hỏng hoặc thoát hai lần khiến quá trình phân tích chuỗi gặp lỗi

Quy tắc số nhiều của Stringsdict cần các danh mục CLDR riêng theo ngôn ngữ nhưng hầu hết công cụ đều bỏ qua hoàn toàn

Chú thích cho người dịch và gợi ý ngữ cảnh bị xóa dẫn đến bản dịch sai

Nguồn (tiếng Anh)
Base.lproj/Localizable.strings
/* Localizable.strings (English) */

"welcome_title" = "Welcome to MyApp";
"login_button" = "Sign In";
"greeting" = "Hello, %@!";
"items_count" = "%d items in your cart";
"transfer" = "Send %1$@ to %2$@";
Bản dịch (tiếng Nhật)
ja.lproj/Localizable.strings
/* Localizable.strings (Japanese) */

"welcome_title" = "MyAppへようこそ";
"login_button" = "サインイン";
"greeting" = "%@さん、こんにちは!";
"items_count" = "カートに%d個のアイテム";
"transfer" = "%2$@に%1$@を送信";

Những gì i18n Agent bảo toàn

Định dạng đặc tả

Định dạng đặc tả theo vị trí (%1$@) và theo kiểu (%d, %f, %@) được phát hiện rồi giữ nguyên

Chuỗi thoát

Ký tự xuống dòng (\n), tab (\t), dấu ngoặc kép (\") và chuỗi thoát Unicode được bảo toàn chính xác

Số nhiều trong Stringsdict

Các danh mục số nhiều CLDR (zero, one, two, few, many, other) được thiết lập chính xác theo từng ngôn ngữ đích

Chú thích và ngữ cảnh

Chú thích cho người dịch và ghi chú của nhà phát triển được bảo toàn để duy trì ngữ cảnh dịch

Tương thích trên các nền tảng Apple

SwiftUI
UIKit / AppKit
Danh mục chuỗi Xcode
Ứng dụng macOS
watchOS / tvOS
Gói Swift

Công cụ nguồn mở để bản địa hóa iOS

i18n Agent cho Xcode

Ứng dụng thanh menu macOS giúp bạn bản địa hóa trong Xcode chỉ bằng một lần nhấp. Ứng dụng tự động phát hiện dự án đang hoạt động, dịch các tệp .strings, .xcstrings và .stringsdict rồi ghi chúng vào đúng thư mục .lproj. Đẩy các bản dịch hiện có lên làm bộ nhớ dịch để đảm bảo kết quả nhất quán trong toàn bộ dự án.

Tự động phát hiện dự án Xcode đang hoạt động qua AppleScript
Pull: dịch tệp và ghi vào đúng thư mục .lproj
Push: tải các bản dịch hiện có lên làm bộ nhớ dịch
Nằm trên thanh menu, hoạt động với .strings, .xcstrings và .stringsdict
Xem trên GitHub

LocaleChain

iOS có một hạn chế đã biết: khi thiếu ngôn ngữ vùng của người dùng (như pt-BR), hệ thống chuyển thẳng sang tiếng Anh thay vì thử một ngôn ngữ liên quan (như pt-PT). LocaleChain là gói Swift khắc phục vấn đề này bằng chuỗi dự phòng có thể cấu hình. Chỉ cần một dòng thiết lập và không phải thay đổi mã hiện có.

Thiết lập bằng một dòng: LocaleChain.configure()
Hoạt động liền mạch với NSLocalizedString, SwiftUI Text và .stringsdict
Tích hợp sẵn chuỗi dự phòng cho tiếng Bồ Đào Nha, Tây Ban Nha, Pháp, Đức và nhiều ngôn ngữ khác
Cài đặt qua Swift Package Manager, sử dụng giấy phép MIT
Xem trên GitHub

Cách hoạt động

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

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

Không cần đăng kýBáo giá tức thì

Câu hỏi thường gặp

Bạn là nhà phát triển?

Cài đặt công cụ CLI và dịch tệp đầu tiên trong 2 phút.

Cài đặt công cụ CLI

Độ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.