2012-08-23 48 views
5

Tôi đang cố gắng để bản địa hoá một chìa khóa trong các tập tin InfoPlist.strings trong đó bao gồm một cuốn từ điển lồng nhau, như vậy:Phối phím Info.plist lồng nhau

baseKey = { 
    secondDict = { 
     "key" = "value"; 
    }; 
}; 

Có cách nào tôi có thể truy cập vào phím bên trong trực tiếp từ tệp InfoPlist.strings?

"baseKey.secondDict.key" = "newValue"; 

dường như không hoạt động ... Bất kỳ ý tưởng nào? Tôi biết tôi có thể tái tạo cấu trúc từ điển trong tệp chuỗi, nhưng nó chứa một số thông tin khác mà tôi không muốn có trong đó.

+0

sử dụng 'valueForKeyPath' – Legolas

+0

Điều đó không giúp đỡ, đây là một tập tin InfoPlist.strings, không Objective-C ... –

+0

Ngoài ra, những gì về bản địa hóa các giá trị bên trong mảng bên trong plist? – divergio

Trả lời

2

Rõ ràng nó hoạt động như thế này:

Thay "value" với một số định danh nội địa hóa newvalue_i18n_key.

Sau đó, trong InfoPlist.strings cho mỗi ngôn ngữ, làm điều này:

newvalue_i18n_key = "value";

Đây là giống với cách NSLocalizedString hoạt động. Để đọc sách của tôi, đây là không những gì Apple nói trong the official documentation regarding localizing plist files, nhưng nó là những gì Apple đã làm trong some sample code.

This question đi lên với câu trả lời tương tự.

-1

Bạn có thể nhanh chóng truy cập các giá trị lồng nhau theo cách này, trong đó "tài khoản" là chìa khóa cho một NSDictionary và "Tên đăng nhập" là một chìa khóa cho một NSString.

yourDict[@"User"][@"Username"] 
+0

Điều này đúng cho việc truy cập các giá trị từ mã. Câu hỏi đặt ra là hỏi về việc bản địa hoá các giá trị từ tệp InfoPlist.strings. – divergio