OJS 3 translation

Hi guys, how do you plan to translate OJS 3, will it be like OJS 2 with translation plugin or something else, or do you plan to do translations online. Our institution is planing major upgrade to v3 and we are using Serbian Cyrillic and Latin, and also we have one journal that is using Hungarian (not officially available) so we have to translate it before we can use it. I have already started with translating XML files before while testing but would like to do it right way.

1 Like

I had translated OJS 2.4.x to Arabic in full. The best way to do that in my opinion is copying XML en_US files from several folders and then changing file names and up folder name according to the desired locale.
The main job then will be translating English sentences in overall.
I was cooperating with the development team by adding this translation using Github platform.

Now I’m working on retrieving Arabic locale to OJS3 since it is no longer maintained there. All of the locale files need reviewing to make the necessary changes, but I’m also wandering about the right branch to push these files to.
In version 2.4.x I used to push my work to ojs-dev-2_4, but now, I have to ask about the right branch to submit my files to. Would it be ‘Master’ branch?
I would like to hear from development team.

Hi @vormia,

I will post a “Translating for OJS 3” guide in the next weeks, but here is what I can tell you right now:

  • The master branch would be the right branch to start your translation work.
  • Please note that this branch already has an Arabic locale. This is your OJS 2 translation ported to OJS 3, meaning that it lacks most of the new stuff but has translations for those keys that are still part of OJS.
  • So you can start by cloning pkp/ojs and pkp/pkp-lib, checking out the masterbranch and comparing en_US to ar_IQ.
  • If you start from scratch by overwriting the en_US files, you would end up with lots of double work (because many keys are still the same from when you did the OJS 2 translation).

Please let me know if you run into any problems.


Thanks a lot.
Indeed that’s exactly what I’ve been busy doing in the last two days.
I noticed the folder you mentioned and started comparing files instead of starting from scratch.
You told me last year about deprecating help files, but I found another repository in PKP dedicated to it. Should I use it for that purpose as I did with Lib repository? Or you have some suggestions to guide me with.


I’ve installed OJS 3.0 in Italian but it looks like some translation are missing because sometimes a path is displayed instead of the text.
Can someone please help me understand why?

Obviously your language is not fully translated.

Hi @fpianz,

these things like ##manager.setup.contextName## are localization keys which are used to translate the user interface into different languages. On your server, there are translation files which look like this ojs/manager.xml at ojs-3_0_0-0 · pkp/ojs · GitHub where the keys are mapped to a human-readable string that is displayed to the user.

I suppose the translations are in progress by some members of the OJS user community, but probably @mtub can give you more information if you’d be able to help with completing the italian translation gaps.

Thanks! Yes, I’ll offer my help for the translation

Hi @fpianz,

That would be wonderful! Tagging @mtub, who manages translations.

Alec Smecher
Public Knowledge Project Team

I’m glad I had finished reviewing Arabic translation yesterday, so I think it’s time to start pull requests in Github.
After trying the new updates locally, I noticed some minor issues worth mentioning here:

  • Some pages in the new version, only read English keys even when there is other locales installed and enabled.
    Below are some details:

    In prepared emails. Email display name still in English even when using other languages, like French for example.

In journal roles. the same thing.

In Create new submission page. Also the same issue.

At the form of Uploading submission files. The same thing happens.

Workflow components page reads only English keys! Arabic keys don’t show up here.

  • In Arabic, we use right-to-left text orientation, so this was taken into consideration in previous versions by adding a css file and putting a reference to it in the registry file. This approach is not quite working correctly in OJS3 front-end, Only admin pages use this style-sheet file. I looked deeply to find that front-end pages used some kind of javascript calling to manage styles.
    The picture below shows left-to-right orientations in the site main page even when switching to Arabic locale.

    Is there anyway to fix that? Since left-to-right orientation in Arabic is not well accepted and in some cases, it will be annoying to website users.

  • Also, at the back-end pages, I noticed that headlines in all tables are directed to the left regardless of the use of css file mentioned earlier.
    The picture below shows table headers directed to the left, while it is expected to be aligned to the right.

I added a pull request regarding locale folder in OJS repository.
Thank you for your patience.


Hi @vormia,

Excellent work on the translation! I suspect @mtub is already aware, but tagging him anyway.

Many of those will be related to items that are moved from the .xml files into the database when the journal is created; after that, they’ll need to be edited in the database (e.g. via the Journal Manager’s various settings areas).

You can verify this by creating a new journal, now that your updated translation .xml files are in place. Does the new journal still show these problems?

Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

Nice to here from you.
After adding another journal to my testing site, translations appeared in all cases I noted earlier, except in emails. The first column still showing English names for email templates… and by the way, another column in the same table, which is “Subject” does give the same meaning, while the first column cannot be edited using settings form.

I’m still wondering about the destiny of help files in this version. As I can see, Help mechanism had changed completely compared to other previous versions.

Best regards, :envelope:

Hi @vormia,

OK, that’s good news. In the Prepared Emails interface, the one English column is actually the email’s symbolic name, which is used in the code – e.g. COPYEDIT_REQUEST – formatted to be slightly more readable. It’s not really translatable.

As for the help files, we’re using a new tool called Gitbook to work with that content. @stranack might be able to provide more information.

Alec Smecher
Public Knowledge Project Team

Hi @vormia

Here’s a link to the gitbook we use for the help files in OJS 3 - https://www.gitbook.com/book/pkp/ojs-user-guide/details

If you are interested in contributing to it, just let me know.

All the best,

Hi @stranack,
In fact, I am interested, yes.
Can I simply translate the book contents and send it to you? or maybe you can give me something to start with in gitbook


We need a fr_FR translation in OJS 3.
Is this work has been started by someone?
How to contribute?
Or should we use the fr_CA translation (not complete) and contribute?

Hi @JLA,

Tagging @mtub, who manages translations for us. A French translation is of high interest to us, too!

Alec Smecher
Public Knowledge Project Team

Hi! Please, let us know if the translation plugin is OK to use. Also, @mtub said he could give us some documentation on translation procedures.

Hi @stanack,

I would like to translate the gitbook in portuguese, can you add me?


José Carvalho

That’s great, José - thank you! Which gitbook would you like to work on? The OJS 3 in-application help files, the OJS manual, or something else? Let me know and I’ll set you up.