To localize the interface, you should do two things: translate the text part of the interface into the language you need and edit the set of images.
The entire TrackStudio text is stored in resource bundles. A resource bundle is a file containing key/value pairs. TrackStudio loads its text using keys while the correct values are retrieved based on the users locale settings.
For example, the key/value pairs for the English locale may look like this:
UserTitle.inc.SERVICES=Services UserTitle.inc.TIME_ZONE=Time Zone UserTitle.inc.LAST_VISITED=Last Visited UserTitle.inc.LOCALE=Locale
Making your own translation involves copying the English resource bundle, renaming the file, and translating its contents. To do that, find the file language_en.properties in the directory TrackStudio/webapps/TrackStudio/WEB-INF/classes and copy it to a new file. The last two letter in the name of the new file must be a valid ISO Language Code.
These codes are the lower-case two-letter codes as defined by ISO-639. You can find a full list of these codes at a number of sites, such as: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
When translating from English, you may need to use special characters for you language. Unfortunately, all resource bundle files must be saved in ASCII format which doesn't allow for many international characters. It's recommended you work on your translation in a text editor that supports all characters in your language. After finishing your translation, use the native2ascii tool to convert international characters to the ASCII format. Here's how you use the native2ascii tool:
native2ascii -encoding XXX my_translation.properties language_YY.properties
where my_translation.properties is the input file that use national character encoding and language_YY.properties is the output file.The -encoding XXX parameter is optional. If you don't specify it, Java will use the default encoding value, taken from the system property file.encoding. After you translate the file, save it to the directory TrackStudio/webapps/TrackStudio/WEB-INF/classes.
A skin consists of a set of GIF images which are elements of the TrackStudio interface and a set of CSS files (cascading style sheets). These sets are located in the directory TrackStudio/webapp/skins in folders with names like defaultSkin.XX (defaultSkin.en, defaultSkin.ru). The first part of the folder name is the name of the skin, while the second part is a two-letter locale abbreviation.
A folder containing a skin has the following structure:
style.html a CSS file containing styles
style-print.html a CSS file to format the print version in TrackStudio
style.js a JavaScript file containing dynamic effects
cssimages/ - the folder with images used in style.html
images/ - the folder with the elements of the TrackStudio interface.
The elements of the TrackStudio interface are named in a special way. For example,
arw.time.gif but.addusr.gif but.addusr.h.gif ico.copy.gif mmn.logout.gif mmn.logout.h.gif mmn.tskmgm.a.gif tab.acs.gif tab.acs.a.gif txt.mgs.gif
The explanation of the elements in the filenames:
but button
arw, ico icon
mmn menu element
tab tab element
txt graphical text element
The index h (hover) means that this image is replaced by its index-free pair when the mouse cursor is over it, the index a (active) means that this image replaces the main one when the element is active (selected).
To create your own skin, copy the contents of the folder defaultSkin.en to a folder with a different name according to the rules stated above. Then use your image editor to create the necessary images and replace the ones that are in the folder. Do not change the filenames. Copy the folder with the new skin in the directory TrackStudio/webapp/skins and restart TrackStudio.