Page tree

This manual requires a server environment, which matches the mandatory dependencies. 


Translate5 needs a own database with character set utf8mb4. Connect to mysql

mysql -h localhost -u root -p

Then create the database, for example "translate5":



If you are using translate5 locally, you have to to specify a hostname for your local configuration.
Please add the following line to the /etc/hosts file, so that your browser can reach Translate5.
We assume "translate5.local" as hostname here.

Add to the file /etc/hosts	translate5.local

Please ensure on pasting the above line, that between "" and "translate5.local" is a TAB and not multiple spaces. In the latter case it is possible, that the name resolution does not work properly!

Configure translate5 apache vhost

Create the apache vhost config file

sudo touch /etc/apache2/sites-available/translate5.conf
sudo chmod 660 /etc/apache2/sites-available/translate5.conf
sudo ln -s ../sites-available/translate5.conf /etc/apache2/sites-enabled/translate5.conf

Edit the config file and paste the following content to it

<VirtualHost *:80>
  DocumentRoot "/var/www/translate5/public"
  ServerAlias translate5.local
  SetEnv APPLICATION_ENV application
  php_value include_path .:/var/www/translate5/library/zend/:/usr/share/php5:/usr/share/php
  <Directory "/var/www/translate5/public">
    AllowOverride All
    Options Indexes FollowSymLinks
    Order allow,deny
    Allow from all
    Require all granted

Save the file.

If you use an already existing virtual host, please add at least the following setting:

  SetEnv APPLICATION_ENV application

PHP include path in the php.ini

Check that the PHP include path contains at least "." and the PHP system paths. So should be something like:

 include_path .:/usr/share/php

Since translate5 needs no change here, just use the system default in doubt.

Please be aware, that you have to check your webserver and this apache configuration regarding security, if you oppose your translate5 instance to the internet. Your security is your responsibility and can not be covered by this manual.

Restart apache

You have to restart apache to apply all changes made to configuration.

sudo /etc/init.d/apache2 restart

Download and install Translate5

First create a translate5 directory:

sudo mkdir /var/www/translate5

Download the Translate5 core package from

save and unzip it directly in the above directory.

Since apache must be able to create files in the translate5 directory, the permissions have to be changed:

sudo chown -R www-data:www-data /var/www/translate5

Then run the Translate5 "installation and update" script as www-data user, follow the instructions in the script.

cd /var/www/translate5
sudo -u www-data bash ./

In the "Translate5 Installation" step the script will ask you for the database credentials.
If your database is set up as described in configuration from scratch, then all default values can be used.

The script asks also for the virtual host hostname, this must be the same hostname as specified above for the /etc/hosts file.
The example name "translate5.local" is also the default in the script.

Example output of
Checking server for updates and packages:

Downloader: Downloading Translate5 X.Y.Z from
Downloader: Updated application translate5
Downloader: Downloading translate5 DB init from
Downloader: Fetched dependency translate5-DB-init
Downloader: Installed dependency translate5-DB-init
[... more dependency downloads ...]

Translate5 Installation

Please enter the MySQL database settings, the database must already exist.
Default character set must be utf8. This can be done for example with the following command:

Please enter the DB host (default: localhost): 
Please enter the DB username (default: root):
Please enter the DB password: 
Please enter the DB database (default: translate5):

Creating the database base layout...
Translate5 tables created.

DB Config successfully stored in ./application/config/installation.ini!

Please enter the hostname of the virtual host which will serve Translate5 (default: translate5.local):

Updating Translate5 database scheme

DB Update OK
  New statement files: 14
  Modified statement files: 21

Translate5 installation / update done.
Please visit http://translate5.local/ to enjoy Translate5.
In case of errors on installation / update please contact please visit or post a message in translate5 user group, which is linked from

Configure sending of mails in translate5

translate5 does send emails to users in different cases, e.g. when asking for a new password or on change of workflow status.

By default, sending of emails is deactivated, when using the translate5 installation-and-update-script. The reason for this is, that many users do not have an active mailserver on the machine, on which they want to test-install translate5.

If you have a mailserver running, please refer to the installation specific configuration options for information on how to configure translate5 mail sending.

Install and configure direct dependencies

Install and configure all direct dependencies to get a fully functional translate5 installation:

Configure Cronjobs / task scheduler

Depending on the usage of translate5 the setup of a cronjob / task scheduler for recurring actions is needed. Therefor exists two URLs in translate5 which must be called via cron / task scheduler.

To be able to use the cron job system, the IP Address of the system which triggers the below mentioned URLs must be configured.

This is done via the config "runtimeOptions.cronIP".


The URL should be called once a day. This triggers some date specific workflow actions, like notification of overdued tasks or deleting of old unused tasks.


The URL should be called each 15 Minutes. Currently this some garbage collection in translate5 and the deadline reminders. If this cronjob is not configured, the clean up is triggered by each request to translate5 once in each 15 minutes. Same for deadline reminders (which means, that without a cron periodical defined in instances with low traffic it will happen, that deadline reminders are not send at all). For performance and reliability reasons the invocation via cron job should be preferred on production systems. If the periodical cron URL was called once, translate5 reconfigures itself to use always the garbage clean up via cron, the request based trigger is automatically deactivated.

Cron Job example
# m h  dom mon dow   command
30 23 * * * wget --no-verbose --content-on-error -O - 2>&1 | grep -iz "warn\|fehl\|failed\|error\|wrong"
*/15 * * * * wget --no-verbose --content-on-error -O - 2>&1 | grep -iz "warn\|fehl\|failed\|error\|wrong"

# in the example the daily cron is called at 23:30 in late evening and the periodical each 15 minutes
# the result is filters for errors only, so that cron e-mails are sent only on failures

You are done (smile)

Open your browser and call http://translate5.local (or whatever hostname you have configured) and have fun with translate5.

Remove demo users from login page

For convenience of demo installations the default translate5 demo users are displayed at the login page.

To remove this go to /client-specific/views/default/scripts/login/index.phtml and remove the HTML that displays these users (or delete the index.phtml file completely).

  • No labels