Translating osTicket into your native language. [Part 1]

UPDATE 3/18/2013: Peter has announce that 1.8 will have language support.

The great thing about open source programs is that you are free to modify the source how ever you want. This means that if a project is released in English and its not your native language you can change it. This series of articles is not an exhaustive list of every single little change that you would need to do, but it should cover a LOT or most of the changes to translate osTicket 1.7rc4 into your native language. This guide should be updated once 1.7ST is released.

This section of the guide is not very technical and does not require any PHP or MySQL skills to complete. Later sections will require these skills at a novice to intermediate level. For the most completely translated site you will need to complete all three parts.

Let's start with the easy stuff first. The easy stuff can be summed up easily by saying all the things that we can change inside the osTicket framework without actually editing the source.

Log into osTicket as an admin user.

Once you are logged in you should mouse over "Knowledgebase" and select "Canned Responses". Canned responses are for storing responses that you will use often. Things like "Your password reset request has been processed, your new password is Foo, please change it immediately" You can edit existing responses or Add new ones. The other section in this area is FAQs. As of version 1.7rc4 there does not appear to be a way to add FAQs to the system. I believe that this feature will be finished when 1.7ST is released. Let's move to the next step.

In the upper right click on "Admin panel". This automatically puts us in the "Settings" tab. Make sure that you have set "Helpdesk Name/Title:".

Mouse over or click on the "Manage" tab. This puts us into the "Help Topics" sub menu. These are displayed to the client when they open a new ticket. You should configure these however you see fit. Simply name them or edit the existing ones to translate them.

Next we're going to modify the email templates because every email that osTicket sends out uses the template system. Click on the "Emails" tab or mouse over the "Emails" tab and select "Email Templates". You should have an option named (or similar to) "osTicket Default Template (system default)". Rather than edit that template, lets leave it alone for now and create a new one.

Click on "Add New Template".

You will see a screen that looks like this:

Do the following:

  1. fill in "Name". I recommend that you use the name of the language that you are planning on translating to.
  2. select "Status" of "active".
  3. Language only has one option currently "English (US)" select that. I imagine that there are plans to extend this later and that really its a placeholder.
  4. under "Template To Clone" select your default [mine is "osTicket Default Template".]
  5. You can leave "Admin Notes" blank, or write something in it if you want.

This will take you back to the "Email Templates" page, and you should see a green bar saying "Template added successfully". Your template name should be in the list now. Click on the name of your template. This will take you to your template where you can select one after the other each template and translate them into your desired language. Translate each one, and click Save Changes. Anything starting with a % is a template variable and does not need to be translated. There are a number of variables that you can add into your templates. Here is a complete list:

Ticket Variables
Please note that non-base variables depends on the context of use.
Base Variables

%id   Ticket ID (internal ID)
%ticket   Ticket number (external ID)
%email   Email address
%name   Full name
%subject   Subject
%topic   Help topic (web only)
%phone   Phone number | ext
%status   Status
%priority   Priority
%dept   Department
%assigned   Assigned staff or team (if any)
%createdate   Date created
%duedate   Due date
%closedate   Date closed

Other Variables

%message   Message (incoming)
%response   Response (outgoing)
%note   Internal/transfer note
%staff   Staff's name (alert/notices)
%assignee   Assigned staff
%assigner   Staff assigning the ticket
%url   osTicket's base url (FQDN)

Next click on the "Staff" tab. There are three sub menus here that we will need to go into and translate the entries in. They are "Teams", "Groups", and "Departments".

  • Select the "Teams" sub menu. If you plan on utilizing "Teams" you can rename the existing team name as well as add your own.
  • Select the "Groups" sub menu. Here you can rename the existing groups, as well as add new ones.
  • Lastly click on the "Departments" tab. Here you will be able to rename the existing departments, or create new ones.

This ends part of this guide. In the next installment we will focus on translating the client side of osTicket. The client side is what your customers will see.