pkp / pkp-lib

The library used by PKP's applications OJS, OMP and OPS, open source software for scholarly publishing.
https://pkp.sfu.ca
GNU General Public License v3.0
304 stars 444 forks source link

Merge locale folders to locale code folders #8598

Closed defstat closed 1 year ago

defstat commented 1 year ago

For example there are es_ES and es_MX folders in the installation. Consider a solution/process that would merge them to an es locale code folder.

Changes need to be made to

  1. the filesystem regarding the translation .po files, and their respective folders.
  2. the DB, regarding the data that directly correspond and manage the installation's locale
  3. the base code, where ever certain affected locales are hard coded

PRs

FOR MERGE OJS: https://github.com/pkp/ojs/pull/3774 (Alec: Additions made here https://github.com/pkp/ojs/pull/3775) (merged ✔️) OMP: https://github.com/pkp/omp/pull/1344 (merged ✔️) OPS: https://github.com/pkp/ops/pull/478 (merged ✔️) PKP-LIB: https://github.com/pkp/pkp-lib/pull/8649 (Alec: Additions made here https://github.com/pkp/pkp-lib/pull/8650) (merged ✔️) UI-LIBRARY: https://github.com/pkp/ui-library/pull/261 (merged ✔️) staticPages: https://github.com/pkp/staticPages/pull/74 (merged ✔️)

ADDITIONAL PRs OJS: https://github.com/pkp/ojs/pull/3779 TESTS ONLY pkp-lib: https://github.com/pkp/pkp-lib/pull/8654 (merged ✔️) pkp-lib: https://github.com/pkp/pkp-lib/pull/8658 (merged ✔️)

PLUGINS plagiarism : https://github.com/pkp/plagiarism/pull/41 paperbuzz : https://github.com/pkp/paperbuzz/pull/27 textEditorExtras : https://github.com/pkp/textEditorExtras/pull/18 (merged ✔️) JATSParser : https://github.com/Vitaliy-1/JATSParserPlugin/pull/82 (merged ✔️) googleAnalytics: https://github.com/pkp/googleAnalytics/pull/56 (merged ✔️) browseBySection: https://github.com/pkp/browseBySection/pull/34 (merged ✔️) returningAuthorScreening : https://github.com/pkp/returningAuthorScreening/pull/2 (merged ✔️) subscriptionSSO: https://github.com/asmecher/subscriptionSSO/pull/12 (merged ✔️) controlPublicFiles : https://github.com/pkp/controlPublicFiles/pull/9 (merged ✔️)

pln: https://github.com/pkp/pln/pull/62 (merged ✔️) pdfJsViewer: https://github.com/pkp/pdfJsViewer/pull/65 (merged ✔️) crossref : https://github.com/pkp/crossref-ojs/pull/28 (merged ✔️) oaijats: https://github.com/pkp/oaiJats/pull/34 (merged ✔️) makesubmission : https://github.com/pkp/makeSubmission/pull/35 (merged ✔️) medra : https://github.com/pkp/medra/pull/8 (merged ✔️) lensGalley : https://github.com/asmecher/lensGalley/pull/63 (merged ✔️) jatsTemplate : https://github.com/pkp/jatsTemplate/pull/23 (merged ✔️) immersion : https://github.com/pkp/immersion/pull/84 (merged ✔️) hypothesis : https://github.com/asmecher/hypothesis/pull/21 (merged ✔️) googleScholar : https://github.com/pkp/googleScholar/pull/13 (merged ✔️) defaultTranslation : https://github.com/pkp/defaultTranslation/pull/12 (merged ✔️) customLocale : https://github.com/pkp/customLocale/pull/22 (merged ✔️) customHeader : https://github.com/pkp/customHeader/pull/27 (merged ✔️) customBlockManager : https://github.com/pkp/customBlockManager/pull/75 (merged ✔️) classic: https://github.com/pkp/classic/pull/112 (merged ✔️) citationStyleLanguage : https://github.com/pkp/citationStyleLanguage/pull/104 (merged ✔️) coins : https://github.com/pkp/coins/pull/9 (merged ✔️) browse : https://github.com/pkp/browse/pull/12 (merged ✔️) backup : https://github.com/asmecher/backup/pull/7 (merged ✔️) pragma : https://github.com/pkp/pragma/pull/91 (merged ✔️) quickSubmit: https://github.com/pkp/quickSubmit/pull/68 (merged ✔️) reviewReport : https://github.com/pkp/reviewReport/pull/46 (merged ✔️) swordServer: https://github.com/pkp/swordServer/pull/3 (merged ✔️) texture: https://github.com/pkp/texture/pull/116 (merged ✔️) tinymce: https://github.com/pkp/tinymce/pull/88 (merged ✔️) usageStats : https://github.com/pkp/usageStats/pull/55 (merged ✔️) addThis: https://github.com/pkp/addThis/pull/27 (merged ✔️) piwik : https://github.com/pkp/piwik/pull/15 (merged ✔️) sword : https://github.com/pkp/sword/pull/33 (merged ✔️) registrationNotification : https://github.com/pkp/registrationNotification/pull/10 (merged ✔️) orcidProfile : https://github.com/pkp/orcidProfile/pull/238 (merged ✔️) crossref-ops: https://github.com/pkp/crossref-ops/pull/25 (merged ✔️)

Script Actions outputProcessOJS.txt outputProcessOMPOPS.txt

defstat commented 1 year ago

@asmecher here are the draft PRs containing the merged locale files for review

OJS: https://github.com/pkp/ojs/pull/3754 pkp-lib: https://github.com/pkp/pkp-lib/pull/8621

plugins staticPages: https://github.com/pkp/staticPages/pull/71

I found some issues in the DB migration and still working on that.

asmecher commented 1 year ago

Thanks, @defstat! This needs a few things...

asmecher commented 1 year ago

Still needs fixing:

defstat commented 1 year ago

Still needs fixing:

  • [ ] Other plugins in Weblate (besides static pages)
  • [ ] Various parts of the system that call substr($locale, 0, 2) -- not always accurate, e.g. for Kurdish, which is now ckb

@asmecher I have added PRs for all plugins

I also changed the substr($localeValue, 0, 2) in the Migration to:

$localeParts = explode('_', $localeValue);
$localeCode = $localeParts[0];

Do you mean something else regarding that?

One thing remaining: to add the plugin's db tables to the migration.

asmecher commented 1 year ago

@defstat, don't forget https://translate.pkp.sfu.ca/projects/plugins/ops-crossref-importexport-plugin/ / https://github.com/pkp/crossref-ops/!

defstat commented 1 year ago

@defstat, don't forget https://translate.pkp.sfu.ca/projects/plugins/ops-crossref-importexport-plugin/ / https://github.com/pkp/crossref-ops/!

Thanks for the reminder - just added it

asmecher commented 1 year ago

I think this one is finally completed!!!

kelynch commented 1 year ago

We're currently on Open Journal Systems 3.3.0.8 and using the es_ES convention; do we need to upgrade OJS before we accept these new commits?

asmecher commented 1 year ago

@kelynch, yes, these changes are for release in 3.4.0 and it would be a complicated process to port them back to 3.3.0. Is there a particular change you need in 3.3.0-8?

bess commented 1 year ago

@asmecher I think we understand the issue and have a plan to move forward, thank you!

asmecher commented 1 year ago

@bess, OK, thanks! Let me know if I can provide any further context for these changes.