I'm learning Chinese, and I'd like to switch my system interface to Chinese to increase my familiarity with the language. However, since Chinese characters are not phonetic or alphabetic, it can be hard to even type or draw characters I read into a dictionary to look them up. I'd therefore like to find a way to copy text from the interface, such as app names, menu item names, etc. I know that strings files are found in the Foo.app/Contents/Resources/zh_CN.lproj/*.strings files. However, I can't figure out how to translate these files into a table mapping English strings to their localized equivalents for Chinese, and when I open the files in XCode, I don't see Chinese characters that I can readily copy. Is there a way to accomplish what I want?


String resource files are just plist files. In the terminal, use plutil -p to dump the contents of the file, which consists of maps of English keys to localized translations:

$ plutil -p /Applications/TextEdit.app/Contents/Resources/zh_CN.lproj/InfoPlist.strings

gives the output

{ "Microsoft Word 2003 XML document" => "Word 2003 (.xml) 文稿" "Apple HTML document" => "网页 (.html)" "Unknown document" => "文稿" "Microsoft Word 97 document" => "Word 97 (.doc) 文稿" "CFBundleDisplayName" => "文本编辑" "NSRTFPboardType" => "多信息文本文稿" "Apple Web archive" => "网页归档文稿" "Microsoft Word 2007 document" => "Word 2007 (.docx) 文稿" "Apple SimpleText document" => "SimpleText 文稿" "NSRTFDPboardType" => "带附件的多信息文本文稿" "NSStringPboardType" => "纯文本文稿" "OpenDocument Text document" => "OpenDocument 文本 (.odt) 文稿" "NSHumanReadableCopyright" => "Copyright © 1995-2016 Apple Inc. 保留一切权利。" "CFBundleName" => "文本编辑" }

(BTW, the title of the app is contained in CFBundleDisplayName and CFBundleName).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .