Reputation: 2894
When I run my application, my iPhone/iPad simulator only gives me 6 language choices (English, German, Japanese, Italian, Spanish, and Hungarian). After having Googled this it seems like there should be at least 18 language choices available.
I've reinstalled Xcode 4.3.1, and installed the iOS 5.1 simulator, and it has the same issues, same languages.
Does anyone know where these languages are defined, and why a simulator wouldn't have all available options? Google and the Apple Dev forums are of no help.
Here's a screenshot:
Update: I decided to install the slightly older 5.0 simulator (instead of 5.1), and whenever I'm using the 5.0 simulator it appears I have all of the languages. If I switch back to the 5.1 simulator I still only have the 6 languages shown in the above screenshot.
Upvotes: 8
Views: 2775
Reputation: 2894
Based on information in the answer posted the user named idz, located in this same question, I was able to figure out how to fix this.
I was using 5.1, I had to install the previous version of my simulator (5.0), then locate the language directories from 5.0 and copy them into the proper location for 5.1, and then restart the iPhone Simulator. Here are some detailed steps:
/Applications/Xcode-4.3.3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/PrivateFrameworks/Preferences.framework/
English.lproj
. Copy all of the .lproj folders that you find here./Applications/Xcode-4.3.3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/PrivateFrameworks/Preferences.framework/
Hardware -> Version -> 5.1
. Now when you go to choose the language for the simulator you should have all of the languages available that you copied over from the 5.0 folder.Alternatively some have said that you might be able to fix this by simply uninstalling the Xcode SDK and reinstalling it, but I've found this way to be much faster.
I submitted a bug report to Apple for this, and after a week had no response. I've directed them to this page for the fix to the problem, but I'm still not sure how this happened in the first place.
Upvotes: 0
Reputation: 12988
I think something bad has happened to your simulator installation, not that Apple removed languages. If they were to cut down on the number of languages in the simulator to only 6 Magyar would be an odd choice (with only 12.5M or so speakers).
I also checked my Xcode 4.3.3/iPhone 5.1 simulator and I have what I assume the full complement of languages. Might be worth trying to reinstall your simulator!
The list of languages presented by the simulator in the Settings app can be found in
/Applications/Xcode-4.3.3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/PrivateFrameworks/Preferences.framework/GlobalPreferences.plist
.
It's in binary format so you would need to copy it away to a temp directory and use plutil -convert xml1 <file_name>
to convert it to something you can read. You could check and see if the languages are missing from this list.
For reference here's what mine looks like
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AppleLanguages</key>
<array>
<string>en</string>
<string>fr</string>
<string>de</string>
<string>ja</string>
<string>nl</string>
<string>it</string>
<string>es</string>
<string>pt</string>
<string>pt-PT</string>
<string>da</string>
<string>fi</string>
<string>nb</string>
<string>sv</string>
<string>ko</string>
<string>zh-Hans</string>
<string>zh-Hant</string>
<string>ru</string>
<string>pl</string>
<string>tr</string>
<string>uk</string>
<string>ar</string>
<string>hr</string>
<string>cs</string>
<string>el</string>
<string>he</string>
<string>ro</string>
<string>sk</string>
<string>th</string>
<string>id</string>
<string>ms</string>
<string>en-GB</string>
<string>ca</string>
<string>hu</string>
<string>vi</string>
</array>
<key>AppleLocale</key>
<string>en_US</string>
</dict>
</plist>
Upvotes: 5