JabberFoX Localization HOWTO
The first thing you need is to install the MacOS X Developer Tools. Make sure to install the 10.1 version of the tools if you are running OS X 10.1. You can download them at http://connect.apple.com.
You will then need the latest JabberFoX sources from SourceForge. You should get them via CVS (see http://sourceforge.net/cvs/?group_id=22510 for more instructions, or email to the mailing list if you have problems).
CVS helps to track revisions of files, go back to old versions, and also to coordinate the work of multiple developers. Note that JabberFoX is updated in CVS often, so you may want to update every day.
Among the files you "checked out" of CVS will be the ProjectBuilder project file for JabberFoX, called "JabberFoX.pbproj". Double-click it to open the project.
You can now compile and run JabberFoX. In the "targets" popup, select the "All" target (unless you know what you are doing :). There are various buttons (with tooltips) for building, running and debugging JabberFoX. Make sure you build it before running if you make any changes.
Now you are ready to actually make changes. There are two kinds of
files which you will have to modify:
- "Localizable.strings" files.
- .nib files (from Interface Builder)
For example, in JabberFoX->Resources there is one such file. Note that it has a small triangle to the left, like folder have. If you click on that, it will reveal two sub-items: "English" and "German". The files have multiple entries like this:
/* Login status message */
"Unable to establish connection" = "Verbindung konnte nicht aufgebaut werden";
The first line with
/* ... */ is a pure comment line. It usually will give an indication as to where the following message will be used.
Then follows a pair like
"foo" = "bar". To the left you see the
original english message; to the right you see the translated version. In the example above, that is German.
Adding a new translation is simple: click onto the "Localizable.strings" entry (in ProjectBuilder, not in Finder!). Now press Cmd-I. An inspector window will open. In there are various items/popups. One of the popups reads: "Localization & Platforms". Click on it and choose the menu item "Add Localized Variant". In the upcoming dialog, enter the name of a locale, e.g. "French". This can't be arbitrary values!!! If you are not sure what the right value is for your language, contact Max Horn.
Once you did that, there will now be a third sub-item next to "English" and "German", e.g. "French". You can edit that file, and modify it for the new language. Make sure you always enter the *rigth* version of the text, not the one on the left.
This is similiar to what you did for Localizable.strings, only for the various .nib files. Again, select the item, press Cmd-I, and add a variant for your locale.
To edit the .nib files, double click your language variant. This will launch interface builder. The first thing you should do here: go to "Preferences" and select "Lock all connections". This way you can't break something accidentally.
Now you need to translate the various dialog items in there. Make sure you use the auto alignemnt etc. correctly. You may want to acquaint yourself a bit with Interface Builder first before doing a lot of work.
OK, I hope this will give you a start. Once you modified some files, you can send them to Max Horn - you will find them in Finder in folders called "LOCALE.lproj", e.g. "French.lproj". He will then add them to CVS. He can also add folks to the project so that they can put their changes directly into CVS, but we like to see first an excerpt of their work to prevent accidental mess up of CVS code.