title: iOS - NSLocalizedString is only returning the key string
body: <p>I'm having some trouble debugging my <code>NSLocalizedString</code> implementation. Should be simple, but whatever I do, the function only returns the <code>KEY</code> string.</p>
  
  <p>I'm using XCode 4.5 and iOS6, so I:</p>
  
  <ol>
  <li>Added a new file called <code>File.strings</code>.</li>
  <li>In my project settings I added English and Spanish as language settings.</li>
  <li>Clicked "Make Localized" in the file inspector, and made sure that both English and Spanish options were selected, and also that the Target membership to my target was selected.</li>
  <li>Added <code>"KEY" = "TestEnglish";</code> to my english <code>File.strings</code></li>
  <li>Added <code>"KEY" = "TestSpanish";</code> to my spanish <code>File.strings</code></li>
  <li>Added <code>NSLog(@"Localization: %@\n", NSLocalizedString(@"KEY", nil));</code> to my <code>.m</code> file.</li>
  </ol>
  
  <p>When I run the app, the value <code>"KEY"</code> is always displayed printed in the <code>NSLog</code>.</p>
  
  <p>To jump into this a bit more, I tried this as well:</p>
  
  <pre><code>NSString *path = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
  NSString *str = [[NSBundle bundleWithPath:path] localizedStringForKey:@"KEY" value:@"" table:nil];
  NSLog(@"Localization: %@\n", str); 
  </code></pre>
  
  <p>and still the value <code>"KEY</code>" is printed, yet, <code>path</code> is a valid path.</p>
  
  <p>Does anyone have any clue how to debug this? I feel like I've read every SO question/answer out there, but none of the suggestions help.</p>
  
  <p>I realize that <code>NSLocalizedString</code> returns the <code>KEY</code> string when it cannot match a key, but I don't see how I can debug why my app might not be matching the KEY.</p>
  
  <p>I've also deleted/cleaned the app about a dozen times.</p>