2011-12-21 29 views
19


Dự án Cocoa của tôi được bản địa hóa bằng tiếng Ý (ngôn ngữ của tôi) và tiếng Anh.
Nếu tôi chạy nó, tôi thấy mọi thứ bằng tiếng Ý (tất nhiên, hệ điều hành của tôi là tiếng Ý!).
Tôi có thể chạy nó như thế nào để kiểm tra bản địa hóa tiếng Anh mà không thay đổi ngôn ngữ hệ điều hành?Xcode: Chạy dự án có bản địa hóa cụ thể

Trả lời

35

Trong thời gian cũ, Leopard và trước đó, cửa sổ nhận thông tin trong Trình tìm kiếm sẽ cho phép bạn chọn ngôn ngữ có sẵn. Vì vậy, đó là vấn đề bỏ chọn ngôn ngữ mà bạn không muốn sử dụng và nó sẽ "mặc định" cho ngôn ngữ kia.

Những ngày này, bạn có thể sử dụng tiện ích như this one. Tôi rất muốn biết những gì nó hiện đằng sau hậu trường mặc dù.


Cuối cùng tôi đã tìm được giải pháp tốt trong số cocoa-dev mailing list archives. Rõ ràng, bạn có thể thay đổi tên miền mặc định trong các đối số được chuyển đến tệp thực thi của bạn và điều này làm cho tùy chọn toàn cục bị ghi đè. Nó có thể đạt được với -AppleLanguages cờ, thông qua một danh sách các ngôn ngữ theo thứ tự ưu tiên:

 
~/apath/AppName.app/Contents/MacOS/AppName -AppleLanguages "(Italian, English)" 

Run này từ thiết bị đầu cuối của bạn và nó sẽ cho một ưu tiên khác nhau cho các ngôn ngữ . Lưu ý rằng bạn cũng có thể chỉ định danh sách phần tử đơn lẻ "(Italian)" — có ý nghĩa hơn đối với mục đích thử nghiệm.

Để làm điều đó trong Xcode và tránh thiết bị đầu cuối, hãy chuyển đến menu Sản phẩm> Chỉnh sửa Đề án…. Sau đó, trong chuyển đổi cấu hình chạy của bạn tới tab Đối số và tạo một tab mới để được chuyển khi khởi chạy. Thêm -AppleLanguages "(Japanese)" văn bản vào đó. Tương tự như vậy:

Xcode Screen Shot

+0

bất kỳ giải pháp nào bên trong xcode? – Oneiros

+0

@Oneiros chỉ tìm thấy một cách và chỉnh sửa câu trả lời. – sidyll

+0

@sidyll đây là một giải pháp tốt đẹp. Tôi sẽ thử nó trên iOS khi tôi có cơ hội - nó sẽ tiết kiệm cùng một rắc rối của việc thay đổi ngôn ngữ thiết bị mọi lúc. – Jessedc

0

Giả sử bạn có tệp chứa tất cả các chuỗi, trao đổi tên của tệp. Hoặc, nếu bạn có nhóm it.lproj và en.lproj trong dự án của mình, chỉ cần di chuyển InfoPlist.strings của bạn (hoặc bất kỳ tên nào bạn đặt tên) vào nhóm khác và ngược lại.

+0

cảm ơn, mẹo hữu ích. đã không nghĩ về nó: D bất cứ đề nghị nào khác? – Oneiros

+0

Yup, chỉ cần chỉnh sửa phản hồi của tôi với một chút thông tin. Trong trường hợp của tôi, tôi sử dụng một tên tệp đặc biệt, nhưng bạn có thể đang sử dụng các nhóm được bản địa hóa có cùng tên tệp, trong trường hợp này, bạn chỉ cần đặt tệp chuỗi en.lproj vào nhóm it.lproj chẳng hạn. Tất nhiên, bạn sẽ muốn di chuyển chúng trở lại trước khi bạn triển khai: D – Jeremy

+0

tôi đã cố gắng trao đổi it.lproj và en.lproj nhưng theo một cách nào đó nó không hoạt động ... – Oneiros

Các vấn đề liên quan