Initial commit

This commit is contained in:
Robert Nasarek 2026-06-25 09:11:23 +02:00
commit 05c65aad4d
155 changed files with 93617 additions and 0 deletions

880
viewer/i18n.js Normal file
View file

@ -0,0 +1,880 @@
export const VIEWER_I18N = {
en: {
menu: {
actions: "Viewer actions",
openActions: "Open viewer actions",
embed: "Embed",
exitEmbed: "Exit embed",
openEmbedOptions: "Open embed options",
exitEmbedMode: "Exit embed mode",
download: "Download",
},
theme: {
lightMode: "Light mode",
darkMode: "Dark mode",
switchToLightMode: "Switch to light mode",
switchToDarkMode: "Switch to dark mode",
},
fullscreen: {
mode: "Fullscreen mode",
enter: "Fullscreen",
exit: "Exit fullscreen",
exitMode: "Exit fullscreen mode",
},
language: {
label: "Language: English",
switchToPolish: "Switch to Polish",
switchToEnglish: "Switch to English",
switchToGerman: "Switch to German",
},
hints: {
pickingSelect: "Select at least one face to add annotation.",
picking: "Shift + click to select multiple faces",
clipping: "Drag active clipping plane helper to adjust cut",
},
controls: {
enablePickingMode: "Enable picking mode",
disablePickingMode: "Disable picking mode",
enableDistanceMeasurement: "Enable distance measurement",
disableDistanceMeasurement: "Disable distance measurement",
selectedFaces: "Selected faces",
},
gui: {
moveToolbar: "Move toolbar",
orbit: "Navigation mode",
controls: "Controls",
editor: "Editor",
transform3dObject: "Transform 3D Object",
transformLight: "Transform Light",
transformMode: "Transform Mode",
directionalLight: "Directional Light",
ambientLight: "Ambient Light",
ambient: "Ambient",
lights: "Lights",
cameraLight: "Camera Light",
backgroundColor: "Background Color",
BackgroundColorOuter: "Background Color Outer",
backgroundType: "Background Type",
clippingPlanes: "Clipping Planes",
clippingFolder: "Clipping Planes",
displayHelperX: "Show X helper",
displayHelperY: "Show Y helper",
displayHelperZ: "Show Z helper",
constantX: "Constant X",
constantY: "Constant Y",
constantZ: "Constant Z",
visible: "Visible cutting",
materials: "Materials",
metadata: "Annotations",
saveProperties: "Save properties",
hierarchy: "Hierarchy",
statistics: "Statistics",
clearSelectedFaces: "Clear selected faces",
clearSelectedHierarchy: "Clear selected objects",
addAnnotations: "Add annotations",
exportAnnotationsXml: "Export annotations XML",
importAnnotationsXml: "Import annotations XML",
IIIFexport: "Export IIIF",
resetCameraPosition: "Reset camera position",
saveSettings: "Save settings",
renderPreview: "Render preview",
color: "Color",
intensity: "Intensity",
metalness: "Metalness",
emissive: "Emissive",
position: "Position",
rotation: "Rotation",
camera: "Camera",
performance: "Performance",
highPerformance: "High-performance",
lowPower: "Low-power",
default: "Default",
none: "None",
move: "Move",
rotate: "Rotate",
scale: "Scale",
target: "Target",
local: "Local",
global: "Global",
linear: "Linear",
gradient: "Gradient",
editMaterial: "Edit material",
selectByMaterial: "select by material",
hideAdvancedEditor: "Hide advanced editor",
showAdvancedEditor: "Show advanced editor",
showLoadingLogs: "Show loading logs",
hideLoadingLogs: "Hide loading logs",
hierarchy: "Hierarchy",
expand: "Expand toolbar",
collapse: "Collapse toolbar",
orthographicProjection: "Switch to orthographic projection",
perspectiveProjection: "Switch to perspective projection",
environmentMap: "Environment map",
environmentMapToggle: "Toggle environment map",
environmentMapIntensity: "Environment map intensity",
environmentMapStyleNeutral: "Neutral",
environmentMapStyleSunny: "Sunny",
environmentMapStyleStudio: "Studio",
environmentMapStyleGoldenHour: "Golden Hour",
enableWireframeMode: "Enable wireframe mode",
disableWireframeMode: "Disable wireframe mode",
download: "Download model",
},
metadata: {
modelDetails: "Model details",
metadata: "Metadata",
visualizedFile: "Visualized file",
vertices: "Vertices",
faces: "Faces",
title: "Title",
author: "Author",
authorAffiliation: "Author affiliation",
license: "License",
description: "Description",
objectType: "Object type",
reconstructionAuthors: "Reconstruction authors",
reconstructionPeriod: "Reconstruction period",
},
manifesto: {
invalidUrl: "Please enter a valid manifesto URL.",
invalidJson: "Please enter a valid manifesto JSON text.",
},
iiif: {
loader: "IIIF Loader",
collapse: "Collapse",
expand: "Expand",
manifest: "IIIF manifest",
loadFromUrl: "Load from URL",
loadFromText: "Load from Text",
manifestUrlPlaceholder: "https://example.org/iiif/manifest.json",
manifestTextPlaceholder: "Paste IIIF manifest JSON here...",
invalidUrl: "Please enter a valid IIIF manifest URL.",
invalidJson: "Please enter a valid IIIF JSON text.",
optionModelPositionScale: "Model Position and Scale",
optionModelOrigin: "Model Origin",
optionModelOriginBg: "Model Origin with background color",
optionModelPosition: "Model Position",
},
localPreview: {
loadExampleModel: "Load example model",
},
embedPanel: {
title: "Embed options",
closeAria: "Close embed options",
modelUrl: "Model URL",
modelUrlPlaceholder: "/examples/box.glb",
entityId: "Entity ID",
theme: "Theme",
themeDark: "Dark",
themeLight: "Light",
autoRotateSpeed: "Auto-rotate speed",
cameraPosition: "Camera position",
cameraTarget: "Camera target",
cameraVectorPlaceholder: "x,y,z",
fov: "FOV",
autoRotate: "Auto-rotate",
disableInteraction: "Disable interaction",
hideActionMenu: "Hide action menu",
hideMetadata: "Hide metadata",
presentationMode: "Presentation mode",
useCurrentCamera: "Use Current Camera",
resetFromViewer: "Reset From Viewer",
copyUrl: "Copy URL",
copyIframe: "Copy Iframe",
embedUrl: "Embed URL",
iframeCode: "Iframe code",
preview: "Preview",
previewTitle: "Embed preview",
},
loadingLog: {
title: "Loading process log",
loadingModel: "Loading 3D model...",
modelLoaded: "Model has been loaded.",
loadingAssets: "Loading assets...",
parsingScene: "Parsing scene...",
loadingTextures: "Loading textures...",
preparingGeometry: "Preparing geometry...",
settingUpLighting: "Setting up lighting...",
settingUpMaterials: "Setting up materials...",
buildingBvh: "Building BVH...",
compilingShaders: "Compiling shaders...",
initializingRenderer: "Initializing renderer...",
uploadingBuffers: "Uploading buffers...",
fetchingMetadata: "Fetching metadata...",
},
processingHeader: "Processing progress",
processingSteps: {
preparingModel: "Preparing model",
convertingToTransmissionFormat: "Converting to transmission format",
renderingThumbnails: "Rendering thumbnails",
savingEntity: "Saving entity",
finalizing3dModel: "Finalizing 3D model",
initializingViewer: "Initializing viewer",
},
state: {
enabled: "enabled",
disabled: "disabled"
},
toasts: {
transformMove: "Move: drag axis arrows to reposition the object.",
transformRotate: "Rotate: drag rotation rings to rotate the object.",
transformScale: "Scale: drag axis handles to resize the object.",
transformLightMove: "Transform Light - Move: drag axis arrows to move the directional light.",
transformLightTarget: "Transform Light - Target: drag axis arrows to reposition the light target.",
distanceEnabled: "Distance measurement is enabled.",
distanceHint: "Select a start point and an end point to measure distance.",
noIiiifModelFallback: "No 3D model found in IIIF manifest, loading example model.",
facePickingEnabled: "Face picking is enabled",
facePickingDisabled: "Face picking is disabled",
distanceModeEnabled: "Distance measurement mode is enabled",
distanceModeDisabled: "Distance measurement mode is disabled",
settingsFound: "Settings {filename}_viewer.json found",
settingsNotFound: "No settings {filename}_viewer.json found",
metadataFetchError: "Error fetching metadata: {error}",
presentationModeError: "An error occurred during presentation mode setup.",
objLoaded: "OBJ model has been loaded.",
mtlLoadError: "Error occurred while loading attached MTL file.",
glbLoadError: "Error occurred while loading attached GLB file.",
unsupportedExtension: "File extension is not supported yet.",
modelLoaded: "Model {filename} has been loaded.",
modelLoadedSimple: "Model loaded successfully.",
unsupportedFormat: "Unsupported file format.",
presentationModeReady: "Presentation mode is ready.",
presentationModeError: "An error occurred during presentation mode setup.",
sandboxDropModel: "Drag and drop a 3D model into the viewer.",
supportedFormats: "<strong>Supported formats</strong>:\n{formats}\nand <strong>archive formats</strong>: {archives}.",
embedSourceMissing: "Set Model URL or Entity ID for embed.",
embedUrlCopied: "Embed URL copied.",
embedUrlCopyError: "Could not copy embed URL.",
embedIframeCopied: "Embed iframe copied.",
embedIframeCopyError: "Could not copy embed iframe.",
embedCodeCopied: "Embed code copied to clipboard.",
embedCodeCopyError: "Could not copy embed code.",
annotationDataMissing: "Annotation data not found for this POI.",
selectFaceRequired: "Select at least one face to add annotation.",
selectFaceRequiredAgain: "Select at least one face, then run Add annotations again.",
noFacesSelected: "No faces selected for annotation.",
titleRequired: "Title is required.",
facesInactive: "Selected faces are no longer active.",
annotationsSaved: "Annotations saved for {count} face{plural}.",
annotationsImported: "Imported {count} annotation{plural}.",
annotationsExported: "Annotations XML exported.",
noAnnotationsToExport: "No annotations to export.",
noValidAnnotations: "No valid annotations found in XML.",
annotationsImportError: "Failed to import annotations XML.",
settingsSaved: "Settings have been saved.",
settingsSaveError: "Error saving settings.",
featureToggle: "{feature} is {state}.",
clippingHelperToggle: "Clipping plane {axis} helper {state}.",
clippingPlanes: "Drag active clipping plane helper to adjust cut",
downloadSuccess: "Model downloaded successfully.",
downloadError: "Failed to download model.",
iiifManifestGenerated: "IIIF manifest has been generated.",
iiifManifestGenerationError: "Error generating IIIF manifest.",
containerNotFound: "Container element not found. Please check the Viewer configuration.",
missingFiles: "Missing required files for the Viewer. Please check the Viewer configuration.",
unsupportedFileFormat: "Unsupported file format.",
},
shortcuts: {
mouse: "Mouse: drag orbit, wheel zoom, right-drag pan",
keyboard: "Keyboard: Arrows orbit, Shift+Arrows faster, Ctrl/Cmd+Arrows pan, +/- zoom, Space toggle auto-rotate",
touch: "Touch: pinch-to-zoom, drag to orbit, double-tap-and-hold pan",
dragAndDrop: "Or drag and drop a 3D model into the viewer",
},
},
pl: {
menu: {
actions: "Akcje podglądu",
openActions: "Otworz akcje podglądu",
embed: "Osadź",
exitEmbed: "Wyjdź z osadzania",
openEmbedOptions: "Otwórz opcje osadzania",
exitEmbedMode: "Wyjdź z trybu osadzania",
download: "Pobierz",
},
theme: {
lightMode: "Tryb jasny",
darkMode: "Tryb ciemny",
switchToLightMode: "Przelącz na tryb jasny",
switchToDarkMode: "Przelącz na tryb ciemny",
},
fullscreen: {
mode: "Tryb pełnoekranowy",
enter: "Pełny ekran",
exit: "Wyjdź z pełnego ekranu",
exitMode: "Wyjdź z trybu pełnoekranowego",
},
language: {
label: "Language: Polski",
switchToPolish: "Przelącz na język polski",
switchToEnglish: "Przelącz na język angielski",
switchToGerman: "Przelącz na język niemiecki",
},
hints: {
picking: "Shift + klik, aby wybrać wiele scian",
pickingSelect: "Wybierz co najmniej jedną ścianę, aby dodać adnotację.",
clipping: "Przeciągnij aktywną plaszczyznę przycinania, aby dostosować cięcie",
},
controls: {
enablePickingMode: "Włącz tryb wyboru",
disablePickingMode: "Wyłącz tryb wyboru",
enableDistanceMeasurement: "Włącz pomiar odległości",
disableDistanceMeasurement: "Wyłącz pomiar odległości",
selectedFaces: "Wybrane sciany",
},
gui: {
moveToolbar: "Przesuń pasek narzędzi",
orbit: "Tryb nawigacji",
controls: "Sterowanie",
editor: "Edytor",
transform3dObject: "Transformacja obiektu 3D",
transformLight: "Transformacja światła",
transformMode: "Tryb transformacji",
directionalLight: "Światło kierunkowe",
ambientLight: "Światło otaczające",
ambient: "Ambient",
lights: "Światła",
cameraLight: "Światło kamery",
backgroundColor: "Kolor tła",
backgroundColorOuter: "Kolor tła zewnętrznego",
backgroundType: "Typ tła",
clippingPlanes: "Płaszczyzny przycinania",
clippingFolder: "Płaszczyzny przycinania",
displayHelperX: "Pokaż oś X",
displayHelperY: "Pokaż oś Y",
displayHelperZ: "Pokaż oś Z",
constantX: "Stała X",
constantY: "Stała Y",
constantZ: "Stała Z",
visible: "Widoczne cięcie",
materials: "Materiały",
metadata: "Annotacje",
saveProperties: "Zapisz właściwości",
hierarchy: "Hierarchia",
statistics: "Statystyki",
clearSelectedFaces: "Wyczyść wybrane ściany",
clearSelectedHierarchy: "Odznacz wybrane obiekty",
addAnnotations: "Dodaj annotacje",
exportAnnotationsXml: "Eksportuj annotacje XML",
importAnnotationsXml: "Importuj annotacje XML",
IIIFexport: "Eksportuj do IIIF",
resetCameraPosition: "Resetuj pozycję kamery",
saveSettings: "Zapisz ustawienia",
renderPreview: "Renderuj podgląd",
color: "Kolor",
intensity: "Intensywność",
metalness: "Metaliczność",
emissive: "Emisja",
position: "Pozycja",
rotation: "Rotacja",
camera: "Kamera",
performance: "Wydajność",
highPerformance: "Wysoka wydajność",
lowPower: "Niski pobór mocy",
default: "Domyślny",
none: "Brak",
move: "Przesuń",
rotate: "Obróć",
scale: "Skaluj",
target: "Cel",
local: "Lokalny",
global: "Globalny",
linear: "Liniowe",
gradient: "Gradient",
editMaterial: "Edytuj materiał",
selectByMaterial: "wybierz według materiału",
hideAdvancedEditor: "Ukryj tryb zaawansowany",
showAdvancedEditor: "Pokaż tryb zaawansowany",
showLoadingLogs: "Pokaż logi ładowania",
hideLoadingLogs: "Ukryj logi ładowania",
hierarchy: "Hierarchia",
collapse: "Zwiń pasek narzędzi",
expand: "Rozwiń pasek narzędzi",
orthographicProjection: "Przełącz na projekcję ortograficzną",
perspectiveProjection: "Przełącz na projekcję perspektywiczną",
environmentMap: "Mapa otoczenia",
environmentMapToggle: "Przełącz mapę otoczenia",
environmentMapIntensity: "Intensywność mapy otoczenia",
environmentMapStyleNeutral: "Neutralny",
environmentMapStyleSunny: "Słoneczny",
environmentMapStyleStudio: "Studio",
environmentMapStyleGoldenHour: "Złota godzina",
enableWireframeMode: "Włącz tryb siatki",
disableWireframeMode: "Wyłącz tryb siatki",
download: "Pobierz model",
},
metadata: {
modelDetails: "Szczegóły modelu",
metadata: "Metadane",
visualizedFile: "Wizualizowany plik",
vertices: "Wierzchołki",
faces: "Ściany",
title: "Tytuł",
author: "Autor",
authorAffiliation: "Afiliacja autora",
license: "Licencja",
description: "Opis",
objectType: "Typ obiektu",
reconstructionAuthors: "Autorzy rekonstrukcji",
reconstructionPeriod: "Okres rekonstrukcji",
},
manifesto: {
invalidUrl: "Podaj poprawny URL manifestu.",
invalidJson: "Podaj poprawny tekst JSON.",
},
iiif: {
loader: "Ładowanie IIIF",
collapse: "Zwiń",
expand: "Rozwiń",
manifest: "Manifest IIIF",
loadFromUrl: "Wczytaj z URL",
loadFromText: "Wczytaj z tekstu",
manifestUrlPlaceholder: "https://example.org/iiif/manifest.json",
manifestTextPlaceholder: "Wklej tutaj JSON manifestu IIIF...",
invalidUrl: "Podaj poprawny URL manifestu IIIF.",
invalidJson: "Podaj poprawny tekst JSON IIIF.",
optionModelPositionScale: "Pozycja i skala modelu",
optionModelOrigin: "Punkt początkowy modelu",
optionModelOriginBg: "Punkt początkowy modelu z kolorem tła",
optionModelPosition: "Pozycja modelu",
},
localPreview: {
loadExampleModel: "Wczytaj model przykładowy",
},
embedPanel: {
title: "Opcje osadzania",
closeAria: "Zamknij opcje osadzania",
modelUrl: "URL modelu",
modelUrlPlaceholder: "/examples/box.glb",
entityId: "ID encji",
theme: "Motyw",
themeDark: "Ciemny",
themeLight: "Jasny",
autoRotateSpeed: "Prędkość auto-obrotu",
cameraPosition: "Pozycja kamery",
cameraTarget: "Cel kamery",
cameraVectorPlaceholder: "x,y,z",
fov: "FOV",
autoRotate: "Auto-obrót",
disableInteraction: "Wyłącz interakcję",
hideActionMenu: "Ukryj menu akcji",
hideMetadata: "Ukryj metadane",
presentationMode: "Tryb prezentacji",
useCurrentCamera: "Użyj bieżącej kamery",
resetFromViewer: "Przywróć z viewera",
copyUrl: "Kopiuj URL",
copyIframe: "Kopiuj iframe",
embedUrl: "URL osadzenia",
iframeCode: "Kod iframe",
preview: "Podgląd",
previewTitle: "Podgląd osadzenia",
},
loadingLog: {
title: "Log procesu ładowania",
loadingModel: "Ładowanie modelu 3D...",
modelLoaded: "Model został załadowany.",
loadingAssets: "Ładowanie zasobów...",
parsingScene: "Analizowanie sceny...",
loadingTextures: "Ładowanie tekstur...",
preparingGeometry: "Przygotowywanie geometrii...",
settingUpLighting: "Konfigurowanie oświetlenia...",
settingUpMaterials: "Konfigurowanie materiałów...",
buildingBvh: "Budowanie BVH...",
compilingShaders: "Kompilowanie shaderów...",
initializingRenderer: "Inicjalizowanie renderera...",
uploadingBuffers: "Przesyłanie buforów...",
fetchingMetadata: "Pobieranie metadanych...",
},
processingHeader: "Postęp przetwarzania",
processingSteps: {
preparingModel: "Przygotowywanie modelu",
convertingToTransmissionFormat: "Konwersja do formatu docelowego",
renderingThumbnails: "Renderowanie miniaturek",
savingEntity: "Zapisywanie encji",
finalizing3dModel: "Finalizowanie modelu 3D",
initializingViewer: "Inicjalizowanie viewera",
},
state: {
enabled: "włączony",
disabled: "wyłączony"
},
toasts: {
transformMove: "Przesuwanie: przeciągnij strzalki osi, aby przesunąć obiekt.",
transformRotate: "Obracanie: przeciągnij pierscienie obrotu, aby obrócić obiekt.",
transformScale: "Skalowanie: przeciągnij uchwyty osi, aby zmienić rozmiar obiektu.",
transformLightMove: "Transformacja światła - Przesunięcie: przeciągnij strzalki osi, aby przesunąć światło kierunkowe.",
transformLightTarget: "Transformacja światła - Cel: przeciągnij strzałki osi, aby przesunąć punkt celu światła.",
distanceEnabled: "Pomiar odległości jest włączony.",
distanceHint: "Wybierz punkt początkowy i końcowy, aby zmierzyć odległość.",
noIiiifModelFallback: "Nie znaleziono modelu 3D w manifescie IIIF, ładuję model przykładowy.",
facePickingEnabled: "Tryb wyboru ścian jest włączony",
facePickingDisabled: "Tryb wyboru ścian jest wyłączony",
distanceModeEnabled: "Tryb pomiaru odległości jest włączony",
distanceModeDisabled: "Tryb pomiaru odległości jest wyłączony",
settingsFound: "Znaleziono ustawienia {filename}_viewer.json",
settingsNotFound: "Nie znaleziono ustawień {filename}_viewer.json",
metadataFetchError: "Błąd pobierania metadanych: {error}",
presentationModeError: "Wystąpił błąd podczas konfiguracji trybu prezentacji.",
objLoaded: "Model OBJ został załadowany.",
mtlLoadError: "Wystąpił błąd podczas ładowania pliku MTL.",
glbLoadError: "Wystąpił błąd podczas ładowania pliku GLB.",
unsupportedExtension: "Rozszerzenie pliku nie jest jeszcze obsługiwane.",
modelLoaded: "Model {filename} został załadowany.",
modelLoadedSimple: "Model został pomyślnie załadowany.",
unsupportedFormat: "Nieobsługiwany format pliku.",
presentationModeReady: "Tryb prezentacji jest gotowy.",
presentationModeError: "Wystąpił błąd podczas konfiguracji trybu prezentacji.",
sandboxDropModel: "Przeciągnij i upuść model 3D w oknie viewer'a.",
supportedFormats: "<strong>Obłsugiwane formaty</strong>:\n{formats}\ni <strong>archiwa</strong>: {archives}.",
embedSourceMissing: "Ustaw URL modelu lub ID encji do osadzenia.",
embedUrlCopied: "Skopiowano URL osadzenia.",
embedUrlCopyError: "Nie udało się skopiować URL osadzenia.",
embedIframeCopied: "Skopiowano iframe osadzenia.",
embedIframeCopyError: "Nie udało się skopiować iframe.",
embedCodeCopied: "Kod osadzenia został skopiowany do schowka.",
embedCodeCopyError: "Nie udało się skopiować kodu osadzenia.",
annotationDataMissing: "Nie znaleziono danych adnotacji dla tego punktu.",
selectFaceRequired: "Wybierz co najmniej jedną ścianę, aby dodać adnotację.",
selectFaceRequiredAgain: "Wybierz co najmniej jedną ścianę, a następnie ponownie dodaj adnotacje.",
noFacesSelected: "Nie wybrano ścian do adnotacji.",
titleRequired: "Tytuł jest wymagany.",
facesInactive: "Wybrane ściany nie są już aktywne.",
annotationsSaved: "Zapisano adnotacje dla {count} ścian{plural}.",
annotationsImported: "Zaimportowano {count} adnotacj{plural}.",
annotationsExported: "Wyeksportowano XML adnotacji.",
noAnnotationsToExport: "Brak adnotacji do eksportu.",
noValidAnnotations: "Nie znaleziono poprawnych adnotacji w XML.",
annotationsImportError: "Nie udało się zaimportować XML adnotacji.",
settingsSaved: "Ustawienia zostały zapisane.",
settingsSaveError: "Błąd zapisywania ustawień.",
featureToggle: "{feature} jest {state}.",
clippingHelperToggle: "Pomocnik płaszczyzny przycinania {axis} jest {state}.",
clippingPlanes: "Przeciągnij aktywną płaszczyznę przycinania, aby dostosować cięcie",
downloadSuccess: "Model został pomyślnie pobrany.",
downloadError: "Nie udało się pobrać modelu.",
iiifManifestGenerated: "Manifest IIIF został wygenerowany.",
iiifManifestGenerationError: "Błąd podczas generowania manifestu IIIF.",
containerNotFound: "Element kontenera nie został znaleziony. Proszę sprawdzić konfigurację Viewera.",
missingFiles: "Brak wymaganych plików dla Viewera. Proszę sprawdzić konfigurację Viewera.",
unsupportedFileFormat: "Nieobsługiwany format pliku.",
},
shortcuts: {
mouse: "Mysz: przeciągnij, aby obracać, rolka - zoom, prawy przycisk - przesuwanie",
keyboard: "Klawiatura: strzałki - obrót, Shift+strzałki - szybciej, Ctrl/Cmd+strzałki - przesuwanie, +/- — zoom, Spacja - auto-obrót",
touch: "Dotyk: szczypanie, aby przybliżyć, przeciągnij, aby obracać, dotknij i przytrzymaj, aby przesunąć",
dragAndDrop: "Lub przeciągnij i upuść model 3D w oknie viewer'a",
},
},
de: {
menu: {
actions: "Viewer-Aktionen",
openActions: "Viewer-Aktionen öffnen",
embed: "Einbetten",
exitEmbed: "Einbettung beenden",
openEmbedOptions: "Einbettungsoptionen öffnen",
exitEmbedMode: "Einbettungsmodus beenden",
download: "Herunterladen",
},
theme: {
lightMode: "Hellmodus",
darkMode: "Dunkelmodus",
switchToLightMode: "Zu Hellmodus wechseln",
switchToDarkMode: "Zu Dunkelmodus wechseln",
},
fullscreen: {
mode: "Vollbildmodus",
enter: "Vollbild",
exit: "Vollbild beenden",
exitMode: "Vollbildmodus beenden",
},
language: {
label: "Sprache: Deutsch",
switchToPolish: "Zu Polnisch wechseln",
switchToEnglish: "Zu Englisch wechseln",
},
hints: {
picking: "Umschalt + Klick, um mehrere Flächen auszuwählen",
pickingSelect: "Wählen Sie mindestens eine Fläche aus, um eine Anmerkung hinzuzufügen.",
clipping: "Ziehen Sie die aktive Schnittebene-Hilfe, um den Schnitt anzupassen",
},
controls: {
enablePickingMode: "Auswahlmodus aktivieren",
disablePickingMode: "Auswahlmodus deaktivieren",
enableDistanceMeasurement: "Entfernungsmessung aktivieren",
disableDistanceMeasurement: "Entfernungsmessung deaktivieren",
selectedFaces: "Ausgewählte Flächen",
},
gui: {
moveToolbar: "Werkzeugleiste verschieben",
orbit: "Navigationsmodus",
controls: "Steuerung",
editor: "Editor",
transform3dObject: "3D-Objekt transformieren",
transformLight: "Licht transformieren",
transformMode: "Transformationsmodus",
directionalLight: "Gerichtetes Licht",
ambientLight: "Umgebungslicht",
ambient: "Ambient",
lights: "Beleuchtung",
cameraLight: "Kamera-Licht",
backgroundColor: "Hintergrundfarbe",
backgroundColorOuter: "Äußere Hintergrundfarbe",
backgroundType: "Hintergrundtyp",
clippingPlanes: "Schnittebenen",
clippingFolder: "Schnittebenen",
displayHelperX: "X-Hilfe anzeigen",
displayHelperY: "Y-Hilfe anzeigen",
displayHelperZ: "Z-Hilfe anzeigen",
constantX: "Konstante X",
constantY: "Konstante Y",
constantZ: "Konstante Z",
visible: "Sichtbarer Schnitt",
materials: "Materialien",
metadata: "Anmerkungen",
saveProperties: "Eigenschaften speichern",
hierarchy: "Hierarchie",
statistics: "Statistiken",
clearSelectedFaces: "Ausgewählte Flächen löschen",
clearSelectedHierarchy: "Ausgewählte Objekte abwählen",
addAnnotations: "Anmerkungen hinzufügen",
exportAnnotationsXml: "Anmerkungen XML exportieren",
importAnnotationsXml: "Anmerkungen XML importieren",
IIIFexport: "IIIF exportieren",
resetCameraPosition: "Kameraposition zurücksetzen",
saveSettings: "Einstellungen speichern",
renderPreview: "Vorschau rendern",
color: "Farbe",
intensity: "Intensität",
metalness: "Metallizität",
emissive: "Emissiv",
position: "Position",
rotation: "Rotation",
camera: "Kamera",
performance: "Leistung",
highPerformance: "Hohe Leistung",
lowPower: "Niedriger Stromverbrauch",
default: "Standard",
none: "Keine",
move: "Bewegen",
rotate: "Drehen",
scale: "Skalieren",
target: "Ziel",
local: "Lokal",
global: "Global",
linear: "Linear",
gradient: "Farbverlauf",
editMaterial: "Material bearbeiten",
selectByMaterial: "nach Material auswählen",
hideAdvancedEditor: "Erweiterten Editor ausblenden",
showAdvancedEditor: "Erweiterten Editor anzeigen",
showLoadingLogs: "Ladeprotokolle anzeigen",
hideLoadingLogs: "Ladeprotokolle ausblenden",
hierarchy: "Hierarchie",
expand: "Werkzeugleiste erweitern",
collapse: "Werkzeugleiste zusammenklappen",
orthographicProjection: "Zur orthografischen Projektion wechseln",
perspectiveProjection: "Zur perspektivischen Projektion wechseln",
environmentMap: "Umgebungsmap",
environmentMapToggle: "Umgebungsmap wechseln",
environmentMapIntensity: "Intensität der Umgebungsmap",
environmentMapStyleNeutral: "Neutral",
environmentMapStyleSunny: "Sonnig",
environmentMapStyleStudio: "Studio",
environmentMapStyleGoldenHour: "Goldene Stunde",
enableWireframeMode: "Drahtgittermodus aktivieren",
disableWireframeMode: "Drahtgittermodus deaktivieren",
download: "Modell herunterladen",
},
metadata: {
modelDetails: "Modelldetails",
metadata: "Metadaten",
visualizedFile: "Visualisierte Datei",
vertices: "Vertices",
faces: "Flächen",
title: "Titel",
author: "Autor",
authorAffiliation: "Autoren-Zugehörigkeit",
license: "Lizenz",
description: "Beschreibung",
objectType: "Objekttyp",
reconstructionAuthors: "Rekonstruktionsautoren",
reconstructionPeriod: "Rekonstruktionsperiode",
},
manifesto: {
invalidUrl: "Bitte geben Sie eine gültige Manifest-URL ein.",
invalidJson: "Bitte geben Sie einen gültigen Manifest-JSON-Text ein.",
},
iiif: {
loader: "IIIF-Loader",
collapse: "Zusammenklappen",
expand: "Erweitern",
manifest: "IIIF-Manifest",
loadFromUrl: "Von URL laden",
loadFromText: "Von Text laden",
manifestUrlPlaceholder: "https://example.org/iiif/manifest.json",
manifestTextPlaceholder: "IIIF-Manifest-JSON hier einfügen...",
invalidUrl: "Bitte geben Sie eine gültige IIIF-Manifest-URL ein.",
invalidJson: "Bitte geben Sie einen gültigen IIIF-JSON-Text ein.",
optionModelPositionScale: "Modellposition und -skalierung",
optionModelOrigin: "Modellursprung",
optionModelOriginBg: "Modellursprung mit Hintergrundfarbe",
optionModelPosition: "Modellposition",
},
localPreview: {
loadExampleModel: "Beispielmodell laden",
},
embedPanel: {
title: "Einbettungsoptionen",
closeAria: "Einbettungsoptionen schließen",
modelUrl: "Modell-URL",
modelUrlPlaceholder: "/examples/box.glb",
entityId: "Entitäts-ID",
theme: "Thema",
themeDark: "Dunkel",
themeLight: "Hell",
autoRotateSpeed: "Geschwindigkeit der Auto-Rotation",
cameraPosition: "Kameraposition",
cameraTarget: "Kameraziel",
cameraVectorPlaceholder: "x,y,z",
fov: "FOV",
autoRotate: "Auto-Rotation",
disableInteraction: "Interaktion deaktivieren",
hideActionMenu: "Aktionsmenü ausblenden",
hideMetadata: "Metadaten ausblenden",
presentationMode: "Präsentationsmodus",
useCurrentCamera: "Aktuelle Kamera verwenden",
resetFromViewer: "Aus Viewer zurücksetzen",
copyUrl: "URL kopieren",
copyIframe: "Iframe kopieren",
embedUrl: "Einbettungs-URL",
iframeCode: "Iframe-Code",
preview: "Vorschau",
previewTitle: "Einbettungsvorschau",
},
loadingLog: {
title: "Protokoll des Ladeprozesses",
loadingModel: "3D-Modell wird geladen...",
modelLoaded: "Modell wurde geladen.",
loadingAssets: "Assets werden geladen...",
parsingScene: "Szene wird analysiert...",
loadingTextures: "Texturen werden geladen...",
preparingGeometry: "Geometrie wird vorbereitet...",
settingUpLighting: "Beleuchtung wird eingerichtet...",
settingUpMaterials: "Materialien werden eingerichtet...",
buildingBvh: "BVH wird erstellt...",
compilingShaders: "Shader werden kompiliert...",
initializingRenderer: "Renderer wird initialisiert...",
uploadingBuffers: "Buffer werden hochgeladen...",
fetchingMetadata: "Metadaten werden abgerufen...",
},
processingHeader: "Verarbeitungsschritte",
processingSteps: {
preparingModel: "Modell wird vorbereitet",
convertingToTransmissionFormat: "Konvertierung in das Übertragungsformat",
renderingThumbnails: "Vorschaubilder werden gerendert",
savingEntity: "Entität wird gespeichert",
finalizing3dModel: "3D-Modell wird finalisiert",
initializingViewer: "Viewer wird initialisiert",
},
state: {
enabled: "aktiviert",
disabled: "deaktiviert"
},
toasts: {
transformMove: "Bewegen: Ziehen Sie die Achsenpfeile, um das Objekt zu repositionieren.",
transformRotate: "Drehen: Ziehen Sie die Rotationsringe, um das Objekt zu drehen.",
transformScale: "Skalieren: Ziehen Sie die Achsengriffe, um die Größe des Objekts zu ändern.",
transformLightMove: "Licht transformieren - Bewegen: Ziehen Sie die Achsenpfeile, um das gerichtete Licht zu bewegen.",
transformLightTarget: "Licht transformieren - Ziel: Ziehen Sie die Achsenpfeile, um das Lichtziel zu repositionieren.",
distanceEnabled: "Entfernungsmessung ist aktiviert.",
distanceHint: "Wählen Sie einen Startpunkt und einen Endpunkt, um die Entfernung zu messen.",
noIiiifModelFallback: "Kein 3D-Modell im IIIF-Manifest gefunden, Beispielmodell wird geladen.",
facePickingEnabled: "Flächenauswahl ist aktiviert",
facePickingDisabled: "Flächenauswahl ist deaktiviert",
distanceModeEnabled: "Entfernungsmessungsmodus ist aktiviert",
distanceModeDisabled: "Entfernungsmessungsmodus ist deaktiviert",
settingsFound: "Einstellungen {filename}_viewer.json gefunden",
settingsNotFound: "Keine Einstellungen {filename}_viewer.json gefunden",
metadataFetchError: "Fehler beim Abrufen der Metadaten: {error}",
presentationModeError: "Beim Einrichten des Präsentationsmodus ist ein Fehler aufgetreten.",
objLoaded: "OBJ-Modell wurde geladen.",
mtlLoadError: "Fehler beim Laden der zugehörigen MTL-Datei.",
glbLoadError: "Fehler beim Laden der GLB-Datei.",
unsupportedExtension: "Dateierweiterung wird noch nicht unterstützt.",
modelLoaded: "Modell {filename} wurde geladen.",
modelLoadedSimple: "Modell wurde erfolgreich geladen.",
unsupportedFormat: "Nicht unterstütztes Dateiformat.",
presentationModeReady: "Präsentationsmodus ist bereit.",
presentationModeError: "Beim Einrichten des Präsentationsmodus ist ein Fehler aufgetreten.",
sandboxDropModel: "Ziehen Sie ein 3D-Modell per Drag-and-drop in den Viewer.",
supportedFormats: "<strong>Unterstützte Formate:</strong> {formats} \n und <strong>Unterstützte Archive:</strong> {archives}.",
embedSourceMissing: "Model-URL oder Entitäts-ID für die Einbettung festlegen.",
embedUrlCopied: "Einbettungs-URL kopiert.",
embedUrlCopyError: "Einbettungs-URL konnte nicht kopiert werden.",
embedIframeCopied: "Einbettungs-iframe kopiert.",
embedIframeCopyError: "Einbettungs-iframe konnte nicht kopiert werden.",
embedCodeCopied: "Einbettungscode in die Zwischenablage kopiert.",
embedCodeCopyError: "Einbettungscode konnte nicht kopiert werden.",
annotationDataMissing: "Keine Annotationsdaten für diesen Punkt gefunden.",
selectFaceRequired: "Wählen Sie mindestens eine Fläche aus, um eine Annotation hinzuzufügen.",
selectFaceRequiredAgain: "Wählen Sie mindestens eine Fläche und führen Sie dann „Annotationen hinzufügen“ erneut aus.",
noFacesSelected: "Keine Flächen für Annotation ausgewählt.",
titleRequired: "Titel ist erforderlich.",
facesInactive: "Ausgewählte Flächen sind nicht mehr aktiv.",
annotationsSaved: "Annotationen für {count} Fläche{plural} gespeichert.",
annotationsImported: "{count} Annotation{plural} importiert.",
annotationsExported: "Annotations-XML exportiert.",
noAnnotationsToExport: "Keine Annotationen zum Exportieren.",
noValidAnnotations: "Keine gültigen Annotationen im XML gefunden.",
annotationsImportError: "Import der Annotations-XML fehlgeschlagen.",
settingsSaved: "Einstellungen wurden gespeichert.",
settingsSaveError: "Fehler beim Speichern der Einstellungen.",
featureToggle: "{feature} ist {state}.",
clippingHelperToggle: "Clipping-Ebenen-Helfer {axis} ist {state}.",
clippingPlanes: "Ziehen Sie die aktive Schnittebene-Hilfe, um den Schnitt anzupassen",
downloadSuccess: "Modell erfolgreich heruntergeladen.",
downloadError: "Fehler beim Herunterladen des Modells.",
iiifManifestGenerated: "IIIF-Manifest wurde generiert.",
iiifManifestGenerationError: "Fehler beim Generieren des IIIF-Manifests.",
containerNotFound: "Container-Element nicht gefunden. Bitte überprüfen Sie die Viewer-Konfiguration.",
missingFiles: "Fehlende erforderliche Dateien für den Viewer. Bitte überprüfen Sie die Viewer-Konfiguration.",
unsupportedFileFormat: "Nicht unterstütztes Dateiformat.",
},
shortcuts: {
mouse: "Maus: ziehen zum Drehen, Mausrad - Zoom, Rechtsklick - Verschieben",
keyboard: "Tastatur: Pfeile - Drehen, Shift+Pfeile - schneller, Ctrl/Cmd+Pfeile - Verschieben, +/- - Zoom, Leertaste - Auto-Rotation",
touch: "Touch: Pinch-to-Zoom, ziehen zum Drehen, Doppeltippen und halten zum Verschieben",
dragAndDrop: "Oder ziehen Sie ein 3D-Modell per Drag-and-drop in den Viewer",
}
},
};