ReadMe for RazaXML Translation Tool version 1.4 beta (Copyright  2008, 2009 omega09 (omega09@users.sourceforge.net)

--Preface--

This tool loads a specified file to translate (default-en.xml), changes its contents by user input and creates the translated file.
The first stage is structure correction (AWT (GUI) MODE ONLY). The program will show the user where changes should be made. The second stage is translation. Again, the program will lead the user. Each translated entry is replaced in all other instances in the file to save time and clean consistency problems.
The created file is named to match the conventions.
This basically gives the user minimal meddling with technical issues, mostly knowing which parts to translate and what corrections to make.


--Usage--

*Console mode uses a terminal-like I/O interface. There is no structure correction in this mode and it accepts non-English characters usually only in *nix based systems.
*AWT mode - Creates a basic GUI. This is the recommended mode as it allows structure corrections.

*Input path - the place of the file that will be loaded. If there is no file for your language, load the English one again.
*Output path - the place to which the translated file will be written.
*Language code - the letters used to symbolize the target language. If you translate to French, enter "fr" etc.
*Correction mode - if you chose yes, you will be prompted to translate parts which are already translated (correcting them). Otherwise, the program will try to skip those parts.
*Starting index - the place in the file from which you want to start translating. If you translated the file before up to a certain point and wanted to stop, insert the character number from that point. You can obtain that number with most text editor such as Notepad++ and MS Word.
Note that this refers to the non-English file.
*String translation - the translation itself. Whatever you translate will be replaced in all other occurrences. This means that you might stumble upon your translation later on as you advance in your position. Press Enter to leave it as is. If you want to stop and save changes to continue later, type "!STOP!" (no "").

-The AWT interface has its own shortcuts:-
*File > Load - opens a file chooser to select input paths.
*File > Save - Saves the file to the specified path.
*File > Save AS... - opens a file chooser to select an output path.
*File > Quit - exits (will prompt to save changes).
*Recheck button - during structure stage, tells the program to check after a change was applied.
*Update button - during translation stage, if you chose to translate through the text area, this applies the change. Note that correcting through the text area does NOT replace other instances of the phrase.
*Done button - finishes the current stage (same as "!STOP!"). It is recommended, though, to finish structure changes prior to translation.

-Additional information (AWT)-
*In order to see where changes should be made (in both stages), hover with the mouse over the text areas. Be careful not to insert text in unwanted places (though you can undo normally, if you don't Update the changes and go on you will experience unwanted behavior). The text field also gains the "inserter upon hover" quality.
*If there are structure differences which you wish ti ignore\skip, such as specific shortcut parameters, update the English file instead of your file. The English file isn't saved and the program will not report a difference in that place again.

-External files-
*An autosave runs in the background and saves the current file to the temp directory under the name "RazaXML.tmp" in case of a crash.
*A crash log is created in the current working directory while the program is running. If the program exits and there was an error during its operation, the crash log is not deleted upon exist. Please attach a copy of it on the forums with a description of unexpected behaviors if there were such.


--Note!--

*Cannot notice between languages (obviously), so the user will be prompted with a request to translate what was already translated (in Latin languages only and partially). If the string is already translated skip it (leave blank and press Enter).
*Works for Shareaza's XML only and is based on a certain file format, in case of major changes to the file's structure, the code will have to be changed. e.g. if new tags are introduced which the content in them will need to be translated, they will be skipped. This is up to maintenance.
*Can not merge structure changes with a partial translated file. If there is a lot of structure correction to do and not much was translated, use the English file. Otherwise, correct manually.