Translation guide

I would like to know how to translate OJS. I tried using POEDIT, but it seems not to work with XML. I was looking for some instructions or advices in the documentation, but I couldn’t find anything. Any translator can tell me how they translate OJS? I can go to the XML files and manually replace the strings, but that doesn’t seem a simple method.

1 Like


@mtub is the person to contact regarding translation issues.

There is a translation plugin: GitHub - pkp/translator: PKP Translator plugin for OMP 1.1.1+ and OJS 3.0+

In our case (Finnish translation) we used: (basically just uploaded the XML files there, worked really nice)

For shorter translations, like plugins, I usually just copy the english locale file and use normal text editor to do the translations.

Also see:

1 Like

Hi @jorgesumle, thanks for your interest in translating OJS. What language do you want to contribute too?

We are discussing tools at the moment, and po files are part of that discussion. At the moment, editing the XML files is one good option. The translator plugin that Nate mentioned needs a running OJS instance and you will have to export the updated files from that install and upload them to GitHub.

Receiving the updates via GitHub is strongly preferred.

Feel free to get in touch with any questions and comments you might have, here or via PM or email.

1 Like

Spanish. I’ll try now that plugin. I’ll tell you if I have any other problem. Thanks for the tips.

Hi @jorgesumle,

we are aiming at a complete Spanish translation of OJS for the next release from our regular Spanish translators, who have almost completed their work, see

If you want to contribute, maybe get in touch with them and see if there’s anything left they need help with?

Tagging @marc

1 Like

Hi @mtub
I am interested in translating it to Indonesian. FYI, I am just an ordinary journal editor without any web programming skill. But I am willing to learn. I think I will try using the plugin. Regarding the installation, I do not have script access to my cpanel yet.

  • From your application’s installation directory, run the upgrade script:
    $ php tools/upgrade.php upgrade
    (NOTE: It is recommended to back up your database first.)

First, I will ask help from my cpanel provider about it
Second, Would you like to give me any initial steps to begin?


If you want to contribute, maybe get in touch with them and see if there’s anything left they need help with?

Yes I will. I translated successfully the ORCID profile plugin: I’ll try to translate everything left.

I have another problem. There are some strings that need translation but are not listed in the translation list, you have to add them manually. Is there a way to do that automatically? For example, the translation plugin in Spanish has 62 untranslated string according to the translation plugin. I want to extract them automatically. If the plugin knows how many missing strings there are, it should be possible to extract them automatically, right? Maybe I’m missing something obvious.

Hi Jorge,

We are doing translations following a guide and a glossary. If you are interested in joining the team to regularly contribute, send me a message.

I’m on vacations right now so I probably delay in my answers till 1st.


1 Like

Yes, I’m interested in joining the team. Where is the glossary and the guide?

First, I will ask help from my cpanel provider about it

You are not supposed to translate using the live version. You should develop and translate locally and then submit the changes to the main repository as a pull request or you can mail the translation files to @mtub if you don’t have experience with that.

Second, Would you like to give me any initial steps to begin?

Try to install a GLAMP (GNU/Linux) or XAMPP (Windows) server locally so you can translate in your own machine without fear, if you break something it doesn’t affect your real website. Check out any tutorial on how to setup a local web server. Probably the development setup instructions look difficult to a new user, feel free to ask for help here if you get stuck.

If I didn’t miss something, the Spanish translation for OJS 2.x is up to date and 3.x was delivered to Marco last week or so, to be included in the next version, so please wait till 3.x version is released before working on translations.

Main work is done and (I think orcid and translation plugins were included) although probably a few plugins still need more love… When we are in a hurry, plugins are the last of the list.

After years playing with different models, I’m happy to say that the last 3.x translation is the first that was done by a native professional translator that is also an OJS expert so I expect quality will be improved.

@jorgesumle , if is ok for you, after vacations I can call you to see the best way to join efforts.
Around 1st Sept, we can also talk about the glossary, the PO files, the missing strings and so on.

Please send me a private message with your preferences about time/hour to talk and your phone number / hangout user / whatever.


I recommend XTRF software SDL Trados Studio Integration - XTRF Help - XTRF Knowledge Base

Hello, @asmecher and @mtub,

Quick question, i want to help translating to pt_BR some missing keys, should i use the translator plugins or make a pull request to the github repo. Abou the github repo, the keys are missing on the OJS Repo , and i found them at PKP-LIB Repo, should i fork the PKP Lib or still use the plugin.

I notice that lots of keys are out of sync between en_US and pt_BR, i already syncronized them, just doesn’t know which repo should i make the PR.