Text Importer Specification

This module will be used for inputting large number of translation texts at once - especially when uploading texts translated off-line, or adding new translation. Input will have several steps - screens.
The start will be on the page where user selects the language for which he wants to import texts (only those that he translates are available) and version for which he wants to input texts. He will be also asked if he wants to upload a file or insert the texts using text input window, and if he wants to remove or keep line breaks “\n” - default is remove. After filling those values he will press continue.
He will be moved to a screen where he can input text file path or the text itself (using large text input window). His selection of language and version will be shown on visible place using large font. He will be also able to choose standard overwriting scheme. Either “ask on every conflict”, “replace all my texts”, or “replace all texts older then (date input dialog)”. The date will be checked and must be at least 7 days behind current date. (Usage of this option should be adjustable by administrator - it should be disabled by default.)
After pressing continue button, the text (file or window) will be loaded and parsed. If there will be some errors, like empty lines or too long object names, user will be asked if he wants to abort operation or continue. Then than the object names in text input will be compared with object names in database (for given version), if more than 25% object names from text will have no match to objects in the database user will be shown the errors and asked if he wants to abort the operation and continue. (This is possible case if one will input text for wrong version.)

flow chart 1

Then the first update phase will occur. Text entries for non-existing objects will be discarded. Text entries for objects that do not have translation yet (text value = null, or entry does not exist at all) and are not reserved by other user will be updated automatically. If user selected that he wants to update own texts without asking, texts which are not reserved by other user and has this user as author will be updated. If user selected update all older, all texts with modification date older than inputted date, if they are not reserved will be updated. If they were reserved by this user, reservation flag will be cleared.
If there are still some texts left un-included after last phase, user will be taken to conflict resolution screen.

flow chart 2

For each conflicting text (item), following information and choices (By default NO choice will be selected.) will be displayed: keep old entry (current text will be displayed), use new entry (new imported text will be displayed), use new entry and downgrade old to suggestion, manual text entry (text input box will be displayed - useful if user would like to merge both versions - this option will be selected automatically if user inputs something to text input field). User will also see if the text is reserved by other user and who this user is. Both on the top and the bottom of the list there will be buttons for a mass selection of each choice. By default only items with no choice so far will be affected by mass selection buttons, but user will be able to mark a check box: “override exiting choices”. Then choices for all items will be changed. On the bottom of the screen there will be button submit.
Clicking the submit button, program will perform selected operation and report to user if there were some errors or if update was successful, and how many texts were updated (total in all phases).

 
   
   
   
 



SimuTranslator: ©2004-2005 SimuTranslator Team
Documentation: ©2004-2005 Tomáš Kubeš
SimuTranslator documentation home