Hi, sorry in advance if the answer is obvious or answered before.
I did a search in forum&github and I didn’t find anything related.
Description of issue:
On OJS 3.2.1-4 (probably in all 3.x versions), on a single-tenant journal (but I suspect also in multi-tenant) when I change from one default language to other (globally or journal level), default content keeps in the old language.
Even it makes a lot of sense for most of the fields, this is not the behavior a user will expect for others.
Let me explain this with an example:
Today a journal decided to move from Catalan (ca_ES) to English.
Once you make the change, all the fields that were not filled in English are requested (and this is fine because -for instance- config sections NEED to be filled explicitly in the new language) but this is not the best solution for other fields.
Most relevant example is user’s name and surname:
Where user will expect his default data would be replicated to (at least) the new default language.
If I check the DB, in “user_settings” the preferedPublicName
is the same in all 3 languages (and I suspect it was done automatically by OJS), but familyName
and givenName
are not.
And things go wild when (as happened with this journal) they decide to disable the former default language (Catalan) because they won’t be able to see the former name any more.
As a workaround I modify the DB to copy ca_ES to en_ES and did the job.
The query to do this, would be: (use at your own risk)
INSERT IGNORE INTO `user_settings` (user_id, locale, setting_name, assoc_type, assoc_id, setting_value, setting_type)
SELECT user_id, "en_US", setting_name, assoc_type, assoc_id, setting_value, setting_type
FROM `user_settings`
WHERE locale = "ca_ES"
Extended comments:
This is related with the conversation we had sometime ago in gitHub about the internazionalization and the new approach ojs 3.x applied to user’s names. IMHO, the existing UI for adding i18n to user data is great over the paper but is not practical in real life. Multilanguage journals have also a niche, and most of the times, 99% of the users don’t need a translation for his/her name. I mean, it’s good offering those fields, but I think they must be propagated by default and let users change if they like… or better than this, only show extra fields is the user explicitly request for them. The world icon (green, red or gray) won’t need to warn user if he/she only set this once.