diff --git a/Makefile b/Makefile index b05d030864d..5c8c0835524 100755 --- a/Makefile +++ b/Makefile @@ -90,6 +90,8 @@ locales: msgfmt -o modules/data_release/locale/hi/LC_MESSAGES/data_release.mo modules/data_release/locale/hi/LC_MESSAGES/data_release.po npx i18next-conv -l hi -s modules/data_release/locale/hi/LC_MESSAGES/data_release.po -t modules/data_release/locale/hi/LC_MESSAGES/data_release.json 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/dicom_archive/locale/hi/LC_MESSAGES/dicom_archive.mo modules/dicom_archive/locale/hi/LC_MESSAGES/dicom_archive.po + npx i18next-conv -l hi -s modules/dicom_archive/locale/hi/LC_MESSAGES/dicom_archive.po -t modules/dicom_archive/locale/hi/LC_MESSAGES/dicom_archive.json 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 diff --git a/modules/dicom_archive/jsx/dicom_archive.js b/modules/dicom_archive/jsx/dicom_archive.js index c34830e3b6e..ae5daec44c1 100644 --- a/modules/dicom_archive/jsx/dicom_archive.js +++ b/modules/dicom_archive/jsx/dicom_archive.js @@ -8,6 +8,7 @@ import {withTranslation} from 'react-i18next'; import Loader from 'Loader'; import FilterableDataTable from 'FilterableDataTable'; +import hiStrings from '../locale/hi/LC_MESSAGES/dicom_archive.json'; /** * DICOM Archive Page. * @@ -70,11 +71,12 @@ class DicomArchive extends Component { * @return {*} a formated table cell for a given column */ formatColumn(column, cell, row) { + const {t} = this.props; let result = {cell}; switch (column) { - case 'Archive Location': { + case t('Archive Location', {ns: 'dicom_archive'}): { const downloadURL = '/mri/jiv/get_file.php?file=' + cell - + '&patientName=' + row['Patient Name']; + + '&patientName=' + row[t('Patient Name', {ns: 'dicom_archive'})]; result = @@ -83,15 +85,15 @@ class DicomArchive extends Component { {cell} ; - } break; - case 'Metadata': { + } + case t('Metadata', {ns: 'dicom_archive'}): { const metadataURL = loris.BaseURL + '/dicom_archive/viewDetails/?tarchiveID=' + row.TarchiveID; result = {cell}; - } break; - case 'MRI Browser': { + } + case t('MRI Browser', {ns: 'dicom_archive'}): { if (row.SessionID === null || row.SessionID === '') { result =  ; } else { @@ -116,10 +118,12 @@ class DicomArchive extends Component { * @return {JSX} - React markup for the component */ render() { + const {t} = this.props; // If error occurs, return a message. // XXX: Replace this with a UI component for 500 errors. if (this.state.error) { - return

An error occured while loading the page.

; + return

{t('An error occured while loading the page.', + {ns: 'loris'})}

; } // Waiting for async data to load @@ -133,52 +137,54 @@ class DicomArchive extends Component { */ const options = this.state.data.fieldOptions; const fields = [ - {label: 'Patient ID', show: true, filter: { + {label: t('Patient ID', {ns: 'dicom_archive'}), show: true, filter: { name: 'patientID', type: 'text', }}, - {label: 'Patient Name', show: true, filter: { + {label: t('Patient Name', {ns: 'dicom_archive'}), show: true, filter: { name: 'patientName', type: 'text', }}, - {label: 'Sex', show: true, filter: { + {label: t('Sex', {ns: 'loris'}), show: true, filter: { name: 'sex', type: 'select', options: {M: 'M', F: 'F', O: 'O'}, }}, - {label: 'Date of Birth', show: true, filter: { + {label: t('Date of Birth', {ns: 'loris'}), show: true, filter: { name: 'dateOfBirth', type: 'date', }}, - {label: 'Acquisition Date', show: true, filter: { - name: 'acquisitionDate', - type: 'date', - }}, - {label: 'Archive Location', show: true, filter: { - name: 'archiveLocation', - type: 'text', - }}, - {label: 'Metadata', show: true}, - {label: 'MRI Browser', show: true}, - {label: 'Series UID', show: false, filter: { + {label: t('Acquisition Date', {ns: 'dicom_archive'}), + show: true, filter: { + name: 'acquisitionDate', + type: 'date', + }}, + {label: t('Archive Location', {ns: 'dicom_archive'}), + show: true, filter: { + name: 'archiveLocation', + type: 'text', + }}, + {label: t('Metadata', {ns: 'dicom_archive'}), show: true}, + {label: t('MRI Browser', {ns: 'dicom_archive'}), show: true}, + {label: t('Series UID', {ns: 'dicom_archive'}), show: false, filter: { name: 'seriesUID', type: 'text', }}, - {label: 'Site', show: false, filter: { + {label: t('Site', {ns: 'loris'}), show: false, filter: { name: 'site', type: 'select', options: options.sites, }}, - {label: 'TarchiveID', show: false}, - {label: 'SessionID', show: false}, - {label: 'CenterID', show: false}, - {label: 'IsPhantom', show: false}, + {label: t('TarchiveID', {ns: 'dicom_archive'}), show: false}, + {label: t('SessionID', {ns: 'dicom_archive'}), show: false}, + {label: t('CenterID', {ns: 'dicom_archive'}), show: false}, + {label: t('IsPhantom', {ns: 'dicom_archive'}), show: false}, ]; return ( { - i18n.addResourceBundle('ja', 'dicom_archive', {}); + i18n.addResourceBundle('hi', 'dicom_archive', hiStrings); const Index = withTranslation( ['dicom_archive', 'loris'] )(DicomArchive); diff --git a/modules/dicom_archive/locale/dicom_archive.pot b/modules/dicom_archive/locale/dicom_archive.pot index 56c2acd94c4..879066c0c03 100644 --- a/modules/dicom_archive/locale/dicom_archive.pot +++ b/modules/dicom_archive/locale/dicom_archive.pot @@ -21,3 +21,156 @@ msgstr "" msgid "DICOM Archive" msgstr "" +msgid "Patient ID" +msgstr "" + +msgid "Patient Name" +msgstr "" + +msgid "Acquisition Date" +msgstr "" + +msgid "Archive Location" +msgstr "" + +msgid "Metadata" +msgstr "" + +msgid "MRI Browser" +msgstr "" + +msgid "Series UID" +msgstr "" + +msgid "TarchiveID" +msgstr "" + +msgid "SessionID" +msgstr "" + +msgid "CenterID" +msgstr "" + +msgid "IsPhantom" +msgstr "" + +msgid "Tarchive Metadata" +msgstr "" + +msgid "Acquisition ID" +msgstr "" + +msgid "Patient Birthdate" +msgstr "" + +msgid "Patient Biological Sex" +msgstr "" + +msgid "Date acquired" +msgstr "" + +msgid "Scanner Model" +msgstr "" + +msgid "Serial Number" +msgstr "" + +msgid "Scanner Software Version" +msgstr "" + +msgid "Acquired at" +msgstr "" + +msgid "Number of Acquisitions" +msgstr "" + +msgid "Archived by" +msgstr "" + +msgid "Last update" +msgstr "" + +msgid "Never" +msgstr "" + +msgid "Summary type version" +msgstr "" + +msgid "Source location" +msgstr "" + +msgid "Archive type version" +msgstr "" + +msgid "Archive location" +msgstr "" + +msgid "Archiving log" +msgstr "" + +msgid "md5sum of Archive" +msgstr "" + +msgid "md5sum of Dicom unzipped" +msgstr "" + +msgid "Series" +msgstr "" + +msgid "Show/Hide series" +msgstr "" + +msgid "Series Number" +msgstr "" + +msgid "Series Description" +msgstr "" + +msgid "Protocol Name" +msgstr "" + +msgid "Sequence Name" +msgstr "" + +msgid "Echo Time" +msgstr "" + +msgid "Repetition Time" +msgstr "" + +msgid "Inversion Time" +msgstr "" + +msgid "Slice Thickness" +msgstr "" + +msgid "Phase Encoding" +msgstr "" + +msgid "Number of Files" +msgstr "" + +msgid "SeriesUID" +msgstr "" + +msgid "Files" +msgstr "" + +msgid "Show/Hide files" +msgstr "" + +msgid "SeriesNumber" +msgstr "" + +msgid "FileNumber" +msgstr "" + +msgid "EchoNumber" +msgstr "" + +msgid "Md5Sum" +msgstr "" + +msgid "FileName" +msgstr "" + diff --git a/modules/dicom_archive/locale/hi/LC_MESSAGES/dicom_archive.po b/modules/dicom_archive/locale/hi/LC_MESSAGES/dicom_archive.po new file mode 100644 index 00000000000..4dd3d7b9788 --- /dev/null +++ b/modules/dicom_archive/locale/hi/LC_MESSAGES/dicom_archive.po @@ -0,0 +1,176 @@ +# 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: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "DICOM Archive" +msgstr "डीआईसीओएम संग्रह" + +msgid "Patient ID" +msgstr "रोगी आईडी" + +msgid "Patient Name" +msgstr "रोगी का नाम" + +msgid "Acquisition Date" +msgstr "अर्जन तिथि" + +msgid "Archive Location" +msgstr "संग्रह स्थान" + +msgid "Metadata" +msgstr "मेटाडाटा" + +msgid "MRI Browser" +msgstr "एमआरआई ब्राउज़र" + +msgid "Series UID" +msgstr "सीरीज़ यूआईडी" + +msgid "TarchiveID" +msgstr "टीआर्काइवआईडी" + +msgid "SessionID" +msgstr "सत्र आईडी" + +msgid "CenterID" +msgstr "केंद्र आईडी" + +msgid "IsPhantom" +msgstr "क्या फैंटम है" + +msgid "Tarchive Metadata" +msgstr "टीआर्काइव मेटाडाटा" + +msgid "Acquisition ID" +msgstr "अर्जन आईडी" + +msgid "Patient Birthdate" +msgstr "रोगी जन्म तिथि" + +msgid "Patient Biological Sex" +msgstr "रोगी जैविक लिंग" + +msgid "Date acquired" +msgstr "अर्जन तिथि" + +msgid "Scanner Model" +msgstr "स्कैनर मॉडल" + +msgid "Serial Number" +msgstr "सीरियल नंबर" + +msgid "Scanner Software Version" +msgstr "स्कैनर सॉफ़्टवेयर संस्करण" + +msgid "Acquired at" +msgstr "अर्जित स्थान" + +msgid "Number of Acquisitions" +msgstr "अर्जनों की संख्या" + +msgid "Archived by" +msgstr "द्वारा संग्रहित" + +msgid "Last update" +msgstr "अंतिम अपडेट" + +msgid "Never" +msgstr "कभी नहीं" + +msgid "Summary type version" +msgstr "सारांश प्रकार संस्करण" + +msgid "Source location" +msgstr "स्रोत स्थान" + +msgid "Archive type version" +msgstr "संग्रह प्रकार संस्करण" + +msgid "Archive location" +msgstr "संग्रह स्थान" + +msgid "Archiving log" +msgstr "संग्रह लॉग" + +msgid "md5sum of Archive" +msgstr "संग्रह का md5sum" + +msgid "md5sum of Dicom unzipped" +msgstr "अनज़िप किए गए डिकॉम का md5sum" + +msgid "Series" +msgstr "सीरीज़" + +msgid "Show/Hide series" +msgstr "सीरीज़ दिखाएँ/छुपाएँ" + +msgid "Series Number" +msgstr "सीरीज़ नंबर" + +msgid "Series Description" +msgstr "सीरीज़ विवरण" + +msgid "Protocol Name" +msgstr "प्रोटोकॉल नाम" + +msgid "Sequence Name" +msgstr "अनुक्रम नाम" + +msgid "Echo Time" +msgstr "इको समय" + +msgid "Repetition Time" +msgstr "पुनरावृत्ति समय" + +msgid "Inversion Time" +msgstr "इनवर्शन समय" + +msgid "Slice Thickness" +msgstr "स्लाइस मोटाई" + +msgid "Phase Encoding" +msgstr "फेज एन्कोडिंग" + +msgid "Number of Files" +msgstr "फ़ाइलों की संख्या" + +msgid "SeriesUID" +msgstr "सीरीज़यूआईडी" + +msgid "Files" +msgstr "फ़ाइलें" + +msgid "Show/Hide files" +msgstr "फ़ाइलें दिखाएँ/छुपाएँ" + +msgid "SeriesNumber" +msgstr "सीरीज़नंबर" + +msgid "FileNumber" +msgstr "फ़ाइल नंबर" + +msgid "EchoNumber" +msgstr "इको नंबर" + +msgid "Md5Sum" +msgstr "Md5Sum" + +msgid "FileName" +msgstr "फ़ाइल नाम" + diff --git a/modules/dicom_archive/templates/form_viewDetails.tpl b/modules/dicom_archive/templates/form_viewDetails.tpl index e441b70ddba..1d12168571a 100644 --- a/modules/dicom_archive/templates/form_viewDetails.tpl +++ b/modules/dicom_archive/templates/form_viewDetails.tpl @@ -1,7 +1,7 @@ -

Tarchive Metadata

+

{dgettext("dicom_archive", "Tarchive Metadata")}

- + - + {$archive.PatientID} - + {$archive.PatientName} - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - +
Acquisition ID{dgettext("dicom_archive", "Acquisition ID")} {$archive.DicomArchiveID} @@ -9,106 +9,106 @@
Patient ID{dgettext("dicom_archive", "Patient ID")}
Patient Name{dgettext("dicom_archive", "Patient Name")}
Patient Birthdate{dgettext("dicom_archive", "Patient Birthdate")} {$archive.PatientDoB}
Patient Biological Sex{dgettext("dicom_archive", "Patient Biological Sex")} {$archive.PatientSex}
Date acquired{dgettext("dicom_archive", "Date acquired")} {$archive.DateAcquired}
Scanner Model{dgettext("dicom_archive", "Scanner Model")} {$archive.ScannerManufacturer} {$archive.ScannerModel} - (Serial Number: {$archive.ScannerSerialNumber}) + ({dgettext("dicom_archive", "Serial Number")}: {$archive.ScannerSerialNumber})
Scanner Software Version{dgettext("dicom_archive", "Scanner Software Version")} {$archive.ScannerSoftwareVersion}
Acquired at{dgettext("dicom_archive", "Acquired at")} {$archive.CenterName}
Number of Acquisitions{dgettext("dicom_archive", "Number of Acquisitions")} {$archive.AcquisitionCount}
Archived by{dgettext("dicom_archive", "Archived by")} {$archive.CreatingUser}
Last update{if !isset($archive.LastUpdate)}Never{/if}{dgettext("dicom_archive", "Last update")}{if !isset($archive.LastUpdate)}{dgettext("dicom_archive", "Never")}{/if}
Summary type version{dgettext("dicom_archive", "Summary type version")} {$archive.sumTypeVersion}
Source location{dgettext("dicom_archive", "Source location")} {$archive.SourceLocation}
Archive type version{dgettext("dicom_archive", "Archive type version")} {$archive.tarTypeVersion}
Archive location{dgettext("dicom_archive", "Archive location")} {$archive.ArchiveLocation}
Archiving log{dgettext("dicom_archive", "Archiving log")}
{$archive.CreateInfo}
md5sum of Archive{dgettext("dicom_archive", "md5sum of Archive")}
{$archive.md5sumArchive}
md5sum of Dicom unzipped{dgettext("dicom_archive", "md5sum of Dicom unzipped")}
{$archive.md5sumDicomOnly}
Series{dgettext("dicom_archive", "Series")}
- - - - - - - - - - - + + + + + + + + + + + {section name=record loop=$archive_series} @@ -134,20 +134,20 @@ - +
Series NumberSeries DescriptionProtocol NameSequence NameEcho TimeRepetition TimeInversion TimeSlice ThicknessPhase EncodingNumber of FilesSeriesUID{dgettext("dicom_archive", "Series Number")}{dgettext("dicom_archive", "Series Description")}{dgettext("dicom_archive", "Protocol Name")}{dgettext("dicom_archive", "Sequence Name")}{dgettext("dicom_archive", "Echo Time")}{dgettext("dicom_archive", "Repetition Time")}{dgettext("dicom_archive", "Inversion Time")}{dgettext("dicom_archive", "Slice Thickness")}{dgettext("dicom_archive", "Phase Encoding")}{dgettext("dicom_archive", "Number of Files")}{dgettext("dicom_archive", "SeriesUID")}
Files{dgettext("dicom_archive", "Files")}
- - - - - - + + + + + + {section name=record loop=$archive_files}
SeriesNumberFileNumberEchoNumberSeriesDescriptionMd5SumFileName{dgettext("dicom_archive", "SeriesNumber")}{dgettext("dicom_archive", "FileNumber")}{dgettext("dicom_archive", "EchoNumber")}{dgettext("dicom_archive", "SeriesDescription")}{dgettext("dicom_archive", "Md5Sum")}{dgettext("dicom_archive", "FileName")}