Page tree

translate5 can be used in "editor only mode". That means that all project management stuff is done in a separate application. The tasks in translate5 are getting prepared via API.

Your users are using then only the editor component of translate5.

The following steps are needed to embed translate5 in your application:

  1. Your application must be able to talk with translate5 via API to prepare users, tasks and task associations
    1. Create the users that should be able to work in translate5 via API
    2. Import the tasks into translate5 via API
    3. Associate users to tasks via API
    4. Provide a Link to the user, authenticated via API
  2. The translate5 instance must be configured to be in editor only mode
    1. Change ViewPort by config:
      Set the Zf_configuration value with the name value runtimeOptions.editor.editorViewPort to Editor.view.ViewPortSingle
    2. remove not needed ACLs
  3. Create your own skin

Implement interaction buttons in the custom header

In the header of translate5 there are buttons to interact with translate5. These are:

  • close the task and go back to the project management tool and optionally finish the task
  • close the task and close the window (works only if translate5 was opened via Javascript window.open from your tool!)
  • to show a dialog where the user can decide if the task should be closed or leaved open use this config: runtimeOptions.editor.toolbar.askFinishOnClose to 1
    • this config is important in editor only mode because this is the way how a user can finish his job

As alternative translate5 provides there fore a simple JavaScript class to interact with translate5:

Editor.util.TaskActions

Close Task - Editor.util.TaskActions.close()

Closing a task means, that the user wants to stop working on this task and wants to go back to the PM tool.

To close a task just call the JavaScript method

Editor.util.TaskActions.close(callback)

A callback function can be provided as parameter. The callback is called if the task was closed in translate5. For the callback see below.

Finish Task - Editor.util.TaskActions.finish()

Finishing a task means, that the user has finished his work on this task, and he wants to leave this task so that next users in the workflow can access the task.

To finish a task just call the JavaScript method

Editor.util.TaskActions.finish(callback)

A callback function can be provided as parameter. The callback is called if the task was finished in translate5. For the callback see below.

Callback Method

The above provided callback method looks like:

callback = function(task, app, strings){ CODE }

task: evaluates to the currently mentioned task record
app: evaluates to Editor.app
strings: evaluates to a list of commonly used, already translated strings for messages related to the performed tasks

Depending on what should happen in the callback, a destruction of the loaded app may be necessary.
So if the callback contains a

window.location.href = "NEW LOCATION" 

this may not work. Therefore a Editor.app.destroy(); must be prepended:


Editor.app.destroy();
window.location.href = "NEW LOCATION" 


Check if current task is exportable

Just call

Editor.util.TaskActions.isTaskExportable()

from your JS code to check if the currently opened task can be exported. Currently it is only checked if there is still a segment save running.

Logout from translate5

Since translate5 is used embedded, logout should be done the application where translate5 is embedded via API.

Nevermind the JavaScript method

Editor.app.logout()

can be called. It just logs out the user from translate5 and redirect to the URL /

Since this page can be skinned and overwritten a redirect can be implemented there to the Project Managament tool.

  • No labels