Is localizing hard?
No, but it will take a little time.
What do I need?
- The English.lproj folder from iMote's application bundle (contains a .nib file and a few string tables)
- To get it, control-click the iMote.app application file, select "Show Package Contents" from the menu,
navigate to the English.lprog folder inside Contents/Resources/ and copy it to somewhere else on your HD
so you can work on it.
- Apple's Interface Builder - included with xCode -
for editing .nib files
- A text editor such as TextEdit, xCode, BBEdit, etc. - for editing .strings files
I have the stuff, now what?
- Rename a copy of iMote's English.lproj folder to your native language's identifier. (Example:
French.lproj)
- Locate the PrefsWindow.nib file inside the renamed .lproj folder and open it in Interface Builder.
Open Interface Builder's Inspector window if it isn't already open (Tools -> Inspector) Find the
"prefsWindow" and "hotKeyWindow" windows inside the document window (titled YourLanguage.lproj) - these
two windows need to be translated - all label text, button titles, checkbox labels, etc.
Make sure you remember the "iMote Preferences" window title. Note that the prefsWindow's control panes are
divided using an NSTabView inside the nib file - to change the pane just double-click and empty spot in the
middle of the window (not on any controls) to select the NSTabView, then use the Insepctor window to change
the current tab view ("Display Tab Item"). Experience with Interface Builder will make this process
a bit easier, but it's not difficult.
- Now that the nib file is translated, a few string tables need to be translated. Open the Localizable.strings,
Actions.strings, MKDUpdate.strings and iMoteMenu.strings files inside the .lproj folder and change the
second quotation in each pair of strings (text) to your language's translation. For example:
/* The 'Welcome' window - displayed the first time a new version of iMote is launched */
/* Title */
"Welcome window title" = "Bienvenue à iMote !";
/* Body */
"Welcome window body" = "iMote est un outil étonnamment utile pour contrôler le iTunes ! ..."
Ignore everything between the "/*" and */" - they're comments ignored by the computer, there to give you a
context for each translation. Please excuse my French.
- Finally, open the KeyCodes.plist, InfoPlist.strings and Credits.rtfd files inside the .lproj folder and
translate them accordingly. Note that you can copy the new .lprog folder to iMote as you work on it to test it
-- just make sure to set your system's default langauge in the "International" system preference pane to the one
you're working on, and re-launch iMote between modifications.
Please don't localize the ReadMe file. I very much appreciate the effort, but it's just too much work for
me to keep up with when updating iMote.
All done!
Compress (stuff, zip, etc.) the folder, and email it to me.
If your language's code isn't obvious - ie. "da.lproj" - tell me what it is. Your translation will be added
to the current version of iMote as soon as I test it out, and I'll gladly put your name in the about box
credits if you like!
Thank you! :)