Okay, so step-by-step guide :
- You'll need to add QSDebugLocalization to your environment variables (use the script that lies around, adding QSDebugLocalization=1 before $QSAPPLICATION (I'll try to post a real script somewhere sometimes.))
- Run QS using the script.
- Now QS will output a "Localization: Missing key %@ in table %@, using default %@" line each time it tries to localize something. The hard part with this is that I can't know (and thus can't output) which plugin is missing a translation, so you'll have to infer from the name of the key (or maybe look for it in the Actions panes sorted by plugin, this could do...).
- Once you now which plugin is missing this key, find the place where it's installed (should be in either ~/Library/Application Support/Quicksilver/PlugIns or inside the Quicksilver app bundle.
- Localizable stuff is organized as usual (lang.lproj directories), and QS looks for files named "something".strings (where "something" is the table name from the debug message). Now open up the .strings file, and add something like that :
<key>the-debug-key-from-the-message-log</key>
<string>the-correct-translation-for-this-key</string>
(Note: if you're using Property List Editor, it's even easier ! I love the update it got with Xcode 3.1 ;-)).
- Save the file (and maybe rerun, but I think it should update the next time the localized key is requested).
Good luck !