From af2552beb31060ba3852867abbf30416eaef4fd4 Mon Sep 17 00:00:00 2001 From: Dave MacFarlane Date: Wed, 9 Apr 2025 13:33:52 -0400 Subject: [PATCH] =?UTF-8?q?[i18n]=20Add=20support=20for=20=E6=97=A5?= =?UTF-8?q?=E6=9C=AC=E8=AA=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This puts the infrastructure in place to translate strings in loris on the PHP side using the gettext library. Japanese is added as an example (mostly using machine translation which could probably use proof reading by a native speaker.) Each module has its own textdomain for strings that come from that module, as well as a "loris" textdomain for general LORIS terms (menu categories, common terms, etc). The translations for a module are in $MODULEDIR/locale and the loris textdomain is in $LORISROOT/locale. The module names, menu categories, and breadcrumb text are currently marked up as translateable strings. This is enough to ensure that the menus and breadcrumbs in LORIS get translated. A new LORIS middleware detects the preferred language by looking for: 1. A lang=? passed in the query parameter (this can be used for testing, but does not currently have any way in the GUI to select) 2. The User's preference under "my_preferences" 3. The HTTP request's Accept-Language header in that order and ensuring that it's a language supported by the project by looking for the language_code in the LORIS "language" table. The pot files at the root of the locale directories are translation templates to give to translators. The locale/$lang/LC_MESSAGES/$textdomain.po contain the translation mapping. The .mo files are the compiled version used by the software and can be generated by "make locales". (We may want to rethink the structure of the Makefile in the future to have `make $modulename` do both the locale and javascript compilation.) Projects may override strings by putting the (compiled) gettext .mo file in the $project/locale/ directory (which would also be a good place to store the .po files). These are generated with `msgfmt -o filename.mo inputfile.po` (msgfmt is included with gettext.) Note that the format of the locale directories must be: locale/$lang/LC_MESSAGES/$textdomain.mo. We do not have any control over that. (Other then the name of the first "locale" directory, but that seems pretty standard.) It's also worth noting that, from what I've read, the *server* must have the locale installed for gettext to support the translation, not just LORIS. I don't know why. It seems silly. --- .gitignore | 3 +- Dockerfile.test.php8 | 2 +- Makefile | 55 +++++++- htdocs/index.php | 8 +- locale/ja/LC_MESSAGES/loris.po | 118 ++++++++++++++++++ locale/loris.pot | 118 ++++++++++++++++++ .../locale/acknowledgements.pot | 23 ++++ .../locale/ja/LC_MESSAGES/acknowledgements.po | 23 ++++ .../php/acknowledgements.class.inc | 4 +- modules/acknowledgements/php/module.class.inc | 4 +- modules/api/php/module.class.inc | 2 +- modules/api_docs/locale/api_docs.pot | 23 ++++ .../locale/ja/LC_MESSAGES/api_docs.po | 23 ++++ modules/api_docs/php/module.class.inc | 4 +- .../locale/battery_manager.pot | 23 ++++ .../locale/ja/LC_MESSAGES/battery_manager.po | 23 ++++ modules/battery_manager/php/module.class.inc | 4 +- .../behavioural_qc/locale/behavioural_qc.pot | 23 ++++ .../locale/ja/LC_MESSAGES/behavioural_qc.po | 23 ++++ modules/behavioural_qc/php/module.class.inc | 4 +- modules/brainbrowser/locale/brainbrowser.pot | 23 ++++ .../locale/ja/LC_MESSAGES/brainbrowser.po | 23 ++++ modules/brainbrowser/php/module.class.inc | 2 +- modules/bvl_feedback/locale/bvl_feedback.pot | 26 ++++ .../locale/ja/LC_MESSAGES/bvl_feedback.po | 26 ++++ modules/bvl_feedback/php/module.class.inc | 7 +- .../candidate_list/locale/candidate_list.pot | 23 ++++ .../locale/ja/LC_MESSAGES/candidate_list.po | 24 ++++ modules/candidate_list/php/module.class.inc | 4 +- .../locale/candidate_parameters.pot | 23 ++++ .../ja/LC_MESSAGES/candidate_parameters.po | 23 ++++ .../php/candidate_parameters.class.inc | 2 +- .../candidate_parameters/php/module.class.inc | 2 +- .../locale/candidate_profile.pot | 28 +++++ .../ja/LC_MESSAGES/candidate_profile.po | 28 +++++ .../php/candidate_profile.class.inc | 7 +- .../candidate_profile/php/module.class.inc | 4 +- .../configuration/locale/configuration.pot | 23 ++++ .../locale/ja/LC_MESSAGES/configuration.po | 23 ++++ modules/configuration/php/module.class.inc | 4 +- .../locale/conflict_resolver.pot | 29 +++++ .../ja/LC_MESSAGES/conflict_resolver.po | 29 +++++ .../conflict_resolver/php/module.class.inc | 8 +- .../locale/create_timepoint.pot | 23 ++++ .../locale/ja/LC_MESSAGES/create_timepoint.po | 23 ++++ .../php/create_timepoint.class.inc | 7 +- modules/create_timepoint/php/module.class.inc | 2 +- .../test/create_timepointTest.php | 4 +- modules/dashboard/locale/dashboard.pot | 26 ++++ .../locale/ja/LC_MESSAGES/dashboard.po | 26 ++++ modules/dashboard/php/module.class.inc | 4 +- modules/data_release/locale/data_release.pot | 23 ++++ .../locale/ja/LC_MESSAGES/data_release.po | 23 ++++ modules/data_release/php/module.class.inc | 4 +- modules/datadict/locale/datadict.pot | 23 ++++ .../locale/ja/LC_MESSAGES/datadict.po | 23 ++++ modules/datadict/php/datadict.class.inc | 12 -- modules/datadict/php/module.class.inc | 4 +- modules/dataquery/locale/dataquery.pot | 23 ++++ .../locale/ja/LC_MESSAGES/dataquery.po | 23 ++++ modules/dataquery/php/module.class.inc | 4 +- .../dicom_archive/locale/dicom_archive.pot | 23 ++++ .../locale/ja/LC_MESSAGES/dicom_archive.po | 23 ++++ modules/dicom_archive/php/module.class.inc | 4 +- modules/dictionary/locale/dictionary.pot | 23 ++++ .../locale/ja/LC_MESSAGES/dictionary.po | 23 ++++ modules/dictionary/php/module.class.inc | 4 +- .../locale/document_repository.pot | 23 ++++ .../ja/LC_MESSAGES/document_repository.po | 23 ++++ .../document_repository/php/module.class.inc | 4 +- modules/dqt/locale/dqt.pot | 23 ++++ modules/dqt/locale/ja/LC_MESSAGES/dqt.po | 23 ++++ modules/dqt/php/module.class.inc | 4 +- .../locale/electrophysiology_browser.pot | 23 ++++ .../LC_MESSAGES/electrophysiology_browser.po | 23 ++++ .../php/module.class.inc | 6 +- .../locale/electrophysiology_uploader.pot | 23 ++++ .../LC_MESSAGES/electrophysiology_uploader.po | 23 ++++ .../php/module.class.inc | 4 +- modules/examiner/locale/examiner.pot | 23 ++++ .../locale/ja/LC_MESSAGES/examiner.po | 23 ++++ modules/examiner/php/module.class.inc | 4 +- .../locale/genomic_browser.pot | 23 ++++ .../locale/ja/LC_MESSAGES/genomic_browser.po | 23 ++++ modules/genomic_browser/php/module.class.inc | 4 +- modules/help_editor/locale/help_editor.pot | 23 ++++ .../locale/ja/LC_MESSAGES/help_editor.po | 23 ++++ modules/help_editor/php/module.class.inc | 4 +- .../locale/imaging_browser.pot | 25 ++++ .../locale/ja/LC_MESSAGES/imaging_browser.po | 25 ++++ modules/imaging_browser/php/module.class.inc | 4 +- .../imaging_browser/php/viewsession.class.inc | 7 +- modules/imaging_qc/locale/imaging_qc.pot | 22 ++++ .../locale/ja/LC_MESSAGES/imaging_qc.po | 22 ++++ modules/imaging_qc/php/imaging_qc.class.inc | 15 --- modules/imaging_qc/php/module.class.inc | 4 +- .../locale/imaging_uploader.pot | 23 ++++ .../locale/ja/LC_MESSAGES/imaging_uploader.po | 23 ++++ modules/imaging_uploader/php/module.class.inc | 4 +- .../locale/instrument_builder.pot | 23 ++++ .../ja/LC_MESSAGES/instrument_builder.po | 23 ++++ .../instrument_builder/php/module.class.inc | 4 +- .../instrument_list/locale/instrument_list.po | 23 ++++ .../locale/ja/LC_MESSAGES/instrument_list.po | 23 ++++ .../php/instrument_list.class.inc | 7 +- modules/instrument_list/php/module.class.inc | 2 +- .../locale/instrument_manager.pot | 23 ++++ .../ja/LC_MESSAGES/instrument_manager.po | 23 ++++ .../instrument_manager/php/module.class.inc | 4 +- modules/instruments/locale/instruments.pot | 23 ++++ .../locale/ja/LC_MESSAGES/instruments.po | 23 ++++ modules/instruments/php/module.class.inc | 2 +- .../issue_tracker/locale/issue_tracker.pot | 23 ++++ .../locale/ja/LC_MESSAGES/issue_tracker.po | 23 ++++ modules/issue_tracker/php/module.class.inc | 4 +- modules/login/locale/ja/LC_MESSAGES/login.po | 23 ++++ modules/login/locale/login.pot | 23 ++++ modules/login/php/module.class.inc | 2 +- modules/media/locale/ja/LC_MESSAGES/media.po | 23 ++++ modules/media/locale/media.pot | 23 ++++ modules/media/php/module.class.inc | 4 +- .../locale/ja/LC_MESSAGES/module_manager.po | 23 ++++ .../module_manager/locale/module_manager.pot | 23 ++++ modules/module_manager/php/module.class.inc | 4 +- .../locale/ja/LC_MESSAGES/mri_violations.po | 23 ++++ .../mri_violations/locale/mri_violations.pot | 23 ++++ modules/mri_violations/php/module.class.inc | 4 +- modules/my_preferences/php/module.class.inc | 2 +- .../locale/ja/LC_MESSAGES/new_profile.po | 24 ++++ modules/new_profile/locale/new_profile.pot | 24 ++++ modules/new_profile/php/module.class.inc | 4 +- .../locale/ja/LC_MESSAGES/next_stage.po | 26 ++++ modules/next_stage/locale/next_stage.pot | 26 ++++ modules/next_stage/php/module.class.inc | 2 +- modules/next_stage/php/next_stage.class.inc | 9 +- modules/oidc/locale/ja/LC_MESSAGES/oidc.po | 23 ++++ modules/oidc/locale/oidc.pot | 22 ++++ modules/oidc/php/module.class.inc | 2 +- .../locale/ja/LC_MESSAGES/publication.po | 22 ++++ modules/publication/locale/publication.pot | 22 ++++ modules/publication/php/module.class.inc | 4 +- .../locale/ja/LC_MESSAGES/schedule_module.po | 22 ++++ .../locale/schedule_module.pot | 22 ++++ modules/schedule_module/php/module.class.inc | 4 +- .../LC_MESSAGES/server_processes_manager.po | 22 ++++ .../locale/server_processes_manager.pot | 22 ++++ .../php/module.class.inc | 4 +- .../locale/ja/LC_MESSAGES/statistics.po | 22 ++++ modules/statistics/locale/statistics.pot | 22 ++++ modules/statistics/php/module.class.inc | 4 +- .../locale/ja/LC_MESSAGES/survey_accounts.po | 23 ++++ .../locale/survey_accounts.pot | 22 ++++ modules/survey_accounts/php/module.class.inc | 4 +- .../locale/ja/LC_MESSAGES/timepoint_list.po | 23 ++++ .../timepoint_list/locale/timepoint_list.pot | 22 ++++ modules/timepoint_list/php/module.class.inc | 2 +- .../php/timepoint_list.class.inc | 5 +- .../locale/ja/LC_MESSAGES/user_accounts.po | 26 ++++ .../user_accounts/locale/user_accounts.pot | 26 ++++ modules/user_accounts/php/module.class.inc | 4 +- php/libraries/User.class.inc | 20 ++- shell.nix | 2 +- smarty/templates/main.tpl | 12 +- src/LorisInstance.php | 7 ++ src/Middleware/Language.php | 89 +++++++++++++ src/Router/BaseRouter.php | 34 +++++ .../LorisIntegrationTest.class.inc | 2 + test/unittests/UserTest.php | 7 +- 168 files changed, 2786 insertions(+), 155 deletions(-) create mode 100644 locale/ja/LC_MESSAGES/loris.po create mode 100644 locale/loris.pot create mode 100644 modules/acknowledgements/locale/acknowledgements.pot create mode 100644 modules/acknowledgements/locale/ja/LC_MESSAGES/acknowledgements.po create mode 100644 modules/api_docs/locale/api_docs.pot create mode 100644 modules/api_docs/locale/ja/LC_MESSAGES/api_docs.po create mode 100644 modules/battery_manager/locale/battery_manager.pot create mode 100644 modules/battery_manager/locale/ja/LC_MESSAGES/battery_manager.po create mode 100644 modules/behavioural_qc/locale/behavioural_qc.pot create mode 100644 modules/behavioural_qc/locale/ja/LC_MESSAGES/behavioural_qc.po create mode 100644 modules/brainbrowser/locale/brainbrowser.pot create mode 100644 modules/brainbrowser/locale/ja/LC_MESSAGES/brainbrowser.po create mode 100644 modules/bvl_feedback/locale/bvl_feedback.pot create mode 100644 modules/bvl_feedback/locale/ja/LC_MESSAGES/bvl_feedback.po create mode 100644 modules/candidate_list/locale/candidate_list.pot create mode 100644 modules/candidate_list/locale/ja/LC_MESSAGES/candidate_list.po create mode 100644 modules/candidate_parameters/locale/candidate_parameters.pot create mode 100644 modules/candidate_parameters/locale/ja/LC_MESSAGES/candidate_parameters.po create mode 100644 modules/candidate_profile/locale/candidate_profile.pot create mode 100644 modules/candidate_profile/locale/ja/LC_MESSAGES/candidate_profile.po create mode 100644 modules/configuration/locale/configuration.pot create mode 100644 modules/configuration/locale/ja/LC_MESSAGES/configuration.po create mode 100644 modules/conflict_resolver/locale/conflict_resolver.pot create mode 100644 modules/conflict_resolver/locale/ja/LC_MESSAGES/conflict_resolver.po create mode 100644 modules/create_timepoint/locale/create_timepoint.pot create mode 100644 modules/create_timepoint/locale/ja/LC_MESSAGES/create_timepoint.po create mode 100644 modules/dashboard/locale/dashboard.pot create mode 100644 modules/dashboard/locale/ja/LC_MESSAGES/dashboard.po create mode 100644 modules/data_release/locale/data_release.pot create mode 100644 modules/data_release/locale/ja/LC_MESSAGES/data_release.po create mode 100644 modules/datadict/locale/datadict.pot create mode 100644 modules/datadict/locale/ja/LC_MESSAGES/datadict.po create mode 100644 modules/dataquery/locale/dataquery.pot create mode 100644 modules/dataquery/locale/ja/LC_MESSAGES/dataquery.po create mode 100644 modules/dicom_archive/locale/dicom_archive.pot create mode 100644 modules/dicom_archive/locale/ja/LC_MESSAGES/dicom_archive.po create mode 100644 modules/dictionary/locale/dictionary.pot create mode 100644 modules/dictionary/locale/ja/LC_MESSAGES/dictionary.po create mode 100644 modules/document_repository/locale/document_repository.pot create mode 100644 modules/document_repository/locale/ja/LC_MESSAGES/document_repository.po create mode 100644 modules/dqt/locale/dqt.pot create mode 100644 modules/dqt/locale/ja/LC_MESSAGES/dqt.po create mode 100644 modules/electrophysiology_browser/locale/electrophysiology_browser.pot create mode 100644 modules/electrophysiology_browser/locale/ja/LC_MESSAGES/electrophysiology_browser.po create mode 100644 modules/electrophysiology_uploader/locale/electrophysiology_uploader.pot create mode 100644 modules/electrophysiology_uploader/locale/ja/LC_MESSAGES/electrophysiology_uploader.po create mode 100644 modules/examiner/locale/examiner.pot create mode 100644 modules/examiner/locale/ja/LC_MESSAGES/examiner.po create mode 100644 modules/genomic_browser/locale/genomic_browser.pot create mode 100644 modules/genomic_browser/locale/ja/LC_MESSAGES/genomic_browser.po create mode 100644 modules/help_editor/locale/help_editor.pot create mode 100644 modules/help_editor/locale/ja/LC_MESSAGES/help_editor.po create mode 100644 modules/imaging_browser/locale/imaging_browser.pot create mode 100644 modules/imaging_browser/locale/ja/LC_MESSAGES/imaging_browser.po create mode 100644 modules/imaging_qc/locale/imaging_qc.pot create mode 100644 modules/imaging_qc/locale/ja/LC_MESSAGES/imaging_qc.po create mode 100644 modules/imaging_uploader/locale/imaging_uploader.pot create mode 100644 modules/imaging_uploader/locale/ja/LC_MESSAGES/imaging_uploader.po create mode 100644 modules/instrument_builder/locale/instrument_builder.pot create mode 100644 modules/instrument_builder/locale/ja/LC_MESSAGES/instrument_builder.po create mode 100644 modules/instrument_list/locale/instrument_list.po create mode 100644 modules/instrument_list/locale/ja/LC_MESSAGES/instrument_list.po create mode 100644 modules/instrument_manager/locale/instrument_manager.pot create mode 100644 modules/instrument_manager/locale/ja/LC_MESSAGES/instrument_manager.po create mode 100644 modules/instruments/locale/instruments.pot create mode 100644 modules/instruments/locale/ja/LC_MESSAGES/instruments.po create mode 100644 modules/issue_tracker/locale/issue_tracker.pot create mode 100644 modules/issue_tracker/locale/ja/LC_MESSAGES/issue_tracker.po create mode 100644 modules/login/locale/ja/LC_MESSAGES/login.po create mode 100644 modules/login/locale/login.pot create mode 100644 modules/media/locale/ja/LC_MESSAGES/media.po create mode 100644 modules/media/locale/media.pot create mode 100644 modules/module_manager/locale/ja/LC_MESSAGES/module_manager.po create mode 100644 modules/module_manager/locale/module_manager.pot create mode 100644 modules/mri_violations/locale/ja/LC_MESSAGES/mri_violations.po create mode 100644 modules/mri_violations/locale/mri_violations.pot create mode 100644 modules/new_profile/locale/ja/LC_MESSAGES/new_profile.po create mode 100644 modules/new_profile/locale/new_profile.pot create mode 100644 modules/next_stage/locale/ja/LC_MESSAGES/next_stage.po create mode 100644 modules/next_stage/locale/next_stage.pot create mode 100644 modules/oidc/locale/ja/LC_MESSAGES/oidc.po create mode 100644 modules/oidc/locale/oidc.pot create mode 100644 modules/publication/locale/ja/LC_MESSAGES/publication.po create mode 100644 modules/publication/locale/publication.pot create mode 100644 modules/schedule_module/locale/ja/LC_MESSAGES/schedule_module.po create mode 100644 modules/schedule_module/locale/schedule_module.pot create mode 100644 modules/server_processes_manager/locale/ja/LC_MESSAGES/server_processes_manager.po create mode 100644 modules/server_processes_manager/locale/server_processes_manager.pot create mode 100644 modules/statistics/locale/ja/LC_MESSAGES/statistics.po create mode 100644 modules/statistics/locale/statistics.pot create mode 100644 modules/survey_accounts/locale/ja/LC_MESSAGES/survey_accounts.po create mode 100644 modules/survey_accounts/locale/survey_accounts.pot create mode 100644 modules/timepoint_list/locale/ja/LC_MESSAGES/timepoint_list.po create mode 100644 modules/timepoint_list/locale/timepoint_list.pot create mode 100644 modules/user_accounts/locale/ja/LC_MESSAGES/user_accounts.po create mode 100644 modules/user_accounts/locale/user_accounts.pot create mode 100644 src/Middleware/Language.php diff --git a/.gitignore b/.gitignore index 0cbcc3acbad..5bcfdc17a6a 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,5 @@ SQL/Archive/autogenerated/*.sql VERSION .DS_Store .eslintcache -tools/logs \ No newline at end of file +tools/logs +*.mo diff --git a/Dockerfile.test.php8 b/Dockerfile.test.php8 index 1b9f058d47b..6ddc20bea55 100644 --- a/Dockerfile.test.php8 +++ b/Dockerfile.test.php8 @@ -5,7 +5,7 @@ RUN apt-get update && \ apt-get install -y mariadb-client libzip-dev # Install PHP extensions -RUN docker-php-ext-install pdo_mysql zip +RUN docker-php-ext-install pdo_mysql zip gettext # Ensure the logs directory exists RUN mkdir -p /app/logs diff --git a/Makefile b/Makefile index 8c2c016cb60..6443ea4d3e0 100755 --- a/Makefile +++ b/Makefile @@ -32,6 +32,7 @@ clean: rm -rf vendor rm -rf node_modules rm -rf modules/electrophysiology_browser/jsx/react-series-data-viewer/node_modules + rm -f modules/*/locale/*/LC_MESSAGES/*.mo # Perform static analysis checks checkstatic: phpdev @@ -56,7 +57,59 @@ check: checkstatic unittests testdata: php tools/raisinbread_refresh.php -data_release: +locales: + msgfmt -o locale/ja/LC_MESSAGES/loris.mo locale/ja/LC_MESSAGES/loris.po + msgfmt -o modules/new_profile/locale/ja/LC_MESSAGES/new_profile.mo modules/new_profile/locale/ja/LC_MESSAGES/new_profile.po + msgfmt -o modules/acknowledgements/locale/ja/LC_MESSAGES/acknowledgements.mo modules/acknowledgements/locale/ja/LC_MESSAGES/acknowledgements.po + msgfmt -o modules/api_docs/locale/ja/LC_MESSAGES/api_docs.mo modules/api_docs/locale/ja/LC_MESSAGES/api_docs.po + msgfmt -o modules/battery_manager/locale/ja/LC_MESSAGES/battery_manager.mo modules/battery_manager/locale/ja/LC_MESSAGES/battery_manager.po + msgfmt -o modules/behavioural_qc/locale/ja/LC_MESSAGES/behavioural_qc.mo modules/behavioural_qc/locale/ja/LC_MESSAGES/behavioural_qc.po + msgfmt -o modules/brainbrowser/locale/ja/LC_MESSAGES/brainbrowser.mo modules/brainbrowser/locale/ja/LC_MESSAGES/brainbrowser.po + msgfmt -o modules/bvl_feedback/locale/ja/LC_MESSAGES/bvl_feedback.mo modules/bvl_feedback/locale/ja/LC_MESSAGES/bvl_feedback.po + msgfmt -o modules/candidate_list/locale/ja/LC_MESSAGES/candidate_list.mo modules/candidate_list/locale/ja/LC_MESSAGES/candidate_list.po + msgfmt -o modules/candidate_parameters/locale/ja/LC_MESSAGES/candidate_parameters.mo modules/candidate_parameters/locale/ja/LC_MESSAGES/candidate_parameters.po + msgfmt -o modules/candidate_profile/locale/ja/LC_MESSAGES/candidate_profile.mo modules/candidate_profile/locale/ja/LC_MESSAGES/candidate_profile.po + msgfmt -o modules/configuration/locale/ja/LC_MESSAGES/configuration.mo modules/configuration/locale/ja/LC_MESSAGES/configuration.po + msgfmt -o modules/configuration/locale/ja/LC_MESSAGES/configuration.mo modules/configuration/locale/ja/LC_MESSAGES/configuration.po + msgfmt -o modules/conflict_resolver/locale/ja/LC_MESSAGES/conflict_resolver.mo modules/conflict_resolver/locale/ja/LC_MESSAGES/conflict_resolver.po + msgfmt -o modules/create_timepoint/locale/ja/LC_MESSAGES/create_timepoint.mo modules/create_timepoint/locale/ja/LC_MESSAGES/create_timepoint.po + msgfmt -o modules/dashboard/locale/ja/LC_MESSAGES/dashboard.mo modules/dashboard/locale/ja/LC_MESSAGES/dashboard.po + msgfmt -o modules/datadict/locale/ja/LC_MESSAGES/datadict.mo modules/datadict/locale/ja/LC_MESSAGES/datadict.po + msgfmt -o modules/dataquery/locale/ja/LC_MESSAGES/dataquery.mo modules/dataquery/locale/ja/LC_MESSAGES/dataquery.po + msgfmt -o modules/data_release/locale/ja/LC_MESSAGES/data_release.mo modules/data_release/locale/ja/LC_MESSAGES/data_release.po + msgfmt -o modules/dicom_archive/locale/ja/LC_MESSAGES/dicom_archive.mo modules/dicom_archive/locale/ja/LC_MESSAGES/dicom_archive.po + msgfmt -o modules/dictionary/locale/ja/LC_MESSAGES/dictionary.mo modules/dictionary/locale/ja/LC_MESSAGES/dictionary.po + msgfmt -o modules/document_repository/locale/ja/LC_MESSAGES/document_repository.mo modules/document_repository/locale/ja/LC_MESSAGES/document_repository.po + msgfmt -o modules/dqt/locale/ja/LC_MESSAGES/dqt.mo modules/dqt/locale/ja/LC_MESSAGES/dqt.po + msgfmt -o modules/electrophysiology_browser/locale/ja/LC_MESSAGES/electrophysiology_browser.mo modules/electrophysiology_browser/locale/ja/LC_MESSAGES/electrophysiology_browser.po + msgfmt -o modules/electrophysiology_uploader/locale/ja/LC_MESSAGES/electrophysiology_uploader.mo modules/electrophysiology_uploader/locale/ja/LC_MESSAGES/electrophysiology_uploader.po + msgfmt -o modules/examiner/locale/ja/LC_MESSAGES/examiner.mo modules/examiner/locale/ja/LC_MESSAGES/examiner.po + msgfmt -o modules/genomic_browser/locale/ja/LC_MESSAGES/genomic_browser.mo modules/genomic_browser/locale/ja/LC_MESSAGES/genomic_browser.po + msgfmt -o modules/help_editor/locale/ja/LC_MESSAGES/help_editor.mo modules/help_editor/locale/ja/LC_MESSAGES/help_editor.po + msgfmt -o modules/imaging_browser/locale/ja/LC_MESSAGES/imaging_browser.mo modules/imaging_browser/locale/ja/LC_MESSAGES/imaging_browser.po + msgfmt -o modules/imaging_qc/locale/ja/LC_MESSAGES/imaging_qc.mo modules/imaging_qc/locale/ja/LC_MESSAGES/imaging_qc.po + msgfmt -o modules/imaging_uploader/locale/ja/LC_MESSAGES/imaging_uploader.mo modules/imaging_uploader/locale/ja/LC_MESSAGES/imaging_uploader.po + msgfmt -o modules/instrument_builder/locale/ja/LC_MESSAGES/instrument_builder.mo modules/instrument_builder/locale/ja/LC_MESSAGES/instrument_builder.po + msgfmt -o modules/instrument_list/locale/ja/LC_MESSAGES/instrument_list.mo modules/instrument_list/locale/ja/LC_MESSAGES/instrument_list.po + msgfmt -o modules/instrument_manager/locale/ja/LC_MESSAGES/instrument_manager.mo modules/instrument_manager/locale/ja/LC_MESSAGES/instrument_manager.po + msgfmt -o modules/instruments/locale/ja/LC_MESSAGES/instruments.mo modules/instruments/locale/ja/LC_MESSAGES/instruments.po + msgfmt -o modules/issue_tracker/locale/ja/LC_MESSAGES/issue_tracker.mo modules/issue_tracker/locale/ja/LC_MESSAGES/issue_tracker.po + msgfmt -o modules/login/locale/ja/LC_MESSAGES/login.mo modules/login/locale/ja/LC_MESSAGES/login.po + msgfmt -o modules/media/locale/ja/LC_MESSAGES/media.mo modules/media/locale/ja/LC_MESSAGES/media.po + msgfmt -o modules/module_manager/locale/ja/LC_MESSAGES/module_manager.mo modules/module_manager/locale/ja/LC_MESSAGES/module_manager.po + msgfmt -o modules/mri_violations/locale/ja/LC_MESSAGES/mri_violations.mo modules/mri_violations/locale/ja/LC_MESSAGES/mri_violations.po + msgfmt -o modules/next_stage/locale/ja/LC_MESSAGES/next_stage.mo modules/next_stage/locale/ja/LC_MESSAGES/next_stage.po + msgfmt -o modules/oidc/locale/ja/LC_MESSAGES/oidc.mo modules/oidc/locale/ja/LC_MESSAGES/oidc.po + msgfmt -o modules/publication/locale/ja/LC_MESSAGES/publication.mo modules/publication/locale/ja/LC_MESSAGES/publication.po + msgfmt -o modules/schedule_module/locale/ja/LC_MESSAGES/schedule_module.mo modules/schedule_module/locale/ja/LC_MESSAGES/schedule_module.po + msgfmt -o modules/server_processes_manager/locale/ja/LC_MESSAGES/server_processes_manager.mo modules/server_processes_manager/locale/ja/LC_MESSAGES/server_processes_manager.po + msgfmt -o modules/statistics/locale/ja/LC_MESSAGES/statistics.mo modules/statistics/locale/ja/LC_MESSAGES/statistics.po + msgfmt -o modules/survey_accounts/locale/ja/LC_MESSAGES/survey_accounts.mo modules/survey_accounts/locale/ja/LC_MESSAGES/survey_accounts.po + msgfmt -o modules/timepoint_list/locale/ja/LC_MESSAGES/timepoint_list.mo modules/timepoint_list/locale/ja/LC_MESSAGES/timepoint_list.po + msgfmt -o modules/user_accounts/locale/ja/LC_MESSAGES/user_accounts.mo modules/user_accounts/locale/ja/LC_MESSAGES/user_accounts.po + + +data_release: target=data_release npm run compile instrument_manager: diff --git a/htdocs/index.php b/htdocs/index.php index bf8e5072ecb..c925d5acfc5 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -30,6 +30,10 @@ // See: https://www.php.net/manual/en/session.configuration.php#ini.session.use-strict-mode ini_set('session.use_strict_mode', '1'); +bind_textdomain_codeset("loris", 'UTF-8'); +bindtextdomain("loris", __DIR__ . '/../locale'); +textdomain("loris"); + // FIXME: The code in NDB_Client should mostly be replaced by middleware. $client = new \NDB_Client; $client->initialize(); @@ -38,7 +42,8 @@ // Middleware that happens on every request. This doesn't include // any authentication middleware, because that's done dynamically // based on the module router, depending on if the module is public. -$middlewarechain = (new \LORIS\Middleware\ContentLength()) +$middlewarechain = (new \LORIS\Middleware\Language()) + ->withMiddleware(new \LORIS\Middleware\ContentLength()) ->withMiddleware(new \LORIS\Middleware\AWS()) ->withMiddleware(new \LORIS\Middleware\ResponseGenerator()); @@ -82,7 +87,6 @@ ->withAttribute("loris", $lorisInstance); // Now handle the request. -// $response = $middlewarechain->process($serverrequest, $entrypoint); // Add the HTTP header line. diff --git a/locale/ja/LC_MESSAGES/loris.po b/locale/ja/LC_MESSAGES/loris.po new file mode 100644 index 00000000000..07f748f56c6 --- /dev/null +++ b/locale/ja/LC_MESSAGES/loris.po @@ -0,0 +1,118 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Smarty template main.tpl strings +msgid "LORIS" +msgstr "ロリス" + +msgid "DEV" +msgstr "開発環境" + +msgid "Affiliations" +msgstr "所属" + +msgid "Site Affiliation" +msgstr "サイトの所属" + +msgid "Site Affiliations" +msgstr "サイトの所属" + +msgid "Project Affiliation" +msgstr "プロジェクトの所属" + +msgid "Project Affiliations" +msgstr "プロジェクトの所属" + +msgid "Log Out" +msgstr "ログアウト" + +msgid "My Preferences" +msgstr "私の好み" + +# Auto extracted strings from PHP +# Menu categories +#: modules/configuration/php/module.class.inc:50 +#: modules/help_editor/php/module.class.inc:47 +#: modules/instrument_manager/php/module.class.inc:53 +#: modules/module_manager/php/module.class.inc:50 +#: modules/server_processes_manager/php/module.class.inc:104 +#: modules/survey_accounts/php/module.class.inc:48 +#: modules/user_accounts/php/module.class.inc:53 +msgid "Admin" +msgstr "行政上の" +#: modules/acknowledgements/php/module.class.inc:54 +#: modules/api_docs/php/module.class.inc:66 +#: modules/battery_manager/php/module.class.inc:55 +#: modules/datadict/php/module.class.inc:49 +#: modules/data_release/php/module.class.inc:56 +#: modules/dictionary/php/module.class.inc:49 +#: modules/document_repository/php/module.class.inc:56 +#: modules/instrument_builder/php/module.class.inc:48 +#: modules/issue_tracker/php/module.class.inc:54 +#: modules/schedule_module/php/module.class.inc:49 +msgid "Tools" +msgstr "ツール" + +#: modules/behavioural_qc/php/module.class.inc:51 +#: modules/conflict_resolver/php/module.class.inc:83 +#: modules/examiner/php/module.class.inc:50 +#: modules/media/php/module.class.inc:33 +msgid "Clinical" +msgstr "臨床的" + +#: modules/dicom_archive/php/module.class.inc:115 +#: modules/imaging_browser/php/module.class.inc:40 +#: modules/imaging_qc/php/module.class.inc:50 +#: modules/imaging_uploader/php/module.class.inc:54 +#: modules/mri_violations/php/module.class.inc:53 +msgid "Imaging" +msgstr "イメージング" + +#: modules/candidate_list/php/module.class.inc:76 +#: modules/new_profile/php/module.class.inc:50 +msgid "Candidate" +msgstr "為り手" + +#: modules/genomic_browser/php/module.class.inc:53 +msgid "Genomics" +msgstr "ゲノミクス" + +#: modules/electrophysiology_browser/php/module.class.inc:54 +msgid "Electrophysiology" +msgstr "電気生理学" + +#: modules/dataquery/php/module.class.inc:33 +#: modules/dqt/php/module.class.inc:49 +#: modules/publication/php/module.class.inc:55 +#: modules/statistics/php/module.class.inc:49 +msgid "Reports" +msgstr "レポート" + +# Common loris terms. Consider moving these to their own textdomain? +msgid "TimePoint" +msgstr "タイムポイント" + +# Common select option labels +msgid "Yes" +msgstr "はい" + +msgid "No" +msgstr "いいえ" + diff --git a/locale/loris.pot b/locale/loris.pot new file mode 100644 index 00000000000..982865b869f --- /dev/null +++ b/locale/loris.pot @@ -0,0 +1,118 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Smarty template main.tpl strings +msgid "LORIS" +msgstr "" + +msgid "DEV" +msgstr "" + +msgid "Affiliations" +msgstr "" + +msgid "Site Affiliation" +msgstr "" + +msgid "Site Affiliations" +msgstr "" + +msgid "Project Affiliation" +msgstr "" + +msgid "Project Affiliations" +msgstr "" + +msgid "Log Out" +msgstr "" + +msgid "My Preferences" +msgstr "" + +# Auto extracted strings from PHP +# Menu categories +#: modules/configuration/php/module.class.inc:50 +#: modules/help_editor/php/module.class.inc:47 +#: modules/instrument_manager/php/module.class.inc:53 +#: modules/module_manager/php/module.class.inc:50 +#: modules/server_processes_manager/php/module.class.inc:104 +#: modules/survey_accounts/php/module.class.inc:48 +#: modules/user_accounts/php/module.class.inc:53 +msgid "Admin" +msgstr "" +#: modules/acknowledgements/php/module.class.inc:54 +#: modules/api_docs/php/module.class.inc:66 +#: modules/battery_manager/php/module.class.inc:55 +#: modules/datadict/php/module.class.inc:49 +#: modules/data_release/php/module.class.inc:56 +#: modules/dictionary/php/module.class.inc:49 +#: modules/document_repository/php/module.class.inc:56 +#: modules/instrument_builder/php/module.class.inc:48 +#: modules/issue_tracker/php/module.class.inc:54 +#: modules/schedule_module/php/module.class.inc:49 +msgid "Tools" +msgstr "" + +#: modules/behavioural_qc/php/module.class.inc:51 +#: modules/conflict_resolver/php/module.class.inc:83 +#: modules/examiner/php/module.class.inc:50 +#: modules/media/php/module.class.inc:33 +msgid "Clinical" +msgstr "" + +#: modules/dicom_archive/php/module.class.inc:115 +#: modules/imaging_browser/php/module.class.inc:40 +#: modules/imaging_qc/php/module.class.inc:50 +#: modules/imaging_uploader/php/module.class.inc:54 +#: modules/mri_violations/php/module.class.inc:53 +msgid "Imaging" +msgstr "" + +#: modules/candidate_list/php/module.class.inc:76 +#: modules/new_profile/php/module.class.inc:50 +msgid "Candidate" +msgstr "" + +#: modules/genomic_browser/php/module.class.inc:53 +msgid "Genomics" +msgstr "" + +#: modules/electrophysiology_browser/php/module.class.inc:54 +msgid "Electrophysiology" +msgstr "" + +#: modules/dataquery/php/module.class.inc:33 +#: modules/dqt/php/module.class.inc:49 +#: modules/publication/php/module.class.inc:55 +#: modules/statistics/php/module.class.inc:49 +msgid "Reports" +msgstr "" + +# Common loris terms. Consider moving these to their own textdomain? +msgid "TimePoint" +msgstr "" + +# Common select option labels +msgid "Yes" +msgstr "" + +msgid "No" +msgstr "" + diff --git a/modules/acknowledgements/locale/acknowledgements.pot b/modules/acknowledgements/locale/acknowledgements.pot new file mode 100644 index 00000000000..75adb9042b9 --- /dev/null +++ b/modules/acknowledgements/locale/acknowledgements.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Acknowledgements" +msgstr "" + diff --git a/modules/acknowledgements/locale/ja/LC_MESSAGES/acknowledgements.po b/modules/acknowledgements/locale/ja/LC_MESSAGES/acknowledgements.po new file mode 100644 index 00000000000..e0cf44b823d --- /dev/null +++ b/modules/acknowledgements/locale/ja/LC_MESSAGES/acknowledgements.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Acknowledgements" +msgstr "感謝" + diff --git a/modules/acknowledgements/php/acknowledgements.class.inc b/modules/acknowledgements/php/acknowledgements.class.inc index b4b8d60f266..574814510df 100644 --- a/modules/acknowledgements/php/acknowledgements.class.inc +++ b/modules/acknowledgements/php/acknowledgements.class.inc @@ -56,8 +56,8 @@ class Acknowledgements extends \DataFrameworkMenu protected function getFieldOptions() : array { $yesNoOptions = [ - 'Yes' => 'Yes', - 'No' => 'No', + 'Yes' => dgettext("loris", 'Yes'), + 'No' => dgettext("loris", 'No'), ]; return [ diff --git a/modules/acknowledgements/php/module.class.inc b/modules/acknowledgements/php/module.class.inc index 4582425fc3a..0084c668221 100644 --- a/modules/acknowledgements/php/module.class.inc +++ b/modules/acknowledgements/php/module.class.inc @@ -51,7 +51,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -61,6 +61,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Acknowledgements"; + return dgettext("acknowledgements", "Acknowledgements"); } } diff --git a/modules/api/php/module.class.inc b/modules/api/php/module.class.inc index b4eacea8524..2da4913ffd3 100644 --- a/modules/api/php/module.class.inc +++ b/modules/api/php/module.class.inc @@ -131,7 +131,7 @@ class Module extends \Module */ public function getLongName() : string { - return "API"; + return dgettext("api", "API"); } /** diff --git a/modules/api_docs/locale/api_docs.pot b/modules/api_docs/locale/api_docs.pot new file mode 100644 index 00000000000..fffa662aecd --- /dev/null +++ b/modules/api_docs/locale/api_docs.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "API Documentation" +msgstr "" + diff --git a/modules/api_docs/locale/ja/LC_MESSAGES/api_docs.po b/modules/api_docs/locale/ja/LC_MESSAGES/api_docs.po new file mode 100644 index 00000000000..3387b78f06c --- /dev/null +++ b/modules/api_docs/locale/ja/LC_MESSAGES/api_docs.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "API Documentation" +msgstr "APIのドキュメント" + diff --git a/modules/api_docs/php/module.class.inc b/modules/api_docs/php/module.class.inc index af03479552b..ab5696a1d51 100644 --- a/modules/api_docs/php/module.class.inc +++ b/modules/api_docs/php/module.class.inc @@ -48,7 +48,7 @@ class Module extends \Module */ public function getLongName() : string { - return "API Documentation"; + return dgettext("api_docs", "API Documentation"); } /** @@ -63,7 +63,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } } diff --git a/modules/battery_manager/locale/battery_manager.pot b/modules/battery_manager/locale/battery_manager.pot new file mode 100644 index 00000000000..d58e3f6bc05 --- /dev/null +++ b/modules/battery_manager/locale/battery_manager.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Battery Manager" +msgstr "" + diff --git a/modules/battery_manager/locale/ja/LC_MESSAGES/battery_manager.po b/modules/battery_manager/locale/ja/LC_MESSAGES/battery_manager.po new file mode 100644 index 00000000000..bc168c021c1 --- /dev/null +++ b/modules/battery_manager/locale/ja/LC_MESSAGES/battery_manager.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Battery Manager" +msgstr "バッテリーマネージャー" + diff --git a/modules/battery_manager/php/module.class.inc b/modules/battery_manager/php/module.class.inc index 4d9914d284c..fcdb856d139 100644 --- a/modules/battery_manager/php/module.class.inc +++ b/modules/battery_manager/php/module.class.inc @@ -52,7 +52,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -62,6 +62,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Battery Manager"; + return dgettext("battery_manager", "Battery Manager"); } } diff --git a/modules/behavioural_qc/locale/behavioural_qc.pot b/modules/behavioural_qc/locale/behavioural_qc.pot new file mode 100644 index 00000000000..15a2462da45 --- /dev/null +++ b/modules/behavioural_qc/locale/behavioural_qc.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Behavioural Quality Control" +msgstr "" + diff --git a/modules/behavioural_qc/locale/ja/LC_MESSAGES/behavioural_qc.po b/modules/behavioural_qc/locale/ja/LC_MESSAGES/behavioural_qc.po new file mode 100644 index 00000000000..a6cebfefa97 --- /dev/null +++ b/modules/behavioural_qc/locale/ja/LC_MESSAGES/behavioural_qc.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Behavioural Quality Control" +msgstr "行動品質管理" + diff --git a/modules/behavioural_qc/php/module.class.inc b/modules/behavioural_qc/php/module.class.inc index 1e7ce5d4700..64043f3a351 100644 --- a/modules/behavioural_qc/php/module.class.inc +++ b/modules/behavioural_qc/php/module.class.inc @@ -48,7 +48,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Clinical"; + return dgettext("loris", "Clinical"); } /** @@ -58,6 +58,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Behavioural Quality Control"; + return dgettext("behavioural_qc", "Behavioural Quality Control"); } } diff --git a/modules/brainbrowser/locale/brainbrowser.pot b/modules/brainbrowser/locale/brainbrowser.pot new file mode 100644 index 00000000000..794e040b708 --- /dev/null +++ b/modules/brainbrowser/locale/brainbrowser.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Brainbrowser" +msgstr "" + diff --git a/modules/brainbrowser/locale/ja/LC_MESSAGES/brainbrowser.po b/modules/brainbrowser/locale/ja/LC_MESSAGES/brainbrowser.po new file mode 100644 index 00000000000..ac89b69e41f --- /dev/null +++ b/modules/brainbrowser/locale/ja/LC_MESSAGES/brainbrowser.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Brainbrowser" +msgstr "ブレインブラウザ" + diff --git a/modules/brainbrowser/php/module.class.inc b/modules/brainbrowser/php/module.class.inc index 834fceb4f7e..ff5afd6e441 100644 --- a/modules/brainbrowser/php/module.class.inc +++ b/modules/brainbrowser/php/module.class.inc @@ -34,6 +34,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Brainbrowser"; + return dgettext("brainbrowser", "Brainbrowser"); } } diff --git a/modules/bvl_feedback/locale/bvl_feedback.pot b/modules/bvl_feedback/locale/bvl_feedback.pot new file mode 100644 index 00000000000..f3e2fe8f6d6 --- /dev/null +++ b/modules/bvl_feedback/locale/bvl_feedback.pot @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Behavioural Feedback" +msgstr "" + +msgid "Behavioural Feedback Notifications" +msgstr "" + diff --git a/modules/bvl_feedback/locale/ja/LC_MESSAGES/bvl_feedback.po b/modules/bvl_feedback/locale/ja/LC_MESSAGES/bvl_feedback.po new file mode 100644 index 00000000000..57aebe8c409 --- /dev/null +++ b/modules/bvl_feedback/locale/ja/LC_MESSAGES/bvl_feedback.po @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Behavioural Feedback" +msgstr "行動フィードバック" + +msgid "Behavioural Feedback Notifications" +msgstr "行動フィードバック通知" + diff --git a/modules/bvl_feedback/php/module.class.inc b/modules/bvl_feedback/php/module.class.inc index 3ecc6e81dd3..0c7111c1d08 100644 --- a/modules/bvl_feedback/php/module.class.inc +++ b/modules/bvl_feedback/php/module.class.inc @@ -46,7 +46,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Behavioural Feedback"; + return dgettext("bvl_feedback", "Behavioural Feedback"); } /** @@ -134,7 +134,10 @@ class Module extends \Module return [ new \LORIS\dashboard\Widget( new \LORIS\dashboard\WidgetContent( - "Behavioural Feedback Notifications", + dgettext( + "bvl_feedback", + "Behavioural Feedback Notifications" + ), $this->renderTemplate( "dashboardwidget.tpl", [ diff --git a/modules/candidate_list/locale/candidate_list.pot b/modules/candidate_list/locale/candidate_list.pot new file mode 100644 index 00000000000..975ee422bfd --- /dev/null +++ b/modules/candidate_list/locale/candidate_list.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Access Profile" +msgstr "" + diff --git a/modules/candidate_list/locale/ja/LC_MESSAGES/candidate_list.po b/modules/candidate_list/locale/ja/LC_MESSAGES/candidate_list.po new file mode 100644 index 00000000000..bcd98914892 --- /dev/null +++ b/modules/candidate_list/locale/ja/LC_MESSAGES/candidate_list.po @@ -0,0 +1,24 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Access Profile" +msgstr "アクセスプロファイル" + + diff --git a/modules/candidate_list/php/module.class.inc b/modules/candidate_list/php/module.class.inc index 997d4fb4316..7e3256eb6a3 100644 --- a/modules/candidate_list/php/module.class.inc +++ b/modules/candidate_list/php/module.class.inc @@ -73,7 +73,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Candidate"; + return dgettext("loris", "Candidate"); } /** @@ -83,7 +83,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Access Profile"; + return dgettext("candidate_list", "Access Profile"); } /** diff --git a/modules/candidate_parameters/locale/candidate_parameters.pot b/modules/candidate_parameters/locale/candidate_parameters.pot new file mode 100644 index 00000000000..b9858f19dbf --- /dev/null +++ b/modules/candidate_parameters/locale/candidate_parameters.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Candidate Parameters" +msgstr "" + diff --git a/modules/candidate_parameters/locale/ja/LC_MESSAGES/candidate_parameters.po b/modules/candidate_parameters/locale/ja/LC_MESSAGES/candidate_parameters.po new file mode 100644 index 00000000000..bbcc033ed2a --- /dev/null +++ b/modules/candidate_parameters/locale/ja/LC_MESSAGES/candidate_parameters.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Candidate Parameters" +msgstr "候補パラメータ" + diff --git a/modules/candidate_parameters/php/candidate_parameters.class.inc b/modules/candidate_parameters/php/candidate_parameters.class.inc index d4079ebc153..da82c5d3080 100644 --- a/modules/candidate_parameters/php/candidate_parameters.class.inc +++ b/modules/candidate_parameters/php/candidate_parameters.class.inc @@ -94,7 +94,7 @@ class Candidate_Parameters extends \NDB_Form return new \LORIS\BreadcrumbTrail( new \LORIS\Breadcrumb( - 'Candidate Parameters', + dgettext("candidate_parameters", 'Candidate Parameters'), "/candidate_parameters/?candID=$candID&identifier=$candID" ) ); diff --git a/modules/candidate_parameters/php/module.class.inc b/modules/candidate_parameters/php/module.class.inc index 9bbc567c33f..45d8f41cb14 100644 --- a/modules/candidate_parameters/php/module.class.inc +++ b/modules/candidate_parameters/php/module.class.inc @@ -18,7 +18,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Candidate Parameters"; + return dgettext("candidate_parameters", "Candidate Parameters"); } /** diff --git a/modules/candidate_profile/locale/candidate_profile.pot b/modules/candidate_profile/locale/candidate_profile.pot new file mode 100644 index 00000000000..755079f993b --- /dev/null +++ b/modules/candidate_profile/locale/candidate_profile.pot @@ -0,0 +1,28 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Candidate Profile" +msgstr "" + +msgid "Candidate Info" +msgstr "" + +msgid "Candidate Dashboard" +msgstr "" diff --git a/modules/candidate_profile/locale/ja/LC_MESSAGES/candidate_profile.po b/modules/candidate_profile/locale/ja/LC_MESSAGES/candidate_profile.po new file mode 100644 index 00000000000..8f9d13163a4 --- /dev/null +++ b/modules/candidate_profile/locale/ja/LC_MESSAGES/candidate_profile.po @@ -0,0 +1,28 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Candidate Profile" +msgstr "候補者プロフィール" + +msgid "Candidate Info" +msgstr "候補者情報" + +msgid "Candidate Dashboard" +msgstr "候補者ダッシュボード" diff --git a/modules/candidate_profile/php/candidate_profile.class.inc b/modules/candidate_profile/php/candidate_profile.class.inc index 0685441e85b..e126b8bde57 100644 --- a/modules/candidate_profile/php/candidate_profile.class.inc +++ b/modules/candidate_profile/php/candidate_profile.class.inc @@ -129,7 +129,7 @@ class Candidate_Profile extends \NDB_Page if ($this->candidate === null) { return new \LORIS\BreadcrumbTrail( new \LORIS\Breadcrumb( - 'Access Profile', + dgettext("candidate_list", 'Access Profile'), '/candidate_list/?betaprofile=1' ), ); @@ -139,11 +139,12 @@ class Candidate_Profile extends \NDB_Page return new \LORIS\BreadcrumbTrail( new \LORIS\Breadcrumb( - 'Access Profile', + dgettext("candidate_list", 'Access Profile'), '/candidate_list/?betaprofile=1' ), new \LORIS\Breadcrumb( - "Candidate Dashboard $candid / $pscid", + dgettext("candidate_profile", 'Candidate Dashboard') + . " $candid / $pscid", "/candidate_profile/$candid" ) ); diff --git a/modules/candidate_profile/php/module.class.inc b/modules/candidate_profile/php/module.class.inc index fa668b34420..d6c40248373 100644 --- a/modules/candidate_profile/php/module.class.inc +++ b/modules/candidate_profile/php/module.class.inc @@ -52,7 +52,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Candidate Profile"; + return dgettext("candidate_profile", "Candidate Profile"); } /** @@ -91,7 +91,7 @@ class Module extends \Module return [ new CandidateWidget( - "Candidate Info", + dgettext("candidate_profile", "Candidate Info"), $baseurl . "/candidate_profile/js/CandidateInfo.js", "lorisjs.candidate_profile.CandidateInfo.CandidateInfo", ['ExtraCandidateInfo' => $params], diff --git a/modules/configuration/locale/configuration.pot b/modules/configuration/locale/configuration.pot new file mode 100644 index 00000000000..a73d82c3895 --- /dev/null +++ b/modules/configuration/locale/configuration.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Configuration" +msgstr "" + diff --git a/modules/configuration/locale/ja/LC_MESSAGES/configuration.po b/modules/configuration/locale/ja/LC_MESSAGES/configuration.po new file mode 100644 index 00000000000..40fd61deb79 --- /dev/null +++ b/modules/configuration/locale/ja/LC_MESSAGES/configuration.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Configuration" +msgstr "構成" + diff --git a/modules/configuration/php/module.class.inc b/modules/configuration/php/module.class.inc index 7e90e6eb3f1..b57ade30358 100644 --- a/modules/configuration/php/module.class.inc +++ b/modules/configuration/php/module.class.inc @@ -47,7 +47,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Admin"; + return dgettext("loris", "Admin"); } /** @@ -57,6 +57,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Configuration"; + return dgettext("configuration", "Configuration"); } } diff --git a/modules/conflict_resolver/locale/conflict_resolver.pot b/modules/conflict_resolver/locale/conflict_resolver.pot new file mode 100644 index 00000000000..aa626a59221 --- /dev/null +++ b/modules/conflict_resolver/locale/conflict_resolver.pot @@ -0,0 +1,29 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Conflict Resolver" +msgstr "" + +msgid "Data entry conflict" +msgstr "" + +msgid "Unresolved Conflicts" +msgstr "" + diff --git a/modules/conflict_resolver/locale/ja/LC_MESSAGES/conflict_resolver.po b/modules/conflict_resolver/locale/ja/LC_MESSAGES/conflict_resolver.po new file mode 100644 index 00000000000..42eada793cb --- /dev/null +++ b/modules/conflict_resolver/locale/ja/LC_MESSAGES/conflict_resolver.po @@ -0,0 +1,29 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Conflict Resolver" +msgstr "紛争解決者" + +msgid "Data entry conflict" +msgstr "データ入力の競合" + +msgid "Unresolved Conflicts" +msgstr "未解決の紛争" + diff --git a/modules/conflict_resolver/php/module.class.inc b/modules/conflict_resolver/php/module.class.inc index 37a94d2c4e4..9539ca15204 100644 --- a/modules/conflict_resolver/php/module.class.inc +++ b/modules/conflict_resolver/php/module.class.inc @@ -80,7 +80,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Clinical"; + return dgettext("loris", "Clinical"); } /** @@ -90,7 +90,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Conflict Resolver"; + return dgettext("conflict_resolver", "Conflict Resolver"); } /** @@ -113,7 +113,7 @@ class Module extends \Module return [ new \LORIS\dashboard\TaskQueryWidget( $user, - "Data entry conflict", + dgettext("conflict_resolver", "Data entry conflict"), $DB, "SELECT COUNT(*) FROM conflicts_unresolved cu LEFT JOIN flag ON (cu.CommentId1=flag.CommentID) @@ -165,7 +165,7 @@ class Module extends \Module } return [ new \LORIS\candidate_profile\CandidateWidget( - "Unresolved Conflicts", + dgettext("conflict_resolver", "Unresolved Conflicts"), $baseURL . "/conflict_resolver/js/CandidateConflictsWidget.js", "lorisjs.conflict_resolver.CandidateConflictsWidget.default", [ diff --git a/modules/create_timepoint/locale/create_timepoint.pot b/modules/create_timepoint/locale/create_timepoint.pot new file mode 100644 index 00000000000..33bd0ad24ef --- /dev/null +++ b/modules/create_timepoint/locale/create_timepoint.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Create Timepoint" +msgstr "" + diff --git a/modules/create_timepoint/locale/ja/LC_MESSAGES/create_timepoint.po b/modules/create_timepoint/locale/ja/LC_MESSAGES/create_timepoint.po new file mode 100644 index 00000000000..0a85bd591c3 --- /dev/null +++ b/modules/create_timepoint/locale/ja/LC_MESSAGES/create_timepoint.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Create Timepoint" +msgstr "タイムポイントを作成" + diff --git a/modules/create_timepoint/php/create_timepoint.class.inc b/modules/create_timepoint/php/create_timepoint.class.inc index c81c188eec4..b2c8ebd24d8 100644 --- a/modules/create_timepoint/php/create_timepoint.class.inc +++ b/modules/create_timepoint/php/create_timepoint.class.inc @@ -65,15 +65,16 @@ class Create_Timepoint extends \NDB_Form return new \LORIS\BreadcrumbTrail( new \LORIS\Breadcrumb( - 'Access Profile', + dgettext("candidate_list", 'Access Profile'), '/candidate_list' ), new \LORIS\Breadcrumb( - "Candidate Profile $candid / $pscid", + dgettext("candidate_profile", "Candidate Profile") + . " $candid / $pscid", "/$candid" ), new \LORIS\Breadcrumb( - 'Create Time Point', + dgettext("create_timepoint", 'Create Timepoint'), "/create_timepoint/?candID=$candid&identifier=$candid" ) ); diff --git a/modules/create_timepoint/php/module.class.inc b/modules/create_timepoint/php/module.class.inc index 7a954f83b1c..9df0d78d339 100644 --- a/modules/create_timepoint/php/module.class.inc +++ b/modules/create_timepoint/php/module.class.inc @@ -32,6 +32,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Create Timepoint"; + return dgettext("create_timepoint", "Create Timepoint"); } } diff --git a/modules/create_timepoint/test/create_timepointTest.php b/modules/create_timepoint/test/create_timepointTest.php index 2b4f1e4bd22..51128c89e13 100644 --- a/modules/create_timepoint/test/create_timepointTest.php +++ b/modules/create_timepoint/test/create_timepointTest.php @@ -66,7 +66,7 @@ function testCreateTimepointBTN() $bodyText = $this->safeFindElement( WebDriverBy::cssSelector("body") )->getText(); - $this->assertStringContainsString("Create Time Point", $bodyText); + $this->assertStringContainsString("Create Timepoint", $bodyText); $this->assertStringNotContainsString( "You do not have access to this page.", $bodyText @@ -94,7 +94,7 @@ function testCreateTimepointDoespageLoad() $bodyText = $this->safeFindElement( WebDriverBy::cssSelector("body") )->getText(); - $this->assertStringContainsString("Create Time Point", $bodyText); + $this->assertStringContainsString("Create Timepoint", $bodyText); $this->assertStringNotContainsString( "You do not have access to this page.", $bodyText diff --git a/modules/dashboard/locale/dashboard.pot b/modules/dashboard/locale/dashboard.pot new file mode 100644 index 00000000000..3f8ae090ef4 --- /dev/null +++ b/modules/dashboard/locale/dashboard.pot @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Dashboard" +msgstr "" + +msgid "My Tasks" +msgstr "" + diff --git a/modules/dashboard/locale/ja/LC_MESSAGES/dashboard.po b/modules/dashboard/locale/ja/LC_MESSAGES/dashboard.po new file mode 100644 index 00000000000..b2bf8ba2f31 --- /dev/null +++ b/modules/dashboard/locale/ja/LC_MESSAGES/dashboard.po @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Dashboard" +msgstr "ダッシュボード" + +msgid "My Tasks" +msgstr "私のタスク" + diff --git a/modules/dashboard/php/module.class.inc b/modules/dashboard/php/module.class.inc index 166cee3c20a..cb55f820cfe 100644 --- a/modules/dashboard/php/module.class.inc +++ b/modules/dashboard/php/module.class.inc @@ -34,7 +34,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Dashboard"; + return dgettext("dashboard", "Dashboard"); } /** @@ -151,7 +151,7 @@ class Module extends \Module } return new Widget( new WidgetContent( - "My Tasks", + dgettext("dashboard", "My Tasks"), $this->renderTemplate( "mytasks.tpl", [ diff --git a/modules/data_release/locale/data_release.pot b/modules/data_release/locale/data_release.pot new file mode 100644 index 00000000000..4e4f990bc16 --- /dev/null +++ b/modules/data_release/locale/data_release.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Release" +msgstr "" + diff --git a/modules/data_release/locale/ja/LC_MESSAGES/data_release.po b/modules/data_release/locale/ja/LC_MESSAGES/data_release.po new file mode 100644 index 00000000000..b1f9aef8d82 --- /dev/null +++ b/modules/data_release/locale/ja/LC_MESSAGES/data_release.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Release" +msgstr "データリリース" + diff --git a/modules/data_release/php/module.class.inc b/modules/data_release/php/module.class.inc index 25db09da0f1..3d35c29996e 100644 --- a/modules/data_release/php/module.class.inc +++ b/modules/data_release/php/module.class.inc @@ -53,7 +53,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -63,6 +63,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Data Release"; + return dgettext("data_release", "Data Release"); } } diff --git a/modules/datadict/locale/datadict.pot b/modules/datadict/locale/datadict.pot new file mode 100644 index 00000000000..10217ac2663 --- /dev/null +++ b/modules/datadict/locale/datadict.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Dictionary (Legacy)" +msgstr "" + diff --git a/modules/datadict/locale/ja/LC_MESSAGES/datadict.po b/modules/datadict/locale/ja/LC_MESSAGES/datadict.po new file mode 100644 index 00000000000..4701dbd7cad --- /dev/null +++ b/modules/datadict/locale/ja/LC_MESSAGES/datadict.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Dictionary (Legacy)" +msgstr "データ辞書(レガシー)" + diff --git a/modules/datadict/php/datadict.class.inc b/modules/datadict/php/datadict.class.inc index bd46beaf462..5dec13d204f 100644 --- a/modules/datadict/php/datadict.class.inc +++ b/modules/datadict/php/datadict.class.inc @@ -133,18 +133,6 @@ class Datadict extends \DataFrameworkMenu ); } - /** - * Generate a breadcrumb trail for this page. - * - * @return \LORIS\BreadcrumbTrail - */ - public function getBreadcrumbs(): \LORIS\BreadcrumbTrail - { - return new \LORIS\BreadcrumbTrail( - new \LORIS\Breadcrumb('Data Dictionary', "/$this->name") - ); - } - /** * The datadict module does not have any concept of a project. * diff --git a/modules/datadict/php/module.class.inc b/modules/datadict/php/module.class.inc index 1f2d71684c2..c4e1beb823e 100644 --- a/modules/datadict/php/module.class.inc +++ b/modules/datadict/php/module.class.inc @@ -46,7 +46,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -56,6 +56,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Data Dictionary (Legacy)"; + return dgettext("datadict", "Data Dictionary (Legacy)"); } } diff --git a/modules/dataquery/locale/dataquery.pot b/modules/dataquery/locale/dataquery.pot new file mode 100644 index 00000000000..1d1e4e6d118 --- /dev/null +++ b/modules/dataquery/locale/dataquery.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Query Tool (Beta)" +msgstr "" + diff --git a/modules/dataquery/locale/ja/LC_MESSAGES/dataquery.po b/modules/dataquery/locale/ja/LC_MESSAGES/dataquery.po new file mode 100644 index 00000000000..40fd7a6d6db --- /dev/null +++ b/modules/dataquery/locale/ja/LC_MESSAGES/dataquery.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Query Tool (Beta)" +msgstr "データ辞書(レガシー)" + diff --git a/modules/dataquery/php/module.class.inc b/modules/dataquery/php/module.class.inc index 89572f989d9..256369a35e4 100644 --- a/modules/dataquery/php/module.class.inc +++ b/modules/dataquery/php/module.class.inc @@ -30,7 +30,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Reports"; + return dgettext("loris", "Reports"); } /** @@ -40,7 +40,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Data Query Tool (Beta)"; + return dgettext("dataquery", "Data Query Tool (Beta)"); } /** diff --git a/modules/dicom_archive/locale/dicom_archive.pot b/modules/dicom_archive/locale/dicom_archive.pot new file mode 100644 index 00000000000..56c2acd94c4 --- /dev/null +++ b/modules/dicom_archive/locale/dicom_archive.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "DICOM Archive" +msgstr "" + diff --git a/modules/dicom_archive/locale/ja/LC_MESSAGES/dicom_archive.po b/modules/dicom_archive/locale/ja/LC_MESSAGES/dicom_archive.po new file mode 100644 index 00000000000..e008c123c9c --- /dev/null +++ b/modules/dicom_archive/locale/ja/LC_MESSAGES/dicom_archive.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "DICOM Archive" +msgstr "DICOMアーカイブ" + diff --git a/modules/dicom_archive/php/module.class.inc b/modules/dicom_archive/php/module.class.inc index 2588e9cc8db..4001a066037 100644 --- a/modules/dicom_archive/php/module.class.inc +++ b/modules/dicom_archive/php/module.class.inc @@ -117,7 +117,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Imaging"; + return dgettext("loris", "Imaging"); } /** @@ -127,6 +127,6 @@ class Module extends \Module */ public function getLongName() : string { - return "DICOM Archive"; + return dgettext("dicom_archive", "DICOM Archive"); } } diff --git a/modules/dictionary/locale/dictionary.pot b/modules/dictionary/locale/dictionary.pot new file mode 100644 index 00000000000..b874b6c4fb9 --- /dev/null +++ b/modules/dictionary/locale/dictionary.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Dictionary" +msgstr "" + diff --git a/modules/dictionary/locale/ja/LC_MESSAGES/dictionary.po b/modules/dictionary/locale/ja/LC_MESSAGES/dictionary.po new file mode 100644 index 00000000000..f98adfd1f89 --- /dev/null +++ b/modules/dictionary/locale/ja/LC_MESSAGES/dictionary.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Dictionary" +msgstr "データ辞書" + diff --git a/modules/dictionary/php/module.class.inc b/modules/dictionary/php/module.class.inc index 5c6729f1f11..71a3d95ef57 100644 --- a/modules/dictionary/php/module.class.inc +++ b/modules/dictionary/php/module.class.inc @@ -46,7 +46,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -56,7 +56,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Data Dictionary"; + return dgettext("dictionary", "Data Dictionary"); } /** diff --git a/modules/document_repository/locale/document_repository.pot b/modules/document_repository/locale/document_repository.pot new file mode 100644 index 00000000000..524c42a0c7b --- /dev/null +++ b/modules/document_repository/locale/document_repository.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Document Repository" +msgstr "" + diff --git a/modules/document_repository/locale/ja/LC_MESSAGES/document_repository.po b/modules/document_repository/locale/ja/LC_MESSAGES/document_repository.po new file mode 100644 index 00000000000..f087bb26ce3 --- /dev/null +++ b/modules/document_repository/locale/ja/LC_MESSAGES/document_repository.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Document Repository" +msgstr "ドキュメントリポジトリ" + diff --git a/modules/document_repository/php/module.class.inc b/modules/document_repository/php/module.class.inc index 314cf807ada..c9c6941b136 100644 --- a/modules/document_repository/php/module.class.inc +++ b/modules/document_repository/php/module.class.inc @@ -53,7 +53,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -63,7 +63,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Document Repository"; + return dgettext("document_repository", "Document Repository"); } /** diff --git a/modules/dqt/locale/dqt.pot b/modules/dqt/locale/dqt.pot new file mode 100644 index 00000000000..0e159d065a3 --- /dev/null +++ b/modules/dqt/locale/dqt.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Query Tool" +msgstr "" + diff --git a/modules/dqt/locale/ja/LC_MESSAGES/dqt.po b/modules/dqt/locale/ja/LC_MESSAGES/dqt.po new file mode 100644 index 00000000000..b2191705b09 --- /dev/null +++ b/modules/dqt/locale/ja/LC_MESSAGES/dqt.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Data Query Tool" +msgstr "データクエリツール" + diff --git a/modules/dqt/php/module.class.inc b/modules/dqt/php/module.class.inc index e67ae2da16e..267dbbc93b9 100644 --- a/modules/dqt/php/module.class.inc +++ b/modules/dqt/php/module.class.inc @@ -46,7 +46,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Reports"; + return dgettext("loris", "Reports"); } /** @@ -56,6 +56,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Data Query Tool"; + return dgettext("dqt", "Data Query Tool"); } } diff --git a/modules/electrophysiology_browser/locale/electrophysiology_browser.pot b/modules/electrophysiology_browser/locale/electrophysiology_browser.pot new file mode 100644 index 00000000000..d8e412ab1c1 --- /dev/null +++ b/modules/electrophysiology_browser/locale/electrophysiology_browser.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Electrophysiology Browser" +msgstr "" + diff --git a/modules/electrophysiology_browser/locale/ja/LC_MESSAGES/electrophysiology_browser.po b/modules/electrophysiology_browser/locale/ja/LC_MESSAGES/electrophysiology_browser.po new file mode 100644 index 00000000000..9b339ed391e --- /dev/null +++ b/modules/electrophysiology_browser/locale/ja/LC_MESSAGES/electrophysiology_browser.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Electrophysiology Browser" +msgstr "電気生理学ブラウザ" + diff --git a/modules/electrophysiology_browser/php/module.class.inc b/modules/electrophysiology_browser/php/module.class.inc index 8dce8a978a2..35741b321e1 100644 --- a/modules/electrophysiology_browser/php/module.class.inc +++ b/modules/electrophysiology_browser/php/module.class.inc @@ -51,7 +51,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Electrophysiology"; + return dgettext("loris", "Electrophysiology"); } /** @@ -61,6 +61,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Electrophysiology Browser"; + return dgettext("electrophysiology_browser", "Electrophysiology Browser"); } -} \ No newline at end of file +} diff --git a/modules/electrophysiology_uploader/locale/electrophysiology_uploader.pot b/modules/electrophysiology_uploader/locale/electrophysiology_uploader.pot new file mode 100644 index 00000000000..2c3a77e1f45 --- /dev/null +++ b/modules/electrophysiology_uploader/locale/electrophysiology_uploader.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Electrophysiology Uploader" +msgstr "" + diff --git a/modules/electrophysiology_uploader/locale/ja/LC_MESSAGES/electrophysiology_uploader.po b/modules/electrophysiology_uploader/locale/ja/LC_MESSAGES/electrophysiology_uploader.po new file mode 100644 index 00000000000..beec81ea1ac --- /dev/null +++ b/modules/electrophysiology_uploader/locale/ja/LC_MESSAGES/electrophysiology_uploader.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Electrophysiology Uploader" +msgstr "電気生理学アップローダー" + diff --git a/modules/electrophysiology_uploader/php/module.class.inc b/modules/electrophysiology_uploader/php/module.class.inc index 51a77b22f74..9e8356eb6c6 100644 --- a/modules/electrophysiology_uploader/php/module.class.inc +++ b/modules/electrophysiology_uploader/php/module.class.inc @@ -51,7 +51,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Electrophysiology"; + return dgettext("loris", "Electrophysiology"); } /** @@ -61,6 +61,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Electrophysiology Uploader"; + return dgettext("electrophysiology_uploader", "Electrophysiology Uploader"); } } diff --git a/modules/examiner/locale/examiner.pot b/modules/examiner/locale/examiner.pot new file mode 100644 index 00000000000..1b1c6fd86e2 --- /dev/null +++ b/modules/examiner/locale/examiner.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Examiner" +msgstr "" + diff --git a/modules/examiner/locale/ja/LC_MESSAGES/examiner.po b/modules/examiner/locale/ja/LC_MESSAGES/examiner.po new file mode 100644 index 00000000000..27b1dd3eb7a --- /dev/null +++ b/modules/examiner/locale/ja/LC_MESSAGES/examiner.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Examiner" +msgstr "審査官" + diff --git a/modules/examiner/php/module.class.inc b/modules/examiner/php/module.class.inc index 188fbd2f962..5375542796c 100644 --- a/modules/examiner/php/module.class.inc +++ b/modules/examiner/php/module.class.inc @@ -47,7 +47,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Clinical"; + return dgettext("loris", "Clinical"); } /** @@ -57,6 +57,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Examiner"; + return dgettext("examiner", "Examiner"); } } diff --git a/modules/genomic_browser/locale/genomic_browser.pot b/modules/genomic_browser/locale/genomic_browser.pot new file mode 100644 index 00000000000..49b5d8e665a --- /dev/null +++ b/modules/genomic_browser/locale/genomic_browser.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Genomic Browser" +msgstr "" + diff --git a/modules/genomic_browser/locale/ja/LC_MESSAGES/genomic_browser.po b/modules/genomic_browser/locale/ja/LC_MESSAGES/genomic_browser.po new file mode 100644 index 00000000000..1c48e573e30 --- /dev/null +++ b/modules/genomic_browser/locale/ja/LC_MESSAGES/genomic_browser.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Genomic Browser" +msgstr "ゲノムブラウザ" + diff --git a/modules/genomic_browser/php/module.class.inc b/modules/genomic_browser/php/module.class.inc index 93923a998bb..f5af2bb17a5 100644 --- a/modules/genomic_browser/php/module.class.inc +++ b/modules/genomic_browser/php/module.class.inc @@ -50,7 +50,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Genomics"; + return dgettext("loris", "Genomics"); } /** @@ -60,6 +60,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Genomic Browser"; + return dgettext("genomic_browser", "Genomic Browser"); } } diff --git a/modules/help_editor/locale/help_editor.pot b/modules/help_editor/locale/help_editor.pot new file mode 100644 index 00000000000..5cde67162bc --- /dev/null +++ b/modules/help_editor/locale/help_editor.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Help Editor" +msgstr "" + diff --git a/modules/help_editor/locale/ja/LC_MESSAGES/help_editor.po b/modules/help_editor/locale/ja/LC_MESSAGES/help_editor.po new file mode 100644 index 00000000000..3e8dbc56975 --- /dev/null +++ b/modules/help_editor/locale/ja/LC_MESSAGES/help_editor.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Help Editor" +msgstr "ヘルプエディター" + diff --git a/modules/help_editor/php/module.class.inc b/modules/help_editor/php/module.class.inc index eb294f2f0ea..45e681b57b0 100644 --- a/modules/help_editor/php/module.class.inc +++ b/modules/help_editor/php/module.class.inc @@ -44,7 +44,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Admin"; + return dgettext("loris", "Admin"); } /** @@ -54,6 +54,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Help Editor"; + return dgettext("help_editor", "Help Editor"); } } diff --git a/modules/imaging_browser/locale/imaging_browser.pot b/modules/imaging_browser/locale/imaging_browser.pot new file mode 100644 index 00000000000..6ee76adf151 --- /dev/null +++ b/modules/imaging_browser/locale/imaging_browser.pot @@ -0,0 +1,25 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Imaging Browser" +msgstr "" + +msgid "View Session" +msgstr "" diff --git a/modules/imaging_browser/locale/ja/LC_MESSAGES/imaging_browser.po b/modules/imaging_browser/locale/ja/LC_MESSAGES/imaging_browser.po new file mode 100644 index 00000000000..f3d202f84cf --- /dev/null +++ b/modules/imaging_browser/locale/ja/LC_MESSAGES/imaging_browser.po @@ -0,0 +1,25 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Imaging Browser" +msgstr "イメージングブラウザ" + +msgid "View Session" +msgstr "セッションを見る" diff --git a/modules/imaging_browser/php/module.class.inc b/modules/imaging_browser/php/module.class.inc index a998aee3845..20f5adf29b0 100644 --- a/modules/imaging_browser/php/module.class.inc +++ b/modules/imaging_browser/php/module.class.inc @@ -37,7 +37,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Imaging"; + return dgettext("loris", "Imaging"); } /** @@ -47,7 +47,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Imaging Browser"; + return dgettext("imaging_browser", "Imaging Browser"); } /** diff --git a/modules/imaging_browser/php/viewsession.class.inc b/modules/imaging_browser/php/viewsession.class.inc index f7dbaaaa9bc..bbfeff61ac4 100644 --- a/modules/imaging_browser/php/viewsession.class.inc +++ b/modules/imaging_browser/php/viewsession.class.inc @@ -1032,9 +1032,12 @@ class ViewSession extends \NDB_Form public function getBreadcrumbs(): \LORIS\BreadcrumbTrail { return new \LORIS\BreadcrumbTrail( - new \LORIS\Breadcrumb('Imaging Browser', '/imaging_browser'), new \LORIS\Breadcrumb( - 'View Session', + dgettext("imaging_browser", 'Imaging Browser'), + '/imaging_browser' + ), + new \LORIS\Breadcrumb( + dgettext("imaging_browser", 'View Session'), "/imaging_browser/viewSession/?sessionID=$this->sessionID" ) ); diff --git a/modules/imaging_qc/locale/imaging_qc.pot b/modules/imaging_qc/locale/imaging_qc.pot new file mode 100644 index 00000000000..c4b34c2da89 --- /dev/null +++ b/modules/imaging_qc/locale/imaging_qc.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Imaging Quality Control" +msgstr "" diff --git a/modules/imaging_qc/locale/ja/LC_MESSAGES/imaging_qc.po b/modules/imaging_qc/locale/ja/LC_MESSAGES/imaging_qc.po new file mode 100644 index 00000000000..423fe2433d2 --- /dev/null +++ b/modules/imaging_qc/locale/ja/LC_MESSAGES/imaging_qc.po @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Imaging Quality Control" +msgstr "画像品質管理" diff --git a/modules/imaging_qc/php/imaging_qc.class.inc b/modules/imaging_qc/php/imaging_qc.class.inc index 715496d763f..4fe94cb1b40 100644 --- a/modules/imaging_qc/php/imaging_qc.class.inc +++ b/modules/imaging_qc/php/imaging_qc.class.inc @@ -381,21 +381,6 @@ class Imaging_QC extends \NDB_Menu_Filter ); } - /** - * Generate a breadcrumb trail for this page. - * - * @return \LORIS\BreadcrumbTrail - */ - public function getBreadcrumbs(): \LORIS\BreadcrumbTrail - { - return new \LORIS\BreadcrumbTrail( - new \LORIS\Breadcrumb( - 'Imaging Quality Control', - '/imaging_qc' - ) - ); - } - /** * This method overrides the NBD_Page handle function. * It checks if the MRI Parameter Form table exists diff --git a/modules/imaging_qc/php/module.class.inc b/modules/imaging_qc/php/module.class.inc index c2996018d50..24ee9c7fe4c 100644 --- a/modules/imaging_qc/php/module.class.inc +++ b/modules/imaging_qc/php/module.class.inc @@ -47,7 +47,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Imaging"; + return dgettext("loris", "Imaging"); } /** @@ -57,6 +57,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Imaging Quality Control"; + return dgettext("imaging_qc", "Imaging Quality Control"); } } diff --git a/modules/imaging_uploader/locale/imaging_uploader.pot b/modules/imaging_uploader/locale/imaging_uploader.pot new file mode 100644 index 00000000000..91fe4ff4ab9 --- /dev/null +++ b/modules/imaging_uploader/locale/imaging_uploader.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Imaging Uploader" +msgstr "" + diff --git a/modules/imaging_uploader/locale/ja/LC_MESSAGES/imaging_uploader.po b/modules/imaging_uploader/locale/ja/LC_MESSAGES/imaging_uploader.po new file mode 100644 index 00000000000..09d617b8bd3 --- /dev/null +++ b/modules/imaging_uploader/locale/ja/LC_MESSAGES/imaging_uploader.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Imaging Uploader" +msgstr "画像アップローダー" + diff --git a/modules/imaging_uploader/php/module.class.inc b/modules/imaging_uploader/php/module.class.inc index 6451fd19ee0..2cec85c84ec 100644 --- a/modules/imaging_uploader/php/module.class.inc +++ b/modules/imaging_uploader/php/module.class.inc @@ -51,7 +51,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Imaging"; + return dgettext("loris", "Imaging"); } /** @@ -61,7 +61,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Imaging Uploader"; + return dgettext("imaging_uploader", "Imaging Uploader"); } /** diff --git a/modules/instrument_builder/locale/instrument_builder.pot b/modules/instrument_builder/locale/instrument_builder.pot new file mode 100644 index 00000000000..1d901552506 --- /dev/null +++ b/modules/instrument_builder/locale/instrument_builder.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instrument Builder" +msgstr "" + diff --git a/modules/instrument_builder/locale/ja/LC_MESSAGES/instrument_builder.po b/modules/instrument_builder/locale/ja/LC_MESSAGES/instrument_builder.po new file mode 100644 index 00000000000..f63bb7335f5 --- /dev/null +++ b/modules/instrument_builder/locale/ja/LC_MESSAGES/instrument_builder.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instrument Builder" +msgstr "楽器ビルダー" + diff --git a/modules/instrument_builder/php/module.class.inc b/modules/instrument_builder/php/module.class.inc index dc07692ca92..34ff2eef99f 100644 --- a/modules/instrument_builder/php/module.class.inc +++ b/modules/instrument_builder/php/module.class.inc @@ -45,7 +45,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -55,6 +55,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Instrument Builder"; + return dgettext("instrument_builder", "Instrument Builder"); } } diff --git a/modules/instrument_list/locale/instrument_list.po b/modules/instrument_list/locale/instrument_list.po new file mode 100644 index 00000000000..11e01ab6a01 --- /dev/null +++ b/modules/instrument_list/locale/instrument_list.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instrument List" +msgstr "" + diff --git a/modules/instrument_list/locale/ja/LC_MESSAGES/instrument_list.po b/modules/instrument_list/locale/ja/LC_MESSAGES/instrument_list.po new file mode 100644 index 00000000000..9e1ee83e484 --- /dev/null +++ b/modules/instrument_list/locale/ja/LC_MESSAGES/instrument_list.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instrument List" +msgstr "楽器リスト" + diff --git a/modules/instrument_list/php/instrument_list.class.inc b/modules/instrument_list/php/instrument_list.class.inc index 8911ae3bc44..19724fa95de 100644 --- a/modules/instrument_list/php/instrument_list.class.inc +++ b/modules/instrument_list/php/instrument_list.class.inc @@ -370,15 +370,16 @@ class Instrument_List extends \NDB_Menu_Filter return new \LORIS\BreadcrumbTrail( new \LORIS\Breadcrumb( - 'Access Profile', + dgettext("candidate_list", 'Access Profile'), '/candidate_list' ), new \LORIS\Breadcrumb( - "Candidate Profile $candid / $pscid", + dgettext("candidate_profile", "Candidate Profile") + . " $candid / $pscid", "/$candid" ), new \LORIS\Breadcrumb( - "TimePoint $visitlabel Details", + dgettext("loris", "TimePoint") . " $visitlabel", "/instrument_list/?candID=$candid&sessionID=$sessionid" ) ); diff --git a/modules/instrument_list/php/module.class.inc b/modules/instrument_list/php/module.class.inc index be502ff8127..1e78293df5e 100644 --- a/modules/instrument_list/php/module.class.inc +++ b/modules/instrument_list/php/module.class.inc @@ -130,6 +130,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Instrument List"; + return dgettext("instrument_list", "Instrument List"); } } diff --git a/modules/instrument_manager/locale/instrument_manager.pot b/modules/instrument_manager/locale/instrument_manager.pot new file mode 100644 index 00000000000..7bcf37342b3 --- /dev/null +++ b/modules/instrument_manager/locale/instrument_manager.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instrument Manager" +msgstr "" + diff --git a/modules/instrument_manager/locale/ja/LC_MESSAGES/instrument_manager.po b/modules/instrument_manager/locale/ja/LC_MESSAGES/instrument_manager.po new file mode 100644 index 00000000000..7801e69e859 --- /dev/null +++ b/modules/instrument_manager/locale/ja/LC_MESSAGES/instrument_manager.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instrument Manager" +msgstr "機器マネージャー" + diff --git a/modules/instrument_manager/php/module.class.inc b/modules/instrument_manager/php/module.class.inc index d5eed1eb376..3cbcd8afe7f 100644 --- a/modules/instrument_manager/php/module.class.inc +++ b/modules/instrument_manager/php/module.class.inc @@ -50,7 +50,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Admin"; + return dgettext("loris", "Admin"); } /** @@ -60,6 +60,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Instrument Manager"; + return dgettext("instrument_manager", "Instrument Manager"); } } diff --git a/modules/instruments/locale/instruments.pot b/modules/instruments/locale/instruments.pot new file mode 100644 index 00000000000..97e98ea76f1 --- /dev/null +++ b/modules/instruments/locale/instruments.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instruments" +msgstr "" + diff --git a/modules/instruments/locale/ja/LC_MESSAGES/instruments.po b/modules/instruments/locale/ja/LC_MESSAGES/instruments.po new file mode 100644 index 00000000000..e4387e9ca00 --- /dev/null +++ b/modules/instruments/locale/ja/LC_MESSAGES/instruments.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Instruments" +msgstr "機器" + diff --git a/modules/instruments/php/module.class.inc b/modules/instruments/php/module.class.inc index 6dfa599d30d..95aa997bb54 100644 --- a/modules/instruments/php/module.class.inc +++ b/modules/instruments/php/module.class.inc @@ -104,7 +104,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Instruments"; + return dgettext("instruments", "Instruments"); } /** diff --git a/modules/issue_tracker/locale/issue_tracker.pot b/modules/issue_tracker/locale/issue_tracker.pot new file mode 100644 index 00000000000..3f102e77afd --- /dev/null +++ b/modules/issue_tracker/locale/issue_tracker.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Issue Tracker" +msgstr "" + diff --git a/modules/issue_tracker/locale/ja/LC_MESSAGES/issue_tracker.po b/modules/issue_tracker/locale/ja/LC_MESSAGES/issue_tracker.po new file mode 100644 index 00000000000..8e08e673b4e --- /dev/null +++ b/modules/issue_tracker/locale/ja/LC_MESSAGES/issue_tracker.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Issue Tracker" +msgstr "問題トラッカー" + diff --git a/modules/issue_tracker/php/module.class.inc b/modules/issue_tracker/php/module.class.inc index 16dbdf78166..f20bae9f454 100644 --- a/modules/issue_tracker/php/module.class.inc +++ b/modules/issue_tracker/php/module.class.inc @@ -51,7 +51,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -61,7 +61,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Issue Tracker"; + return dgettext("issue_tracker", "Issue Tracker"); } /** diff --git a/modules/login/locale/ja/LC_MESSAGES/login.po b/modules/login/locale/ja/LC_MESSAGES/login.po new file mode 100644 index 00000000000..c4ce7bf5ac7 --- /dev/null +++ b/modules/login/locale/ja/LC_MESSAGES/login.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Login" +msgstr "ログイン" + diff --git a/modules/login/locale/login.pot b/modules/login/locale/login.pot new file mode 100644 index 00000000000..cc100814faa --- /dev/null +++ b/modules/login/locale/login.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Login" +msgstr "" + diff --git a/modules/login/php/module.class.inc b/modules/login/php/module.class.inc index 9cc6076c608..eef99250f89 100644 --- a/modules/login/php/module.class.inc +++ b/modules/login/php/module.class.inc @@ -31,6 +31,6 @@ class Module extends \Module */ public function getLongName() : string { - return 'Login'; + return dgettext('login', 'Login'); } } diff --git a/modules/media/locale/ja/LC_MESSAGES/media.po b/modules/media/locale/ja/LC_MESSAGES/media.po new file mode 100644 index 00000000000..6f0c7e26007 --- /dev/null +++ b/modules/media/locale/ja/LC_MESSAGES/media.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Media" +msgstr "メディア" + diff --git a/modules/media/locale/media.pot b/modules/media/locale/media.pot new file mode 100644 index 00000000000..211265da9dd --- /dev/null +++ b/modules/media/locale/media.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Media" +msgstr "" + diff --git a/modules/media/php/module.class.inc b/modules/media/php/module.class.inc index 744b6fea390..08b32b0746b 100644 --- a/modules/media/php/module.class.inc +++ b/modules/media/php/module.class.inc @@ -30,7 +30,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Clinical"; + return dgettext("loris", "Clinical"); } /** @@ -40,7 +40,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Media"; + return dgettext("media", "Media"); } /** diff --git a/modules/module_manager/locale/ja/LC_MESSAGES/module_manager.po b/modules/module_manager/locale/ja/LC_MESSAGES/module_manager.po new file mode 100644 index 00000000000..e37789a7713 --- /dev/null +++ b/modules/module_manager/locale/ja/LC_MESSAGES/module_manager.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Module Manager" +msgstr "モジュールマネージャー" + diff --git a/modules/module_manager/locale/module_manager.pot b/modules/module_manager/locale/module_manager.pot new file mode 100644 index 00000000000..37c5ef59dc7 --- /dev/null +++ b/modules/module_manager/locale/module_manager.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Module Manager" +msgstr "" + diff --git a/modules/module_manager/php/module.class.inc b/modules/module_manager/php/module.class.inc index 3b8d6ef770c..cd2e2bc7dcc 100644 --- a/modules/module_manager/php/module.class.inc +++ b/modules/module_manager/php/module.class.inc @@ -47,7 +47,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Admin"; + return dgettext("loris", "Admin"); } /** @@ -57,6 +57,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Module Manager"; + return dgettext("module_manager", "Module Manager"); } } diff --git a/modules/mri_violations/locale/ja/LC_MESSAGES/mri_violations.po b/modules/mri_violations/locale/ja/LC_MESSAGES/mri_violations.po new file mode 100644 index 00000000000..3f8ef60ce37 --- /dev/null +++ b/modules/mri_violations/locale/ja/LC_MESSAGES/mri_violations.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "MRI Violated Scans" +msgstr "MRI違反スキャン" + diff --git a/modules/mri_violations/locale/mri_violations.pot b/modules/mri_violations/locale/mri_violations.pot new file mode 100644 index 00000000000..5bfa2e6ab88 --- /dev/null +++ b/modules/mri_violations/locale/mri_violations.pot @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "MRI Violated Scans" +msgstr "" + diff --git a/modules/mri_violations/php/module.class.inc b/modules/mri_violations/php/module.class.inc index 328d75a9c61..a7f4e7ee3ef 100644 --- a/modules/mri_violations/php/module.class.inc +++ b/modules/mri_violations/php/module.class.inc @@ -50,7 +50,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Imaging"; + return dgettext("loris", "Imaging"); } /** @@ -60,7 +60,7 @@ class Module extends \Module */ public function getLongName() : string { - return "MRI Violated Scans"; + return dgettext("mri_violations", "MRI Violated Scans"); } /** diff --git a/modules/my_preferences/php/module.class.inc b/modules/my_preferences/php/module.class.inc index 9508fa14a87..2da92f18150 100644 --- a/modules/my_preferences/php/module.class.inc +++ b/modules/my_preferences/php/module.class.inc @@ -15,6 +15,6 @@ class Module extends \Module */ public function getLongName() : string { - return "My Preferences"; + return _("My Preferences"); } } diff --git a/modules/new_profile/locale/ja/LC_MESSAGES/new_profile.po b/modules/new_profile/locale/ja/LC_MESSAGES/new_profile.po new file mode 100644 index 00000000000..b5b22ecc439 --- /dev/null +++ b/modules/new_profile/locale/ja/LC_MESSAGES/new_profile.po @@ -0,0 +1,24 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: modules/new_profile/php/module.class.inc:60 +msgid "New Profile" +msgstr "新しいプロフィール" + diff --git a/modules/new_profile/locale/new_profile.pot b/modules/new_profile/locale/new_profile.pot new file mode 100644 index 00000000000..df346767e90 --- /dev/null +++ b/modules/new_profile/locale/new_profile.pot @@ -0,0 +1,24 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: modules/new_profile/php/module.class.inc:60 +msgid "New Profile" +msgstr "" + diff --git a/modules/new_profile/php/module.class.inc b/modules/new_profile/php/module.class.inc index e3e16a99a78..cf539808552 100644 --- a/modules/new_profile/php/module.class.inc +++ b/modules/new_profile/php/module.class.inc @@ -47,7 +47,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Candidate"; + return dgettext("loris", "Candidate"); } /** @@ -57,6 +57,6 @@ class Module extends \Module */ public function getLongName() : string { - return "New Profile"; + return dgettext("new_profile", "New Profile"); } } diff --git a/modules/next_stage/locale/ja/LC_MESSAGES/next_stage.po b/modules/next_stage/locale/ja/LC_MESSAGES/next_stage.po new file mode 100644 index 00000000000..3c7020a0f01 --- /dev/null +++ b/modules/next_stage/locale/ja/LC_MESSAGES/next_stage.po @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: modules/new_profile/php/module.class.inc:60 +msgid "Next Stage" +msgstr "次のステージ" + +msgid "Start Next Stage" +msgstr "次のステージを開始" diff --git a/modules/next_stage/locale/next_stage.pot b/modules/next_stage/locale/next_stage.pot new file mode 100644 index 00000000000..ac57ee3676d --- /dev/null +++ b/modules/next_stage/locale/next_stage.pot @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: modules/new_profile/php/module.class.inc:60 +msgid "Next Stage" +msgstr "" + +msgid "Start Next Stage" +msgstr "" diff --git a/modules/next_stage/php/module.class.inc b/modules/next_stage/php/module.class.inc index 5d425908a3c..002643f0382 100644 --- a/modules/next_stage/php/module.class.inc +++ b/modules/next_stage/php/module.class.inc @@ -34,6 +34,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Next Stage"; + return dgettext("next_stage", "Next Stage"); } } diff --git a/modules/next_stage/php/next_stage.class.inc b/modules/next_stage/php/next_stage.class.inc index f5e63dafd13..65044318312 100644 --- a/modules/next_stage/php/next_stage.class.inc +++ b/modules/next_stage/php/next_stage.class.inc @@ -266,19 +266,20 @@ class Next_Stage extends \NDB_Form return new \LORIS\BreadcrumbTrail( new \LORIS\Breadcrumb( - 'Access Profile', + dgettext("candidate_list", 'Access Profile'), '/candidate_list' ), new \LORIS\Breadcrumb( - 'Candidate Profile ' . $candid . ' / ' . $pscid, + dgettext("candidate_profile", 'Candidate Profile') + . " " .$candid . ' / ' . $pscid, "/$candid" ), new \LORIS\Breadcrumb( - "TimePoint $visitlabel Details", + dgettext("loris", "TimePoint") . " $visitlabel", "/instrument_list/?candID=$candid&sessionID=$sessionid" ), new \LORIS\Breadcrumb( - 'Start Next Stage', + dgettext('next_stage', 'Start Next Stage'), "/next_stage/?candID=$candid&sessionID=$sessionid" . "&identifier=$sessionid" ) diff --git a/modules/oidc/locale/ja/LC_MESSAGES/oidc.po b/modules/oidc/locale/ja/LC_MESSAGES/oidc.po new file mode 100644 index 00000000000..3ed5dab63a9 --- /dev/null +++ b/modules/oidc/locale/ja/LC_MESSAGES/oidc.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Seems to use the English name at https://www.openid.or.jp/document/ +msgid "OpenID Connect" +msgstr "OpenID Connect" diff --git a/modules/oidc/locale/oidc.pot b/modules/oidc/locale/oidc.pot new file mode 100644 index 00000000000..9c37f7a3e2c --- /dev/null +++ b/modules/oidc/locale/oidc.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "OpenID Connect" +msgstr "" diff --git a/modules/oidc/php/module.class.inc b/modules/oidc/php/module.class.inc index aaf021e7d44..c43e1a8fdbc 100644 --- a/modules/oidc/php/module.class.inc +++ b/modules/oidc/php/module.class.inc @@ -26,6 +26,6 @@ class Module extends \Module */ public function getLongName() : string { - return 'OpenID Connect'; + return dgettext("oidc", 'OpenID Connect'); } } diff --git a/modules/publication/locale/ja/LC_MESSAGES/publication.po b/modules/publication/locale/ja/LC_MESSAGES/publication.po new file mode 100644 index 00000000000..bad4a3c4e84 --- /dev/null +++ b/modules/publication/locale/ja/LC_MESSAGES/publication.po @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Publications" +msgstr "出版物" diff --git a/modules/publication/locale/publication.pot b/modules/publication/locale/publication.pot new file mode 100644 index 00000000000..f7f3d9c8763 --- /dev/null +++ b/modules/publication/locale/publication.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Publications" +msgstr "" diff --git a/modules/publication/php/module.class.inc b/modules/publication/php/module.class.inc index 0897d501b56..5928b08e0e3 100644 --- a/modules/publication/php/module.class.inc +++ b/modules/publication/php/module.class.inc @@ -52,7 +52,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Reports"; + return dgettext("loris", "Reports"); } /** @@ -62,6 +62,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Publications"; + return dgettext("publication", "Publications"); } } diff --git a/modules/schedule_module/locale/ja/LC_MESSAGES/schedule_module.po b/modules/schedule_module/locale/ja/LC_MESSAGES/schedule_module.po new file mode 100644 index 00000000000..0aaa3f5b07c --- /dev/null +++ b/modules/schedule_module/locale/ja/LC_MESSAGES/schedule_module.po @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Schedule Appointment" +msgstr "予約する" diff --git a/modules/schedule_module/locale/schedule_module.pot b/modules/schedule_module/locale/schedule_module.pot new file mode 100644 index 00000000000..3015606edd6 --- /dev/null +++ b/modules/schedule_module/locale/schedule_module.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Schedule Appointment" +msgstr "" diff --git a/modules/schedule_module/php/module.class.inc b/modules/schedule_module/php/module.class.inc index e489746cf84..e37b97d4ad8 100644 --- a/modules/schedule_module/php/module.class.inc +++ b/modules/schedule_module/php/module.class.inc @@ -46,7 +46,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Tools"; + return dgettext("loris", "Tools"); } /** @@ -56,6 +56,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Schedule Appointment"; + return dgettext("schedule_module", "Schedule Appointment"); } } diff --git a/modules/server_processes_manager/locale/ja/LC_MESSAGES/server_processes_manager.po b/modules/server_processes_manager/locale/ja/LC_MESSAGES/server_processes_manager.po new file mode 100644 index 00000000000..8d8f66aad03 --- /dev/null +++ b/modules/server_processes_manager/locale/ja/LC_MESSAGES/server_processes_manager.po @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Server Processes Manager" +msgstr "サーバープロセスマネージャー" diff --git a/modules/server_processes_manager/locale/server_processes_manager.pot b/modules/server_processes_manager/locale/server_processes_manager.pot new file mode 100644 index 00000000000..86d571f8dff --- /dev/null +++ b/modules/server_processes_manager/locale/server_processes_manager.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Server Processes Manager" +msgstr "" diff --git a/modules/server_processes_manager/php/module.class.inc b/modules/server_processes_manager/php/module.class.inc index 9cca03398a8..4c01fb9c4ea 100644 --- a/modules/server_processes_manager/php/module.class.inc +++ b/modules/server_processes_manager/php/module.class.inc @@ -101,7 +101,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Admin"; + return dgettext("loris", "Admin"); } /** @@ -111,6 +111,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Server Processes Manager"; + return dgettext("server_processes_manager", "Server Processes Manager"); } } diff --git a/modules/statistics/locale/ja/LC_MESSAGES/statistics.po b/modules/statistics/locale/ja/LC_MESSAGES/statistics.po new file mode 100644 index 00000000000..547f673bd6d --- /dev/null +++ b/modules/statistics/locale/ja/LC_MESSAGES/statistics.po @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Statistics" +msgstr "統計" diff --git a/modules/statistics/locale/statistics.pot b/modules/statistics/locale/statistics.pot new file mode 100644 index 00000000000..6386bc4348a --- /dev/null +++ b/modules/statistics/locale/statistics.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Statistics" +msgstr "" diff --git a/modules/statistics/php/module.class.inc b/modules/statistics/php/module.class.inc index 6fcda199744..456face224c 100644 --- a/modules/statistics/php/module.class.inc +++ b/modules/statistics/php/module.class.inc @@ -46,7 +46,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Reports"; + return dgettext("loris", "Reports"); } /** @@ -56,7 +56,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Statistics"; + return dgettext("statistics", "Statistics"); } /** diff --git a/modules/survey_accounts/locale/ja/LC_MESSAGES/survey_accounts.po b/modules/survey_accounts/locale/ja/LC_MESSAGES/survey_accounts.po new file mode 100644 index 00000000000..3cf36c449c4 --- /dev/null +++ b/modules/survey_accounts/locale/ja/LC_MESSAGES/survey_accounts.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# I am not sure if this is the right kanji for "survey" +msgid "Survey Accounts" +msgstr "視察アカウント" diff --git a/modules/survey_accounts/locale/survey_accounts.pot b/modules/survey_accounts/locale/survey_accounts.pot new file mode 100644 index 00000000000..354363c7bcc --- /dev/null +++ b/modules/survey_accounts/locale/survey_accounts.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Survey Accounts" +msgstr "" diff --git a/modules/survey_accounts/php/module.class.inc b/modules/survey_accounts/php/module.class.inc index bb8b9a3589e..8bcfcf88489 100644 --- a/modules/survey_accounts/php/module.class.inc +++ b/modules/survey_accounts/php/module.class.inc @@ -45,7 +45,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Admin"; + return dgettext("loris", "Admin"); } /** @@ -55,6 +55,6 @@ class Module extends \Module */ public function getLongName() : string { - return "Survey Accounts"; + return dgettext("survey_accounts", "Survey Accounts"); } } diff --git a/modules/timepoint_list/locale/ja/LC_MESSAGES/timepoint_list.po b/modules/timepoint_list/locale/ja/LC_MESSAGES/timepoint_list.po new file mode 100644 index 00000000000..9fed3db60f1 --- /dev/null +++ b/modules/timepoint_list/locale/ja/LC_MESSAGES/timepoint_list.po @@ -0,0 +1,23 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# I am not sure if this is the right kanji for "survey" +msgid "Timepoint List" +msgstr "タイムポイントリスト" diff --git a/modules/timepoint_list/locale/timepoint_list.pot b/modules/timepoint_list/locale/timepoint_list.pot new file mode 100644 index 00000000000..dd688ec6930 --- /dev/null +++ b/modules/timepoint_list/locale/timepoint_list.pot @@ -0,0 +1,22 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Timepoint List" +msgstr "" diff --git a/modules/timepoint_list/php/module.class.inc b/modules/timepoint_list/php/module.class.inc index 31ebc2b899c..262c219c937 100644 --- a/modules/timepoint_list/php/module.class.inc +++ b/modules/timepoint_list/php/module.class.inc @@ -61,7 +61,7 @@ class Module extends \Module */ public function getLongName() : string { - return "Timepoint List"; + return dgettext("timepoint_list", "Timepoint List"); } /** diff --git a/modules/timepoint_list/php/timepoint_list.class.inc b/modules/timepoint_list/php/timepoint_list.class.inc index 81805344c85..a1d8d84ffdb 100644 --- a/modules/timepoint_list/php/timepoint_list.class.inc +++ b/modules/timepoint_list/php/timepoint_list.class.inc @@ -292,11 +292,12 @@ class Timepoint_List extends \NDB_Menu return new \LORIS\BreadcrumbTrail( new \LORIS\Breadcrumb( - 'Access Profile', + dgettext("candidate_list", 'Access Profile'), '/candidate_list' ), new \LORIS\Breadcrumb( - "Candidate Profile $candid / $pscid", + dgettext("candidate_profile", "Candidate Profile") + . " $candid / $pscid", "/$candid" ) ); diff --git a/modules/user_accounts/locale/ja/LC_MESSAGES/user_accounts.po b/modules/user_accounts/locale/ja/LC_MESSAGES/user_accounts.po new file mode 100644 index 00000000000..c8fa5d7e1b0 --- /dev/null +++ b/modules/user_accounts/locale/ja/LC_MESSAGES/user_accounts.po @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "User Accounts" +msgstr "ユーザーアカウント" + +msgid "Edit User" +msgstr "ユーザーを編集" + diff --git a/modules/user_accounts/locale/user_accounts.pot b/modules/user_accounts/locale/user_accounts.pot new file mode 100644 index 00000000000..91aeb3558ab --- /dev/null +++ b/modules/user_accounts/locale/user_accounts.pot @@ -0,0 +1,26 @@ +# Default LORIS strings to be translated (English). +# Copy this to a language specific file and add translations to the +# new file. +# Copyright (C) 2025 +# This file is distributed under the same license as the LORIS package. +# Dave MacFarlane , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: LORIS 27\n" +"Report-Msgid-Bugs-To: https://github.com/aces/Loris/issues\n" +"POT-Creation-Date: 2025-04-08 14:37-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "User Accounts" +msgstr "" + +msgid "Edit User" +msgstr "" + diff --git a/modules/user_accounts/php/module.class.inc b/modules/user_accounts/php/module.class.inc index dce14c87f58..dcba252d484 100644 --- a/modules/user_accounts/php/module.class.inc +++ b/modules/user_accounts/php/module.class.inc @@ -50,7 +50,7 @@ class Module extends \Module */ public function getMenuCategory() : string { - return "Admin"; + return dgettext("loris", "Admin"); } /** @@ -60,7 +60,7 @@ class Module extends \Module */ public function getLongName() : string { - return "User Accounts"; + return dgettext("user_accounts", "User Accounts"); } /** diff --git a/php/libraries/User.class.inc b/php/libraries/User.class.inc index a320e8a7a87..2d079c4528e 100644 --- a/php/libraries/User.class.inc +++ b/php/libraries/User.class.inc @@ -78,7 +78,14 @@ class User extends UserPermissions implements } //Change 'language_preference' to number rather than a string - $row['language_preference'] = (int)$row['language_preference']; + if ($row['language_preference'] !== null) { + $row['language_preference'] = (int)$row['language_preference']; + $language_code = $DB->pselectOne( + "SELECT language_code FROM language WHERE language_id=:langid", + ['langid' => $row['language_preference']] + ); + $row['language_code'] = $language_code; + } // get user sites $user_centerID_query = $DB->pselect( @@ -378,6 +385,17 @@ class User extends UserPermissions implements return $this->userInfo['language_preference'] ?? null; } + /** + * Return the ISO 639 language code for the language + * this user prefers to use. + * + * @return string + */ + function getLanguageCode() : string + { + return $this->userInfo['language_code'] ?? 'en_CA'; + } + /** * Returns all sites where Examiner is active * diff --git a/shell.nix b/shell.nix index a59e9541895..9d73ec69fcc 100644 --- a/shell.nix +++ b/shell.nix @@ -4,7 +4,7 @@ let enabled ++ [ all.ast ]); in pkgs.mkShell { - buildInputs = with pkgs; [ php git nodejs php84Packages.composer ]; + buildInputs = with pkgs; [ php git nodejs php84Packages.composer gettext ]; shellHook = '' php -v; diff --git a/smarty/templates/main.tpl b/smarty/templates/main.tpl index e59800af43c..ec0c8574873 100644 --- a/smarty/templates/main.tpl +++ b/smarty/templates/main.tpl @@ -120,7 +120,7 @@ - LORIS{if $sandbox}: DEV{/if} + {dgettext("loris", "LORIS")}{if $sandbox}: {dgettext("loris", "DEV")}{/if}