I was looking for a way to restore a custom number formatting on my German localization under Tiger, as I am not satisfied that I cannot change the decimal separator in the way I want (in Germany, we use a comma as the standard decimal separator). I need this when I want Excel to recognize the dot separator on drag-and-drop text files, which I oftentimes work with, onto the dock icon.
I found a comment by macosxphile to an anonymous hint called Make 24-hour time work in iCal that contained an easy solution: Copy the Localization.prefPane from a Panther (10.3) system to a Tiger system (back up the original Tiger Localization.prefPane first). For geeks, here's a more detailed method: Control-click on Panther's Localization.prefPane (in /System -> Library -> Preference Panes), select "Show Package Contents" from the pop-up menu, and navigate to /Contents/Resources. Next, copy the IntlFormats.prefPane to the same location in Tiger's Localization.prefPane (as usual: backup the original one in advance).
The next time you start the Localization (International) preferences, you will see Panther's preferences panel, and you are able to set your own separator the way you want them (you can of course modify other things, too). Thanks to macosxphile for giving this brilliant hint!
So far so good. But how do you change the format by not destroying your Tiger look and feel?
After I made this fix the "easy way," I found my (invisble) ~/Library -> Preferences -> .GlobalPreferences.plist file, and tried modifying it instead of replacing the preferences panel.
This plist file is in binary mode. Read Edit binary (and normal) plist files with vim to learn how to use vim or plutil for converting plist files from binary to ASCII and vice versa.
After opening the file in an XML editor (Apple's Developer Tools sport the free PlistEditor.app), I found two new entries called
AppleICUNumberFormatStrings and AppleICUNumberSymbols. You can paste the following example to your own
.GlobalPreferences.plist file, and play around with it. The example given is for numbers with the comma as a thousands separator, the dot as a decimal separator, and the Euro sign after the last digit.
<key>AppleICUNumberFormatStrings</key>
<dict>
<key>2</key>
<string>#,##0.00¤;-#,##0.00¤</string>
</dict>
<key>AppleICUNumberSymbols</key>
<dict>
<key>0</key>
<string>.</string>
<key>1</key>
<string>,</string>
<key>10</key>
<string>.</string>
<key>8</key>
<string>€</string>
</dict>
The next time you want to modify the number format, you'll have to change the separators manually in the .GlobalPreferences.plist file, or you could also create two or more .GlobalPrferences.plist files and rename them to switch between some schemes. If there is someone capable of writing an AppleScript application to modify the affecting XML keys on user input (via a GUI), that would be highly appreciated I guess.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20050926170928881