While solving task to create platform for scientific journals I found Open Journal System. Last version on the day was 3.1. One of main OJS features for me was support for multilingual journals. Unfortunately OJS wasn't fully multilingual. Fields first name, last name and middle name could be set up only in one language.
During furter code analysis I figured out that those authors fields were shared with users. Major problem was that those fields were used not only in getters and setter but also by variety of SQL statements for sorting and quering different information for administration purposes. I had to fix a lot of code to maintain OJS work stable. After some time I succeded in it.
PKP Forum users asked me to make citations field also multilingual to publish citations in English and in Russian.
These changes were accepted into OJS unstable branch. Meanwhile there is no stable official repository you can use my branches on Github.
ojs - main OJS repository
pkp-lib - OJS's main library repository
citationStyleLanguage - module for creating bibliographic links
Branch authors_multilanguage - fields first name, middle name and last name multilingual
Branch citations - based on authors_multilanguage. In addition to fields above contains modifications for citations multilingual field
Branches for 3.1.1:
File multilingual-3.1.0_to_3.1.1.sql in root directory of ojs branch stands for updating database from version 3.1.0 to 3.1.1 (use on your risk)
Changes in database (SQL):
alter table users MODIFY first_name varchar(255) DEFAULT NULL;
alter table users MODIFY middle_name varchar(255) DEFAULT NULL;
alter table users MODIFY last_name varchar(255) DEFAULT NULL;
alter table authors MODIFY first_name varchar(255) DEFAULT NULL;
alter table authors MODIFY middle_name varchar(255) DEFAULT NULL;
alter table authors MODIFY last_name varchar(255) DEFAULT NULL;