Dual language journal

Dear friends!
We are new both in OJS and PHP and desperately need your help. We generaly manage now running our journal in English and Russian but facing issues with displaying the authors’ names and references: these fields appear the same in both languages. This might not be a problem when using two languages in Latin alphabet, but with Russian we have to make them completely different. Can you please give us a hint how to separate these fields for different language versions. Thanks in advance.

Hi @apapyn,

We’ve been talking a little bit about this internally. There are two related requirements that we occasionally receive requests for:

One concern I have about this is ambiguity. Users would no longer have a single “canonical” name according to OJS, and that might lead to confusion.

In any case, if you have PHP experience on hand, I can provide some guidance – but be warned that this might be fairly complicated if you’re just starting with OJS and PHP.

Alec Smecher
Public Knowledge Project Team

Thank you, Alec, for your quick response. I have some PHP experience, but no OJS. Hopefully, under you kind guidance I will be able to fix this problem, as it’s quite a headache for us. Also we have the same problem with reference list, because we have a lot of Russian sources, which in English should be transliterated but remain in Russian in original.

Hi @apapyn,

I would suggest starting with citations, as that’s a much simpler task. To do that, you’ll need to move that field from the citations column in the articles table to the article_settings table instead, where localized content is stored. Then you’ll have to look for code that sets/gets the citations and adapt these uses to handle potentially multilingual content. Have a look at classes/article/ArticleDAO.inc.php and classes/article/Article.inc.php (and the parent class of Article, which is in lib/pkp/classes/submission/Submission.inc.php).

Alec Smecher
Public Knowledge Project Team

Hi Alec!
I can’t figure out how to edit metadata? Assumed it should be in
templates/submission/metadata/metadataEdit.tpl and even did this:

<div id="titleAndAbstract">
<h3>{translate key="submission.titleAndAbstract"}</h3>

<table width="100%" class="data">
         <td width="20%" class="label">{fieldLabel name="title" 
required="true" key="article.title"}</td>
         <td width="80%" class="value"><input type="text" 
name="title[{$formLocale|escape}]" id="title" 
value="{$title[$formLocale]|escape}" size="60" class="textField" /></td>

         <td colspan="2" class="separator">&nbsp;</td>
     <tr valign="top">
         <td class="label">{if 
$section->getAbstractsNotRequired()==0}{fieldLabel name="abstract" 
required="true" key="article.abstract"}{else}{fieldLabel name="abstract" 
         <td class="value"><textarea 
name="abstract[{$formLocale|escape}]" id="abstract" rows="15" cols="60" 
     <tr valign="top">
         <td class="label">{fieldLabel name="references" 
         <td class="value"><textarea 
name="references[{$formLocale|escape}]" id="references" rows="15" 
cols="60" class="textArea">{$references[$formLocale]|escape}</textarea></td>

where $references is my multilingual content, but how do I fill that
Thanks in advance.

27.05.2016 13:24, Alec Smecher пишет:

Hi @apapyn,

That form is implemented in classes/submission/form/MetadataForm.inc.php. Let me know how far you get and I’ll see if I can spot what’s missing.

Alec Smecher
Public Knowledge Project Team

I figured out how to do it. Now I have localized version of References, and if it’s emty or missing in one of locales, then the main list is returned. in templates/article/article.tpl

 	{if $citationFactory->getCount()}
		<div id="articleCitations">
		<h4>{translate key="submission.citations"}</h4>
		<br />
		{if $article->getLocalizedReferences()}
			{iterate from=citationFactory item=citation}
		<br />

and also changes in classes/article/ArticleDAO.inc.php, classes/article/Article.inc.php, classes/submission/Submission.inc.php, plugins/importexport/quickSubmit/QuickSubmitForm.inc.php, templates/submission/metadata/metadata_view.tpl, templates/submission/metadata/metadata.tpl, classes/submission/form/MetadataForm.inc.php, plugins/importexport/quickSubmit/index.tpl

@asmecher, now returning to the names. I want to add extra field to all the authors with localized “alias”. So in main form (canonical name) I will enter the original name of the author (if Russian - in Russian, if Latin based foreigner - in English) leaving localized field empty. So when user selects locale, system should check the locale of alias. If empty field - return “canonical name”, if not - localized. But alias names should be also be included in “Author” search categories (filters). Could you please give me a hint where to start with?

Hi @apapyn,

Have you had a chance to look at https://pkp.sfu.ca/bugzilla/show_bug.cgi?id=5598? This is a rather old PR that got partially completed in order to implement multilingual author names in the same style as other multilingual fields; its approach is consistent with the rest of OJS’s multilingual structures, if you’re curious how those work.

There are also some general web system recommendations that might be worth considering against your requirements here:

Alec Smecher
Public Knowledge Project Team

Thanks @asmecher for a link. I went all over instructions, but they are likely not for I’m now running on my server. Anyway I implemented all the instructions but they are so many and some changed significantly, that (of course) it didn’t work. I’m still thinking of making an extra field to redefine the name is there is a locale version Can you help me, please.

@apapyn, I can show you code of our hacks — it allow to use both Russian and English names of authors. You can see journals which uses this hack: Vestnik YuUrGU (OJS 2.4.2) and Lesovedenie (OJS 2.4.7-1). Unfortunately this hack is difficult to port to another version of OJS. May be it’ll be better to make plugin but I don’t know yet how to write it.

1 Like

We faced the same problem. And now waiting for multilingual author names to be implemented officially in the nearest versions of OJS 3.*
See also: OJS3 and Multilingual Journals

I’ve checked several hours ago — this feature not implemented in OJS 3.0.0.

A year or two ago, when we discussed this issue with developers, they said they cannot implement that in OJS 2.* and prioritize this feature to be implemented in OJS 3.*
As far as I remember, they said it would most probably not appear in OJS 3.0.0, but rather in 3.1.*.

Multilingual names is one of the likely topics for the upcoming PKP Sprint, the first weekend in October. Use cases and remote participation are welcome!

1 Like

Thank you, ctgraham!
I think many of us would be willing to participate.

The use case seems to be pretty obvious, but please let us know if there are any pitfalls here:

  1. When we create a multilingual journal, there should be an option to allow multilingual names (for any people, not only for authors). In OJS3 it might be here: Settings → Website → Languages. This option is required, since in some language pairs (say, Russian/English) alphabets and/or spellings would always be different.
  2. If this option is checked, then multilingual fields are available for all personal names entered and all those fields are required.
  3. Those names are displayed according to the locale chosen (as any other multilingual entries)

Please, feel free to criticize this :slight_smile:


Regarding requiring dual language entry, if I were to submit an article to your journal, how would I fill out a required Cyrillic field for my Latin-only name?

Yes, I thought of it.
I might be mistaken, but I still think people might want to enable this feature only to make multilingual names mandatory in all cases.

Because if those were not required, users would often forget to enter their names spelling in other languages. And that would again result in a mess, when, say, an English version of a page would contain some author names in English, some in Chinese and so on.

Now, if you have a Latin-only name, you might have two options:

  1. If you do not know how to spell your name in another language, you may just leave it as is, entering the same name into the required Cyrillic field. Thus you confirm you really do not know how to spell it differently, and the journal manager might want to do it for you if he cares.
  2. If you know Cyrillic spelling, just type it there.

That would be the same when an author with a non-Latin name (e.g. Chinese) tries to spell it using Latin symbols, so we could read and pronounce it properly.

I think maybe it will be better to leave opportunity for writing the “another language name fields” for journal staff only? Or maybe just don`t use 2 languages in registration form?

I mean that editors can add proper Cyrillic (for example) name in metadata. Or even authors but after registration.

Sorry, I didn’t catch the idea. The thing is no one except the person himself (and his relatives) knows how to pronounce (and/or spell) his name correctly*.

So we may allow editors or journal managers to edit his name (he may of course ask them to spell it for him correctly). But we cannot disallow authors to type their names in another language.

Quite the contrary, most often we have to require them to do that.

*Of course, there are some rules and systems of transliteration, but they are not always followed.