This commit is contained in:
mario
2025-03-07 13:47:44 +07:00
commit c4efec5a14
3358 changed files with 303774 additions and 0 deletions

1
platform/i18n/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.locize

View File

@@ -0,0 +1,12 @@
const path = require('path');
const webpackCommon = require('./../../../.webpack/webpack.base.js');
const SRC_DIR = path.join(__dirname, '../src');
const DIST_DIR = path.join(__dirname, '../dist');
const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
module.exports = (env, argv) => {
return webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
};

View File

@@ -0,0 +1,41 @@
const { merge } = require('webpack-merge');
const path = require('path');
const webpackCommon = require('./../../../.webpack/webpack.base.js');
const pkg = require('./../package.json');
const ROOT_DIR = path.join(__dirname, './..');
const SRC_DIR = path.join(__dirname, '../src');
const DIST_DIR = path.join(__dirname, '../dist');
const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
module.exports = (env, argv) => {
const commonConfig = webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
return merge(commonConfig, {
stats: {
colors: true,
hash: true,
timings: true,
assets: true,
chunks: false,
chunkModules: false,
modules: false,
children: false,
warnings: true,
},
optimization: {
minimize: true,
sideEffects: false,
},
output: {
path: ROOT_DIR,
library: 'ohif-i18n',
libraryTarget: 'umd',
filename: pkg.main,
},
});
};

2385
platform/i18n/CHANGELOG.md Normal file

File diff suppressed because it is too large Load Diff

21
platform/i18n/LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2018 Open Health Imaging Foundation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

4
platform/i18n/README.md Normal file
View File

@@ -0,0 +1,4 @@
# @ohif/i18n
More information available at
[OHIF Docs](https://docs.ohif.org/viewer/internationalization.html).

View File

@@ -0,0 +1 @@
module.exports = require('../../babel.config.js');

View File

@@ -0,0 +1,54 @@
{
"name": "@ohif/i18n",
"version": "3.9.1",
"description": "Internationalization library for The OHIF Viewer",
"author": "OHIF",
"license": "MIT",
"repository": "OHIF/Viewers",
"main": "dist/ohif-i18n.umd.js",
"module": "src/index.js",
"engines": {
"node": ">=14",
"npm": ">=6",
"yarn": ">=1.16.0"
},
"files": [
"dist",
"README.md"
],
"publishConfig": {
"access": "public"
},
"scripts": {
"clean": "shx rm -rf dist",
"clean:deep": "yarn run clean && shx rm -rf node_modules",
"dev": "cross-env NODE_ENV=development webpack --config .webpack/webpack.dev.js --watch --output-pathinfo",
"dev:i18n": "yarn run dev",
"build": "cross-env NODE_ENV=production webpack --config .webpack/webpack.prod.js",
"build:package": "yarn run build",
"pullTranslations": "./pullTranslations.sh",
"test:unit": "echo 'platform/i18n: missing unit tests'",
"test:unit:ci": "echo 'platform/i18n: missing unit tests'"
},
"peerDependencies": {
"i18next": "^17.0.3",
"i18next-browser-languagedetector": "^3.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^12.2.2"
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next-locize-backend": "^2.0.0",
"locize-editor": "^2.0.0",
"locize-lastused": "^1.1.0"
},
"devDependencies": {
"i18next": "^17.0.3",
"i18next-browser-languagedetector": "^3.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^12.2.2",
"webpack-merge": "^5.7.3"
}
}

View File

@@ -0,0 +1,8 @@
cp -r src/locales/test-LNG src/temp
rm -rf src/locales/
mkdir -p src/locales/
cd src/locales/
npx locize --config-path ../../.locize download --ver latest
cd ../../
node ./writeLocaleIndexFiles.js
cp -r src/temp src/locales/test-LNG

View File

@@ -0,0 +1,22 @@
const debugMode = !!(process.env.NODE_ENV !== 'production' && process.env.REACT_APP_I18N_DEBUG);
const detectionOptions = {
// order and from where user language should be detected
order: ['querystring', 'cookie', 'localStorage', 'navigator', 'htmlTag', 'path', 'subdomain'],
// keys or params to lookup language from
lookupQuerystring: 'lng',
lookupCookie: 'i18next',
lookupLocalStorage: 'i18nextLng',
lookupFromPathIndex: 0,
lookupFromSubdomainIndex: 0,
// cache user language on
caches: ['localStorage', 'cookie'],
excludeCacheFor: ['cimode'], // languages to not persist (cookie, localStorage)
// optional htmlTag with lang attribute, the default is:
htmlTag: document.documentElement,
};
export { debugMode, detectionOptions };

View File

@@ -0,0 +1,8 @@
import { debugMode } from './config';
export default (message, level = 'log') => {
if (debugMode) {
// eslint-disable-next-line
console[level]('@ohif/i18n: ', message);
}
};

152
platform/i18n/src/index.js Normal file
View File

@@ -0,0 +1,152 @@
import i18n from 'i18next';
import Backend from 'i18next-locize-backend';
import LastUsed from 'locize-lastused';
import Editor from 'locize-editor';
import LanguageDetector from 'i18next-browser-languagedetector';
import { initReactI18next } from 'react-i18next';
import customDebug from './debugger';
import pkg from '../package.json';
import { debugMode, detectionOptions } from './config';
import { getLanguageLabel, getAvailableLanguagesInfo } from './utils.js';
// Note: The index.js files inside src/locales are dynamically generated
// by the pullTranslations.sh script
import locales from './locales';
function addLocales(newLocales) {
customDebug(`Adding locales ${newLocales}`, 'info');
let resourceBundle = [];
Object.keys(newLocales).map(key => {
Object.keys(newLocales[key]).map(namespace => {
const locale = newLocales[key][namespace];
resourceBundle.push({ key, namespace, locale });
i18n.addResourceBundle(key, namespace, locale, true, true);
});
});
customDebug(`Locales added successfully`, 'info');
customDebug(resourceBundle, 'info');
}
/*
* Note: Developers can add the API key to use the
* in-context editor using environment variables.
* (DO NOT commit the API key)
*/
const locizeOptions = {
projectId: process.env.LOCIZE_PROJECTID,
apiKey: process.env.LOCIZE_API_KEY,
referenceLng: 'en-US',
fallbacklng: 'en-US',
};
const envUseLocize = !!process.env.USE_LOCIZE;
const envApiKeyAvailable = !!process.env.LOCIZE_API_KEY;
const DEFAULT_LANGUAGE = 'en-US';
function initI18n(
detection = detectionOptions,
useLocize = envUseLocize,
apiKeyAvailable = envApiKeyAvailable
) {
let initialized;
if (useLocize) {
customDebug(`Using Locize for translation files`, 'info');
initialized = i18n
// i18next-locize-backend
// loads translations from your project, saves new keys to it (saveMissing: true)
// https://github.com/locize/i18next-locize-backend
.use(Backend)
// locize-lastused
// sets a timestamp of last access on every translation segment on locize
// -> safely remove the ones not being touched for weeks/months
// https://github.com/locize/locize-lastused
.use(LastUsed)
// locize-editor
// InContext Editor of locize ?locize=true to show it
// https://github.com/locize/locize-editor
.use(Editor)
// detect user language
// learn more: https://github.com/i18next/i18next-browser-languageDetector
.use(LanguageDetector)
// pass the i18n instance to react-i18next.
.use(initReactI18next)
// init i18next
// for all options read: https://www.i18next.com/overview/configuration-options
.init({
fallbackLng: DEFAULT_LANGUAGE,
saveMissing: apiKeyAvailable,
debug: debugMode,
keySeparator: false,
interpolation: {
escapeValue: false, // not needed for react as it escapes by default
},
detection,
backend: locizeOptions,
locizeLastUsed: locizeOptions,
editor: {
...locizeOptions,
onEditorSaved: async (lng, ns) => {
// reload that namespace in given language
await i18n.reloadResources(lng, ns);
// trigger an event on i18n which triggers a rerender
// based on bindI18n below in react options
i18n.emit('editorSaved');
},
},
react: {
useSuspense: false, // TODO: Was seeing weird errors without this
wait: true,
bindI18n: 'languageChanged editorSaved',
},
});
} else {
customDebug(`Using local translation files`, 'info');
initialized = i18n
// detect user language
// learn more: https://github.com/i18next/i18next-browser-languageDetector
.use(LanguageDetector)
// pass the i18n instance to react-i18next.
.use(initReactI18next)
// init i18next
// for all options read: https://www.i18next.com/overview/configuration-options
.init({
fallbackLng: DEFAULT_LANGUAGE,
resources: locales,
debug: debugMode,
keySeparator: false,
interpolation: {
escapeValue: false, // not needed for react as it escapes by default
},
detection,
react: {
wait: true,
},
});
}
return initialized.then(function (t) {
i18n.T = t;
customDebug(`T function available.`, 'info');
});
}
customDebug(`version ${pkg.version} loaded.`, 'info');
i18n.initializing = initI18n();
i18n.initI18n = initI18n;
i18n.addLocales = addLocales;
i18n.availableLanguages = getAvailableLanguagesInfo(locales);
i18n.defaultLanguage = {
label: getLanguageLabel(DEFAULT_LANGUAGE),
value: DEFAULT_LANGUAGE,
};
i18n.currentLanguage = () => ({
label: getLanguageLabel(i18n.language),
value: i18n.language,
});
export default i18n;

View File

@@ -0,0 +1,3 @@
{
"No hotkeys found": "Nenhuma tecla de atalho está configurada para este aplicativo. As teclas de atalho podem ser configuradas no arquivo app-config.js do aplicativo."
}

View File

@@ -0,0 +1,7 @@
import UserPreferencesModal from './UserPreferencesModal.json';
export default {
ar: {
UserPreferencesModal,
},
};

View File

@@ -0,0 +1,14 @@
{
"About OHIF Viewer": "Über OHIF Viewer",
"Browser": "Browser",
"Build number": "Build-Nummer",
"Last master commits": "Letzter Master Commit",
"More details": "Mehr Details",
"Name": "Name",
"OS": "OS",
"Report an issue": "Ein Problem melden",
"Repository URL": "Repository URL",
"Value": "Wert",
"Version information": "Informationen zur Version",
"Visit the forum": "Besuchen Sie das Forum"
}

View File

@@ -0,0 +1,50 @@
{
"Acquired": "Akquiriert",
"Angle": "Winkel",
"Axial": "Axial",
"Bidirectional": "Bidirektional",
"Brush": "Pinsel",
"CINE": "CINE",
"Cancel": "Abbrechen",
"Circle": "Kreis",
"Clear": "Leeren",
"Coronal": "Koronal",
"Crosshairs": "Fadenkreuz",
"Download": "Download",
"Ellipse": "Ellipse",
"Elliptical": "Elliptisch",
"Flip Horizontally": "Horizontal spiegeln",
"Flip Vertically": "Vertikal spiegeln",
"Freehand": "Freihand",
"Invert": "Invertieren",
"Invert Colors": "Invertieren",
"Layout": "$t(Common:Layout)",
"Grid Layout": "Rasterlayout",
"Length": "Länge",
"Levels": "Level",
"Window Level": "Helligkeit/Kontrast",
"Magnify": "Vergrössern",
"Manual": "Manuell",
"Measurements": "Messungen",
"More": "$t(Common:More)",
"Next": "$t(Common:Next)",
"Pan": "Schwenken",
"Play": "$t(Common:Play)",
"Previous": "$t(Common:Previous)",
"Probe": "Probe",
"ROI Window": "ROI Fenster",
"Rectangle": "Rechteck",
"Reset": "$t(Common:Reset)",
"Reset View": "$t(Common:Reset)",
"Reset to defaults": "Auf Default zurücksetzen",
"Rotate Right": "Nach rechts drehen",
"Rotate +90": "Drehen +90",
"Sagittal": "Sagittal",
"Save": "Speichern",
"Stack Scroll": "Stack Scroll",
"Stop": "$t(Common:Stop)",
"Themes": "Themen",
"Zoom": "Zoomen",
"More Tools": "Weitere Werkzeuge",
"More Measure Tools": "Weitere Messwerkzeuge"
}

View File

@@ -0,0 +1,8 @@
{
"Next image": "Nächstes Bild",
"Play / Stop": "$t(Common:Play) / $t(Common:Stop)",
"Previous image": "Vorheriges Bild",
"Skip to first image": "Zum ersten Bild springen",
"Skip to last image": "Zum letzten Bild springen",
"fps": "fps"
}

View File

@@ -0,0 +1,16 @@
{
"Close": "Schliessen",
"Image": "Bild",
"Layout": "Layout",
"Measurements": "Messungen",
"More": "Mehr",
"Next": "Nächste",
"Play": "Abspielen",
"Previous": "Vorherige",
"Reset": "Zurücksetzen",
"RowsPerPage": "Zeilen pro Seite",
"Series": "Serien",
"Show": "Anzeigen",
"Stop": "Stoppen",
"StudyDate": "Studiendatum"
}

View File

@@ -0,0 +1,5 @@
{
"Clear dates": "Daten löschen",
"End Date": "Enddatum",
"Start Date": "Startdatum"
}

View File

@@ -0,0 +1,8 @@
{
"About": "Über",
"Back to Viewer": "Zurück zum Viewer",
"INVESTIGATIONAL USE ONLY": "NUR FÜR FORSCHUNGSZWECKE",
"Options": "Optionen",
"Preferences": "Einstellungen",
"Study list": "Studienliste"
}

View File

@@ -0,0 +1,9 @@
{
"Criteria nonconformities": "Kriterien für Nichtkonformitäten",
"Delete": "Löschen",
"Description": "Beschreibung",
"MAX": "MAX",
"NonTargets": "NonTargets",
"Relabel": "Relabel",
"Targets": "Targets"
}

View File

@@ -0,0 +1,13 @@
{
"AccessionNumber": "Eingangsnummer",
"Accession": "Eingangsnummer",
"Empty": "Leer",
"MRN": "MRN",
"Modality": "Modalität",
"Patient Name": "Patientenname",
"Study date": "Studiendatum",
"Description": "Beschreibung",
"Study list": "Studienliste",
"Instances": "Instanzen",
"Number of studies": "Studien"
}

View File

@@ -0,0 +1,11 @@
{
"Cancel": "$t(Buttons:Cancel)",
"No hotkeys found": "Keine Hotkeys gefunden.",
"Reset to defaults": "$t(Buttons:Reset to defaults)",
"ResetDefaultMessage": "Einstellungen zurückgesetzt. Bitte speichern.",
"Save": "$t(Buttons:Save)",
"SaveMessage": "Gespeichert",
"User preferences": "Benutzereinstellungen",
"Language": "Sprache",
"General": "Allgemein"
}

View File

@@ -0,0 +1,14 @@
{
"emptyFilenameError": "Der Dateiname darf nicht leer sein.",
"fileType": "Dateityp",
"filename": "Dateiname",
"formTitle": "Bitte geben Sie die Grösse, den Dateinamen und den gewünschten Typ für das Bild an.",
"imageHeight": "Höhe (px)",
"imagePreview": "Vorschau",
"imageWidth": "Breite (px)",
"keepAspectRatio": "Seitenverhältnis beibehalten",
"loadingPreview": "Vorschau laden...",
"minHeightError": "Die Mindesthöhe beträgt 100px.",
"minWidthError": "Die Mindestbreite beträgt 100px.",
"showAnnotations": "Annotationen anzeigen"
}

View File

@@ -0,0 +1,25 @@
import AboutModal from './AboutModal.json';
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import DatePicker from './DatePicker.json';
import Header from './Header.json';
import MeasurementTable from './MeasurementTable.json';
import StudyList from './StudyList.json';
import UserPreferencesModal from './UserPreferencesModal.json';
import ViewportDownloadForm from './ViewportDownloadForm.json';
export default {
de: {
AboutModal,
Buttons,
CineDialog,
Common,
DatePicker,
Header,
MeasurementTable,
StudyList,
UserPreferencesModal,
ViewportDownloadForm,
},
};

View File

@@ -0,0 +1,18 @@
{
"About OHIF Viewer": "About OHIF Viewer",
"Browser": "Browser",
"Build number": "Build Number",
"Commit hash": "Commit hash",
"Data citation": "Data citation",
"Important links": "Important links",
"Last master commits": "Latest Master Commits",
"More details": "More details",
"Name": "Name",
"OS": "OS",
"Report an issue": "Report an issue",
"Repository URL": "Repository URL",
"Value": "Value",
"Version information": "Version Information",
"Version number": "Version number",
"Visit the forum": "Visit the forum"
}

View File

@@ -0,0 +1,51 @@
{
"Acquired": "Acquired",
"Angle": "Angle",
"Annotation": "Annotation",
"Axial": "Axial",
"Bidirectional": "Bidirectional",
"Brush": "Brush",
"Cine": "Cine",
"CINE": "CINE",
"Cancel": "Cancel",
"Capture": "Capture",
"Circle": "Circle",
"Clear": "Clear",
"Coronal": "Coronal",
"Crosshairs": "Crosshairs",
"Download": "Download",
"Ellipse": "Ellipse",
"Elliptical": "Elliptical",
"Flip H": "Flip H",
"Flip Horizontally": "Flip Horizontally",
"Flip V": "Flip V",
"Freehand": "Freehand",
"Grid Layout": "Grid Layout",
"Invert": "Invert",
"Layout": "$t(Common:Layout)",
"Length": "Length",
"Levels": "Levels",
"Magnify": "Magnify",
"Manual": "Manual",
"Measurements": "Measurements",
"More": "$t(Common:More)",
"More Tools": "More Tools",
"Next": "$t(Common:Next)",
"Pan": "Pan",
"Play": "$t(Common:Play)",
"Previous": "$t(Common:Previous)",
"Probe": "Probe",
"ROI Window": "ROI Window",
"Rectangle": "Rectangle",
"Reference Lines": "Reference Lines",
"Reset": "$t(Common:Reset)",
"Reset to defaults": "$t(Common:Reset) to Defaults",
"Rotate Right": "Rotate Right",
"Sagittal": "Sagittal",
"Save": "Save",
"Stack Scroll": "Stack Scroll",
"Stack Image Sync": "Stack Image Sync",
"Stop": "$t(Common:Stop)",
"Themes": "Themes",
"Zoom": "Zoom"
}

View File

@@ -0,0 +1,8 @@
{
"Next image": "$t(Common:Next) $t(Common:Image)",
"Play / Stop": "$t(Common:Play) / $t(Common:Stop)",
"Previous image": "$t(Common:Previous) $t(Common:Image)",
"Skip to first image": "Skip to first $t(Common:Image)",
"Skip to last image": "Skip to last $t(Common:Image)",
"fps": "fps"
}

View File

@@ -0,0 +1,22 @@
{
"Back to": "Back to {{location}}",
"Close": "Close",
"Image": "Image",
"Layout": "Layout",
"LOAD": "LOAD",
"Measurements": "Measurements",
"mm": "mm",
"More": "More",
"Next": "Next",
"No": "No",
"NoStudyDate": "No Study Date",
"Play": "Play",
"Previous": "Previous",
"Reset": "Reset",
"RowsPerPage": "rows per page",
"Series": "Series",
"Show": "Show",
"Stop": "Stop",
"StudyDate": "Study Date",
"Yes": "Yes"
}

View File

@@ -0,0 +1,24 @@
{
"Configure Data Source": "Configure Data Source",
"Data set": "Data set",
"DICOM store": "DICOM store",
"Location": "Location",
"Project": "Project",
"Error fetching Data set list": "Error fetching data sets",
"Error fetching DICOM store list": "Error fetching DICOM stores",
"Error fetching Location list": "Error fetching locations",
"Error fetching Project list": "Error fetching projects",
"No Project available": "No projects available",
"No Location available": "No locations available",
"No Data set available": "No data sets available",
"No DICOM store available": "No DICOM stores available",
"Select": "Select",
"Search Data set list": "Search data sets",
"Search DICOM store list": "Search DICOM stores",
"Search Location list": "Search locations",
"Search Project list": "Search projects",
"Select Data set": "Select a data Set",
"Select DICOM store": "Select a DICOM store",
"Select Location": "Select a location",
"Select Project": "Select a project"
}

View File

@@ -0,0 +1,9 @@
{
"Clear dates": "Clear dates",
"Close": "$t(Common:Close)",
"End Date": "End Date",
"Last 7 days": "Last 7 days",
"Last 30 days": "Last 30 days",
"Start Date": "Start Date",
"Today": "Today"
}

View File

@@ -0,0 +1,8 @@
{
"Context": "Context",
"Error Message": "Error Message",
"Something went wrong": "Something went wrong",
"in": "in",
"Sorry, something went wrong there. Try again.": "Sorry, something went wrong there. Try again.",
"Stack Trace": "Stack Trace"
}

View File

@@ -0,0 +1,9 @@
{
"About": "About",
"Back to Viewer": "Back to Viewer",
"INVESTIGATIONAL USE ONLY": "INVESTIGATIONAL USE ONLY",
"Options": "Options",
"Preferences": "Preferences",
"Study list": "Study list",
"Logout": "Logout"
}

View File

@@ -0,0 +1,6 @@
{
"Field can't be empty": "Field can't be empty",
"Hotkey is already in use": "\"{{action}}\" is already using the \"{{pressedKeys}}\" shortcut.",
"It's not possible to define only modifier keys (ctrl, alt and shift) as a shortcut": "It's not possible to define only modifier keys (ctrl, alt and shift) as a shortcut",
"Shortcut combination is not allowed": "{{pressedKeys}} shortcut combination is not allowed"
}

View File

@@ -0,0 +1,12 @@
{
"Criteria nonconformities": "Criteria nonconformities",
"Delete": "Delete",
"Description": "Description",
"MAX": "MAX",
"Measurements": "Measurements",
"No, do not ask again": "No, do not ask again",
"NonTargets": "NonTargets",
"Relabel": "Relabel",
"Targets": "Targets",
"Track measurements for this series?": "Track measurements for this series?"
}

View File

@@ -0,0 +1,16 @@
{
"Display Set Messages": "Display Set Messages",
"1": "No valid instances found in series.",
"2": "Display set has missing position information.",
"3": "Display set is not a reconstructable 3D volume.",
"4": "Multi frame display sets do not have pixel measurement information.",
"5": "Multi frame display sets do not have orientation information.",
"6": "Multi frame display sets do not have position information.",
"7": "Display set has missing frames.",
"8": "Display set has irregular spacing.",
"9": "Display set has inconsistent dimensions between frames.",
"10": "Display set has frames with inconsistent number of components.",
"11": "Display set has frames with inconsistent orientations.",
"12": "Display set has inconsistent position information.",
"13": "Unsupported display set."
}

View File

@@ -0,0 +1,8 @@
{
"Basic Dev Viewer": "Basic Dev Viewer",
"Basic Test Mode": "Basic Test Mode",
"Basic Viewer": "Basic Viewer",
"Microscopy": "Microscopy",
"Segmentation": "Segmentation",
"Total Metabolic Tumor Volume": "Total Metabolic Tumor Volume"
}

View File

@@ -0,0 +1,18 @@
{
"Active": "Active",
"Add new segmentation": "Add new segmentation",
"Add segment": "Add segment",
"Add segmentation": "Add segmentation",
"Delete": "Delete",
"Display inactive segmentations": "Display inactive segmentations",
"Export DICOM SEG": "Export DICOM SEG",
"Download DICOM SEG": "Download DICOM SEG",
"Download DICOM RTSTRUCT": "Download DICOM RTSTRUCT",
"Fill": "Fill",
"Inactive segmentations": "Inactive segmentations",
"Opacity": "Opacity",
"Outline": "Outline",
"Rename": "Rename",
"Segmentation": "Segmentation",
"Size": "Size"
}

View File

@@ -0,0 +1,4 @@
{
"Measurements": "Measurements",
"Studies": "Studies"
}

View File

@@ -0,0 +1,5 @@
{
"Primary": "Primary",
"Recent": "Recent",
"All": "All"
}

View File

@@ -0,0 +1,3 @@
{
"Tracked series": "{{trackedSeries}} Tracked series"
}

View File

@@ -0,0 +1,20 @@
{
"AccessionNumber": "Accession #",
"ClearFilters": "Clear Filters",
"Description": "Description",
"Empty": "Empty",
"Filter list to 100 studies or less to enable sorting": "Filter the list to 100 studies or less to enable sorting",
"Instances": "Instances",
"Modality": "Modality",
"MRN": "MRN",
"Next": "Next >",
"No studies available": "No studies available",
"Number of studies": "Number of studies",
"Page": "Page",
"PatientName": "Patient Name",
"Previous": "< Back",
"Results per page": "Results per page",
"StudyDate": "Study Date",
"StudyList": "Study List",
"Upload": "Upload"
}

View File

@@ -0,0 +1,5 @@
{
"Series is tracked": "Series is tracked",
"Series is untracked": "Series is untracked",
"Viewport": "Viewport"
}

View File

@@ -0,0 +1,4 @@
{
"Copied": "Copied",
"Failed to copy": "Failed to copy"
}

View File

@@ -0,0 +1,6 @@
{
"Series is tracked and can be viewed in the measurement panel":
"Series is tracked and can be viewed in the measurement panel",
"Measurements for untracked series will not be shown in the measurements panel":
"Measurements for untracked series will not be shown in the measurements panel"
}

View File

@@ -0,0 +1,9 @@
{
"Cancel": "$t(Buttons:Cancel)",
"No hotkeys found": "No hotkeys are configured for this application. Hotkeys can be configured in the application's app-config.js file.",
"Reset to defaults": "$t(Buttons:Reset to defaults)",
"ResetDefaultMessage": "Preferences successfully reset to default. <br /> You must <strong>Save</strong> to perform this action.",
"Save": "$t(Buttons:Save)",
"SaveMessage": "Preferences saved",
"User preferences": "User Preferences"
}

View File

@@ -0,0 +1,14 @@
{
"emptyFilenameError": "The file name cannot be empty.",
"fileType": "File Type",
"filename": "File Name",
"formTitle": "Please specify the dimensions, filename, and desired type for the output image.",
"imageHeight": "Image height (px)",
"imagePreview": "Image Preview",
"imageWidth": "Image width (px)",
"keepAspectRatio": "Keep aspect ratio",
"loadingPreview": "Loading Image Preview...",
"minHeightError": "The minimum valid height is 100px.",
"minWidthError": "The minimum valid width is 100px.",
"showAnnotations": "Show Annotations"
}

View File

@@ -0,0 +1,5 @@
{
"Back to Display Options": "Back to Display Options",
"Modality Presets": "{{modality}} Presets",
"Modality Window Presets": "{{modality}} Window Presets"
}

View File

@@ -0,0 +1,51 @@
import AboutModal from './AboutModal.json';
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import DataSourceConfiguration from './DataSourceConfiguration.json';
import DatePicker from './DatePicker.json';
import ErrorBoundary from './ErrorBoundary.json';
import Header from './Header.json';
import HotkeysValidators from './HotkeysValidators.json';
import MeasurementTable from './MeasurementTable.json';
import Modes from './Modes.json';
import SegmentationTable from './SegmentationTable.json';
import SidePanel from './SidePanel.json';
import StudyBrowser from './StudyBrowser.json';
import StudyItem from './StudyItem.json';
import StudyList from './StudyList.json';
import TooltipClipboard from './TooltipClipboard.json';
import ThumbnailTracked from './ThumbnailTracked.json';
import TrackedCornerstoneViewport from './TrackedCornerstoneViewport.json';
import UserPreferencesModal from './UserPreferencesModal.json';
import ViewportDownloadForm from './ViewportDownloadForm.json';
import Messages from './Messages.json';
import WindowLevelActionMenu from './WindowLevelActionMenu.json';
export default {
'en-US': {
AboutModal,
Buttons,
CineDialog,
Common,
DataSourceConfiguration,
DatePicker,
ErrorBoundary,
Header,
HotkeysValidators,
MeasurementTable,
Modes,
SegmentationTable,
SidePanel,
StudyBrowser,
StudyItem,
StudyList,
TooltipClipboard,
ThumbnailTracked,
TrackedCornerstoneViewport,
UserPreferencesModal,
ViewportDownloadForm,
Messages,
WindowLevelActionMenu,
},
};

View File

@@ -0,0 +1,14 @@
{
"About OHIF Viewer": "Sobre OHIF Viewer",
"Browser": "Navegador",
"Build number": "Número de compilación",
"Last master commits": "Últimos Master Commits",
"More details": "Más detalles",
"Name": "Nombre",
"OS": "SO",
"Report an issue": "Informar un problema",
"Repository URL": "URL del repositorio",
"Value": "Valor",
"Version information": "Información de la versión",
"Visit the forum": "Visita el foro"
}

View File

@@ -0,0 +1,43 @@
{
"Acquired": "Adquirido",
"Angle": "Ángulo",
"Axial": "Axial",
"Bidirectional": "Bidireccional",
"Brush": "Cepillo",
"CINE": "CINE",
"Cancel": "Cancelar",
"Circle": "Círculo",
"Clear": "Limpiar",
"Coronal": "Coronal",
"Crosshairs": "Punto de mira",
"Download": "Descargar",
"Ellipse": "Elipse",
"Elliptical": "Elíptico",
"Flip H": "Voltear H",
"Flip V": "Voltear V",
"Freehand": "Mano alzada",
"Invert": "Negativo",
"Layout": "$t(Common:Layout)",
"Length": "Longitud",
"Levels": "W/L",
"Magnify": "Lupa",
"Manual": "Manual",
"Measurements": "Medidas",
"More": "$t(Common:More)",
"Next": "$t(Common:Next)",
"Pan": "Mover",
"Play": "$t(Common:Play)",
"Previous": "$t(Common:Previous)",
"Probe": "Probar",
"ROI Window": "Ventana ROI",
"Rectangle": "Rectángulo",
"Reset": "$t(Common:Reset)",
"Reset to defaults": "$t(Common:Reset) por defecto",
"Rotate Right": "Girar ->",
"Sagittal": "Sagital",
"Save": "Guardar",
"Stack Scroll": "Scroll",
"Stop": "$t(Common:Stop)",
"Themes": "Temas",
"Zoom": "Ampliar"
}

View File

@@ -0,0 +1,8 @@
{
"Next image": "$t(Common:Image) $t(Common:Next)",
"Play / Stop": "$t(Common:Play) / Stop",
"Previous image": "$t(Common:Image) $t(Common:Previous)",
"Skip to first image": "Ir a la primera $t(Common:Image)",
"Skip to last image": "Ir a la última $t(Common:Image)",
"fps": "imágenes/seg."
}

View File

@@ -0,0 +1,15 @@
{
"Image": "Imagen",
"Layout": "Formato",
"Measurements": "Medidas",
"More": "Más",
"Next": "Siguiente",
"Play": "Play",
"Previous": "Anterior",
"Reset": "Restaurar",
"RowsPerPage": "filas por página",
"Series": "Secuencia",
"Show": "Mostrar",
"Stop": "Detener",
"StudyDate": "Fecha de estudo"
}

View File

@@ -0,0 +1,5 @@
{
"Clear dates": "Borrar fechas",
"End Date": "Fecha fin",
"Start Date": "Fecha inicio"
}

View File

@@ -0,0 +1,8 @@
{
"About": "Acerca de",
"Back to Viewer": "Volver al visor",
"INVESTIGATIONAL USE ONLY": "SOLO USO PARA INVESTIGACIÓN",
"Options": "Opciones",
"Preferences": "Preferencias",
"Study list": "Lista de estudios"
}

View File

@@ -0,0 +1,11 @@
{
"Criteria nonconformities": "Criterios disconformes",
"Delete": "Borrar",
"Description": "Descripción",
"MAX": "Máximo",
"NonTargets": "No objetivos",
"Relabel": "Re-etiquetar",
"Targets": "Objetivos",
"Export": "Exportar",
"Create Report": "Crear reporte"
}

View File

@@ -0,0 +1,4 @@
{
"Measurements": "Mediciones",
"Studies": "Estudios"
}

View File

@@ -0,0 +1,6 @@
{
"Primary": "Primario",
"Recent": "Reciente",
"All": "Todos",
"Studies": "Estudios"
}

View File

@@ -0,0 +1,18 @@
{
"AccessionNumber": "Num. Adhesión",
"ClearFilters": "Limpiar filtros",
"Description": "Descripción",
"Empty": "vacío",
"Filter list to 100 studies or less to enable sorting": "Filtre la lista a 100 estudios o menos para habilitar la clasificación",
"Instances": "Instancias",
"MRN": "MRN",
"Modality": "Modalidad",
"PatientName": "Nombre paciente",
"Previous": "< Anterior",
"Page": "Página",
"Next": "Siguiente >",
"Results per page": "Resultados por página",
"Number of studies": "Estudios",
"StudyDate": "Fecha del estudio",
"StudyList": "Lista de Estudios"
}

View File

@@ -0,0 +1,6 @@
{
"Cancel": "$t(Buttons:Cancel)",
"Reset to defaults": "$t(Buttons:Reset to defaults)",
"Save": "$t(Buttons:Save)",
"User preferences": "Preferencias de Usuario"
}

View File

@@ -0,0 +1,14 @@
{
"emptyFilenameError": "El nombre del fichero no puede ser vacío.",
"fileType": "Tipo de fichero",
"filename": "Nombre del fichero",
"formTitle": "Por favor especifica las dimensiones, nombre del fichero, y el tipo deseado para el fichero generado.",
"imageHeight": "Altura de la imagen (px)",
"imagePreview": "Preview de la imagen",
"imageWidth": "Anchura de la imagen (px)",
"keepAspectRatio": "Mantener el ratio de aspecto",
"loadingPreview": "Cargando el preview de la imagen...",
"minHeightError": "La altura mínima es 100px.",
"minWidthError": "La anchura mínima es 100px.",
"showAnnotations": "Mostrar las anotaciones"
}

View File

@@ -0,0 +1,29 @@
import AboutModal from './AboutModal.json';
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import DatePicker from './DatePicker.json';
import Header from './Header.json';
import MeasurementTable from './MeasurementTable.json';
import SidePanel from './SidePanel.json';
import StudyBrowser from './StudyBrowser.json';
import StudyList from './StudyList.json';
import UserPreferencesModal from './UserPreferencesModal.json';
import ViewportDownloadForm from './ViewportDownloadForm.json';
export default {
es: {
AboutModal,
Buttons,
CineDialog,
Common,
DatePicker,
Header,
MeasurementTable,
SidePanel,
StudyBrowser,
StudyList,
UserPreferencesModal,
ViewportDownloadForm,
},
};

View File

@@ -0,0 +1,42 @@
{
"Acquired": "Acquis",
"Angle": "Angle",
"Axial": "Axial",
"Bidirectional": "Bi-directionel",
"Brush": "Brosse",
"CINE": "Ciné",
"Cancel": "Annuler",
"Circle": "Cercle",
"Clear": "Effacer",
"Coronal": "Coronal",
"Crosshairs": "Repère",
"Ellipse": "Ellipse",
"Elliptical": "Elliptique",
"Flip H": "Flip H",
"Flip V": "Flip V",
"Freehand": "Main levée",
"Invert": "Inverser",
"Layout": "$t(Common:Layout)",
"Length": "Longueur",
"Levels": "Niveaux",
"Magnify": "Agrandir",
"Manual": "Manuel",
"Measurements": "Mesures",
"More": "$t(Common:More)",
"Next": "$t(Common:Next)",
"Pan": "Déplacer",
"Play": "$t(Common:Play)",
"Previous": "$t(Common:Previous)",
"Probe": "Sonde",
"ROI Window": "ROI fenêtrage",
"Rectangle": "Rectangle",
"Reset": "$t(Common:Reset)",
"Reset to defaults": "Valeurs d'usine",
"Rotate Right": "Tourner à droite",
"Sagittal": "Sagittal",
"Save": "Sauvegarder",
"Stack Scroll": "Défilement",
"Stop": "$t(Common:Stop)",
"Themes": "Themes",
"Zoom": "Zoom"
}

View File

@@ -0,0 +1,8 @@
{
"Next image": "$t(Common:Play) $t(Common:Image)",
"Play / Stop": "$t(Common:Play) / $t(Common:Stop)",
"Previous image": "$t(Common:Previous) $t(Common:Image)",
"Skip to first image": "Retour à la première $t(Common:Image)",
"Skip to last image": "Aller à la dernière $t(Common:Image)",
"fps": "ips"
}

View File

@@ -0,0 +1,10 @@
{
"Image": "Image",
"Layout": "Disposition",
"More": "Plus",
"Next": "Suivant",
"Play": "Play",
"Previous": "Précédent",
"Reset": "Reset",
"Stop": "Stop"
}

View File

@@ -0,0 +1,8 @@
{
"About": "A Propos",
"Back to Viewer": "Retour au viewer",
"INVESTIGATIONAL USE ONLY": "Seulement pour utilisation expérimentale",
"Options": "Options",
"Preferences": "Préférences",
"Study list": "Liste d'études"
}

View File

@@ -0,0 +1,6 @@
{
"Cancel": "$t(Buttons:Cancel)",
"Reset to defaults": "$t(Buttons:Reset to defaults)",
"Save": "$t(Buttons:Save)",
"User preferences": "Préférences utilisateur"
}

View File

@@ -0,0 +1,15 @@
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import Header from './Header.json';
import UserPreferencesModal from './UserPreferencesModal.json';
export default {
fr: {
Buttons,
CineDialog,
Common,
Header,
UserPreferencesModal,
},
};

View File

@@ -0,0 +1,27 @@
import tr_TR from './tr-TR/';
import ar from './ar/';
import de from './de';
import en_US from './en-US/';
import es from './es/';
import fr from './fr/';
import ja_JP from './ja-JP/';
import nl from './nl/';
import pt_BR from './pt-BR/';
import vi from './vi/';
import zh from './zh/';
import test_lng from './test-LNG/';
export default {
...ar,
...tr_TR,
...de,
...en_US,
...es,
...fr,
...ja_JP,
...nl,
...pt_BR,
...vi,
...zh,
...test_lng,
};

View File

@@ -0,0 +1,42 @@
{
"Acquired": "取得済",
"Angle": "分度器",
"Axial": "アキシャル",
"Bidirectional": "両方向",
"Brush": "ブラシ",
"CINE": "シネ",
"Cancel": "キャンセル",
"Circle": "サークル",
"Clear": "クリア",
"Coronal": "コロナル",
"Crosshairs": "クロスヘアー",
"Ellipse": "楕円",
"Elliptical": "楕円",
"Flip H": "左右反転",
"Flip V": "上下反転",
"Freehand": "フリーハンド",
"Invert": "反転",
"Layout": "$t(Common:Layout)",
"Length": "長さ",
"Levels": "レベル",
"Magnify": "拡大",
"Manual": "マニュアル",
"Measurements": "測定",
"More": "$t(Common:More)",
"Next": "$t(Common:Next)",
"Pan": "パン",
"Play": "$t(Common:Play)",
"Previous": "$t(Common:Previous)",
"Probe": "プローブ",
"ROI Window": "ROIウィンドウ",
"Rectangle": "長方形",
"Reset": "$t(Common:Reset)",
"Reset to defaults": "デフォルトへ$t(Common:Reset)",
"Rotate Right": "右に回転",
"Sagittal": "サジタル",
"Save": "保存",
"Stack Scroll": "スタックスクロール",
"Stop": "$t(Common:Stop)",
"Themes": "テーマ",
"Zoom": "ズーム"
}

View File

@@ -0,0 +1,8 @@
{
"Next image": "$t(Common:Next) $t(Common:Image)",
"Play / Stop": "$t(Common:Play) / $t(Common:Stop)",
"Previous image": "$t(Common:Previous) $t(Common:Image)",
"Skip to first image": "$t(Common:Image)最初にスキップ",
"Skip to last image": "$t(Common:Image)最後にスキップ",
"fps": "fps"
}

View File

@@ -0,0 +1,10 @@
{
"Image": "画像",
"Layout": "レイアウト",
"More": "もっと",
"Next": "次へ",
"Play": "プレイ",
"Previous": "前へ",
"Reset": "リセット",
"Stop": "ストップ"
}

View File

@@ -0,0 +1,8 @@
{
"About": "につい",
"Back to Viewer": "前のビュー",
"INVESTIGATIONAL USE ONLY": "調査用のみ",
"Options": "オプション",
"Preferences": "プレファレンス",
"Study list": "スタディリスト"
}

View File

@@ -0,0 +1,6 @@
{
"Cancel": "$t(Buttons:Cancel)",
"Reset to defaults": "$t(Buttons:Reset to defaults)",
"Save": "$t(Buttons:Save)",
"User preferences": "ユーザプレファレンス"
}

View File

@@ -0,0 +1,15 @@
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import Header from './Header.json';
import UserPreferencesModal from './UserPreferencesModal.json';
export default {
'ja-JP': {
Buttons,
CineDialog,
Common,
Header,
UserPreferencesModal,
},
};

View File

@@ -0,0 +1,6 @@
{
"Circle": "Cirkel",
"More": "Meer",
"Pan": "Pan",
"Zoom": "Inzoomen"
}

View File

@@ -0,0 +1,3 @@
{
"More": "Meer"
}

View File

@@ -0,0 +1,7 @@
{
"About": "Over",
"INVESTIGATIONAL USE ONLY": "ALLEEN VOOR ONDERZOEK",
"Options": "Opties",
"Preferences": "Voorkeuren",
"Study list": "Studie Overzicht"
}

View File

@@ -0,0 +1,11 @@
import Buttons from './Buttons.json';
import Common from './Common.json';
import Header from './Header.json';
export default {
nl: {
Buttons,
Common,
Header,
},
};

View File

@@ -0,0 +1,14 @@
{
"About OHIF Viewer": "OHIF Viewer - Sobre",
"Browser": "Navegador",
"Build number": "Número da compilação",
"Last master commits": "Últimos Commits na Master",
"More details": "Mais detalhes",
"Name": "Nome",
"OS": "SO",
"Report an issue": "Informar um problema",
"Repository URL": "URL do Repositório",
"Value": "Valor",
"Version information": "Informação da Versão",
"Visit the forum": "Visite o fórum"
}

View File

@@ -0,0 +1,43 @@
{
"Acquired": "Adquirido",
"Angle": "Ângulo",
"Axial": "Axial",
"Bidirectional": "Bidirecional",
"Brush": "Pincel",
"CINE": "CINE",
"Cancel": "Cancelar",
"Circle": "Círculo",
"Clear": "Limpar",
"Coronal": "Coronal",
"Crosshairs": "Localizador",
"Download": "Baixar",
"Ellipse": "Elipse",
"Elliptical": "Elíptico",
"Flip H": "Inverter H",
"Flip V": "Inverter V",
"Freehand": "Desenho livre",
"Invert": "Inverter",
"Layout": "Layout",
"Length": "Tamanho",
"Levels": "Níveis",
"Magnify": "Ampliar",
"Manual": "Manual",
"Measurements": "Medidas",
"More": "Mais",
"Next": "Próximo",
"Pan": "Arrastar",
"Play": "Tocar",
"Previous": "Anterior",
"Probe": "Prova",
"ROI Window": "Janela ROI",
"Rectangle": "Retângulo",
"Reset": "$t(Common:Reset)",
"Reset to defaults": "$t(Common:Reset) para o Padrão",
"Rotate Right": "Girar à direita",
"Sagittal": "Sagital",
"Save": "Salvar",
"Stack Scroll": "Navegar Stacks",
"Stop": "Parar",
"Themes": "Temas",
"Zoom": "Zoom"
}

View File

@@ -0,0 +1,8 @@
{
"Next image": "Próxima imagem",
"Play / Stop": "Tocar / Parar",
"Previous image": "Imagem Anterior",
"Skip to first image": "Pular para a primeira imagem",
"Skip to last image": "Pular para a última imagem",
"fps": "fps"
}

View File

@@ -0,0 +1,11 @@
{
"Close": "Fechar",
"Image": "Imagem",
"Layout": "Layout",
"More": "Mais",
"Next": "Próximo",
"Play": "Play",
"Previous": "Anterior",
"Reset": "Restaurar",
"Stop": "Stop"
}

View File

@@ -0,0 +1,5 @@
{
"Clear dates": "Limpar datas",
"End Date": "Data Final",
"Start Date": "Data Inicial"
}

View File

@@ -0,0 +1,8 @@
{
"About": "Quem somos",
"Back to Viewer": "Voltar para o Viewer",
"INVESTIGATIONAL USE ONLY": "APENAS PARA USO INVESTIGATIVO",
"Options": "Opções",
"Preferences": "Preferências",
"Study list": "Lista de estudos"
}

View File

@@ -0,0 +1,4 @@
{
"Export": "Exportar",
"Create Report": "Criar relatório"
}

View File

@@ -0,0 +1,15 @@
{
"1": "Série sem imagens.",
"2": "Série nao possui informação de posição.",
"3": "Serie não é reconstruível.",
"4": "Série nulti frame não possui informação de medidas.",
"5": "Série multi frame não possui informação de orientação.",
"6": "Série multi frame não possui informação de posição.",
"7": "Série não possui algumas imagens.",
"8": "Série possui espaçamento irregular.",
"9": "Série possui dimensões inconsistentes entre frames.",
"10": "Série possui frames com componentes inconsistentes.",
"11": "Série possui frames com orientações inconsistentes.",
"12": "Série possui informação de posição inconsistentes.",
"13": "Série não suportada."
}

View File

@@ -0,0 +1,8 @@
{
"Cancel": "Cancelar",
"Reset to defaults": "$t(Common:Reset) para Padrão",
"ResetDefaultMessage": "Preferências resetadas com sucesso. <br /> Você deve <strong>Salvar</strong> para que essa ação seja realizada.",
"Save": "Salvar",
"SaveMessage": "Preferências salvas",
"User preferences": "Preferências do Usuário"
}

View File

@@ -0,0 +1,23 @@
import AboutModal from './AboutModal.json';
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import DatePicker from './DatePicker.json';
import Header from './Header.json';
import UserPreferencesModal from './UserPreferencesModal.json';
import MeasurementTable from './MeasurementTable.json';
import Messages from './Messages.json';
export default {
'pt-BR': {
AboutModal,
Buttons,
CineDialog,
Common,
DatePicker,
Header,
UserPreferencesModal,
MeasurementTable,
Messages,
},
};

View File

@@ -0,0 +1,18 @@
{
"About OHIF Viewer": "About OHIF Viewer",
"Browser": "Browser",
"Build Number": "Build Number",
"Commit hash": "Commit hash",
"Data citation": "Data citation",
"Important links": "Important links",
"Last master commits": "Latest Master Commits",
"More details": "More details",
"Name": "Name",
"OS": "OS",
"Report an issue": "Report an issue",
"Repository URL": "Repository URL",
"Value": "Value",
"Version information": "Version Information",
"Version number": "Version number",
"Visit the forum": "Visit the forum"
}

View File

@@ -0,0 +1,54 @@
{
"Acquired": "Test Acquired",
"Angle": "Test Angle",
"Axial": "Test Axial",
"Bidirectional": "Test Bidirectional",
"Brush": "Test Brush",
"CINE": "Test CINE",
"Cancel": "Test Cancel",
"Circle": "Test Circle",
"Clear": "Test Clear",
"Coronal": "Test Coronal",
"Crosshairs": "Test Crosshairs",
"Download": "Test Download",
"Ellipse": "Test Ellipse",
"Elliptical": "Test Elliptical",
"Flip H": "Test Flip H",
"Flip V": "Test Flip V",
"Freehand": "Test Freehand",
"Invert": "Test Invert",
"Layout": "Test $t(Common:Layout)",
"Length": "Test Length",
"Levels": "Test Levels",
"Magnify": "Test Magnify",
"Manual": "Test Manual",
"Measurements": "Test Measurements",
"More": "Test $t(Common:More)",
"Next": "Test $t(Common:Next)",
"Pan": "Test Pan",
"Play": "Test $t(Common:Play)",
"Previous": "Test $t(Common:Previous)",
"Probe": "Test Probe",
"ROI Window": "Test ROI Window",
"Rectangle": "Test Rectangle",
"Reset": "Test $t(Common:Reset)",
"Reset to defaults": "Test $t(Common:Reset) to Defaults",
"Rotate Right": "Test Rotate Right",
"Sagittal": "Test Sagittal",
"Save": "Test Save",
"Stack Scroll": "Test Stack Scroll",
"Stop": "Test $t(Common:Stop)",
"Themes": "Test Themes",
"Zoom": "Test Zoom",
"Grid Layout": "Test Grid Layout",
"W/L Presets": "Test W/L Presets",
"More Measure Tools": "Test More Measure Tools",
"More Tools": "Test More Tools",
"Capture": "Test Capture",
"Annotation": "Test Annotation",
"Soft Tissue": "Test Soft Tissue",
"Lung": "Test Lung",
"Liver": "Test Liver",
"Bone": "Test Bone",
"Cine": "Test Cine"
}

View File

@@ -0,0 +1,8 @@
{
"Next image": "$t(Common:Next) $t(Common:Image)",
"Play / Stop": "$t(Common:Play) / $t(Common:Stop)",
"Previous image": "$t(Common:Previous) $t(Common:Image)",
"Skip to first image": "Skip to first $t(Common:Image)",
"Skip to last image": "Skip to last $t(Common:Image)",
"fps": "fps"
}

View File

@@ -0,0 +1,19 @@
{
"Close": "Test Close",
"Image": "Test Image",
"Layout": "Test Layout",
"Measurements": "Test Measurements",
"mm": "Test mm",
"More": "Test More",
"Next": "Test Next",
"No": "Test No",
"Play": "Test Play",
"Previous": "Test Previous",
"Reset": "Test Reset",
"RowsPerPage": "Test rows per page",
"Series": "Test Series",
"Show": "Test Show",
"Stop": "Test Stop",
"StudyDate": "Test Study Date",
"Yes": "Test Yes"
}

View File

@@ -0,0 +1,9 @@
{
"Clear dates": "Clear dates",
"Close": "$t(Common:Close)",
"End Date": "End Date",
"Last 7 days": "Last 7 days",
"Last 30 days": "Last 30 days",
"Start Date": "Start Date",
"Today": "Today"
}

View File

@@ -0,0 +1,8 @@
{
"Context": "Test Context",
"Error Message": "Test Error Message",
"Something went wrong": "Test Something went wrong",
"in": "in",
"Sorry, something went wrong there. Try again.": "Test Sorry, something went wrong there. Try again.",
"Stack Trace": "Test Stack Trace"
}

View File

@@ -0,0 +1,6 @@
{
"About": "Test About",
"INVESTIGATIONAL USE ONLY": "Test Investigational",
"Options": "Test Options",
"Preferences": "Test Preferences"
}

View File

@@ -0,0 +1,6 @@
{
"Field can't be empty": "Test Field can't be empty",
"Hotkey is already in use": "Test \"{{action}}\" is already using the \"{{pressedKeys}}\" shortcut.",
"It's not possible to define only modifier keys (ctrl, alt and shift) as a shortcut": "Test It's not possible to define only modifier keys (ctrl, alt and shift) as a shortcut",
"Shortcut combination is not allowed": "Test {{pressedKeys}} shortcut combination is not allowed"
}

View File

@@ -0,0 +1,14 @@
{
"Measurements": "Test Measurements",
"No tracked measurements": "Test No tracked measurements",
"Create Report": "Test Create Report",
"Export": "Test Export",
"Delete": "Delete",
"Description": "Description",
"MAX": "MAX",
"No, do not ask again": "Test No, do not ask again",
"NonTargets": "NonTargets",
"Relabel": "Relabel",
"Targets": "Targets",
"Track measurements for this series?": "Test Track measurements for this series?"
}

View File

@@ -0,0 +1,16 @@
{
"Display Set Messages": "Test Display Set Messages",
"1": "Test No valid instances found in series.",
"2": "Test Display set has missing position information.",
"3": "Test Display set is not a reconstructable 3D volume.",
"4": "Test Multi frame display sets do not have pixel measurement information.",
"5": "Test Multi frame display sets do not have orientation information.",
"6": "Test Multi frame display sets do not have position information.",
"7": "Test Display set has missing frames.",
"8": "Test Display set has irregular spacing.",
"9": "Test Display set has inconsistent dimensions between frames.",
"10": "Test Display set has frames with inconsistent number of components.",
"11": "Test Display set has frames with inconsistent orientations.",
"12": "Test Display set has inconsistent position information.",
"13": "Test Unsupported display set."
}

View File

@@ -0,0 +1,13 @@
{
"Download High Quality Image": "Test Download High Quality Image",
"Cancel": "Test Cancel",
"Download": "Test Download",
"File Name": "Test File Name",
"Active viewport has no displayed image": "Test Active viewport has no displayed image",
"Image preview": "Test Image preview",
"Show Annotations": "Test Show Annotations",
"File Type": "Test File Type",
"Image height (px)": "Test Image height (px)",
"Image width (px)": "Test Image width (px)",
"Please specify the dimensions, filename, and desired type for the output image.": "Test Please specify the dimensions, filename, and desired type for the output image."
}

Some files were not shown because too many files have changed in this diff Show More